Zegimi

收款地址與鏈別自查器

把地址貼進來,看它的格式屬於哪一類網路。波場(TRON)地址會額外做一次 Base58Check 校驗和驗證——那能抓出「複製時掉了一個字元」這種最要命的錯誤。

貼上要檢查的地址

整串貼上,不要修剪頭尾。這個欄位的內容不會離開你的瀏覽器。

判斷結果

還沒有輸入

貼上地址之後按「檢查」。

這個工具做得到什麼、做不到什麼,先說清楚。做得到:辨識常見位址格式、對波場位址驗證 Base58Check 校驗和。它做不到:分辨 0x 開頭的位址屬於哪一條 EVM 網路(那幾條鏈共用同一套規則,任何離線工具都分不出來)、驗證 EIP-55 大小寫校驗和、查詢位址上有沒有資產、判斷這個位址是誰的,以及發現剪貼簿被替換成另一個有效地址——攻擊者的地址一樣能通過所有格式與校驗和檢查。它不連任何外部服務,也不查鏈上資料。

校驗和是什麼、以及為什麼 0x 位址分不出鏈

它解決什麼問題

收款最貴的失誤是地址錯一個字元。鏈上轉帳無法撤銷,錢送出去就沒了。這個工具處理的是其中一個可以用純計算抓出來的部分:位址本身的完整性。波場位址內建了校驗和,只要中間有任何字元被改動,校驗就會失敗——這比你用眼睛核對前後四碼可靠得多。

怎麼用

把你準備傳給對方的地址、或對方傳給你的地址整串貼進來,按檢查。如果結果是「校驗和通過」,代表這串字是完整的;如果是「僅格式判斷」,代表本工具只能確認它的格式類型,無法進一步驗證。任何「有問題」的結果,都不要拿去用,回到來源頁面重新複製。

校驗和到底在驗什麼

波場的位址是這樣構成的:實際的帳戶資料,加上對這份資料做兩次 SHA-256 雜湊之後取前四個位元組,兩段接起來再用 Base58 編碼。驗證時把整串解回來,重新算一次雜湊,比對後面那四個位元組對不對。

結果是:改動任何一個字元,重算出來的四個位元組幾乎一定對不上。所以它能抓出打錯字、複製不完整、字串損壞這幾種情況。但要說清楚它不能做什麼:如果剪貼簿劫持程式把你的地址整串換成了攻擊者自己的有效地址,那串地址的校驗和照樣會通過——校驗和只驗「這串字是不是完整的」,不驗「這是不是正確的收款人」。防剪貼簿替換要靠貼上後跟來源頁面逐字比對整串地址、使用提幣地址白名單,以及大額先試轉小額。它同樣不能證明位址屬於誰、上面有沒有錢。

為什麼 0x 開頭的位址分不出是哪條鏈

因為以太坊、BNB Smart Chain、Polygon、Arbitrum 這些網路用的是同一套位址生成規則。同一組私鑰在這幾條鏈上對應到的位址是同一串字。這不是工具做得不夠好,是規則本身如此。

所以「這個位址是哪條鏈的」這個問題,正確的答案來源只有一個:你是從哪個頁面、選了哪個網路之後拿到它的。這也是為什麼傳地址給客戶時,一定要把網路名稱一起寫上去。

資料來源與運算方式

頁面裡的判斷全部由一支約兩百行的 JavaScript 完成,包含一份自己實作的 SHA-256 與 Base58 解碼。沒有呼叫任何外部 API,沒有把你輸入的內容送到任何伺服器,也沒有寫進瀏覽器儲存空間。你可以斷網之後再用一次,功能完全一樣。

適合誰用

準備把收款地址傳給客戶之前跑一次的人;收到對方給的地址、想確認格式沒問題的人。要提醒的是:擔心剪貼簿被替換的話,這個工具幫不上忙——被換進來的攻擊者地址同樣是格式有效的地址,該做的是整串比對與白名單。

相關的筆記