什麼是區塊鏈地址?
區塊鏈地址是區塊鏈網路(以下簡稱「網路」)用來識別帳戶、收款目標,或表示資產使用條件的一串字元。它通常可以公開用於收款,但不是密碼,也不是實際存放資產的容器。使用地址前仍需核對所屬網路和地址類型。
不同網路對「地址」的定義並不完全相同。Ethereum 帳戶地址可以標識普通使用者控制的帳戶或智能合約帳戶;Bitcoin 地址可以表示收款方將來使用這筆資產時需要滿足的條件;XRP Ledger 地址用於標識帳戶,而部分轉帳還需要填寫目標標籤。因此,使用地址時必須同時確認所屬網路、地址格式及所需的附加資訊。
網路為什麼需要地址?
公開金鑰(簡稱公鑰)和支付條件等底層資料通常很長,也不方便直接用於日常收款。區塊鏈地址把轉帳所需的資訊整理成較容易複製和識別的標準格式。有些地址還包含用於識別網路或地址類型的資訊,以及用於發現部分輸入錯誤的校驗資訊。錢包和其他應用讀取地址後,就能按照對應網路的規則建構轉帳。
不過,地址格式正確並不能證明它由誰控制。地址只告訴軟體資產應該發送到哪裡;如果地址控制者以後想轉出資產,仍需使用私密金鑰(簡稱私鑰)簽署,或滿足智能合約等規則規定的授權條件。
地址是怎樣生成的?
不同網路生成地址的方式並不相同,但可以大致理解為三個步驟。
第一步:準備生成地址所需的資訊
地址通常不是由使用者隨意輸入的一串字元,而是由錢包或協議根據已有資訊計算出來的。
- 對於由金鑰控制的普通錢包,地址通常與一對公鑰和私鑰有關。私鑰用於授權交易,公鑰可以參與生成收款地址。
- 部分 Bitcoin 地址的生成還會用到支付條件。這些條件規定未來滿足什麼要求才能使用對應資產。
- 智能合約地址可能根據合約建立者、交易編號或其他部署資訊生成。
這些資訊是生成地址時使用的「原始材料」,但通常不會原樣顯示在最終地址中。
第二步:按照網路規則進行雜湊或編碼
網路會按照自己的規則處理第一步的資訊。
雜湊可以理解為生成數位指紋:演算法把一段資料轉換成長度固定的結果。即使原始資料很長,得到的雜湊結果也可以保持固定長度;通常也不能僅憑雜湊結果反推出原始資料。
編碼則是把計算結果轉換成由字母和數字組成的格式,方便錢包和其他應用讀取、複製及傳輸。不同網路使用的雜湊演算法和編碼規則可能不同,因此 Ethereum、Bitcoin 和 XRP Ledger 地址的長度與外觀也不一樣。
第三步:加入前綴、版本資訊或校驗和
部分地址格式還會加入額外資訊:
- 前綴可以幫助軟體識別地址類型。例如,部分 Bitcoin 地址以
bc1開頭。 - 版本資訊可以告訴軟體應該按照哪套規則解釋地址。
- 校驗和用於發現部分輸入或複製錯誤。如果地址中的字元被誤改,錢包可能會提示格式無效。
校驗和只能檢查部分格式錯誤,不能證明地址屬於誰,也不能保證使用者選擇了正確的轉帳網路。
以 Ethereum 地址為例
建立普通 Ethereum 錢包時,可以把地址生成過程簡化理解為:
- 錢包生成私鑰。
- 根據私鑰計算出對應的公鑰。
- 使用 Keccak-256 演算法把公鑰計算成一段固定長度的資料摘要。
- 取雜湊結果的最後 20 位元組,並在前面加上
0x,形成 Ethereum 地址。
一個縮短後的地址範例是:0x7A3f…9C21。這個範例只用於展示地址外觀,不是可以用於轉帳的完整地址。完整 Ethereum 地址在 0x 後面包含 40 個十六進位字元。
私鑰不會包含在地址中。使用者可以公開地址用於收款,但必須妥善保管私鑰。智能合約地址採用不同的生成規則,不能簡單套用上述普通錢包地址的過程。
Bitcoin 和 XRP Ledger 使用不同規則。例如,Bech32 和 Bech32m 是兩種 Bitcoin 地址編碼格式,分別由比特幣改進提案 BIP-173 與 BIP-350規定。部分 XRP Ledger 轉帳除了經典地址還需要目標標籤;X-address 是把經典地址和目標標籤組合在一起的另一種寫法,但能否使用取決於錢包、交易平台或用戶端程式庫是否支援。
地址、公鑰、私鑰和錢包有什麼區別?
| 名稱 | 作用 |
|---|---|
| 地址 | 讓軟體識別帳戶、收款目標,或資產使用條件。 |
| 公鑰 | 可以公開,用於驗證簽章;在部分設計中也參與生成地址。 |
| 私鑰 | 必須保密,用於生成簽章並授權交易。 |
| 錢包 | 幫助使用者查看帳戶、管理地址,並可能保管或呼叫私鑰的軟體、硬體或服務。 |
地址和公鑰不是同一個概念。地址可能根據公鑰計算得出,也可能根據支付條件或合約部署資訊生成。一個錢包可以管理多個地址;智能合約地址也可能由程式碼或多個簽署方共同控制,而不是只對應一把私鑰。收款地址通常可以分享,但私鑰和復原資訊必須保密。
為什麼格式正確的地址仍可能無法使用?
- 網路錯誤:地址外觀相似並不代表屬於同一網路,接收服務也可能不支援使用者選擇的網路。
- 地址類型不相容:部分錢包或服務不支援所有地址格式。
- 遺漏 Memo 或目標標籤:交易平台等服務可能讓多個使用者共用一個鏈上地址,再透過附加標識區分具體帳戶;XRP Ledger 的目標標籤就是一例。
- 混淆合約和收款人:代幣合約地址標識代幣合約,並不自動等於使用者收款地址。
- 無法確認控制權:語法有效、校驗通過,都不能證明該地址確實由預期收款人控制。
鏈上轉帳一旦被網路確認,通常不能由發送方直接撤回。接收方是否願意或能夠退回資產,要看具體網路、服務和實際情況。錢包可以提前檢查地址格式及網路相容性,但無法只憑地址確認使用者真正想把資產發送給誰。
地址複用與公開可見性
收款地址通常可以公開,但重複使用可能讓他人看出多筆交易之間的關聯。區塊鏈帳本上的交易紀錄通常可以公開查詢;交易平台帳戶、公開資料等鏈外資訊,還可能進一步把某個地址與個人或服務聯繫起來。部分 Bitcoin 錢包會為每次收款生成新地址,以減少直接複用。不過,交易仍可能暴露其他關聯,因此使用新地址並不代表完全匿名。
常見問題
地址裡面存放著幣嗎?
不是。資產餘額或可使用的交易輸出紀錄在區塊鏈帳本中,地址只是幫助錢包和網路找到相關紀錄。它本身不是存放資產的檔案或容器。
知道地址就能簽署交易嗎?
不能。地址本身不提供轉帳權限。要轉出資產,通常需要私鑰簽署,或滿足帳戶、支付條件及智能合約規定的其他授權要求。
校驗和有效就說明地址可以安全使用嗎?
不能。校驗和只能發現部分抄寫錯誤,無法確認預期持有人、支援的網路、必需標籤或應用相容性。
相關詞條與延伸閱讀
繼續了解公鑰、私鑰、加密錢包和Gas 費,或返回加密貨幣術語表。
如需了解實際操作,可閱讀 OKX Learn 的如何查找錢包地址和什麼是比特幣地址。如需核對協議規則,可查看下方參考來源。
參考來源
- Ethereum:帳戶——EOA 與合約地址、公鑰及帳戶類型。
- BIP-173——原生 SegWit v0 地址的 Bech32 編碼。
- BIP-350——Bech32m 與見證版本相容規則。
- EIP-55——以太坊地址混合大小寫校驗編碼。
- XRPL:地址——經典地址、校驗和、X-address 與目標標籤。
- Bitcoin Developer Guide:錢包——錢包軟體、金鑰、腳本與地址複用。



