How do I verify OKX's ownership and balance of the wallet address?
此文章將講述如何通過 OKX 公佈的儲備金快照文件及開源的儲備金驗證工具驗證 OKX 對錢包地址的擁有權和餘額。
驗證前的準備工作
下載儲備金驗證工具,雙擊解壓下載的zip文件
文件內包含以下兩個工具:__Verify Address - 用於驗證儲備金地址所有權__, Check Balance - 用於驗證儲備金地址餘額(備註:需要配置 rpc.json,用於配置節點RPC或者OKLink open API等相關信息。)
2. 下載儲備證明文件
3. 把下載的儲備證明文件和儲備金驗證工具存儲到同一個文件夾裏
4. 若需要驗證儲備金地址擁有權,參考【驗證 OKX 錢包儲備金地址的擁有權】章節進行操作;若需要驗證儲備金地址餘額,參考【驗證 OKX 錢包儲備金地址餘額】章節進行操作
驗證 OKX 錢包儲備金地址的擁有權
OKX 快照數據中包含地址、消息“I am an OKX address”和簽名,以及BTC多籤贖回腳本,通過下列步驟可以驗證 OKX 儲備金地址的擁有權。1)BTC 錢包採用單籤和多籤兩種簽名方式
多籤地址採用2/3簽名,每條數據中包含兩個簽名,由 OKX 持有三把私鑰中的兩把私鑰進行簽名得到。通過驗證兩個簽名,可以確保 OKX 至少掌握了其中兩把私鑰,從而證明 OKX 對該多籤地址的擁有權
單籤地址通過消息和簽名結果可驗證 OKX 對該地址的擁有權。
2)ETH 和 USDT 錢包
通過消息和簽名結果可以證明 OKX 對該地址擁有所有權。
您可通過 OKX 提供的開源工具或者第三方工具驗證 OKX 對公佈地址的擁有權。
使用儲備金驗證工具驗證地址擁有權
打開終端程序
Mac系統:終端應用
Windows系統:cmd應用
2. 運行指令並定位到下載的軟件包的目錄,在我們的例子中,文件儲存在 Downloads 中,命名爲 proof-of-reserves,所以輸入 cd ~/Downloads/proof-of-reserves 命令
3. 於終端程序輸入以下命令(文件名可以替換成其他需要驗證的文件)
Mac
. /VerifyAddress--by_csv_filename=okx_by_20221122. csv
Windows
VerifyAddress.exe --por_csv_filename=okx_por_20221122.csv
注:如果您使用的是 Mac 系統,在此步驟中遇到安全設定的問題,可到 系統偏好設置 -> 安全性&隱私 -> 通用 ->點按鎖按鈕以進行更改 -> 允許從以下位置下載的 App:App Store和被認可的開發者 -> 給予工具權限
4. 如果驗證結果通過,終端程序會返回 Verify address signature end, all address passed (如下圖)
使用第三方工具驗證地址擁有權
針對下列類型的地址,您可以使用第三方工具驗證該地址的所有權,證明查詢的地址擁有權屬於 OKX
以 BTC 單籤地址爲例:
首先,下載並打開儲備證明文件
2.拷貝一條記錄的地址、消息、簽名 (如下圖標註的部分)
3. 進入BTC驗籤工具網站,粘貼複製的地址、消息、簽名
4. 如果驗證通過,結果將如下圖所示
驗證 OKX 對 ETH 質押資產所有權
對於 ETH 質押資產,您可以使用第三方瀏覽器(beaconcha.in)來驗證 OKX 對這些公鑰的所有權。第 1 步:下載並打開 ETH 質押文件。 第 2 步:複製任意公鑰地址(如下所示)
第 3 步:進入beaconcha.in,粘貼公鑰地址 第 4 步:檢查“From address”和“Recipient address”與 ETH 質押文件中的地址是否匹配。 “From address”和“Recipient address”由 OKX 簽名確認所有權,您可以根據 1.1 和 1.2 中的說明對此進行驗證。
驗證 OKX 錢包儲備金地址餘額
您可以通過以下步驟驗證:
快照高度時刻的特定幣種鏈上地址餘額,與 OKX 公佈的快照文件中地址餘額進行對比,從而驗證是否一致。
快照高度時刻的特定幣種鏈上地址餘額總和,與 OKX 公佈的快照文件中地址餘額總和進行對比,驗證是否一致。
查詢快照高度時刻地址餘額時,可以配置節點rpc進行餘額查詢,或者配置OKLink的open API進行餘額查詢。
驗證BTC指定地
址餘額和總餘額
步驟一:安裝 Bitcoin Core 客戶端,同步到最新高度,然後將區塊回滾到 OKX 快照時高度安裝Bitcoin節點
可在此處下載Bitcoin Core軟件:https://bitcoincore.org/en/download/ ,請下載 0.21 或之後的版本
需要編輯Bitcoin Core的配置文件,以使節點RPC可訪問。創建 ~/.bitcoin/bitcoin.conf 文件並用編輯器打開或運行 vi ~/.bitcoin/bitcoin.conf 命令,編輯
server=1
rpuser=OKX
rpcpassword=OKXWallet
3. 進入 bin 目錄,運行 ./bitcoind 命令,啓動節點
4. 等待節點同步到最新高度,大約需要12個小時
同步到最新高度後,需要回滾節點到OKX快照高度,以查詢快照高度餘額,操作如下:
運行 ./bitcoin-cli invalidateblock 00000000000000000005829017993a7a21e4b7c731c95b9cb979c01294a7bd27 命令(注:‘00000000000000000005829017993a7a21e4b7c731c95b9cb979c01294a7bd27’ - 這個參數是您下載的儲備證明文件中BTC區塊高度的下一個區塊的hash值,這裏只是一個示例。您需要根據下載的儲備證明文件中BTC的區塊高度查詢到對應的hash值。)
等待節點回滾到快照高度,可以運行 ./bitcoin-cli getblockcount 命令查看是否回滾完成,也可以查看節點輸出日誌判斷,如下圖所示
步驟二:配置參數
打開rpc.json文件
配置btc相關的RPC參數並保存,以本機爲例,如下圖所示
步驟三:使用工具CheckBalance,驗證地址鏈上餘額是否跟快照文件中展示的餘額一致
打開終端程序
Mac 系統:終端應用
Windows 系統:cmd應用
運行指令並定位到下載的軟件包的目錄,在我們的例子中,文件儲存在 Downloads 中,命名爲 proof-of-reserves,所以輸入 cd ~/Downloads/proof-of-reserves 命令
驗證單個地址餘額
在終端執行以下命令,如下圖所示(地址和文件名可以替換成其他需要驗證的地址和文件)
Mac
. /CheckBalance--mode="single_address"--coin_name="btc"--address="3A1JRKqfGGxoq2qSHLv85u4zn935VR9ToL"--por_csv_filename=okx_por_20221122. csv
Windows
CheckBalance. exe--mode="single_address"--coin_name="btc"--address="3A1JRKqfGGxoq2qSHLv85u4zn935VR9ToL"--por_csv_filename=okx_por_20221122.csv
注:如果您使用的是 Mac 系統,在此步驟中遇到安全設定的問題,可到 系統偏好設置 -> 安全性&隱私 -> 通用 ->點按鎖按鈕以進行更改 -> 允許從以下位置下載的 App:App Store和被認可的開發者 -> 給予工具權限
2. 根據返回結果,單個地址餘額如下圖所示
3. 對比 OKX 公佈的儲備金文件與輸出結果,該結果一致
驗證所有地址餘額
在終端執行以下命令,如下圖所示(文件名可以替換成其他需要驗證的文件)
Mac
. /CheckBalance--mode="single_coin_total_balance"--coin_name="btc"--por_csv_filename=okx_por_20221122. csv
Windows
CheckBalance. exe--mode="single_coin_total_balance"--coin_name="btc"--por_csv_filename=okx_por_20221122.csv
注:如果您使用的是 Mac 系統,在此步驟中遇到安全設定的問題,可到 系統偏好設置 -> 安全性&隱私 -> 通用 ->點按鎖按鈕以進行更改 -> 允許從以下位置下載的 App:App Store和被認可的開發者 -> 給予工具權限
2. 根據返回結果,所有地址餘額輸出結果如下圖所示
2. 對比 OKX 公佈的儲備金文件與輸出結果,該結果一致
驗證 ETH / USDT 指定地址餘額和總幣種所有地址餘額
OKX 公佈了自己所擁有的 ethereum、optimism、arbitrum、polygon、avalanche 等鏈上的地址以及相關資產餘額(ETH 或 USDT),您可以使用開源工具對相關地址的餘額進行驗證。您可以選擇使用官方默認的rpc,第三方rpc或者OKLink的API進行驗證
使用默認 rpc,不用修改 rpc.json,可直接跳到驗證步驟
使用第三方節點rpc (如:Infura,Alchemy)- 請查看附錄
使用OKLink的API進行驗證 - 請查看附錄
使用工具CheckBalance,驗證地址鏈上餘額是否跟快照文件中展示的餘額一致驗證步驟:
打開終端程序
Mac 系統:終端應用
Windows 系統:cmd應用
2. 運行指令並定位到下載的軟件包的目錄,在我們的例子中,文件儲存在Downloads中,命名爲 proof-of-reserves,所以輸入 cd ~/Downloads/proof-of-reserves 命令
驗證單個地址餘額:
假設要驗證ETH的0xc5451b523d5fffe1351337a221688a62806ad91a地址在指定高度的餘額跟快照文件(比如okx_por_20221122.csv)中展示的餘額是否一致,需要在終端執行以下命令
Mac
. /CheckBalance--mode="single_address"--coin_name="eth"--address="0xc5451b523d5fffe1351337a221688a62806ad91a"--por_csv_filename=okx_por_20221122. csv
Windows
CheckBalance. exe--mode="single_address"--coin_name="eth"--address="0xc5451b523d5fffe1351337a221688a62806ad91a"--por_csv_filename=okx_por_20221122.csv
注:若查詢其他幣種,需要替換命令中的 "coin_name" 和 "address"
如果您使用的是 Mac 系統,在此步驟中遇到安全設定的問題,可到 系統偏好設置 -> 安全性&隱私 -> 通用 ->點按鎖按鈕以進行更改 -> 允許從以下位置下載的 App:App Store和被認可的開發者 -> 給予工具權限
2.根據返回結果,ETH 在指定高度的查詢地址餘額如下圖所示
3.對比 OKX 公佈的儲備金文件與輸出結果,區塊高度的地址餘額和儲備金文件內的餘額一致,因此可證明此 OKX 錢包地址在快照時在鏈上擁有此數量的餘額。
驗證單幣種所有地址餘額總和
假設要驗證ETH的所有地址在指定高度的餘額跟快照文件(比如okx_por_20221122.csv)中展示的餘額是否一致,需要在終端執行以下命令:
Mac
. /CheckBalance--mode="single_coin_total_balance"--coin_name="eth"--por_csv_filename=okx_por_20221122. csv
Windows
CheckBalance. exe--mode="single_coin_total_balance"--coin_name="eth"--por_csv_filename=okx_por_20221122.csv
注:若查詢其他幣種,需要更換 "coin_name",支持以下值:
BTC,ETH,ETH-ARBITRUM,ETH-OPTIMISM,USDT-ERC 20,USDT-TRC20,USDT-POLY,USDT-VAXC,USDT-ARBITRUM,USDT-OPTIMISM
如果您使用的是 Mac 系統,在此步驟中遇到安全設定的問題,可到 系統偏好設置 -> 安全性&隱私 -> 通用 ->點按鎖按鈕以進行更改 -> 允許從以下位置下載的 App:App Store和被認可的開發者 -> 給予工具權限
2. 根據返回結果,ETH 在指定高度的所有地址餘額總和如下圖所示
3. 對比 OKX 公佈的儲備金文件與輸出結果,ETH 所有地址餘額和儲備金文件內的餘額一致,因此可證明此 OKX 錢包地址在快照時在鏈上擁有此數量的總餘額
附錄:
使用第三方節點 RPC (如:Infura,Alchemy)
在rpc.json文件中配置各條鏈歸檔節點的rpc參數,如下圖所示:獲取evm系歸檔節點
手動安裝歸檔節點。可能需要一定時間同步,參考https://geth.ethereum.org/docs/install-and-build/installing-geth
例如:Alchemy提供了ethereum歸檔節點服務
https://www.alchemy.com/overviews/archive-nodes
使用 OKLink 的 API 進行驗證:
登錄 OKLink
點擊右上角的人形圖標,會顯示一個下拉菜單,選擇 API
點擊鏈上數據部分的創建 API 按鈕創建 apiKey
在rpc.json文件中配置OKLink open API相關的參數,如下圖所示
OKLink 是一家區塊鏈大數據公司,提供了公開的接口查詢區塊鏈指定高度的地址餘額。您也可以從 OKLink 獲取公開的 API 對 OKX 公佈的地址餘額做校驗。