🎯 什麼情境該想到我
當你想理解「加密資產的『所有權』是怎麼用密碼學表達、錢包到底在保管什麼」時。
⚙️ 怎麼用(理解鏈條)
- 私鑰 → 公鑰 → 地址(單向推導,不可逆):私鑰是唯一祕密,公鑰/地址可公開。
- 所有權=能用私鑰簽章:花費某 UTXO 需出示對應私鑰的簽章,證明你有權動用。
- 錢包保管的是「金鑰」,不是「幣」:幣在鏈上,錢包管私鑰。Not your keys, not your coins.
- HD 錢包 + 助記詞(種子):一組助記詞可推導出一整棵金鑰樹;備份助記詞=備份整個錢包。
- 冷/熱錢包:離線保管(冷)較安全、線上(熱)較方便,按金額分層。
★ 從私鑰到地址:每一步都是單向的
| 步驟 | 運算 | 結果 |
|---|---|---|
| 1. 私鑰 | 隨機產生的 256 位元數字 | (祕密) |
| 2. 公鑰 | 在橢圓曲線 secp256k1 上計算 (G 是曲線上的固定點) | 曲線上的一個點 |
| 3. 公鑰雜湊 | 160 位元(20 bytes) | |
| 4. 地址 | 加上版本前綴與檢查碼,用 Base58Check 編碼 | 以 1 開頭的傳統地址 |
- 第 2 步是單向的:從 K 反推 k 是橢圓曲線離散對數問題,目前沒有有效的解法。
- 第 3 步也是單向的,而且多了一層保護:在花費之前,鏈上只有公鑰的雜湊,連公鑰本身都沒有公開。
- Base58Check 的檢查碼能抓出打錯的地址;Base58 去掉了容易混淆的字元(0、O、I、l)。
- 較新的地址格式:隔離見證的
bc1q…(Bech32)、Taproot 的bc1p…(Bech32m)。
256 位元有多大:。兩個人隨機產生到同一把私鑰的機率可以忽略——前提是隨機數真的夠隨機。歷史上的私鑰被盜事件,很多是出在隨機數產生器有缺陷,而不是密碼學被破解。
★ 助記詞:12 個單字怎麼算出來的
BIP-39 把隨機的熵轉成單字,單字表有 2048 個字(,每個字代表 11 位元):
| 熵 | 檢查碼(熵 ÷ 32) | 總位元 | 單字數(÷ 11) |
|---|---|---|---|
| 128 位元 | 4 位元 | 132 | 12 個字 |
| 256 位元 | 8 位元 | 264 | 24 個字 |
然後用 PBKDF2(HMAC-SHA512,2048 輪)把助記詞加上可選的密碼短語,算出 512 位元的種子。
密碼短語(passphrase)是一個很少人用、但很重要的功能:同樣的 12 個字 + 不同的密碼短語 = 完全不同的錢包。助記詞被偷看到,沒有密碼短語仍然拿不到錢。
★ HD 錢包:一個種子推出無限把金鑰
BIP-32 從種子推導出一棵金鑰樹,路徑像 m/84'/0'/0'/0/5(BIP-84 的第一個帳戶、第 6 個收款地址):
- 每筆收款用新地址:提升隱私,別人無法輕易把你的所有交易連在一起。
- 擴充公鑰(xpub):可以只推導出公鑰與地址、推不出私鑰。適合給網店伺服器產生收款地址——伺服器被入侵也偷不到錢。
- 強化推導(路徑中的
'):一般推導有一個危險性質——xpub 加上任何一把子私鑰洩漏,就能算出父私鑰,進而算出所有子私鑰。強化推導切斷了這個關係,所以帳戶層級都用強化推導。
★ 冷熱錢包的實際配置
| 類型 | 私鑰在哪 | 用途 | 風險 |
|---|---|---|---|
| 熱錢包 | 連網的手機或電腦 | 日常小額支付 | 惡意軟體、手機遺失 |
| 硬體錢包 | 專用裝置,私鑰不離開裝置,交易在裝置上簽署 | 中大額 | 裝置遺失(有助記詞可以復原) |
| 多重簽章 | 分散在 N 個地方,需要其中 M 把簽章(例如 2-of-3) | 大額、公司資金 | 設定複雜;任何一把遺失都還能動用 |
原則:像管理現金一樣分層——皮夾裡只放當天要用的錢。
🧪 我實際套用的紀錄
- 2026-07-15:(待填)
⚠️ 注意
-
私鑰/助記詞遺失=資產永久無法動用;外洩=資產可被任何人取走。無法找回、無客服。
-
助記詞絕對不能數位化保存:拍照、存雲端、貼在密碼管理器的備註,都會讓它暴露在網路攻擊之下。寫在紙上或刻在金屬板上,放在安全的實體位置。
-
任何要求你輸入助記詞的網站或「客服」都是詐騙:正常的操作永遠不需要把助記詞交給別人。
🔗 相關工具
- 工具-UTXO交易模型 —— 下一層,私鑰簽章的用途就是解鎖 UTXO 完成一筆交易
- 工具-智能合約 —— 對照組,以太坊改用帳戶模型,同一把金鑰的角色跟比特幣不同