NONDUBITO

鑿構週期律 · 區塊鏈系列 03 / 21

Mt. Gox

Mt. Gox 的幣如何在三年中持續外流:鏈驗證了每一筆簽名,卻無法判斷簽名者是不是鑰匙真正的主人。

一 一個卡牌網站

mtgox.com 這個域名不是為比特幣註冊的。

2007年,Jed McCaleb 註冊它,本意是做一個市場,讓人像交易股票那樣交易一款卡牌遊戲的線上卡片。名字就是那句話的縮寫:Magic: The Gathering Online eXchange。

那個項目沒有做起來,域名閒置了一段時間。

這個來歷後來常被當成一段趣聞,而它其實說明瞭當時的處境:2010年要開一家比特幣交易所,門檻低到可以隨手用一個閒置域名。沒有牌照要辦,沒有資本金要求,沒有托管資格,沒有人來查你把客戶的錢放在哪裡。低門檻是這套東西早期擴張最重要的條件之一,而它同時意味著,進來的人不必先證明自己能保管好別人的東西。

2010年7月18日,一個登錄名叫 mtgox 的人在 Bitcointalk 上發帖,第一句是:我剛架了一個新的比特幣交易所。

帖子同時說明,站內的交易是會員和會員之間成交,系統提供連續在線的自動撮合,報價和托管式的賬戶。

這一句是有同期材料可以直接釘住的上線日期。

2011年3月6日,McCaleb 在同一個論壇宣佈要把 Mt. Gox 交出去,交給一個登錄名叫 MagicalTux 的人,Mark Karpelès。他的解釋很樸素:自己是前一年夏天讀到比特幣之後一時興起做的,而要把交易所繼續做下去,需要投入比他能承擔更多的時間。他特別列了 Karpelès 在網站編程,系統管理,銀行和支付整合方面的能力。

這不是把網站密碼交給了誰。後來一宗美國民事訴訟的材料記載,2011年初,Karpelès 控制的 Tibanne K.K. 從 McCaleb 手裡取得 Mt. Gox K.K. 的 88% 股份,McCaleb 保留 12%。

這個數字要標一個證據狀態:那份 2020年的美國聯邦法院文件是在簡易判決階段陳述訴訟記錄,法院特意說明相關事實按有利於原告的方式敘述,並不為其真實性背書。

至於賣了多少錢,當年那個交接帖的回答就是:協議的具體條款保密。

規模上,Karpelès 後來回憶,自己接手的時候大約有 3,000 名客戶;到 2013年,他稱活躍賬戶約 110 萬,來自 239 個國家和地區。這兩個數是他本人事後的陳述,適合當規模指標,不適合當審計數據。

從 3,000 到 110 萬,三年不到。而在這三年裡,這家公司的保管辦法基本沒有變過。

這裡要先拆掉一個流傳很廣的說法,因為它決定了後面七節該怎麼讀。

Mt. Gox 處理過全球 70% 的比特幣交易,這句話如果不說口徑,會造成一個很大的誤會。

各種來源給的數字其實是這樣的:一項對交易所數據的學術研究說 2010年到 2012年它的市場份額持續超過 80%,那是研究樣本中的交易所成交份額;2013年美國國土安全部扣押材料引述的公司自述是約 80%;Karpelès 後來對路透回憶說 2013年一度超過 90%;而媒體最常用的 70%,一般指全球交易所的成交量。

沒有一個是鏈上轉賬的份額。

它不是在驗證或者處理全網 70% 的鏈上交易。它是曾經佔據了中心化交易所可觀測成交量的大部分。

這個區分是全篇的第一顆釘子:鏈是一樣東西,交易所是另一樣東西。

而這個區分在後面十八篇裡會一次一次地被考驗。幾乎每一次出事,第一反應都是比特幣出問題了;而幾乎每一次追下去,壞掉的都是鏈外那一段。而在那幾年裡,絕大多數人接觸前者的方式,是通過後者。

這一點是這個系列的一條主線。第一篇裡那筆披薩交易,鏈上那一段完全按設計運轉,而它前後每一步都要人。到 Mt. Gox 這裡,那些步驟被打包進了一家公司:換錢,保管,撮合,提現,客服。打包是有價值的,它讓一件本來要懂技術才做得成的事,變成任何人註冊一個賬號就能做。

而打包同時把風險也歸了堆。

歸堆本身不是壞事,銀行做的也是這個。差別在於,銀行歸堆的時候旁邊站著一整套東西:準備金要求,存款保險,定期審計,監管申報,以及一套在它倒掉時決定誰先拿錢的法律。而 2010年的這一家,一樣也沒有。

