交易所說資產補回來了,使用者能驗證什麼?
交易所公布資產回補比例,還不足以確認你帳上的幣是否足額、現在能否提出來。幣安這次的恢復公告,正好說明這些資料能查到哪裡。
準備金證明(PoR)能讓你核對自己的餘額是否算進總額,但漏掉別人的帳戶,你的證明仍可能通過。即使快照當時資產足夠,提款也得另查幣種與網路。

回補比例要看涵蓋範圍
幣安 11 月 1 日的 Update #4 稱,已覆蓋約 95% 的受影響金額,BTC、ETH、USDT、BNB、SOL、USDC、XRP、USD1、RLUSD、ZEC 餘額已足額支持。剩餘約 5% 是這十種以外、較難買足的代幣,公告沒列出幣種。幣安另在 X 貼文稱已回補 60 億美元,Update #2 則將事件規模估為約 63 億美元,但這些概數沒有附上可重算 95% 的逐幣數量與計價明細,無法換算個別帳戶的覆蓋率。
Update #4 只寫使用公司資源,損失由幣安承擔。Update #3 已列出部分 SAFU、部分 Futures Insurance Fund 與公司庫存這幾種來源,但未提供逐項金額,仍無法對照這次增加的回補各用了多少。
SAFU 是幣安自設的緊急基金,幣安學院詞條只說安全事件造成損失時「可以」動用基金補償,未保證損失不會發生。存款保險是保障銀行存款人的制度,SAFU 不屬於存款保險,該詞條也沒有給出同樣的賠付承諾。
鏈上轉帳能確認到哪裡
Update #3 說,將動用部分 SAFU 購買尚未補足的資產。公開地址在 10 月 31 日有一筆 7,499 BTC 轉帳,可透過 mempool.space 核對,但轉帳紀錄看不出最後買了哪些代幣,無法證明缺少的幣已買齊。
凍結資金的數字也要留意用字。Update #2 稱凍結約 30 億美元,Elliptic 在 11 月 1 日約 05:50 UTC 的鏈上分析核對到凍結或扣押 28.5 億美元,TRM 則在 10 月 30 日 00:30 UTC 估計約 27 億美元。時點與口徑不同,不能相加,這幾份資料也沒提供已交回幣安的金額。
PoR 能核對的範圍
Merkle tree 把資料逐層做雜湊,最後得到代表整份資料的樹根,搭配驗證路徑,就能核對某筆資料是否納入同一份承諾。Vitalik Buterin 的償付能力文章說明了用於餘額的 Merkle sum tree:除了雜湊,還會逐層加總,使用者取得自己的驗證路徑後,就能檢查餘額是否算進公布的總額。要談償付能力,還得對照交易所能控制的資產與客戶負債。
下面的 merkle_sum_por.py 先用完整帳本建樹,再故意漏掉 dave,檢查其餘帳戶的證明,只作極簡示範,與幣安實作無關,也未與各交易所的正式程式碼逐一比對。
import hashlib
# 極簡 Merkle sum tree:每個節點帶 (雜湊, 子樹餘額總和)。
# 只示範納入證明怎麼驗,不是任何交易所的實作。
def leaf(user: str, balance: int) -> tuple[bytes, int]:
return hashlib.sha256(f"{user}:{balance}".encode()).digest(), balance
def parent(left: tuple[bytes, int], right: tuple[bytes, int]) -> tuple[bytes, int]:
total = left[1] + right[1]
data = left[0] + left[1].to_bytes(8, "big") + right[0] + right[1].to_bytes(8, "big")
return hashlib.sha256(data).digest(), total
def build(leaves):
levels = [leaves]
while len(levels[-1]) > 1:
cur = levels[-1]
if len(cur) % 2:
cur = cur + [(hashlib.sha256(b"pad").digest(), 0)]
levels.append([parent(cur[i], cur[i + 1]) for i in range(0, len(cur), 2)])
return levels
def proof(levels, index):
path = []
for level in levels[:-1]:
if len(level) % 2:
level = level + [(hashlib.sha256(b"pad").digest(), 0)]
sibling = index ^ 1
path.append((level[sibling], sibling < index))
index //= 2
return path
def verify(user, balance, path, root):
node = leaf(user, balance)
for sibling, sibling_is_left in path:
node = parent(sibling, node) if sibling_is_left else parent(node, sibling)
return node == root
ledger = {"alice": 50, "bob": 30, "carol": 20, "dave": 100}
# 交易所照實建樹
full = build([leaf(u, b) for u, b in ledger.items()])
root = full[-1][0]
print("full root total:", root[1])
print("alice included:", verify("alice", 50, proof(full, 0), root))
# 交易所漏掉 dave 再建樹:負債總額變小,其他人的證明照樣過
shown = {u: b for u, b in ledger.items() if u != "dave"}
partial = build([leaf(u, b) for u, b in shown.items()])
proot = partial[-1][0]
print("partial root total:", proot[1])
print("alice included:", verify("alice", 50, proof(partial, 0), proot))
print("bob included: ", verify("bob", 30, proof(partial, 1), proot))
print("dave can find a proof:", "dave" in shown)
full root total: 200
alice included: True
partial root total: 100
alice included: True
bob included: True
dave can find a proof: False
原本總額是 200,漏掉 dave 後只剩 100,留在樹裡的帳戶仍各自驗得過,輸出列出了 alice 和 bob 的結果。少掉的是 dave 那 100,其他人只查自己的路徑,看不出缺口。最後一行只表示 dave 不在公開帳本裡,程式沒有替他執行 verify。
幣安 PoR 頁公布的 zk-SNARK 電路約束,涵蓋帳戶餘額納入總和、帳戶淨餘額非負,以及葉節點更新後樹根變化有效。這些檢查針對送進證明的資料,不能順帶保證沒有漏報。
Provisions 論文依賴客戶檢查自己的餘額是否納入,2026 年的負債證明(PoL)論文《Mitigating Collusion in Proofs of Liabilities》也指出,既有方案的加總證明不保證總額反映全體使用者的當下餘額。
幣安 PoR 頁把錢包所有權列入驗證流程,但控制錢包無法排除借入資產,抵押或其他負擔也要另查。PCAOB 投資人倡議辦公室 2023 年的提醒指出,PoR 程序很可能未涵蓋負債與借入資產等事項,PoR 工作也不等同審計。Vitalik 也提到,法幣餘額仍需銀行或稽核者等提供證明,無法單靠這類密碼學證明核對。
快照與提款要分開看
Provisions 把快照限定在特定比特幣區塊,幣安自驗文件也提醒,報告可能與目前資產數量不同。定期重做有助於持續觀察,但上次驗過,不代表資產之後沒有移走。
提款還得核對幣種與網路,Update #4 就是按這兩者的組合安排恢復。
擠兌與 Diamond–Dybvig 模型說明了銀行存款與資產的期限差異:存款可隨時提領,放款卻可能要更久才能收回,集中提款因此可能造成支付困難。本文只借這個銀行模型區分資產與流動性,不據此推論幣安會發生擠兌。
幣安現況
查詢截至 2026-11-01 14:15 UTC,台北時間同日 22:15。這次查到的編號公告仍到 Recovery Update #4,未找到可核實的 Update #5;後續進度改由 官方 X 逐批公布。
已公布的進度
提款:12:36 UTC(台北時間 20:36)的官方 X 更新新增 ZEC、TON、SUI,連同先前的清單,共列出以下 15 個網路與資產組合。這是幣安宣布已恢復的範圍,本文未實測提款,也不能由網路名稱推論該鏈所有代幣都已開放。
| 網路 | 該則公告列出的資產 |
|---|---|
| BTC | BTC |
| Ethereum(ETH) | ETH、USDT、USDC |
| BNB Smart Chain(BSC) | BNB、USDT、USDC |
| XRP | XRP |
| Base | ETH、USDC |
| DOGE | DOGE |
| Optimism(OP) | ETH、USDT、USDC |
| Arbitrum | ARB、ETH、USDT、USDC |
| TRON(TRX) | TRX、USDT |
| Solana(SOL) | SOL、USDT、USDC |
| Polygon(MATIC) | POL、USDT、USDC |
| Avalanche C-Chain(AVAXC) | AVAX、USDT、USDC |
| Zcash(ZEC) | ZEC |
| TON | USDT、GRAM |
| Sui(SUI) | SUI |
回補:本次查到的最新比例仍是 Update #4 所稱約 95%,另有 03:04 UTC 的官方貼文稱已回補 60 億美元。未找到更高比例的官方更新,這些是平台的回補說法,不代表追回同等金額的贓款。
PoR:Update #3 稱已公布 10 月 31 日 00:00 UTC 的快照;06:53 UTC 的官方 X 貼文另稱 PoR 地址清單已加入新錢包,之後提款將由新地址處理。地址更新本身無法證明完整零知識證明已產出。
凍結與歸還:本次查到的官方凍結總額仍為約 30 億美元,出自 10 月 30 日的官方貼文及 Update #2;未找到可核實的更新總額或已歸還幣安的金額,不能把凍結款項加進回補數字。
預告與尚未驗證的部分
- 第二階段:未找到確定日期。Yi He 的貼文仍說其他錢包要完成安全檢查;crypto.news 與 BusinessToday 也轉述尚無固定時程。Update #4 的 06:00–09:00 UTC 是第一階段原定啟動時窗,不能當成所有網路都在 09:00 前完成。
- 完整 PoR 證明:Update #3 預估於 11 月 3 日 UTC 產出,這仍是預估。本次讀取英文 PoR 頁及簡體中文頁,都未取得當期快照欄位、樹根與比率,無法確認是否已有更新快照或完整證明可驗證。
提款狀態頁此次回傳的表格沒有幣種紀錄,無法用來獨立核對即時狀態;上表依官方公告記錄。
交易所應公開的驗證資料
使用者需要各期資料與驗證方法,才能重做檢查。幣安文件已有自驗步驟,常規快照在每月 1 日 00:00:00 UTC 取得、同月 7 日前公布,證明旁也應列明快照日期與對應區塊,讓人知道查的是哪一期。
交易所也應說明未涵蓋的幣種與無法自行核對的項目,讓使用者知道自己的資產是否在範圍內,還缺哪些驗證資料。
簽署授權另見〈保住私鑰之後,誰有權要求系統簽章:從 2019 年幣安事件看託管簽署的授權邊界〉,供應鏈則見〈簽章都正確,交易為何還是錯的:Bybit 與 Safe 的簽署供應鏈〉。
尚未釐清的事
截至上述查詢時間,幣安雖已公布約 95% 與 60 億美元的回補說法,仍缺計價時點、分母明細及剩餘幣種的逐幣對照,本文不據此估算缺口。各來源的實際回補金額、凍結款項歸還金額與第二階段確定日期,本次也未查到可核實的資料;完整 PoR 證明是否已可取得,仍無法確認。
下一篇想談的是,交易所該公開哪些資料,才能讓外部持續核對資產、負債與交付能力。本文整理公開資料,不構成財務建議。
補充筆記
- 整體回補比例不能換算成個別帳戶的覆蓋率,SAFU 詞條也沒有給出存款保險式的賠付承諾。
- 轉帳與凍結紀錄,分別不等於採購完成與資金歸還。
- 自己的餘額驗證通過,仍可能有其他帳戶被漏掉,資產是否另有負擔也要另外查。
- 官方已宣布恢復 15 個網路所列資產的提款,第二階段仍未查到確定日期。
- PoR 已宣布更新快照與錢包地址,完整證明仍待核實,11 月 3 日是官方預估日期。
延伸閱讀
- 11:31 UTC 提款更新與 12:36 UTC 提款更新:11 月 1 日的官方 X 清單,後者新增 ZEC、TON、SUI;Binance News 的 15 網路整理也轉述同一範圍。
- 已回補 60 億美元與 PoR 新錢包地址:11 月 1 日 03:04、06:53 UTC 的官方 X 貼文,分別補充金額與地址變更,無法替代逐幣對帳或完整證明。
- Yi He 的第一階段預告:其他錢包仍待安全檢查,沒有提供第二階段確定日期。
- crypto.news:Bitcoin 提款恢復(2026-11-01 08:01 UTC)與 BusinessToday:提款恢復安排(同日更新):媒體轉述,核對第一階段安排與第二階段尚無固定時程,後續已恢復範圍依官方 X 清單。
- Security Incident | Recovery Update #4 與官方 X 全文:2026-11-01 的當事方公告,約 95% 與第一階段預定時窗的出處,全文由幣安巴林站及 X 核對。
- Security Incident | Recovery Update #3:幣安 2026-10-31 的當事方公告,說明 SAFU 用途及快照安排,完整零知識證明的產出日期仍是預估。
- Security Incident Update #2 與官方凍結金額貼文:2026-10-30 的當事方說法,約 30 億美元是凍結金額,沒有證明已歸還。
- Binance Proof of Reserves 及簡體中文頁:官方機制與電路約束說明,本次兩頁都未取得當期快照、樹根與比率欄位,無法核實完整證明是否已產出。
- How to Verify Your Account Balance on Binance?:幣安官方操作文件,可核對自驗步驟與常規快照時程,不代表某一期證明已可下載。
- Binance Deposit & Withdrawal Status:官方即時狀態頁,本次取得的表格沒有幣種紀錄,不能據此判定服務已開放或關閉。
- Secure Asset Fund for Users (SAFU):本次直接讀取的幣安學院詞條(頁面標示更新於 2026-10-13),基金用途屬平台自述,不是存款保險承諾。
- mempool.space:SAFU 地址:公開鏈上紀錄的查詢來源,7,499 BTC 轉帳已由同站 API 核對,但紀錄無法證明缺口代幣已買齊。
- Provisions: Privacy-preserving proofs of solvency for Bitcoin exchanges:Dagher 等人的 ACM CCS 2015 論文,可核對償付能力證明的設計與限制,不能當成特定交易所的償付保證。
- Having a safe CEX: proof of solvency and beyond:Vitalik Buterin 於 2022-11-19 發表的個人技術文章,用於解釋 Merkle sum tree 與資產證明的限制,沒有查證本次事件。
- Mitigating Collusion in Proofs of Liabilities:Mohamed 與 Karame 於 2026-03-13 發表的 arXiv 預印本,可用來核對既有負債證明的完整性限制,不據此替特定交易所背書。
- PCAOB Investor Advisory on Proof of Reserve Reports:2023-03-08 的投資人提醒,屬投資人倡議辦公室職員意見,並非 Board 規則或對幣安本次事件的調查結論。
- Elliptic: The largest theft in history 與 TRM Labs: North Korea Steals USD 6.36 Billion From Binance:鏈上分析公司的第三方估算,凍結數字的時點與口徑各異,都不足以證明資金已交回幣安。
- Merkle tree 與 Deposit insurance:Wikipedia 固定修訂版本,只用於一般概念,不能當成特定交易所或基金的保證。
- Bank run 與 Diamond–Dybvig model:Wikipedia 固定修訂版本,後者標有缺少行內引用的提醒,本文只借其概念區分資產與流動性,不用來預測幣安。
想法與技術判斷出自 Sheng,和 Claude 一起起草 · 範例在 Linux 上以 Python 3.13.18 實測。