ASH:全面总结Kintsugi事件,主网合并前有哪些具体行动计划?

原文作者:parithosh

原文来源:notes.ethereum.org

这篇文章内容涵盖Kintsugi事件的全面总结、它的后果,还有在主网合并前的具体行动计划。

分叉。当我们修复了Geth的问题,我们就能够把所有的节点带回到相同的正确的分叉,区块链重新开始做最终敲定。

开发者Marius开发的fuzzer引发的,这个fuzzer旨在创建有意思的区块并在网络里对区块进行广播。

一个这样的区块的blockHash被替换为它的parentHash(父块哈希)。engine_executePayload具备了所有构建一个区块和构建该区块的blockHash所需的所有参数。EL(执行层)?客户端应该根据这些参数来构建区块,并根据通过的blockHash进行验证。这个特定区块正确无误地没有通过Geth的检查,但通过了Nethermind和Besu的验证。该区块之所以在Nethermind被错误地通过验证是因为缓存问题,而Besu则完全没有这项检查。由此,该区块被一个Lighthouse-Besu节点提议,并导致区块链分叉为两部分,在执行层与Nethermind或Besu连接的验证者在一个分叉上,而月Geth连接的验证者则在另一个分叉上。

ZBG将于9月2日开启DF申购活动:据ZBG官方消息,ZBG将于9月2日14:00~9月3日14:00期间开启DF首发申购活动,并已开启DeFi首发项目—DF糖果空投活动。9月4日当日,ZBG账户中总折合资产不少于200 USDT或近ZBG账户5日内(8.30~9.4)交易活跃用户,将获得随机数量的DF空投糖果。

据悉,Daily Funds (DF)是一个去中心化且非托管的开放源货币的交换协议,储户可以通过向贷款池提供流动资金来赚取利息,借款人可以通过使用流动性资金来获取超额抵押贷款。和其他DeFi平台(如Compound)类似,DF将存款标记为代币,计算实时利息,并提供多种稳定币选择。更多空投、申购活动详情可咨询ZBG官网客服。[2020/9/1]

请注意,检查当前区块的blockHash是合并新增的要求,因此在某些客户端上会存在缺少或不准确的验证。

ABT将于6月23日14:00上线中币子平台ZBG:据ZBG官方消息,ABT现已开放充币业务,并将于2020年6月23日14:00开启ABT/USDT交易对。

ABT是通证经济生态链,锚定五个实体产业,分别是大健康,房地产,IPFS矿场,电商平台和文旅项目。技术上它能够使每个人都能够快速地构建、操作和使用通过创新实现高度可扩展的分散式应用程序链外扩展技术,与激励协调密码经济学。

更多详情请查询ZBG官网公告。[2020/6/22]

Geth的一个问题是当执行错误的负载时,它返回的是一个?JSON-RPC错误而不是INVALID(无效),而Teku的问题是(此时已修复但还未部署)认为那些错误在optimisticsync模式下是可通过的。因此,Teku-Geth节点在遇到无效负载时还是进入了optimisticsync模式。由于该区块本身是有效的,已连接的Geth节点是从网络而不是engineAPI获取数据的,因此现在的?Teku-Geth节点是在无效的分叉链上的。由于Teku节点还在有很多漏洞的旧版本上,Teku-Geth节点保持在optimisticsync模式,并在区块链停止做最终敲定的期间拒绝提议区块。我们现在处于这样的一个情况——共识层客户端(lighthouse、prysm、nimbus和lodestar)-Geth(占大约46%)与共识层客户端-Nethermind/Besu(占大约19%)在不同的分叉上,其他运行Teku-Geth(大约占35%)的验证者则处于optimisticsync模式。

ZBG Super Launchpad第五期项目KLB即将上线:据ZBG官网消息,ZBG Super Launchpad第五期项目—KLB将于5月12日14:00--5月13日14:00期间开放申购,并于13日16:00正式开通KLB/USDT交易对;Super Launchpad是人人参与既有所得的全新模式;实际获得代币=(个人申购金额/全网总申购金额)X 代币销售总量。

KLB利用区块链技术,结合人工智能、物联网、5G技术,推动智慧城市、数字社会、资产上链等领域的发展。?

据悉,在ZBG实盘交易合约可获得10%的额外额度;详情请查看ZBG官网公告[2020/5/9]

在找到和部署了Nethermind和Besu节点的修复程序后,我们就能够让它们重新连上正确的链。Teku-Geth节点的更新导致了另一个与无效内存访问相关的问题,它由Geth上与区块排序验证相关的问题引起。这个具体的漏洞也是由Marius的fuzzer触发的,这个fuzzer产出了一个parentRoot是有效且block_number=1的区块。在Geth执行一个区块前,它需要查看它的父块,看看它们是否需要同步。这样做的一种方式是在缓存里检查parentHash?或在database里检查parentHash和blockNumber。由于Teku是同时执行所有分叉里的所有负载,缓存就不再包含?parentHash。因此,Geth试图在它的database里通过parentHash和blockNumber查找其父块。然而,database并没有这个blockNumber的哈希(这个区块是fuzzer构建的)。Geth会推断,由于它没有父块,它需要开启同步。但是,这样触发的同步会试图同步比权威链更短的的链,这就违反了Geth中的某些条件,这导致Geth进程错误,节点关闭,导致Teku-Geth节点一直处于不健康的状态。

