
Cobo共同創設者:Merkle Tree準備証明の欠陥と改善アイデア
TechFlow厳選深潮セレクト

Cobo共同創設者:Merkle Tree準備証明の欠陥と改善アイデア
既存のMerkle Treeによる準備証明方法の2つの基本的な欠陥。
著者:蒋長浩 Cobo共同創業者兼CTO
FTXの破綻に伴い中央集権的機関に対する信頼が崩壊したことを受け、CZはTwitter上で取引所に対してMerkle Treeを用いた準備金証明(Proof of Reserves)の導入を呼びかけた。これにより、ユーザー資産が不正に流用されていないことが示されるべきであるとした。その後、複数の取引所がこれに応じて準備金証明の実施を開始し、顧客に対して資金の安全性を保証しようとしている。しかし、現行のMerkle Treeによる準備金証明にはいくつかの根本的な欠陥がある。具体的には、中央集権的機関がこの証明方式が目指す「資産の流用なし」の検証を回避するための手段を容易に利用できる点にある。
以下では、現行のMerkle Tree型準備金証明が抱える二つの基本的欠陥について説明し、改善策に関する考察を述べる。
現行の準備金証明方式の仕組み
ユーザーと中央集権的機関間の情報非対称性を緩和するために、現在の準備金証明では通常、第三者監査機関が監査報告書を作成するという従来型の監査手法が採用されている。この報告書では、中央集権的機関がブロックチェーン上に保有する資産量(準備金証明)と、ユーザーの資産残高の合計(負債証明)が一致していることが確認される。
負債証明に関しては、中央集権的機関が各ユーザーのアカウント情報および資産残高を含むMerkle Treeを生成する必要がある。Merkle Treeは、ユーザーのアカウント残高を匿名化かつ改ざん不可能な形でスナップショット化したものであり、各ユーザーは自身のアカウントハッシュを独立に計算することで、自分のアカウントがMerkle Treeに含まれているかを確認できる。
一方、準備金証明については、中央集権的機関が保有するブロックチェーン上のアドレスを提示し、その正当性を検証・監査する必要がある。一般的な方法として、中央集権的機関がデジタル署名を提供することにより、当該アドレスの所有権を証明することが求められる。
Merkle Treeのスナップショット作成およびアドレス所有権の確認が完了した後、監査機関は負債側と準備金側それぞれの資産総額を照合し、中央集権的機関がユーザー資金を流用していないかを判断する。
現行の準備金証明方式の欠陥
1. 借入資金を用いて監査を通過する可能性
準備金証明方式の問題点の一つは、監査が特定の時点に基づいて行われ、通常は数ヶ月または数年に一度しか実施されないということである。つまり、中央集権的取引所はユーザー資金を流用した上で、監査期間中に借り入れによって不足分を簡単に補填し、監査を通過する余地が残っている。
2. 外部資金提供者との共謀による監査通過の可能性
デジタル署名の提供は、当該アドレス上の資産に対する所有権とは異なる。中央集権的機関は外部の資金提供者と結託し、ブロックチェーン上での資産保有を一時的に証明することができる。外部資金提供者は、同一の資金を複数の機関に対して同時に証明に使用することさえ可能である。現行の監査手法では、このような詐欺行為を検出することは極めて困難である。
証明方法の改善に関する提案
理想的な準備金証明システムは、監査機関および最終ユーザーに対して、負債および準備金の状況をリアルタイムで検証可能な能力を提供すべきである。しかし、これは高いコストを伴うか、あるいはユーザーのアカウント情報を漏らすリスクを生じさせる。十分なデータが得られた場合、第三者監査会社は匿名化されたデータからもユーザーのポジション情報を推測できてしまう可能性がある。
監査期間中の準備金証明の偽造を防ぎつつ、ユーザー情報の開示を避けた方法として、以下の二つのアイデアを提案する。
1. 抽出式ランダム監査
予測不能なタイミングでランダムに監査を行うことで、中央集権的機関がアカウント残高やブロックチェーン上の資産を操作する難易度が大幅に上がる。また、ランダムに摘発される可能性への恐れが、不正行為を抑止する効果も期待できる。
実施方法:監査要求は、信頼できる第三者監査機関から中央集権的機関に対してランダムに送信される。指令を受け取った後、中央集権的機関は特定の時点(ブロック高で識別される)におけるユーザーのアカウント残高を含むMerkle Treeを生成する必要がある(負債証明)。
2. MPC-TSS方式による準備金証明の高速化
ランダム監査の実施中、中央集権的機関は極めて短時間で準備金証明を提出する必要がある。これは、多数のユーザーの資産を管理する取引所のような機関にとって大きな課題となる。たとえ大部分の資産をホットウォレットやコールドウォレットといった少数の固定アドレスに保存していたとしても、分散して保有される多数のアドレス上の資金総額は依然として膨大である。監査時にこれらすべてのアドレスから資金を集約して少数の公開アドレスに移動させるのは非常に時間がかかる作業であり、この時間差を利用して流用した資金を借り入れなどで補填する余地が生まれてしまう。
中央集権的機関は、実際に資産を保有するアドレス上で、アセットの集約を行わずに直接準備金証明を行うことは可能だろうか? その一つの解決策として、MPC 閾値署名方式(MPC-TSS)技術の活用が考えられる。
要するに、MPC-TSSとは高度な暗号技術であり、秘密鍵を二つ以上のシェア(鍵断片)に分割し、暗号化された状態で複数の当事者が保持するものである。これらの鍵シェア保持者は、個別の鍵断片を交換したり、秘密鍵を再構築することなく、協力してトランザクションに署名できる。このMPC-TSS共管技術は、Coboが最近リリースした製品でもある。
本ソリューションにおいて、第三者監査機関(法律事務所、監査法人、トラステッド、受託者、あるいは規制当局自体など)が一つの鍵シェアを保有し、中央集権的機関が残りの鍵シェアを保持する。閾値(threshold)を1より大きい値に設定すれば、すべての資産は依然として中央集権的機関の支配下に置かれる。なお、中央集権的機関が監査側と共管する多数のアドレスを生成可能にするためには、MPC-TSS共管方式がBIP32プロトコルをサポートしている必要がある。監査機関が一つの鍵シェアを持つことで、中央集権的機関のブロックチェーン上アドレス群を確実に把握でき、指定されたブロック高における資産規模を正確に集計できるようになる。
謝辞
本稿執筆にあたり、Discus Fish(神魚)、Lily King、Jeanette、Tavia、Linfeng、EllaineをはじめとするCoboの同僚たちからの貴重な議論および建設的な助言に感謝する。
CoboのMPC WaaS(マルチパーティセキュリティ計算に基づく閾値署名技術を用いたセルフ/コ・マネージドソリューション)にご興味をお持ちの方は、ぜひお客様成功チームまでお問い合わせください。Web3資産の保管およびDeFiにおけるセキュリティ設計に関するソリューションについて、喜んでご相談させていただきます。
Coboへのお問い合わせ:https://mpc.cobo.com/mpc-zh
TechFlow公式コミュニティへようこそ
Telegram購読グループ:https://t.me/TechFlowDaily
Twitter公式アカウント:https://x.com/TechFlowPost
Twitter英語アカウント:https://x.com/BlockFlow_News













