中币调研报告2月(下)-以太坊最新动向解析( 三 )


在每个时间段(约27小时)内 , 随机选择1024位验证者作为同步委员会的成员 。 同步委员会中的验证者将发布签名以证明当前的负责人 。 这些签名将作为对象的一部分进行广播LightClientUpdate , 可以帮助轻客户端找到头部 , 并将其包含在灯塔链中 。
第二 , 会计改革 。 方案中取代了证明者奖励的计算方式 。 取缔了原有的存储PendingAttestation对象然后在最后进行处理 , 而是添加了一个位域 , 用于存储每个验证器的状态 , 从而可以实时积累有关谁的数据 。 位域按“改组顺序”排序 , 以确保同一委员会中验证者的记录一起显示 。 更改的目的是简化客户端实现 , 并使更新的Merkle树费用更低 。
方案中对验证器集也进行更改 , 并且罚款核算只会在64个时段内发生一次 , 而不是每个单一时段 。 这样做的目的是大大降低处理“空历元过渡”的复杂性 。 例如 , 一条链参与度非常低 , 其中两个连续的块相隔一千个插槽 , 它们之间只有空的空间 。 为了处理这样的链 , 当前客户需要每个时期重新计算每个验证者的余额一次 , 以应用不活动的罚款 。
第三 , 方案对不活动泄漏的工作方式进行了两项更改 。
每个验证者的不活动泄漏变为二次方 。 也就是说 , 如果发生闲置泄漏 , 在此期间完全脱机的验证程序会损失约10%的余额 , 则在此期间90%的时间在线的验证程序只会损失约0.1%的余额(相对于?1%) 。 这将处罚重点放在真正行为不当的节点上 , 并将处罚减少到仅与网络连接不完善的节点 。
第二项更改为:静止性泄漏最终会逐渐减慢而不是停止 。 这样可确保一旦达到最终状态 , 脱机节点将继续失去平衡一段时间 , 从而确保在线百分比显着高于2/3 , 而不是仅稍高于该阈值 。
中币调研报告2月(下)-以太坊最新动向解析
中币调研报告2月(下)-以太坊最新动向解析
文章图片
第四 , 调整罚款常数 。 方案削弱了验证者罚款方案 , 更改如下:
INACTIVITY_PENALTY_QUOTIENT:从2**26(=67,108,864)减少至3*2**24(=50,331,648)PROPORTIONAL_SLASHING_MULTIPLIER:从1增加到2MIN_SLASHING_PENALTY_QUOTIENT:从2**7(=128)减少至2**6(=64)第五 , 通过(块 , 槽)对选择货叉 。 在原有的系统中 , 如果在最近的插槽中没有发布任何块 , 则出于该插槽期间的LMDGHOST , 该计数会被视为支持证明者正在支持的链中的最新块 。 例如 , 在下面的这张图中 , BLANK上的证明算作A上的证明:

中币调研报告2月(下)-以太坊最新动向解析
文章图片
假设m为每个插槽分配了验证器 , 恶意攻击者控制这些验证器0.34*m 。 攻击者也有权发布B插槽n+1 。 攻击进行如下:攻击者不发布B , 也不发布其任何证明 。 所有证明人都会投票支持他们看到A在插槽中n没有看到插槽中的任何东西的要求 , n+1当前 , 该证明在A中是票数 。 在插槽中n+2 , 提议者将C在C之上构建一个块A , 诚实的验证者将支持C 。 这一点 , 恶意投保人揭示了B和其上作证对于B的两个插槽n+1和n+2 。 底叉有0.68*m验证程序支持它 , 但最上面的叉子只有0.66*m支持 , 因此最下面的叉子获胜 。
拟议的解决方案是更改分叉选择的工作方式 , 从而使其对(块 , 插槽)对的树进行操作 , 而不是对块树进行操作 。 因此 , 插槽中的诚实投票n+1将被计为(BLANK,n+1)上图中的投票 , 因此它们将正确地计为支持前叉 , 因此前叉的支持将被1.32*m击败 。
第六 , 叉子选择平衡攻击修复 。 分支选择上存在“平衡攻击” , 攻击者中有2%的验证者会在插槽结束之前的正确时间发布少量证明 , 从而说服网络中超过49%的人认为某个区块A是获胜 , 并且也会有超过49%的节点认为区块B获胜 。 如果他们正确地安排了广播的时间 , 则每个组都会按时看到针对他们的消息 , 但是没有时间在时隙边界结束之前将消息重新广播到另一组 。 如果网络环境对于攻击者而言是最佳的 , 则它们可以无限期地重复 。 提议的解决方案通过授权下一个插槽的提议者对分叉选择产生暂时但重大的影响 , 从而将所有验证者的位置决定性地移到一侧或另一侧 , 从而“打破了对称性” 。
以上就是以太坊2.0硬分叉“HF1”所包含的内容 。 V神在推特上表示:“HF1分叉增加了轻量级的客户端支持 , 简化了规范 , 提高了效率 , 并引入了惩罚性较小的不活动泄漏机制 。 ”

中币调研报告2月(下)-以太坊最新动向解析