二 桶底有洞

先拆第二個說法:Mt. Gox 有 95% 的幣一直安全地放在冷錢包裡。

公開史料沒有給出一個經過驗證的,長期穩定的比例。WizSec 在專門討論這個問題的時候寫得很明確:他們對 Mt. Gox 歷史上冷儲的實際操作細節掌握不足,不能簡單假定某個比例。

而 WizSec 根據鏈上和內部材料重建出來的工作模型,比一個百分比有用得多。

Mt. Gox 用預先生成的紙錢包做冷儲。熱錢包有盈餘的時候,會逐步往這些冷錢包裡存幣;熱錢包不夠的時候,工作人員再手工掃描紙錢包,給熱錢包補充。

而關鍵的管理問題在於:沒有人對冷儲做總量監控和賬實核對。

於是有了那個畫面。

熱錢包的私鑰早已洩漏,而工作人員按著流程,每隔一陣去補一次。桶底有洞,補水的人不知道,而且沒有任何一道程序會告訴他。

這個畫面裡沒有惡意,只有流程。補水的人在按操作手冊辦事,而操作手冊上沒有一條寫著先去數一數桶裡現在有多少。

而這一條之所以沒有寫在手冊上,多半也不是有人刪掉了。是寫手冊的時候沒有人想到需要它。那時候這家公司還很小,幣也不多,誰都大致知道有多少。等到真需要它的時候,已經沒有人記得那份手冊當初是怎麼寫出來的了。

這一個模型解釋了那個表面上的悖論:一家公司可以真心認為自己絕大多數幣放在冷錢包裡,同時持續多年流失。

要注意 WizSec 自己把這一部分稱作它的理解和一種可能的解釋,不是法院已經認定的內部流程。

兩件事都是真的。冷錢包裡確實有幣,而熱錢包這一側確實一直在漏。

而它們之所以能同時為真,靠的是中間少了一個動作:把兩邊的總數加起來,和客戶賬面應有的總數對一次。

這個動作在會計上有個老名字,叫盤點。它比這條鏈早了幾千年。

經濟系列第二篇寫過兩河的泥板,第五篇寫過復式記賬。那兩套東西解決的正是同一個問題:讓一本賬可以被自己檢驗。而這裡的情形是,一套遠比它們精密的記錄系統運轉著,而檢驗那一步沒有被接上去。

這個動作不需要任何新技術。它需要的只是有人被指派去做,並且定期做。

而這句話在這個域後面十八篇裡會一直成立。絕大多數事故不是因為缺一項技術,是因為缺一個崗位。

餘項的位置,從這裡就可以先看到一半。它不在鏈上,鏈上每一筆都清清楚楚;它也不在數據庫裡,數據庫裡每個賬戶的餘額都好好的。它在兩者中間那道沒有人負責的縫裡:一邊是鏈上實際有多少,一邊是賬上應該有多少,而沒有一個崗位的職責是把這兩個數放在一起看。

失竊的起點也要拆成兩件不同的事。

2011年3月前後,WizSec 重建出一次約 80,000 BTC 的錢包盜竊:主服務器被入侵,未加密的 wallet.dat 很可能被複製,幣被轉往一個地址,長期沒有再動。

而 2011年9月的那一次性質完全不同。WizSec 認為主熱錢包的私鑰再次因為 wallet.dat 被複製而洩漏。

一次盜竊和一次私鑰洩漏,不是同一件事。

一次盜竊拿走的是當時有的那些。私鑰洩漏意味著:從此以後,凡是進到那些地址裡的幣,攻擊者隨時可以取走。

前者是一個數字,後者是一根管子。

這個區別決定了後面三年的形狀。

也決定了它為什麼那麼難被發現。一次八萬枚的失竊,賬上會突然缺一塊,只要有人對賬就看得見。而一根管子不製造突變,它只是讓每一次補充進去的幣,過一陣就少一些。在一家每天都有大量存提款進出的交易所裡,這種缺失可以被日常的流水蓋住很久。

三 三年

2011年末,WizSec 的重建顯示,預期餘額和實際餘額之間的差距已經迅速擴大到數十萬枚的量級。

截至 2012年末,在最嚴格的一類盜幣路徑中,WizSec 明確識別出約 300,000 BTC 於 2011年末到 2012年末之間離開 Mt. Gox,沒有對應的合法提款記錄,並流入了 Mt. Gox 之外的地址,包括 BTC-e 和 Bitcoinica 等處。

