这篇文章内容涵盖Kintsugi事件的全面总结、它的后果,还有在主网合并前的具体行动计划。概要
合并测试网Kintsugi在几个客户端上发生了问题。一个fuzzer创建了一个无效区块,但客户端Nethermind和Besu因为缺少一项检查而把该区块视为有效。这个无效区块导致网络分成了三部分——一部分包含无效区块、一部分不包含无效区块,还有一部分进入了OptimisticSync模式。尽管修复程序已经部署了,该fuzzer又创建了另一个区块,在客户端Geth触发了进一步的问题——无法加入正确的分叉。当我们修复了Geth的问题,我们就能够把所有的节点带回到相同的正确的分叉,区块链重新开始做最终敲定。总结
合并测试网Kintsugi在前几周的运行中遇到了一系列问题,暴露了多个客户端的几个漏洞。问题主要是由开发者Marius开发的fuzzer引发的,这个fuzzer旨在创建有意思的区块并在网络里对区块进行广播。一个这样的区块的blockHash被替换为它的parentHash(父块哈希)。engine_executePayload具备了所有构建一个区块和构建该区块的blockHash所需的所有参数。EL(执行层)客户端应该根据这些参数来构建区块,并根据通过的blockHash进行验证。这个特定区块正确无误地没有通过Geth的检查,但通过了Nethermind和Besu的验证。该区块之所以在Nethermind被错误地通过验证是因为缓存问题,而Besu则完全没有这项检查。由此,该区块被一个Lighthouse-Besu节点提议,并导致区块链分叉为两部分,在执行层与Nethermind或Besu连接的验证者在一个分叉上,而月Geth连接的验证者则在另一个分叉上。请注意,检查当前区块的blockHash是合并新增的要求,因此在某些客户端上会存在缺少或不准确的验证。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模式。在找到和部署了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节点一直处于不健康的状态。在上述问题的调试中,Geth团队还在合并的代码库里发现了一个触发错误的竞争条件。此外,我们还遇到其他问题——Nimbus出现与执行层重新连接相关的错误,Lodestar降低拒绝出块的对等点分数。客户端推出了所有的修复,且让所有节点都进行升级。当所有的修复都生效时,区块链会有很多小分叉,每个的参与率都很低。对一些节点进行重新同步可以减少一些分叉。一旦有足够多的节点完成重新同步,我们会看到有越来越多的节点通过重组回到这个分叉上,这使我们能跨过最终确定性所需的66%的阈值。FAQ
BitKeep宣布已正式全面支持IOST生态:据IOST官方消息,BitKeep已正式发布IOST版本,全面支持IOST公链生态,用户可使用BitKeep钱包便捷进行免费创建IOST主网账号,代币资产收发、主网资源管理,代币跨链兑换,治理提案投票,Staking质押挖矿,实时行情查看,区块数据查询、交易详情分享等诸多功能操作,同时用户通过BitKeep钱包还可便捷畅快体验IOST DApps、DEFI、SWAP、NFT、DEX等各类生态应用,IOST开发者还可将项目免费上架到BitKeep,为项目获得足够的流量和市场宣传支持。
BitKeep是一款领先的去中心化多链数字钱包,集理财借贷、跨链兑换、聚合交易、区块支付、行情资讯、游戏娱乐、多空情绪,批量转账、合约检查、DEFI空投、Gas加油站、Staking、DeFi、SWAP、NFT等众多特色功能为一体的一站式数字资产管理平台,同时支持47+主流公链、23000+币种资产、3500+Dapps应用,钱包覆盖亚洲、东南亚、南亚、日韩、中东、欧洲、美洲、澳洲等地区。[2021/1/13 16:02:56]
Q:这个测试网死了吗?A:没有。在我们部署修复程序并重新同步一些停滞的节点后,链最终又开始做最终敲定了。当链恢复最终敲定,它就可以如常运行。目前,Kintsugi的参与率是大约99%,这表明所有客户端的漏洞已经得到修补,且网络也运行良好。交易和智能合约交互继续如常运作。Q:为什么这条链这么长时间不做最终敲定?A:虽然我们很早就找到了根本原因,我们想要让链保持非最终敲定状态,让客户端团队调试他们的代码。此外,我们想要收集非最终敲定期间的客户端表现数据。Q:在分叉链上的验证者会被罚没吗?A:不会。每个验证者都包含一个slashingprotection(罚没保护)database,确保验证者不会对可罚没的信息签名。在“错误”分叉的验证者只会被视为在“正确”分叉上处于inactive状态。一旦它们重组到“正确”分叉上,罚没database会阻止它们对可罚没信息签名。Q:这会如何影响主网发布?会有新的延迟吗?A:我们认为这件事不会影响主网发布计划。在规范本身上没有发现严重的问题。测试网的目的是发现漏洞,我们认为Kintsugi在发现客户端实现的边缘情况方面表现很好。这事件是对多个客户端组合的一次很好的压力测试。我们有一个公开的清单,它将指引我们何时准备好在主网实现合并。Q:这会如何影响测试计划?A:我们将研究创建几个强制处于非最终敲定状态的测试网。对这些非最终敲定的测试网进行持续测试使我们可以触发更多边缘情况,和改进工具。在这次事故中发现的漏洞将被添加为静态测试用例,以确保我们会通过回归测试。对验证者、基础设施提供商和工具开发者的重要启示:测试网上的非最终敲定时期加强了最糟糕情况硬件要求的一些假设。在非最终敲定期,验证者应该预期:由于需要对多个分叉选择规则进行评估,CPU负载会增加(有时达到100%)在非最终敲定期由于不会有修剪,硬盘使用量会增加RAM使用量会有边际增长这意味着,在同一台机器上运行的任何额外工具或监测都会遇到资源争用问题。Kintsugi测试网的工具(区块浏览器、水龙头、RPC)在具有3个节点的Kubernetes集群上运行。这个集群还运行多个工具使用的信标节点。由于信标节点使用的资源比预置的要多得多,因此我们的工具经常由于资源不足而以降级的方式运行。对于基础设施提供商来说,谨慎的做法是在不同的机器上运行它们的共识层和执行层,或有严格的资源使用定义。合并意味着每个共识层客户端都需要运行自己的执行层客户端。(主网上的)执行层客户端现在需要很大的磁盘容量。在非最终敲定期间,CL的磁盘使用量也会激增,这会由于磁盘空间不足而导致崩溃。所有验证者应该确保他们有足够大的缓冲磁盘空间来应对这种问题。依赖于最终确定性的工具开发者应该为非最终敲定时期多做考虑。一种可能的方式是显示optimistic信息,同时传达该信息在用户界面是会变化的。
金猴证券与奶牛基所就品牌、投研和市场达成全面合作:据官方消息,Cow Global联席CEO贝壳(前OKEx华南区商务总监)与香港金猴证券有限公司就品牌、投研和市场达成全面合作。区块链券商和互联网券商联姻,推动数字货币和传统金融的跨界融合与进程统一。
据了解,金猴证券是香港证监会认可的1/4/9号牌照持牌法团(中央编号:BJV607),提供港美A股经纪和交投服务,是互联网券商领导品牌。COWEX奶牛基所依托持牌法团打造区块链券商和基金型交易所,自持澳大利亚数字货币和期货交易所牌照,聚合全球合法的数字货币市场和传统金融市场,并以首创的标准化数字货币基金全面支持DeFi金融,推动市场的合规化和去散户化。据悉,奶牛基所日前已获得金猴证券、数科资本等5家机构千万港币融资。[2020/8/20]
动态 | 报告:区块链等技术不断成熟为全面提升港口服务提供了技术机遇:近日,中国港口高质量发展智库研讨会在北京举行。会上中国经济信息社与交通运输部水运科学研究院联合发布了中国港口高质量发展评价指标体系以及首份研究成果《中国港口高质量发展报告(海港篇)2019》,报告指出,互联网、大数据、云计算和区块链等技术不断成熟,结合港口自身的海量货物贸易数据共同为港口与经济社会深度融合,全面提升港口服务提供了技术机遇。(中国水运网)[2019/9/6]
安卓系统首个全面支持闪电网络的比特币钱包在Google Play上推出:据btcmanager消息,安卓系统第一个全面支持闪电网络的比特币钱包于5月31日在Google Play上发布。这个名为Lightning Wallet的发行版包含一个完全可操作的闪电节点,提供链上比特币和链下闪电网络交易。[2018/6/2]
韩国首尔地方警察局对bithumb交易所展开了全面搜查:韩国首尔地方警察局今日关于交易所造黑客入侵事件向首尔江南区bithumb交易所派遣了搜查官对服务器等被黑资料进行搜集。据悉,bithumb在去年遭遇两次黑客攻击,3万多客户的资料被泄露。[2018/2/1]
标签:ETHGETHGETASHEthernity ChaintogetherbnbH补丁HedgeTradeCrimeCash
EricWall前几天在推特上发布了这个消息。 我从EricaDAO的实验中得到的一些令人不安的技术教训:以太坊L2上有一些不常被讨论的限制。虽然用户可以直接在L2上进行交易,但部署合约却没有那么轻松.
1900/1/1 0:00:0012月25日,DeHorizonDAO正式上线,允许用户以Staking的形式参与进来,这意味着用户可以正式开始通过质押DEVT来加入DeHorizonDAO.
1900/1/1 0:00:00本文来自老雅痞,Odaily星球日报经授权转载。上周末,感觉我认识的每个人都在给我发同一个链接。"加拿大媒体评论家丹-奥尔森的长篇视频评论《NFTs的问题》,自上周五上传以来,在科技界的各个角落刷屏.
1900/1/1 0:00:00你持有过CRV吗?听说过crypto“贿赂”吗?如果贿赂这个词让你感到困惑,我建议你花点时间理解Curve的机制。因为这是一种透明的、可审计的、无需许可的机制,需要流动性的资产可以通过这种机制向CRV持有者支付资金来获得流动性.
1900/1/1 0:00:00原文作者:老雅痞本文来自老雅痞,Odaily星球日报经授权转载发布。自从Meta公司宣布了他们全面拥抱元宇宙的计划后,元宇宙中虚拟土地所有者的数量和总价值方面都有了巨大的增长.
1900/1/1 0:00:00多数投资者喜欢追踪项目的融资信息,以此作为项目资质的评判标准。本文详细统计了自2020年7月以来的590个已发Token项目的融资信息,计算自融资信息公布以来的收益率、最大收益和最大亏损。从两个角度呈现VC对投资者的借鉴意义.
1900/1/1 0:00:00