Technische Normen
Mnemotechnische Standards
- Die Mnemonik entspricht dem BIP39-Standard und standardmäßig wird eine 12-Wort-Mnemonik generiert.
Seed aus Mnemonik generieren
- Generieren Sie Seeds mit dem BIP39-Standardprozess;
- Im PBKDF2-Algorithmus wird der mnemonische Satz als Passwort und „mnemonic“ als Salt verwendet (Passphrase ist leer).
Verarbeitung von Merksätzen
- Entfernen Sie Leerzeichen am Anfang und Ende englischer Eselsbrücken und fügen Sie in der Mitte jedes Wortes ein Leerzeichen hinzu.
- Entfernen Sie Leerzeichen am Anfang und Ende chinesischer Eselsbrücken und fügen Sie in der Mitte jedes Wortes ein Leerzeichen ein.
Generierung von Bitcoin-Mehrfachsignaturadressen
Die Mehrfachsignatur wird über P2SH implementiert, indem die Schnittstelle createmultisig von bitcoind (bei anderen Währungen ist es ähnlich, wie etwa Litecoind von LTC) aufgerufen wird, um eine Adresse zu erstellen. Alternativ entspricht dies der folgenden Logik (am Beispiel von 2–3 Mehrfachsignaturen):
1. redeemScript = <OP_2> <A öffentlicher Schlüssel> <B öffentlicher Schlüssel> <C öffentlicher Schlüssel> <OP_3> <OP_CHECKMULTISIG>
2. redeemScriptHash = RIPEMD160(SHA256(redeemScript))
3. P2SHAddress = base58check.Encode("05", redeemScriptHash)
Anordnung der Anordnung öffentlicher Schlüssel mit mehreren Signaturen
- Die Reihenfolge der öffentlichen Schlüssel wird in der lexikografischen Reihenfolge der öffentlichen Schlüssel selbst sortiert (Hexadezimalzeichenfolgen als ASCII-Zeichenfolgen);
- Zum Beispiel: A's öffentlicher Schlüssel: c0f832..., B's öffentlicher Schlüssel: aaff01..., C's öffentlicher Schlüssel: b8facc..., dann: redeemScript = <OP_2> <B öffentlicher Schlüssel> ; <C öffentlicher Schlüssel> <A öffentlicher Schlüssel> <OP_3> <OP_CHECKMULTISIG>
Ethereum/Solana-Multisignatur-Quellcode
Github: https://github.com/bitbill/ownbit-multisig-contracts
QR-Code-Format für Offline-Signaturen
bb_watch: Erstellen Sie eine Uhren-Wallet
bb_addcoin: Beobachten Sie, wie die Brieftasche Währung hinzufügt
bb_sign: Eine Transaktion signieren
bb_tx: Transaktionen an das Netzwerk senden
Referenz zum Kodierungsformat: zlibCompress + Base64