首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果阻塞时间更改为5秒会发生什么?

如果阻塞时间更改为5秒会发生什么?
EN

Ethereum用户
提问于 2016-07-13 18:21:50
回答 1查看 1.1K关注 0票数 1

有关。

困难调整算法是:

block_diff = parent_diff + parent_diff // 2048 * max(1 - (block_timestamp - parent_timestamp) // 10, -99) + int(2**((block.number // 100000) - 2)),其中//是整数除法运算符,例如。6/2= 3,7/2= 3,8/2= 4。

据我所知,我们选择了一个10秒的阈值来将阻塞时间保持在10-20秒的范围内。而且,源代码是可用的这里。因此,我是否可以修改算法(可能将//10更改为//5),并创建一个使用5 seconds来确认块的块链网络?这能实现吗?我希望通过的博客文章得到这个问题的答案,但是我想不出这样做的确切的失败之处。

P.S:基本上,我有一个运行在私有块链上的应用程序,它需要更少的块确认时间。我以低难度(0x400)启动了区块链,但随着时间的推移,它增加了,以保持15秒的平均阻塞时间。因此,我正在寻找一种方法来防止这一困难的增加。在不妥协安全的情况下,这是否有可能实现?

我用的是geth-1.4.9

EN

回答 1

Ethereum用户

回答已采纳

发布于 2016-07-13 19:11:38

需要考虑的一件事是孤儿率,在您链接到的线程的注释中提到了这一点。

你设定的难度越低,阻塞的时间就越短,这就是你的目标。

然而,难度越低,多个矿工同时解决这一问题的机会就越大,而链条分叉也就越大。这最终导致其中一个叉子中的块成为孤立的,这也是Ethereum (它有15秒的阻塞时间)已经使用鬼协议 (或它的有限版本)的原因。你必须进行实验,看看链的重排是否会导致你的网络问题。

请注意,您链接到的算法包括为困难炸弹所做的更改,这意味着难度将随着区块数的增加而增加

代码语言:javascript
复制
... int(2**((block.number // 100000) - 2)) <---- this part

这样做的目的是最终使开采(有效)不可能,为转移到PoS铺平道路。您可能会想要使用该算法,因为它是在这些变化之前

票数 3
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/7077

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档