原文作者:Cosmos联合创始人EthanBuchman
关于币安黑客事件的一些想法。Binance是Cosmos软件的最大用户,他们运营着一个价值数百亿美元的平台,但没有对核心软件做出有意义的贡献或参与。从这里发生的事情中,我们可以学到很多。
你可能看到了samczsun的优秀推文贴展示了这个问题。https://twitter.com/samczsun/status/1578167198203289600?让我们尝试补充一些有关情况的详细信息。
一个官方防御补丁已发布在这里:https://forum.cosmos.network/t/cosmos-sdk-security-advisory-dragonfruit/7614
金色午报|12月6日午间重要动态一览:7:00-12:00关键词:B站、三箭资本、中国芯、ParagonsDAO
1.B站测试高能链启动元宇宙业务;
2.三箭资本以550ETH购入NFT“Some Other Asshole” 约合227万美元;
3.美元稳定币USDC发行量突破400亿美元 创历史新高;
4.中国芯数字货币钱包通过测试 支持数字货币收付款;
5.奈雪的茶将限量发售“NAYUKI”NFT艺术品盲盒;
6.链游社区ParagonsDAO完成2500万美元融资,Paradigm等参投;
7.中国电信子公司拟采购“元宇宙数字人制作项目”;
8.Block.one宣布向EOS网络基金会、Pomelo和EdenOS分别捐赠3000万、100万、100万枚EOS。[2021/12/6 12:53:35]
友情提醒:如果你发现Cosmos软件存在潜在漏洞,请遵循我们负责任的披露流程:
Bakkt期货合约数据一览:金色财经报道,Bakkt Volume Bot数据显示,12月17日,Bakkt比特币月度期货合约日交易额为3446万美元,同比下跌53%。[2020/12/18 15:41:51]
https://github.com/cosmos/cosmos-sdk/blob/main/SECURITY.md
问题的症结在于黑客能够伪造一个默克尔证明,这不应该是可实现的-默克尔证明应该是高度安全的。区块链轻客户端建立在默克尔证明之上,因此正确处理它们很重要。
默克尔证明是数据存储中存在某些键值对的密码学证明,我们可以称之为“包含证明”。很多区块链将其数据存储在一棵默克尔树中,以便可以生成证明某些数据包含在树中的证明。
默克尔证明在IBC中被大量使用,例如,一个区块链可以证明它有一个指向另一个区块链的数据包。当然,如果你可以证明某些数据在树中,但实际上并没有,那将是一个大问题。而这就是在Binance身上发生的事。
金色午报 | 8月13日午间重要动态一览:7:00-12:00关键词:DeFi项目、Bitfinex、矿工费、LINK
1.以太坊矿工手续费收益超过区块奖励。
2.Bitfinex暂停交易达3小时 现已恢复。
3.Uniswap 8月份交易额已达到17.6亿美元。
4.LINK持续创历史新高 日内最高涨至16.9777美元。
5.社区正在尝试拯救Yam 参与投票的YAM数量达5万多枚。
6.BASED开启代币分配后 不到24小时注入资金超1200万美元。
7.NEAR Protocol完成公募筹集到超3175万美元。
8.ETC Labs CEO回应“财政系统提案”:与ETC核心价值背道而驰。[2020/8/13]
Cosmos链使用一种称为IAVL的默克尔树,它位于IAVL存储库中。它附有一首关于默克尔树有多棒的诗。IAVL是一个自定义的默克尔化平衡二叉搜索树,它类似于以太坊的帕特里夏树。
独家 | Bakkt期货合约数据一览:金色财经报道,Bakkt Volume Bot数据显示,6月3日,Bakkt比特币月度期货合约日交易额为2058万美元,同比下跌34%,未平仓合约量为1308万美元,同比上升25%。[2020/6/4]
https://github.com/cosmos/iavl/blob/master/POEM
每个区块链开发人员在接触这些结构的架构和算法时,都不得不陷入默克尔树的疯狂之中。
IAVL存储库公开了一个API,用于使用一个“RangeProof”对象构建和验证证明。一个范围证明用于证明某些范围的key在默克尔树中并列存在。
一个范围证明还可用于证明单个键值对,或证明某个键不在树中。
IAVL存储库将RangeProof对象用于所有三种证明。但事实证明RangeProof的内部工作存在一个严重漏洞。
独家 | Bakkt期货合约数据一览:金色财经报道,Bakkt Volume Bot数据显示,4月15日,Bakkt比特币月度期货合约单日交易额为571万美元,环比下降27%,未平仓合约量为632万美元,环比下降0%。[2020/4/16]
一个证明应该由一个子叶节点和一系列内部节点组成,这些节点勾勒出从子叶到根的路径,并具有足够的信息来计算树的merkle根哈希并验证子叶实际上是树的一部分。
由于这是一棵二叉树,所以每个内部节点都可以有一个左分支和右分支。但是在证明中,你是在树中跟踪路径,因此内部节点应该只包含其左分支或右分支哈希。另一个是由证明中其他节点的哈希构造的。
这就是IAVLRangeProof的代码遇到问题的地方。IAVLRangeProof允许填充InnerNode中的Left和Right字段。而这不应该发生。
攻击者基本上利用了将信息粘贴到Right字段中的优势,它们从未经过验证,也从未影响哈希计算,从而使验证者相信某些子叶是树的一部分。因此,他们成功地伪造了一个默克尔证明。
值得注意的是,这个问题取决于攻击者能否将子叶添加到单个证明中,因为RangeProof允许你一次证明多个子叶。因此,即使你的协议只希望一次证明一个key,使用RangeProof也会为攻击者打开攻击面。
所以使用RangeProof并不是一个好主意。但是我们也可以提出一个简单的防御措施——如果任何内部节点同时填充了Left和Right字段,则预先拒绝证明。这样做应该可以解决这个问题。
虽然RangeProof是一个核心Cosmos存储库(IAVL)的一部分,但它实际上并未用于Cosmos堆栈内的区块链协议中。IAVL树本身被所有CosmosSDK链使用,但RangeProofs并没有。这是理解的关键!
相反,对于IBC中的默克尔证明,开发者按照IBC标准设定的更严格的流程开发了一个新规范。该规范称为「ICS23」,它位于IBC规范存储库中:https://github.com/cosmos/ibc中。
那什么是ICS23?这是支持多种默克尔树的默克尔证明的通用标准。ICS23定义了一种用于序列化和验证默克尔证明的通用格式。
IBC没有使用IAVL树的内置RangeProof系统,而是使用ICS23标准来生成和验证IAVL树的默克尔证明。而ICS23代码中并没有这个漏洞。
这不仅仅是使用不同的代码,并因此侥幸躲过一劫的问题。这代表了一种根本不同的软件工程方法。
ICS23遵循更严格的设计流程,旨在最大限度地减少攻击面,同时仍然是通用的,这是一项艰巨的任务!作为其中的一部分,它明确地拒绝了rangeproofs,ICS23中并没有rangeproofs。
因此,该漏洞本身在ICS23规范中是不可接受的,这是好的,IBC的目标是使跨链通信更加安全。
当然,IBC规范和协议可能并不完善,并将继续改进。作为一个复杂的协议和软件实现,它甚至可能存在我们社区必须应对的尚未被发现的漏洞,安全需要一个社区。
我们都必须认真对待安全。如果发现潜在漏洞,请负责任地披露:https://github.com/cosmos/cosmos-sdk/blob/main/SECURITY.md。
如果你可以为改进软件和协议做出贡献,我们邀请您这样做!
总的来说,这次事件是一个机会,它提醒了大家在软件开发生命周期中加强安全实践的重要性,传播一些关于IBC是什么及其工作方式的一些认识,并邀请整个生态来帮助改进IBC。
跨链桥黑客对我们的行业来说是一个真正的问题,如果不认真致力于更高的安全性和标准流程,它们就不会变得更好。让IBC成为一个光辉的例子。
这里还有一个关于使用开源软件的重要教训:遵循最佳实践,保持最新状态,并向上游贡献资源!很高兴看到binance成为更负责任和协作的生态参与者!
Gnosissafe是当今最受信任的数字资产管理平台。它将智能合约账户作为web3的所有权标准来解锁数字所有权.
银行会怎样? 亲爱的读者: 我们的上一份报告提出了一个涵盖5个深度主题的观点,指出在未来几年内DeFi产品和服务的广泛采用。本周我们将把重点放在DeFi借/贷这一部分.
年轻人其实想得没那么复杂。 采访|苏子华、段宛辰 作者|苏子华编辑?|靖宇当不少80后、90后还在困惑,生怕赶不上这趟所谓的Web3「革命快车」的时候,有一些00后早已「玩得飞起」.
文/AlexR.Mead,CoinMetrics在消费级硬件上轻松设置并运行以太坊节点的能力是以太坊网络去中心化特性的一个关键卖点.
原文作者:Stacks创始人MuneebAli,来源:Bankless,本文由DeFi之道编译当前比特币的市值约为4000亿美元。作为OG鼻祖级加密货币,这是相当了不起的.
据1ML网站统计数据显示,比特币闪电网络锁定的比特币数量已突破5000枚,价值约9366万美元。此外,当前闪电网络节点数据为17700,通道数量为85983.