去中心化钱包Anybit已全面支持Heco链:3月29日,去中心化多链多币种钱包Anybit宣布正式完成对Heco的集成支持,目前Anybit钱包已全面支持Heco链上覆盖DeFi和NFT等概念的多个协议。

Anybit是一款支持多条公链的去中心化钱包,支持多账户创建,资产管理可按需求分账户存储,真正实现一个钱包便捷管理数字资产,告别繁琐切换。Anybit钱包可实现在用户行为安全、手机安全防御和资产安全管理三个关键领域的全方位安全管控,最大程度保护用户数字资产安全。Heco是完全兼容EVM(虚拟机)的去中心化高效节能公链,可为开发人员提供高效且低成本的链上环境,以运行去中心化智能合约应用程序(DApps)和存储数字资产。[2021/3/26 19:19:40]

在上述问题的调试中,Geth团队还在合并的代码库里发现了一个触发错误的竞争条件。此外,我们还遇到其他问题——Nimbus出现与执行层重新连接相关的错误,Lodestar降低拒绝出块的对等点分数。

动态 | 试点之后埃森哲的区块链技术即将全面推出:7月27日消息,全球IT服务巨头埃森哲很快将在亚太地区和北美地区的两个石油和天然气地区,推出它的区块链解决方案,并且大部分工作实施都是由该公司在印度的先进技术中心完成的。[2018/7/27]

客户端推出了所有的修复,且让所有节点都进行升级。当所有的修复都生效时,区块链会有很多小分叉,每个的参与率都很低。对一些节点进行重新同步可以减少一些分叉。一旦有足够多的节点完成重新同步,我们会看到有越来越多的节点通过重组回到这个分叉上,这使我们能跨过最终确定性所需的66%的阈值。

智能合约交互继续如常运作。

Q:为什么这条链这么长时间不做最终敲定?

A:虽然我们很早就找到了根本原因,我们想要让链保持非最终敲定状态,让客户端团队调试他们的代码。此外,我们想要收集非最终敲定期间的客户端表现数据。

Q:在分叉链上的验证者会被罚没吗?

A:不会。每个验证者都包含一个slashingprotection(罚没保护)database,确保验证者不会对可罚没的信息签名。在“错误”分叉的验证者只会被视为在“正确”分叉上处于inactive状态。一旦它们重组到“正确”分叉上,罚没database会阻止它们对可罚没信息签名。

Q:这会如何影响主网发布?会有新的延迟吗?

A:我们认为这件事不会影响主网发布计划。在规范本身上没有发现严重的问题。测试网的目的是发现漏洞,我们认为?Kintsugi在发现客户端实现的边缘情况方面表现很好。这事件是对多个客户端组合的一次很好的压力测试。我们有一个公开的清单,它将指引我们何时准备好在主网实现合并。

Q:这会如何影响测试计划?

A:我们将研究创建几个强制处于非最终敲定状态的测试网。对这些非最终敲定的测试网进行持续测试使我们可以触发更多边缘情况,和改进工具。在这次事故中发现的漏洞将被添加为静态测试用例,以确保我们会通过回归测试。

对验证者、基础设施提供商和工具开发者的重要启示:

测试网上的非最终敲定时期加强了最糟糕情况硬件要求的一些假设。在非最终敲定期,验证者应该预期:

由于需要对多个分叉选择规则进行评估,CPU负载会增加(有时达到100%)

在非最终敲定期由于不会有修剪,硬盘使用量会增加

RAM使用量会有边际增长

这意味着,在同一台机器上运行的任何额外工具或监测都会遇到资源争用问题。Kintsugi测试网的工具(区块浏览器、水龙头、RPC)在具有3个节点的Kubernetes集群上运行。这个集群还运行多个工具使用的信标节点。由于信标节点使用的资源比预置的要多得多,因此我们的工具经常由于资源不足而以降级的方式运行。对于基础设施提供商来说,谨慎的做法是在不同的机器上运行它们的共识层和执行层,或有严格的资源使用定义。

合并意味着每个共识层客户端都需要运行自己的执行层客户端。(主网上的)执行层客户端现在需要很大的磁盘容量。在非最终敲定期间,CL的磁盘使用量也会激增,这会由于磁盘空间不足而导致崩溃。所有验证者应该确保他们有足够大的缓冲磁盘空间来应对这种问题。

依赖于最终确定性的工具开发者应该为非最终敲定时期多做考虑。一种可能的方式是显示optimistic信息,同时传达该信息在用户界面是会变化的。

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

链链资讯

LunaASH:ZBG關於RC暫停充提幣的公告

公告編號2022021201各位關心ZBG的投資者們和項目方:RC因錢包維護暫停充提幣,具體開放時間以公告為準,給您帶來不便深感抱歉,敬請諒解.

[0:0ms0-3:860ms