參考資料
離線簽名的 QR code 格式
Ownbit 冷錢包以內容完全解碼為明文的 QR code 跨越空氣隙。沒有隱藏的專有協定——每個 QR 攜帶一個定義好的前綴,而且你可以自行解碼其中任何一個。
觀察錢包設定
| 前綴 | 用途 |
|---|---|
bb_watch: | 建立一個新的觀察錢包 |
bb_addcoin: | 為觀察錢包新增一個幣種 |
bb_mswatch: | 建立一個 MultiSig 觀察錢包 |
單一錢包簽名
| 前綴 | 用途 |
|---|---|
bb_sign: | 為交易簽名(在冷錢包上離線進行) |
bb_signresult: | 純訊息簽名請求的已簽名結果 |
bb_tx: | 把已簽名交易廣播到網路 |
MultiSig 簽名
MultiSig 簽名把一個請求 QR(由發起錢包顯示)與每位共同簽名者回傳的簽名/交易 QR 配對。四個階段為 initiate → confirm → deploy → execute。
| 階段 | 請求 | 回傳的簽名/交易 |
|---|---|---|
| Initiate | bb_msinitiate: | bb_txmsinitiate: |
| Confirm | bb_msconfirm: | bb_txmsconfirm: |
| Deploy | bb_msdeploy: | bb_txmsdeploy: |
| Execute | bb_msexecute: | bb_txmsexecute: |
編碼與解碼
酬載經過 zlib 壓縮後再以 Base64 編碼。把 Base64 解碼並將 zlib 串流解壓縮,即可還原明文——一把公鑰/位址(對 bb_watch / bb_addcoin 而言)或一筆交易及其簽名(對 bb_sign / bb_tx 而言)。完整的解碼參考發佈於 bb_sign_encoding.txt。
因為每個 QR 都解碼為你能檢視的明文,在明文層級沒有私密資料透過該通道被夾帶。動手查核請看自行驗證。