到 2013年中,WizSec 認為由 2011年9月那次洩漏的私鑰可以支出的幣累計約 630,000 BTC 已經被取走,Mt. Gox 基本上沒有可以支出的 BTC 了。

這裡要加一條史料限制。

WizSec 沒有公開一張經過審計,按日曆年度準確合計的年度盜竊表。可以穩妥復述的是量級和時間順序,而把 630,000 平均分攤成三年每年210,000,沒有原始調查依據。

而 WizSec 是怎麼做出來的,比結論更值得看。

因為它同時說明瞭一件事:重建這些需要什麼。

它用 2014年洩露出來的那個 Mt. Gox 數據庫,把存提款記錄和鏈上交易逐項對應;再用共同輸入這一類聚類方法,識別出超過 200 萬個屬於 Mt. Gox 的地址;然後把那些沒有任何合法提款記錄,卻從 Mt. Gox 地址流往外部地址的交易單獨篩出來。

其中有一個校准的錨點,而這個錨點值得單獨說。

2011年,Mt. Gox 做過一筆金額為 424,242.42424242 BTC 的公開交易,目的是向所有人證明自己確實持有這些幣。

四年之後,這筆交易成了外人重建它歷史餘額的基準點。

一次為了建立信任而做的公開動作,後來成了追查它的工具。

而中間那幾年,沒有人拿它去查。

到 2013年中基本沒有可支出的幣,而這家交易所又開了半年多。

這半年多裡,它繼續撮合,繼續收傭金,繼續顯示每一個賬戶的餘額。那些餘額在數據庫裡都是真的,在鏈上沒有對應的東西。

而在這半年裡進來的新客戶,存進去的是真錢,拿到的是一個已經空掉的賬戶裡的一個數字。這是這一段歷史裡最難寫的一處,因為它涉及的是具體的人,而現有材料沒有辦法說清其中有多少人,每個人存了多少。

能說清的只有一件:到 2013年中鏈上已經基本沒有可支出的幣,而門又開了半年多。這半年是可以被指認的。

現在把兩頭追一遍,因為這是全篇最要緊的一處。

收益那一頭很清楚。Mt. Gox 主要從每一筆撮合成功的交易向雙方收傭金,小額和低成交量的標準費率約 0.6%,按過去三十天的成交量分級下降,極高成交量的賬戶最低可以降到約 0.25%。它不是靠自營價差掙錢,是靠撮合傭金以及提款匯款等相關費用。

風險那一頭也很清楚,只是當時沒有人看得見。

Mt. Gox 的條款把正常交易描述為會員與會員之間的交易,並說公司應當為會員持有他們存入的貨幣和 BTC,代表會員管理這些資產。

而合同上寫著代你持有,和現代意義上的客戶資產隔離,不是同一件事。

實際的情形是:會員的餘額首先是 Mt. Gox 數據庫裡的一個內部數字。BTC 在 Mt. Gox 控制的一批地址之間匯集和調撥,沒有哪一個會員在鏈上有一個持續對應他自己賬戶,法律上單獨隔離的錢包。

後來的破產和民事再生程序也是把這些人當作債權人來處理,而不是讓每一個人對某一筆特定的幣行使返還請求。處理這個案子的法律分析寫得很明確:債權人不存在對特定幣的分離權。

也就是說,存在 Mt. Gox 裡的東西,名義上是幣,實際上是一家公司的負債。

而這兩件事的差別,只有在這家公司倒掉的那一天才顯出來。

這也是這個域後來反復出現的一句話:不是你的私鑰,就不是你的幣。而這句話是在 Mt. Gox 之後才被反復講的,它是從這裡學來的。

風險全部落在存幣的那一側,而承擔它的人沒有辦法核對。

更要緊的是,他們連自己該核對什麼都不知道,因為沒有任何一道機制會告訴他們這家交易所實際持有多少。

把第二篇那三條拿過來對一次就很清楚。礦池那一層之所以風險分配得大致公道,靠的是可算,可選,可退出。

這裡三樣缺了兩樣。可選是有的,當時還有別的交易所。而可算沒有:沒有人能算出 Mt. Gox 實際持有多少。可退出在 2014年2月7日之後也沒有了:提款停了,你的餘額還在屏幕上顯示著,而它出不來。

四 一個 bug

2014年2月7日,Mt. Gox 宣佈暫停 BTC 提款,說要調查提款中的異常。那份公告本身還沒有把問題歸給任何具體原因。

