技術標準
助記詞標準
- 助記詞符合BIP39標準,默認生成12個單詞的助記詞;
助記詞生成seed
- 採用BIP39標準流程生成seed;
- 在PBKDF2算法中,助記詞句子作為密碼,"mnemonic"作為鹽(passphrase為空);
助記詞句子的處理
- 英文助記詞頭尾去空格,每個單詞中間加一個空格;
- 中文助記詞頭尾去空格,每個字中間加一個空格;
比特幣多簽地址生成
多簽通過P2SH實現,通過調用 bitcoind(其他幣種類似,如 LTC 的litecoind) createmultisig 接口創建地址,或者和以下邏輯等同(以 2-3 多簽為例):
1. redeemScript = <OP_2> <A pubkey> <B pubkey> <C pubkey> <OP_3> <OP_CHECKMULTISIG>
2. redeemScriptHash = RIPEMD160(SHA256(redeemScript))
3. P2SHAddress = base58check.Encode("05", redeemScriptHash)
多簽公鑰排列順序
- 公鑰排列順序按照公鑰本身(十六進製字符串作為ASCII字符串)字典順序排序;
- 例如:A的pubkey: c0f832..., B的pubkey: aaff01...,C的pubkey: b8facc...,則:redeemScript = <OP_2> <B pubkey> ; <C pubkey> <A pubkey> <OP_3> <OP_CHECKMULTISIG>
以太坊 / Solana 多簽源碼
Github: https://github.com/bitbill/ownbit-multisig-contracts
離線簽名二維碼格式
bb_watch: 創建觀察錢包
bb_addcoin: 觀察錢包添加幣種
bb_sign: 簽名一個交易
bb_tx: 將交易廣播至網絡
編碼格式參考:zlibCompress + Base64