ETH:V神发布ETH2.0信标链首个硬分叉提案HF1 引入更公平的节点惩罚机制

以太坊创始人V神在推特上介绍了以太坊信标链第一个硬分叉(暂定名为“HF1”)升级提案。V神称,HF1添加了轻客户端支持,简化了规范,提高了效率,并引入了惩罚性较小的不活跃惩罚机制。根据文件,硬分叉将使开发人员可以对最近发布的信标链进行一些关键的升级,也将成为将来进行更深层更改的有用测试。其中轻客户端支持对资源的要求最低,并且可以在移动设备上运行的节点。这将允许“最小化信任的钱包”能够自己验证区块链,而不是依赖于外部服务提供者。”

HF1是以太坊信标链的第一个硬分叉升级的暂定代码名称(有关该硬分叉的长期命名思路,请参见此处)。HF1的主要目标是:

添加轻客户端支持

修复信标链中的一些脆弱点。这些脆弱点被发现时已经太晚而没能在信标链创世启动时修复。

在较小的更改升级环境下对信标链的硬分叉升级机制进行测试,以便以后进行更大的更改。

V神发布“Verkle树和状态到期”详细计划,状态到期用状态树列表替换单个状态树:V神(Vitalik Buterin)表示,为Verkle树和状态到期写了一些更详细的计划(包括原始EIPs)。Verkle树:在现有的hexary Patricia树旁引入一个新的Verkle状态树。在硬分叉之后,Verkle树存储对状态的所有编辑以及所有访问状态的副本,并且hexary Patricia树不能再修改。这是向以太坊完全依赖Verkle树来存储执行状态多阶段过渡的第一步。状态到期:用状态树列表替换单个状态树,大约每一年一棵树。状态编辑存储在与当前期间相对应的树中,并且客户端不再存储超过最近两个期间的树。使用旧状态的交易,在最近两个期间没有修改,需要提供见证人。[2021/6/18 23:46:59]

HF1中提出的共识更改内容包括:

我们向信标链添加一个随机抽取的“同步委员会”。这样做的目的是允许轻客户端使用很少的overhead(每天最少仅需大约20千字节,验证单个区块仅需大约500字节)来确定链head。这将使轻客户端实际上可在移动设备、内置浏览器之类的使用案例中使用信标链,从而为实现更加信任最小化的钱包生态系统铺平道路。

V神发推称赞EIP 1559 用户质疑该提案将会损害矿工利益:10月20日消息,今日上午V神发推称,EIP 1559正是当今世界所需要的。对此,有用户表示反对,称应该否决该提议,他表示虽然EIP 1559确实很有趣,但是似乎它会对矿工造成很大的伤害。并认为如果该提议获批将会影响大型矿工和矿业集团继续参与以太坊网络挖矿。目前V神尚未回复。

据悉,EIP 1559由V神于2018年首次提出,预计使以太坊区块链的收费市场更加可预测并缓解拥堵。[2020/10/20]

在每个时间段(约27小时)内,随机选择1024位验证者作为同步委员会的成员。同步委员会中的验证者节点将发布签名以向当前的head进行证明。这些签名将作为LightClientUpdate对象的一部分进行广播,该对象可以帮助轻客户端找到这个head,并将被包含在信标链中以得到奖励。

更多内容:

https://github.com/ethereum/eth2.0-specs/pull/2130

V神发推预测21世纪20年代密码学大趋势:金色财经报道,V神今日在推特上表示:2010年代密码学的大趋势是椭圆曲线、配对和通用ZKPs/SNARK;预测21世纪20年代的大趋势将是(除了广泛采用上述技术外)格(lattices)、LWE、多线性映射、同态加密、MPC和模糊处理。[2020/4/11]

我们替换了证明者奖励的计算方式。不同于存储PendingAttestation对象并且最后处理它们,我们选择添加了一个位域,用于存储每个验证者的状态,从而可以实时累积有关谁参与的数据。位域按“改组顺序”排序,以确保同一委员会中验证者的记录一起显示。这种更改的目的是简化客户端实现,并使更新Merkle树更加便宜。

具体参考:

https://github.com/ethereum/eth2.0-specs/pull/2176

我们对验证者集进行更改,并且惩罚记账仅每64个时期(epoch)发生一次,而不是每个单一时期。这样做的目的是大大降低处理“空白时期过渡”的复杂性——例如,有一条链的参与度非常低,其中两个连续的区块相隔一千个slot,它们之间只有一个空白时期。为了处理这样的链,目前客户端需要每个时期重新计算每个验证者的余额一次,以此对验证者进行不活跃惩罚;而在新的提案中,他们只需要每64个时期执行一次。

动态 | V神发5篇博文谈以太坊2.0未来将遇到的难题:据Coindesk文章报道,在以太坊Devcon大会期间,V神笔耕不辍,连发5篇博客文章,谈论以太坊2.0未来将遇到的难题。现整理如下:

1.在短期内(指如果ETH2.0发布),将ETH从以太坊2.0转移到以太坊1.0仍然存在这个可能。以太坊2.0开发人员Preston Van Loon表示,在ETH 2.0和 ETH 1.0之间创建双向桥的复杂性给两个链带来了“安全风险”。Buterin提出了两种可能的方法来在两个区块链之间建立“桥梁”。他承认,“如果以太坊2.0遭到破坏,这两项建议都需要在以太坊1.0方面采取紧急补救措施。”为了降低此类风险,Buterin建议在投票期间启用“人为干预”,以逆转从以太坊1.0网络进行的迁移。目前这仍然是项建议,研究人员还没在 ETH 2.0中设计迁移“桥梁”。