2月10日,公司才正式歸因。公告的核心表述是:比特幣軟件裡的一個 bug 使得有可能改變交易的細節。

隨後的非技術說明稱,這種修改會讓系統誤以為一筆發送沒有發生,而事實上幣已經發出去了,於是存在重復發送的可能。

這裡要保留原文的責任歸因方式:它把這件事稱作比特幣軟件裡的一個 bug。

當天就遭到了公開反駁。Bitcoin Foundation 的首席科學家 Gavin Andresen 的回應,標題直接寫著與 Mt. Gox 的聲明相反,比特幣沒有問題。他的具體解釋是:Mt. Gox 遇到的問題來自它高度定制的錢包軟件,客服的處理方式,以及沒有為一個已知的屬性做好準備。

Andresen 並沒有否認這個屬性存在。爭的是兩件別的事:誰應該正確地處理它,以及它能不能解釋後來公佈的那個缺口。

這兩件事後來都有了答案,而且都不是靠辯論得出的。第一件由同期的對照給出,第二件由兩周後的統計給出。

那個屬性本身要寫清楚。

早期比特幣的交易編號是由序列化的交易內容算出來的哈希。而一筆尚未確認的有效交易,在不改變哪些舊輸出被花掉,錢最終付給誰,付多少的前提下,某些簽名的編碼方式可以被改寫,從而產生一個不同的編號。第三方在不知道私鑰的情況下就能做到這件事。

它的危險不是攻擊者可以隨意改收款地址,也不是可以憑空造幣。

典型的問題是這樣一條鏈:交易所生成一筆提款交易,記下編號 A;有人把它可延展的部分改寫成語義等價的 A 撇,編號不同;如果最終是 A 撇進了區塊,那麼這筆款其實已經付成功了;而一個只按原編號檢查狀態的後台,可能認為提款失敗;如果後台或者人工客服因此再付一次,才產生真實的損失。

Decker 和 Wattenhofer 在他們的論文裡特別指出了這條鏈的最後一環:比特幣的核心客戶端本身是按未花費輸出來追蹤餘額的,不會僅僅因為自己最初生成的編號沒確認就認定資金還在。

所以要把這個屬性變成提款欺詐,還需要一個額外條件:交易所自身的提款和記賬實現有錯誤。

然後是那篇論文測到的數字。

整個樣本中曾經捲入所識別的延展衝突的,約 302,700 BTC;其中改版最終勝出的價值約 64,564 BTC;所測一種主要攻擊形式的成功率,按價值計約 21.36%。

而在 Mt. Gox 停止提款以前,捲入所識別攻擊的是 1,811.58 BTC。

按那個成功率估算,提款停止之前真正可能被這種方式重復騙付的,約 386 BTC。

這個數要和另一個數放在一起才有分量。同一份論文測出的整個樣本捲入量是 302,700 枚,而落在提款停止之前的只有 1,811.58 枚。也就是說,絕大部分延展活動發生在 Mt. Gox 已經關上門之後。

和公司最初申報的 850,000 相差三個數量級。

而這一節最冷的是接下來這件事。

2月10日那份公告一出,網絡上的延展攻擊數量突然暴漲。2月10日到 11日兩天,就觀察到 286,076 BTC 捲入相關衝突。

而那時候 Mt. Gox 已經停止提款了。

一份公告描述了一種攻擊,然後那種攻擊就發生了。

這是第二篇裡那句話的另一種形態:構的公告不是對世界的一次描述,它進入世界,並且改變世界。

而這件事有一個更冷的讀法:那份公告等於把一個此前只在開發者圈子裡被討論的技術細節,寫成了一份面向全世界的操作說明。寫它的人當然不是這個意思。而效果與意圖之間的這段差,正是這個域裡最常見的一種事故形狀。

要補一句公平的話:那 386 BTC 不是對 2010年到 2014年整段歷史的絕對上限。論文的數據集主要從 2013年開始,而且鏈上觀測只能確定原版還是改版最終確認,沒有辦法從鏈上直接知道某家公司看到改版編號之後是不是又真的付了一次。作者自己對這些限制有明確說明。

而即便留足這些餘地,數量級仍然對不上。

同期還有一個現實的對照組:Bitstamp 等交易所也一度因為全網的延展噪聲採取了提款保護措施,隨後恢復了。

同一個協議屬性,同一段時間,別人處理完了繼續開門,而這一家沒有再開。這就是當時那句誰應該正確處理它的答案,而它是由事實給出的,不是由爭論給出的。

