僅供教育參考,不構成安全或投資建議。區塊鏈交易可能無法撤銷。絕不要洩露私鑰或復原短語,並在簽署前核對每筆交易。
直接答案
公鑰與私鑰構成一種非對稱密碼學關係,用於授權和驗證區塊鏈操作。私鑰是建立數位簽章的秘密資料。對應的公鑰可以公開,使他人能在不知道私鑰的情況下驗證簽章。
區塊鏈地址通常由公鑰、指令碼或帳戶規則衍生,並非在所有網路上都等同於公鑰。衍生方式和地址格式取決於特定網路。地址標識目的地或帳戶,而控制權通常取決於能否滿足該網路的支出或授權規則。
持有私鑰不代表代幣存放在錢包裡。資產或可支出輸出記錄在帳本上,金鑰讓持有人能夠授權有效的狀態變更。取得金鑰的人可能以持有人身分簽署,而唯一可用金鑰一旦遺失,自託管資產可能永久無法存取。
運作原理
基本簽章流程如下:
- 錢包軟體用密碼學安全的隨機數產生私鑰,或依照規定方案從錢包種子衍生私鑰。
- 單向數學運算衍生對應的公鑰。在演算法和實作安全時,從公鑰反推出私鑰在計算上應不可行。
- 網路規則從公鑰衍生地址、指令碼或帳戶,或將其與公鑰關聯。不同網路可能使用不同的曲線、雜湊函數、編碼和帳戶模型。
- 錢包用私鑰對特定交易或訊息簽章。簽章只對應精確編碼的資料;資料一經改變,簽章即失效。
- 網路參與者在接受獲授權操作前,依據公鑰和協議規則驗證簽章。驗證過程不會洩露私鑰。
復原短語與私鑰不是同一個物件。在許多階層式確定性錢包中,復原短語表示用於重建種子的熵,再由種子衍生多個金鑰和地址。因此,知道該短語的人可能控制所有衍生帳戶。錢包密碼通常只用於加密或解鎖本機錢包檔案;它不能取代底層金鑰,也不能單獨復原金鑰。
公私鑰控制也不能描述所有區塊鏈帳戶。例如,以太坊外部帳戶由金鑰對控制,合約帳戶則由已部署程式碼控制,並可能實施多重簽章、時間延遲或復原規則。
範例
Alice 把收款地址交給 Bob。Bob 的錢包檢查網路和地址格式,建立付款,並要求 Bob 確認收款人、金額和手續費。錢包在本機用 Bob 的私鑰為這筆確切交易簽章,再廣播已簽署交易;私鑰本身從不傳送給 Alice 或網路。
節點驗證簽章和相關支出規則。有效簽章表明所需金鑰授權了該交易,但不能證明 Bob 的法律身分、Alice 值得信任,或交易在經濟上合理。如果 Bob 為錯誤網路、收款人或合約操作的資料簽署,正確的密碼學仍可能授權錯誤結果。
風險
- 洩露: 網路釣魚、惡意軟體、雲端備份、截圖、瀏覽器擴充功能或假冒客服都可能暴露私鑰或復原短語。應將二者都視為具有完整控制權的資料。
- 遺失: 裝置損毀、遺忘附加密碼、備份不完整或衍生設定不相容都可能阻止復原。應在不暴露秘密的前提下測試有文件說明的復原流程。
- 不良隨機數或軟體: 可預測的金鑰產生、有缺陷的簽章程式碼、供應鏈入侵或惡意錢包會破壞原本可靠的密碼學。使用持續維護的軟體和信譽良好的簽章裝置。
- 簽章含義不清: 簽章可能授權轉帳、代幣核准、訂單、登入或其他訊息。閱讀人類可理解的意圖,並獨立核對編碼詳情、網路、地址和金額。
- 操作集中: 一把金鑰控制全部資產會形成單點故障。適當分離餘額和職責,盡量減少連網暴露,並為高價值用途考慮硬體簽章、多重簽章或受政策控制的帳戶。
如果私鑰或復原短語可能已經暴露,應假定其已遭入侵。在乾淨裝置上建立獨立產生的新錢包,核驗其備份,並在安全時轉移剩餘資產和必要權限。不要把舊秘密輸入聲稱可以檢查或修復錢包的網站。
常見誤解
誤解 1:私鑰只是錢包密碼
密碼可以保護本機應用程式或加密金鑰庫。私鑰用於授權簽章,重設應用程式密碼不能重建遺失的私鑰或復原短語。
誤解 2:地址和公鑰始終相同
地址建構取決於協議。許多地址編碼的是雜湊、指令碼或帳戶規則,而不是原始公鑰;某些合約地址根本沒有私鑰。
誤解 3:公開公鑰會讓別人算出私鑰
安全的公鑰系統本來就允許公開公鑰和簽章。實際威脅是薄弱隨機數、有缺陷的實作、秘密洩露以及密碼學未來可能被破解,而不是正常的驗證過程。
誤解 4:有效簽章能證明簽署者是誰
它只能證明所需金鑰按照協議規則授權了已簽署資料。要把該金鑰與真人或組織關聯,還需要獨立的身分證據。