TechFlowの報道によると、Cosmos共同創設者のイーサン・ブクマン氏は、BSCのクロスチェーンブリッジ攻撃事件について見解を述べ、今回の問題の核心はハッカーがMerkle証明を偽造できた点にあると指摘した。これは本来あってはならないことであり、Merkle証明は高い完全性を提供すべきものである。ブロックチェーンのライトクライアント(およびIBC)はMerkle証明に基づいており、多くのブロックチェーンではデータをMerkle木に格納することで、特定のデータがその木に含まれていることを証明する証明を生成できるようにしている。
Cosmosチェーンは「IAVL」と呼ばれるMerkle木を使用しており、IAVLリポジトリは範囲証明(RangeProof)を利用するAPIを公開しているが、実際にはこのRangeProofの内部動作に深刻なバグが存在することが判明した。IAVLのRangeProofコードの問題点は、InnerNode内のLeftおよびRightフィールドに値を埋めることができてしまう点であり、攻撃者はRightフィールドに情報を挿入し、それが検証されず、またハッシュ計算にも影響しないため、検証者に対して特定の葉ノードが木の一部であるかのように見せかけることに成功した。これにより、彼らはMerkle証明を偽造することに成功したのである。
ブクマン氏は、RangeProofの使用自体が好ましくないものの、これを解決する方法があるとして、内部ノードが左右両方のフィールドを同時に埋めている場合に証明を事前に拒否する方法を提示した。IBCにおけるMerkle証明に関しては、IBCはIAVL木の組み込みRangeProofシステムを使用せず、ICS23標準を用いてIAVL木からMerkle証明を生成・検証している。このICS23のコードには当該脆弱性は存在せず、明確にRangeProofを「拒否」することができる。原文リンク