五 38.42 億對 65.01 億

2014年2月28日,Mt. Gox 向東京地方法院申請開始民事再生程序。

公告首頁列的是兩個數:總資產 3,841,866,163 日元,流動負債 6,501,119,371 日元。

相差約 26.59 億日元。

第二頁寫得更具體:內部調查發現大批 BTC 消失,當時估計為會員存入約 750,000 枚,加上公司自身約 100,000 枚,合計約 850,000 枚。公司認為很有可能是利用系統問題遭竊,同時承認調查尚未完成。它還寫明金融機構實際持有的現金,和會員存款記錄之間約有 28 億日元的差額。

那 28 億是賬面存款與銀行現金之間的差額,不能在沒有進一步材料的情況下,直接改寫成確認有 28 億日元被盜走。

而那份文件比後來的新聞敘事謹慎得多。

它寫到可能有多種原因,包括第三方入侵,並稱必須分析大量交易記錄才能確定真相。

換句話說,公司自己在正式的申請文件裡,已經沒有把全部損失單一地歸給兩周前那個技術解釋。

3月20日又有一份公告。

公司在申請民事再生之後重新掃描過去使用過的錢包,3月7日發現一個在 2011年6月以前使用過的舊格式錢包裡,仍有 199,999.99 BTC。公司稱此前認為那個錢包的餘額是零。

發現之後,公司告知代理律師,並向法院和監督委員通報;出於安全原因,這約 200,000 枚在 3月14日到 15日被轉入離線錢包。加上此前已掌握的約 2,000 枚,公司當時持有約 202,000 枚。

於是原先約 850,000 的消失數字被下調為約 650,000。

這一句要停一下,因為它容易被讀成好消息。

這 200,000 枚不是警方從黑客手裡追回的贓幣。它們是公司在自己用過的舊錢包裡重新發現的。

一家公司找不到自己的二十萬個幣,找了三年,然後在自己的一個舊錢包裡找到了。

更準確地說,它不是找了三年。它是三年沒有找,直到申請再生之後才回頭把過去用過的錢包重新掃了一遍。

這和第二節裡那個補水的畫面是同一個病:沒有人在盤點。

法幣這一側的麻煩是另一條線,而它同樣不能被寫成盜竊。

Mt. Gox 的美元通道當時大致是這樣:會員通過 Dwolla 入金;它的美國子公司 Mutum Sigillum LLC 在 Wells Fargo 有賬戶;提現美元的時候,資金可以從日本的 Sumitomo Mitsui 賬戶匯到 Wells Fargo,再進入 Dwolla 體系。

2013年5月14日,美國馬里蘭聯邦法院簽發扣押令,授權扣押登記在 Mutum Sigillum LLC 名下,由 Veridian Credit Union 保管的 Dwolla 賬戶資金。申請材料援引的是關於未依法登記經營匯款業務的條款。

調查宣誓書列的理由包括:當時 FinCEN 的數據庫顯示 Mt. Gox 和 Mutum Sigillum 都沒有登記為貨幣服務企業;而 Karpelès 在 2011年開立 Wells Fargo 賬戶時,在銀行表格裡回答該企業不是匯款機構,調查人員認為它的實際業務正是在美國收取並轉送客戶資金。

要說准的是:美國的扣押理由是合規問題,不是美國政府在 2013年就認定 Mt. Gox 盜了客戶的幣。

這個區分和第七節那四個命題是同一類工作。一家公司同時可以有合規問題,有訴訟,有技術缺陷,有管理失敗,還被人偷了幣,而這五件事各有各的證據,各有各的時間,各有各的後果。把它們捲成一句它出事了,讀起來痛快,而查不出任何東西。

同一個月還有另一件事。2013年5月2日,CoinLab 在美國起訴 Mt. Gox,索賠 7,500 萬美元,核心指控是沒有按協議移交客戶名冊,軟件和系統訪問權,並繼續直接服務美加客戶,違反獨家條款。

這是民事訴訟的主張,不能當作已經確定的欠款。

而這兩件事加起來的現實效果很具體:2013年,這家交易所的法幣流動性和銀行通道被同時壓縮。

到這裡可以把這一家公司在 2013年的處境擺全:鏈上那一側,可支出的幣已經基本沒有了;法幣那一側,美國通道被扣押,北美合作方在起訴它,提現在積壓。

而它的網站照常運行,價格照常跳動,傭金照常收。

