BTC $78,382.75 -0.97%
ETH $2,492.79 +0.18%
BNB $750.27 +1.49%
XRP $1.44 +2.84%
SOL $104.08 +0.22%
TRX $0.3391 +1.34%
DOGE $0.0902 +0.42%
ADA $0.2228 +1.37%
BCH $258.54 -0.68%
LINK $12.71 -0.24%
HYPE $84.37 -0.85%
AAVE $129.77 -1.52%
SUI $0.8201 -0.51%
XLM $0.1895 -0.25%
ZEC $1,169.93 +1.29%
BTC $78,382.75 -0.97%
ETH $2,492.79 +0.18%
BNB $750.27 +1.49%
XRP $1.44 +2.84%
SOL $104.08 +0.22%
TRX $0.3391 +1.34%
DOGE $0.0902 +0.42%
ADA $0.2228 +1.37%
BCH $258.54 -0.68%
LINK $12.71 -0.24%
HYPE $84.37 -0.85%
AAVE $129.77 -1.52%
SUI $0.8201 -0.51%
XLM $0.1895 -0.25%
ZEC $1,169.93 +1.29%

Cosmos 联创:BNB Chain 攻击事件中黑客通过 RangeProof 伪造 Merkle 证明

2022-10-09 11:54:29

链捕手消息,Cosmos 联合创始人 Ethan Buchman 对 BNB Chain 跨链桥 BSC Token Hub 攻击事件发表看法表示,此次事件问题的关键在于黑客能够伪造 Merkle 证明。这本不应该发生,因为 Merkle 证明应该提供高完整性。区块链轻客户端(和 IBC)建立在 Merkle 证明之上,许多区块链将数据存储在 Merkle 树中,这样就可以生成证明,证明某些数据包含在树中。

Cosmos 链使用一种称为 IAVL 的 Merkle 树,IAVL 存储库公开了一个使用范围证明“RangeProof”的 API,但事实证明 RangeProof 的内部工作存在严重错误。IAVL RangeProof 的代码问题在于其允许填充 InnerNode 中的 Left 和 Right 字段,攻击者基本上利用了将信息粘贴到 Right 字段中的优势,这些信息从未得到验证,也从未影响哈希计算,以使验证者相信某些叶节点是树的一部分。因此,他们成功地伪造了 Merkle 证明。

Buchman 表示,虽然使用 RangeProof 不是一个好主意,但有一个方式或可以解决这个问题,即当任何内部节点同时填充了左右字段时,则预先拒绝证明。对于 IBC 中的 Merkle 证明,IBC 没有使用 IAVL 树的内置 RangeProof 系统,而是使用 ICS23 标准从 IAVL 树生成和验证 Merkle 证明,ICS23 代码没有这个漏洞,它可明确“拒绝”RangeProof。

app_icon
ChainCatcher 与创新者共建Web3世界