技術標準

  • 助記詞標準

    - 助記詞符合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