這三件事在當時看起來是它還活著的證據。而回頭看,它們恰恰是這家公司唯一還能做的事:撮合和顯示餘額不需要它真的持有什麼,只需要數據庫還在跑。

六 十二年

日本那邊的程序,經歷了一個容易被寫錯的往返。

2014年2月28日,公司最初申請的其實就是民事再生,希望維持公司或者尋找重整的可能。

這個方案沒能繼續。2014年4月,東京地方法院轉入破產清算程序,由小林信明擔任破產管財人。

2017年11月,部分債權人再次申請啓動民事再生。2018年6月22日 17 時,東京地方法院正式裁定開始民事再生程序,原有的破產程序中止,小林轉任再生管財人。

這個轉換為什麼對持幣的債權人極其重要,要說清楚,因為它是這一整段裡最實在的一處制度差別。

破產清算時期,BTC 債權要被折算成日元,用的是破產開始時的價格,約 50,058.12 日元一枚。

如果一直按這個結構清算下去,後來 BTC 大幅升值,財團手裡剩下的那些幣的價值,可能遠遠超過按 2014年日元價格計算的全部客戶債權。而理論上多出來的那部分,按公司法和破產法的結構,會落到股東一側,不會自動追加給原來的持幣債權人。

這正是債權人推動重新採用民事再生的主要制度背景。

民事再生給出的處理是第三種結構。

用於計算再生債權的固定評價值改成了民事再生開始時的市場價值:1 BTC 折 749,318.83 日元,1 BCH 折 97,481.19 日元。同時,再生計劃允許符合條件的加密貨幣債權有一部分直接以 BTC 或 BCH 實物分配,而不是全部強制按日元結清。

所以那場關於按 2014年價格還是按今天幣價的爭論,實際的法律處理既不是前者也不是後者。

它不是把每一枚鎖死在 2014年約五萬日元然後只給現金。

也不是按今天的現貨價把原持幣數全額折現賠付。

而是先依據再生計劃的固定評價和分配公式確定債權,按財團剩餘資產按比例分配,並允許一部分加密貨幣債權直接拿到幣。

這也是為什麼一個當年賬上有 10 BTC 的人,最後既不是簡單拿到 10 乘以 2014年的日元價,也不會重新獲得完整的 10 枚。

財團所剩的幣量,不足以對所有歷史餘額做一比一的恢復。

這一句要讀慢。一個人當年在屏幕上看到的是 10 個幣,而那個數字從某一年起就已經不對應任何東西了。十二年之後他拿回來的,是一個按公式算出來的份額。中間那些年他不知道自己其實持有什麼,因為那件事當時沒有人知道。

債權人有多少人,同樣有兩個口徑。110 萬活躍賬戶是交易所的賬戶數。真正進入破產和民事再生程序,申報或者被管財人列為自認債權的,只有數萬;路透對這個案子的長期調查把實際債權人規模寫作約 24,000 名。

賠付的時間線是這樣的:

2024年6月24日,管財人宣佈 BTC 和 BCH 的賠付預計從 7月開始。7月5日,首批通過部分指定交易所正式實施。7月16日,累計超過 13,000 名再生債權人拿到幣。7月24日,超過 17,000 名。8月21日,超過 19,000 名。

2025年3月27日,經過 2024年七八月以及 2025年一到三月之後,累計已有超過 19,500 名債權人收到 BTC 或 BCH。

2025年10月27日,管財人稱,除少數特殊付款類別之外,對已完成全部必要手續且不存在問題的債權人,基本賠付,提前一次性賠付和中間賠付已經大體完成;而仍有相當數量的債權人因為手續未完成或者處理問題尚未付款。法院同意把最後付款期限從 2025年10月31日再延至 2026年10月31日。

有一個提醒要寫進來:管財人的公告在多數批次並沒有公佈這一批總共轉出多少幣。所以鏈上某一次大額錢包轉賬,不能直接當成某一批債權人實際收到的準確總額。

從 2014年2月到 2026年10月。

十二年。

而這不是日本法院辦事慢。這個案子牽著幾萬名分布在兩百多個國家和地區的人,一次程序的往返,一次評價方法的重定,一次分配方式的表決,每一步都要有人去做,去核,去等。

而這些步驟沒有一個可以被自動化。評價方法要重定,是因為有人指出按舊辦法算下去結果會落到股東那一側;而指出這件事,提起申請,說服法院,再讓幾萬個人表決,靠的全是人在做。

一個每十分鐘結算一次的系統,它的一次事故用了十二年還沒有結完,而且還要再等一年。

