帳簿の中にだけあった 62 万 BTC
2026 年 2 月、韓国の取引所ビッサムは実際には約 4 万 2 千 BTC しか持たない状態で 62 万 BTC を顧客口座に付与した。取引所の残高は帳簿の数字だという事実から出発し、取引所が本当にコインを持っているかを確かめる準備金証明が何を示し、何を示せないのか、そして韓国の制度がどこまで来たのかを整理する。
2026 年 2 月 6 日の午後 7 時、韓国の取引所ビッサム(Bithumb)は「ランダムボックス」イベントの当選金を支払った。当選者 249 人が受け取るはずの額は一人 2,000 ウォンから 5 万ウォン、数百円から数千円程度だった。支払いを入力していた職員が単位をウォンではなく BTC にした。249 の口座に合計 62 万 BTC が入った。
そのときビッサムが持っていたビットコインは、顧客から預かった 42,619 BTC と会社の分 175 BTC、合わせて 4 万 2 千 BTC あまりだった。支払われた数字は実際の保有量の約 15 倍で、発行上限 2,100 万 BTC の 3% 近くにあたる。何人かの当選者はすぐに売った。ビッサム内のビットコイン価格は 9,800 万ウォン台から一時 8,111 万ウォンまで下がり、5 分ほどで元に戻った。ビッサムはのちに 99.7% を回収し、約 125 BTC は戻っていないと発表した。
5 日後、国会政務委員会の緊急懸案質疑で、ある議員が理論上は 1,000 万 BTC でも支払えたのかと尋ねた。ビッサムの代表は、理論上はそうだと答えた。
取引所の残高は数字である
この事故が起こり得た理由は単純だ。取引所口座のビットコインはブロックチェーン上にはない。取引所のデータベースに書かれた数字である。顧客同士が売買するとき、コインは動かず帳簿の数字だけが変わる。ブロックチェーン上で実際のコインが動くのは、顧客が出金するときだけだ。
だから帳簿には、ウォレットにないコインを書き込める。ミスでも故意でも、数字を一つ変えれば済む。帳簿とウォレットが合っているかは誰かが両者を突き合わせて初めてわかる。この突き合わせを残高照合と呼ぶ。同じ懸案質疑で別の議員は、アップビットなどは 5 分単位で照合しているのにビッサムは 1 日単位だったと指摘した。62 万 BTC はその 1 日の間に生まれて消えた。
同じことは逆向きにも起こる。2023 年 10 月、FTX 創業者の刑事裁判で共同創業者のゲイリー・ワンは、系列会社アラメダ・リサーチの FTX 口座には、残高がゼロを下回っても取引と出金ができる allow negative という設定がひそかにかけられていたと証言した。その口座の与信枠は 650 億ドルだったという。ビッサムの事故がウォレットにないコインを帳簿に足したものだとすれば、この設定はコインなしに帳簿から引けるようにしたものだ。どちらにせよ、帳簿の数字とウォレットのコインが食い違う。2022 年 11 月 11 日に FTX が破産を申請したとき、その差は数十億ドルに達していた。
準備金証明という考え方
取引所が顧客に返すべきコインを本当に持っているかを外から確かめようという議論は 2013 年に始まり、2014 年 2 月にマウントゴックスが破綻したことで実際に使われはじめた。同年 3 月 24 日、クラーケンはビットコイン開発者ステファン・トーマスに依頼した監査の結果を発表した。クラーケンの保有するビットコインが顧客残高の合計を上回るという確認だった。方法はグレッグ・マクスウェルが提案したマークルツリー監査の変形で、各顧客は自分の残高が計算に入っているかを自分で確かめられた。クラーケンは、これはより公開的な会計に向けた第一歩にすぎないと付け加えた。
準備金証明(proof of reserves)は二つの側に分かれる。一つは資産の側、取引所がこれだけのコインを管理しているという証明だ。もう一つは負債の側、取引所が顧客にこれだけ返す義務があるという証明だ。資産が負債以上であって初めて意味を持つ。片方だけでは何も言えない。
資産の側は署名で示す
コインを管理しているという事実は比較的簡単に示せる。あらかじめ決めた時刻にそのコインを実際に動かすか、動かさずにそのアドレスの鍵で文に署名すればよい。署名で所有を示す方法はコインを動かさずに行う所有証明で扱った。
取引所のようにアドレスが数千もあるなら、一つずつ署名するよりまとめたほうがよい。BIP-127 はその方法をまとめた文書で、2019 年 1 月に番号を割り当てられた。証明用の取引を一つ作り、最初の入力には実在するコインの代わりに証明文の SHA-256 ハッシュを入れる。そのような入力を持つ取引は決して有効にならないので、ネットワークに流してもブロックには入らない。残りの入力には取引所の実際のコインをすべて入れて署名する。検証する側は署名が正しいか、それらのコインがまだ使われていないかを確かめる。署名する取引は PSBT でやり取りし、そのために証明文を入れる専用フィールドが追加された。文書自身が、この方式にはおもにプライバシー面で既知の欠点があり、すでに使われていた慣行を整理しただけだと書いている。
この側の弱点は時点だ。署名はその瞬間に誰かが鍵を握っていたことしか言わない。証明の日に別のところからコインを借りてきて署名し、翌日返しても証明は成り立つ。ヴィタリック・ブテリンは 2022 年 11 月の記事で、取引所同士が担保をやり取りしながら交互に準備金証明をすれば、実際には支払不能なのに支払能力があるように見せられると書いた。同じコインが二つの取引所の証明に一度ずつ入ることになる。
負債の側はマークル和ツリーで示す
難しいのは負債の側だ。取引所が顧客残高の合計を発表しても、その合計から何人かの顧客を除いて計算したかどうかを知るすべがない。マクスウェルの方法は、この問題を顧客一人ひとりに分担させる。
顧客一人の残高を葉としてマークルツリーを作る。ただし通常のマークルツリーとは違い、各ノードにハッシュとともに金額を持たせ、上のノードの金額は下の二つのノードの金額の和になるようにする。これをマークル和ツリーと呼ぶ。根の金額が顧客残高の総額だ。取引所は根を公開し、顧客は自分の葉から根まで上る経路を受け取って自分で計算する。自分の残高が抜けていたり減っていたりすれば計算が合わない。確かめる顧客が一部だけでも、取引所は誰が確かめるかわからないので、どの口座も勝手には外せない。
金額を一緒に持たせるのには理由がある。ハッシュだけなら、取引所は偽の口座を一つ作ってマイナス 500 BTC と書き込み、総額を減らせる。和ツリーではその負の数が上のノードの金額にそのまま現れ、隣の葉の顧客が経路を確かめた瞬間におかしな数字を目にする。FTX の allow negative 設定が帳簿の中に隠していたのは、まさにこうした負の数だった。
バイナンスは FTX が崩れた 2022 年 11 月にマークルツリー方式の準備金証明を公開した。最初の版は葉に残高のハッシュしか入れておらず根が総額を保証しなかったため、負の残高を持つ口座を紛れ込ませられると批判された。2023 年 2 月にはゼロ知識証明(zk-SNARK)を加え、すべての葉が発表した総額に含まれ、純残高が負の口座がないことを、個々の残高を明かさずに証明するよう改めた。
証明が示せないもの
準備金証明を経た取引所でも、いくつかのことは証明できない。
帳簿の外の負債。和ツリーが扱うのは顧客残高だけだ。取引所がほかから借りたお金、担保に入っているコイン、訴訟で支払うべきお金はツリーにない。資産が顧客残高より多く見えても、ほかの債務まで足せば足りないことがあり得る。
時点。証明はある時刻の写真だ。翌日に何が起きたかは語らない。ビッサムの 62 万 BTC も 1 日の間に生まれた。
法定通貨。ウォンや円の預かり金はブロックチェーン上にないので、署名では示せない。結局は銀行や会計事務所の確認を信じるしかない。
確認の性質。2022 年 12 月 16 日、会計事務所マザールはバイナンス、クリプト・ドットコム、クーコインの準備金証明報告書の作業を停止した。理由は、一般の人々がその報告書をどう理解しているかへの懸念だった。それらの報告書は監査意見ではなく、過去のある時点で合意された手続きを実施した結果だった。多くの人がそれを監査として読んでいた。
韓国の制度はどこまで来たか
2024 年 7 月 19 日に施行された韓国の仮想資産利用者保護法は、利用者のウォン預かり金を銀行に管理させ、利用者の仮想資産の経済的価値の 80% 以上をインターネットから切り離したコールドウォレットに置くよう定めた。ホットウォレットに置いた仮想資産の価値の 5% 以上は、保険か準備金で備えなければならない。取引所は利用者資産に対する実際の保有比率を四半期ごとに開示してきており、アップビットは 2018 年 6 月から会計事務所の実査報告書を公開している。
ビッサムの事故のあと、金融当局は 5 大取引所を点検した。5 社のうち 3 社が帳簿とウォレットを 1 日単位で照合していた。2026 年 4 月 6 日、金融委員会はすべての取引所に 5 分周期で残高を照合するシステムを整えさせ、帳簿と実際の残高の差が大きければ取引を自動で止める基準を設けると発表した。イベントの支払いのような高リスク取引には多重承認と第三者による相互検証を求め、開示は保有比率から銘柄ごとの保有数量にまで広げる。これらは第 2 段階の仮想資産法に盛り込み、法的な強制力を持たせるとした。
方向ははっきりしている。ただし、これらは取引所内部の統制と当局の監督だ。顧客が自分の残高が計算に入ったかを自分で確かめる仕組みではない。5 分ごとに照合するシステムでも、その結果を見るのは取引所と当局である。
自分で確かめられること
取引所にコインを置くなら、その取引所が準備金証明を出しているか、出しているなら自分の口座から自分の残高が含まれていることを確かめられるかを見る。証明の日付はいつか、資産側のアドレスを公開しているか、負債側に負の口座を防ぐ仕組みがあるかも見る。そして、その証明が帳簿の外の債務と翌日の出来事については何も語らないことを覚えておく。
取引所の帳簿の数字は、取引所がそれだけ返すという約束だ。その約束の合計が実際の保有量を超えた瞬間、ビットコインを預かる取引所は部分準備銀行と同じ構造になる。準備金証明は、その約束が守られ得るかを外からのぞく方法だ。約束をコインに変える方法は一つしかない。自分のウォレットへの出金である。その出金がブロックチェーンに記録された瞬間、証明する必要はなくなる。