簽署金鑰與安全金鑰
一個 Vela 錢包就是一個 Safe,而 Safe 有擁有者。你的可以有最多七位,門檻是 一:任何一把簽署金鑰都能單獨授權一筆交易。寫作 1-of-n。
什麼可以當簽署金鑰
三類,而且可以自由混搭:
| 方式 | 它是什麼 | 典型例子 |
|---|---|---|
| 本機 | 你正在用的這台裝置內建的驗證器 | 這支手機或這台筆電上的 Face ID / Touch ID,由 iCloud 鑰匙圈或 Google 密碼管理工具同步 |
| 身邊的裝置 | 另一台你掃碼連上的裝置 | 用手機替桌面簽署,走 WebAuthn 的 hybrid 通道 |
| 安全金鑰 | 一個可插拔的 USB 或 NFC 驗證器 | YubiKey 以及其他 FIDO2 金鑰 |
三者都是 P-256 曲線上的 WebAuthn 憑證。在 Safe 眼裡它們沒有差別:每一個都是 一位擁有者,鏈上的 WebAuthn 驗證器用同樣的方式檢查它們的簽章。
安全金鑰可以是你的第一把金鑰,而不只是備援。如果你根本不想讓錢包依賴 Apple 或 Google 帳號,那就是做到這件事的那個選項——在建立時註冊一把 YubiKey,然後用它 簽署。
為什麼要在建立時就選定
這一點常常讓人意外,所以這裡講機制,而不是道歉。
你的錢包位址是由它的擁有者集合推導出來的。Vela 用 CREATE2 從 Safe 的初始化
資料算出它——那份資料裡包含每一把簽署金鑰的公鑰——而且是在鏈上部署任何東西之前
就算好的。正因如此,你才可以往一個還不存在的位址收款。
結果是算術,不是政策:不同的金鑰集合就是不同的位址。事後再加第八把金鑰,不會 擴充你現有的錢包;它會算出一個新的錢包,在一個新的位址上,而你的錢一分都不在那裡。
所以「我以後能加金鑰嗎?」這個問題有兩個誠實的答案:
- 在你放錢進去之前:可以——那個位址還沒有跟任何東西綁定,用你想要的金鑰重新 建立一次錢包就好。
- 在你放錢進去之後:那個位址就是你的錢所在的地方。在一個已部署的 Safe 上更換 擁有者是 Safe 的一項操作,Vela 目前沒有把它開放出來。請在建立時就把金鑰規劃好。
它究竟保護了你什麼
裝置遺失。 有不只一把簽署金鑰時,掉一支手機只是麻煩:另一把金鑰照樣能簽。 只有一把金鑰、而且系統同步還關著的話,掉手機就等於掉錢包——這也是為什麼 「你的密碼金鑰會自動同步」描述的是一個由你控制的設定,而不是我們能替你做出的保證。
一個你不再信任的平台帳號。 如果你的密碼金鑰住在 iCloud 鑰匙圈或 Google 密碼 管理工具裡,控制那個帳號的人就有可能用到它。而安全金鑰握在你自己手上,不往任何 地方同步。
以及它沒有保護你的部分,因為 1-of-n 是雙面的:多加一把金鑰,加的是多一條 進來的路,而不是第二道鎖。任何拿到你其中任一把金鑰的人,都能單獨簽署。金鑰越多,
抗遺失越強,被偷的面也越大;這就是那個取捨,而做決定的人是你。
復原,和新增
這是兩件不同的事,文件裡也把它們分開:
- 復原與登入 —— 用你已經有的金鑰,在新裝置上回到一個 已存在的錢包。
- 本頁 —— 事先決定,究竟有哪些金鑰存在。