鏈上那一段的結算,和人世間的結算,用的不是同一種時間。

七 四個命題

關於責任,流傳的版本通常壓成一句話:Karpelès 偷了六十五萬個幣。

原始材料給出的是四個不同的命題,四種不同的證據狀態。

把它們分開不是為了替誰說話。是因為這四個命題指向的補救辦法完全不同:如果是內部盜竊,該做的是背景審查和權限分離;如果是外部入侵,該做的是密鑰管理;如果是管理失敗,該做的是定期審計;而如果是賬簿犯罪,該做的是外部記賬和監管申報。

把它們混成一件事,等於把四張藥方揉成一張。

第一個命題,已經成立。 2019年3月15日,東京地方法院判定 Karpelès 篡改,非法製作 Mt. Gox 私人電子記錄和賬戶數據這一項罪名成立。案件涉及通過內部賬戶數據製造並不存在的餘額。刑罰是有期徒刑兩年六個月,緩刑四年。

第二個命題,沒有成立。 檢方關於挪用客戶資金的更嚴重指控,沒有取得有罪判決。

第三個命題,不存在。 沒有任何法院判決認定他是盜走約 650,000 BTC 的那個黑客。這不是他 2019年被判成立的罪名。

第四個命題,仍是指控。 2023年,美國司法部公佈對 Alexey Bilyuchenko 與 Aleksandr Verner 的起訴,稱約 2011年9月,被告及同謀未經授權進入存放 Mt. Gox 錢包和私鑰的日本服務器,並從 2011年9月至少到 2014年5月,導致約 647,000 BTC 被轉往他們控制的地址。檢方還稱其中三十多萬枚經其他交易所體系洗錢。

這個數量和時間範圍,與 WizSec 的鏈上重建相當接近。

而它的法律狀態必須寫完整:這是起訴書裡的主張,不是已經完成的有罪判決。司法部自己的頁面在末尾明確寫著,刑事起訴只是一項指控,在被證明有罪之前,被告應被推定無罪。

還有一個常見的說法要單獨處理。WizSec 在 2017年把與這些幣關聯的地址簇連接到 Alexander Vinnik,而它自己寫得非常謹慎:調查能夠把他定位為洗錢和接收鏈條上的重要人物,並沒有由此證明他就是最初入侵服務器,複製那個錢包文件的人。

把這四個命題分清楚,不是學究氣。

如果把賬簿犯罪和盜走六十五萬個幣混成一件事,那麼真正發生過的那件事就被蓋住了。

而真正發生過的那件事是:一家交易所連續一兩年沒有發現,自己實際持有的幣和客戶賬面上的幣之間已經相差數十萬枚。

這是一個獨立於黑客是誰的資產管理事實。

它也是一個可以被別人重復的事實。而賬簿犯罪不是。

這個分別很實在。一個存心作假的人是罕見的,而一家沒有定期對賬的公司是常見的。把注意力全放在前者身上,後面十幾年那些同樣形狀的事故就會被當成一次又一次的意外。

WizSec 甚至批評過檢方選擇證據的方式,認為不能把那個後來被稱作 Willy 或者 Gox Bot 的內部交易機器人,寫成 630,000 枚鏈上失竊的來源,因為後者已經能夠在鏈上一路追到外部錢包。按 WizSec 的重建,那個機器人最終給公司留下的是約 22,748 BTC 和 5,160 萬美元的負餘額,按 2014年2月28日的匯率合計約 6,493 萬美元。它發生得較晚,可以解釋一部分法幣缺口,解釋不了 2011年到 2013年大部分幣的鏈上外流。

而管理失敗造成損失,與管理層故意製造損失,仍然需要分開。

守住這四個命題的邊界,在這個系列裡是一項要一直做下去的工作。

而它也是這一段歷史留給後來的最實在的一樣東西:在這個域裡,誰被指控了什麼,誰被判了什麼,誰只是被懷疑,四件事必須分開說,因為它們對應的補救辦法不一樣。這個域後來出過真正的,已經被法院認定的欺詐,而如果在這裡就把指控當成認定來寫,到了那些篇,句子就不值錢了。

八 數據一直在

回到那個核心的事實。

那 630,000 枚幣,每一次移動都被記在了人類造過的最公開的一本賬上。

永久。免費。任何人都可以查。而且在它發生的那一刻,就已經記下了。

而三年沒有人查。