2.在ETH2.0和ETH1.0完全合并之前,以太坊2.0可能会与ETH1.0并行使用多年。区块链研究员Mihailo Bjelic表示,在开发人员确定其可靠性之前,以太坊2.0这样的复杂系统不应取代当前的以太坊主网。V神在博客文章中称,希望这种过渡是平稳的。

3.调用有关以太坊2.0区块链的数据将比以前更加昂贵。V神针对这些问题,在博客文章中建议开发人员可以在编写验证器时控制其规模等。

4.以太坊将失去原子交易的能力。ETH 2.0将破坏以太坊上原子交易能力,即一次完成所有交易(交易拆会在不同分片间完成)。V神认为,不同应用之间可以具备更强交互能力,但也会使一些活动受阻,使得更难吸引加密货币交易者。

5.V神在博客文章中提出ETH 2.0 在发布时分片数量会降低,先前为1024个分片,现在提出的为64个分片,主要好处是以太坊2.0的分片之间可以通信更快,更简单。[2019/10/25]

此外,我们对不活跃惩罚的工作方式进行了两项更改:

动态 | V神发布新算法 仅需1%节点不作恶:据vitalik.ca消息,以太坊创始人V神(Vitalik Buterin )近日在其个人网站上发布了名为“99%容错共识”的新共识算法。该算法只要求1%的节点保持诚实,尽管另外99%的节点全部选择作恶,区块链网络也能正常运行下去。[2018/8/10]

不活跃惩罚将变为每个验证者的二次方。也就是说,如果存在不活跃惩罚,在此期间完全离线的验证者会损失约10%的余额,那么在此期间90%的时间在线的验证者现在只会损失约0.1%的余额(相对于? 1%)。这试图将处罚重点放在真正行为不当的节点上,减少对由于网络连接问题而离线的诚实节点。

更多的讨论可以参考此处:

https://github.com/ethereum/eth2.0-specs/issues/2098

验证者不活跃惩罚在确定后逐渐减慢而不是停止。这样可确保一旦达到最终状态,离线节点将继续失去余额一段时间,从而确保验证者在线时间百分比显着高于2/3,而不是仅稍高于该阈值。

https://github.com/ethereum/eth2.0-specs/pull/2192?

https://github.com/ethereum/eth2.0-specs/pull/2194

值得庆祝的一点是,通过削弱验证者罚款,我们可能稍微(尽管尚未完全)走出困境。我们将对常数进行更改:

INACTIVITY_PENALTY_QUOTIENT: reduced from 2**26 (= 67,108,864) to 3 * 2**24 (= 50,331,648)

PROPORTIONAL_SLASHING_MULTIPLIER: increased from 1 to 2

MIN_SLASHING_PENALTY_QUOTIENT: reduced from 2**7 (= 128) to 2**6 (= 64)

(区块,slot)对(pair)的分叉选择

当前,如果在最近的slot中没有发布任何块,则出于该slot期间的LMD GHOST证明的目的,视为证明者正在支持的链中的最新区块。例如,在下面的这张图中,BLANK上的证明算作A上的证明:

<img ?src="https://img.jinse.com/4715604_image3.png" ? auto";'>

但是,这为34%攻击打开了大门。假设为每个slot分配了m个验证者,其中恶意攻击者控制了0.34 * m。攻击者也有权为slot n + 1发布区块B。攻击进行如下:攻击者不发布B,也不发布其任何证明。所有诚实的证明人都会投票支持声称他们在第n个slot中看到区块A而在第n + 1个slot中什么都没有看到的说法,当前该计数被视为对A的投票。在第n + 2个slot中,一个诚实的提议者会在A上面构建一个区块C, 此时,恶意提议者会向slot n + 1和n + 2公布B及其对B的证明。上面的分叉有0.68 * m个验证者支持它,但顶部分叉只有0.66 * m的支持,因此下面的分叉获胜。

这种攻击在该论文的 3.1章节中进行了更加详细的描述:

https://econcs.pku.edu.cn/wine2020/wine2020/Workshop/GTiB20_paper_8.pdf

拟议的解决方案是更改分叉选择的工作方式,从而使其对(区块,slot)对的树进行操作,而不是对区块树进行操作。因此,在上图中,slot n + 1中的诚实投票将计为对(BLANK,n + 1)的投票,因此它们将正确地计为支持上面的分叉,因此上面的分叉获得的支持为1.32 * m,从而击败攻击。

https://github.com/ethereum/eth2.0-specs/pull/2197

在分叉选择中存在一种“余额攻击”,拥有2%验证者的攻击者会在一个slot结束之前的正确时间发布少量证明,说服网络中超过49%的人认为某个区块A获胜,而超过49%的网络则认为B区块获胜。如果他们正确地安排了广播的时间,则每一组验证者都会按时看到针对他们的消息,但是没有时间在这个slot结束之前将消息重新广播到另一组验证者。如果网络环境对于攻击者而言是最佳的,则它们可以无限期地重复。

提议的解决方案是通过授权下一个slot的提议者对分叉选择产生暂时但重大的影响,从而将所有验证者的支持方向决定性地转移到一侧或另一侧,从而“打破了对称性”。

https://notes.ethereum.org/@vbuterin/lmd_ghost_mitigation?

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

地球链

[0:15ms0-1:544ms