要說清楚這句話的分寸。當時沒有區塊瀏覽器上的地址標籤體系,沒有鏈上分析公司,沒有專門盯交易所儲備的人,這些行業在那之後才長出來。所以這不是一句誰失職了的指責。

它說的是另一件事:一樣東西可以是完全公開的,同時事實上沒有被任何人看見。公開和被看見,是兩件要分別去做的事。

2015年 WizSec 做的那件事,原則上任何人在 2012年都可以做。

但這裡要補一條限制,而這一條是全篇最要緊的技術事實。

WizSec 需要 2014年洩露出來的那個數據庫,才能把鏈上的地址對應到 Mt. Gox。

鏈上的數據是完整的,而讀懂它需要鏈外的東西。

鏈記的是地址之間的轉賬。而那些地址屬於誰,鏈不知道,也不打算知道。

不打算知道這四個字是要緊的。這不是一個還沒做完的功能,是一項設計上的取捨:不問你是誰,才不需要有人來核你是誰。第二篇結尾說過同一件事的另一面:它不問,所以它此後也永遠問不出來。

所以這不是一句大家都不看鏈就能打發的事。就算所有人每天都盯著,他們看到的也只是一批數字之間的轉賬,而不是一家交易所正在漏水。

這是這個域裡最深的一處不對稱:一切都可核對,而核對需要的那把鑰匙不在鏈上。

這條不對稱在後面十八篇裡會一直跟著。鏈能證明的是一筆轉賬發生過,簽名有效,順序確定。它證明不了轉賬的人是誰,證明不了他有沒有權利,證明不了這筆錢背後答應過什麼。

而人們要判斷的事情,幾乎全在後面那一半裡。

餘項在這裡的形狀因此很清楚。

它不是沒有被記錄。它被記錄得極其完整,極其公開,極其永久。

它缺的是有人被指派去讀,以及讀它所需要的那樣並不在鏈上的東西。

這是餘項的一種新形狀,而且它在這個域裡會反復出現。前面二十三篇裡,餘項常常是沒被量到,量了不看,或者被划到門外。這裡是第四種:量得極准,記得極全,公開給所有人,而沒有人讀。

第二篇的結尾說,沒有哪一個機構的職責是記人。而這裡要更進一層:記錄已經有了,而沒有哪一個機構的職責是讀。

那筆 424,242.42424242 枚的公開交易也可以放在這裡再看一次。

它當年是一次自證,是一家公司主動讓所有人看見自己有幣。它做成了,而且做得很成功,誰都可以去驗。

這一點要給足:那筆交易是真的,驗證方法是公開的,任何人在 2011年都可以自己算一遍。它沒有騙人。

問題從來不在那一天有沒有幣。問題在此後一千多個日子裡,再也沒有人做過同樣的一次核對。

一次性的公開驗證解決不了持續的賬實不符。而這個域後來花了很多年才把這件事變成一項定期的制度。

而這件事變成制度之後,它換了一個名字,叫儲備證明。它做的仍然是同一個動作:讓外面的人能對一次賬。區別只在於,它從一次性的表演,變成了一項要按週期重復的義務。

而它至今沒有解決全部問題:證明你在某一刻有多少幣,不等於證明你不欠別人更多。這個域後來還要為這半句話付出別的代價,那是後面幾篇的事。

回到那 630,000 枚。它們不是在某一個黑色星期五被搬走的。它們是在三年裡,一筆一筆,按著有效的簽名,在一本所有人都看得見的賬上,慢慢流出去的。

從 2011年那筆交易到那件事成為行業慣例,中間隔著的正是上面這些年。

開頭那個帖子只寫了一句話,十來個詞,說自己架好了一個東西。

三年半之後,同一家公司交給法院的那一頁上,是兩個精確到個位的日元數字,而後面那個比前面那個大了二十六億。

而那條鏈在這十幾年裡一次也沒有出過錯。

它把那 630,000 枚的每一次移動都原樣記了下來。時間,金額,從哪個地址到哪個地址,一次不漏,今天還能查。

它從來沒有認為那些轉賬有什麼不對。按它的規則,那些轉賬全都是有效的:簽名正確,餘額充足,格式合規。

它驗的是簽名對不對。

它不驗按下這個簽名的那隻手,是不是這把鑰匙的主人。

鏈還在結算,而結算什麼還沒有共識。

資料說明

本文依據公開協議文檔、鏈上記錄、法院文書、監管文件與同行評議研究寫成;文中的數字均保留其統計口徑。系列資料截至 2026 年 8 月。

Where next

沿著問題繼續讀