Gibt es eine Open-Source-Implementierung der Bitcoin-Wallet-Verschlüsselung in Java?

Ich beabsichtige, ein effizientes und sicheres System zum Schutz von Brieftaschen einzurichten. Dafür benötige ich Quellcode, der die Wallet-Verschlüsselung implementiert, wie in https://en.bitcoin.it/wiki/Wallet_encryption erwähnt

Antworten (1)

BitcoinJ ist die Java-Open-Source-Bibliothek, die von vielen beliebten Wallets verwendet wird, darunter Bitcoin Wallet für Android , MultiBit , GreenAddress GreenBits und viele mehr.

Es unterstützt eine Art Verschlüsselung privater Schlüssel, obwohl es möglicherweise nicht AES-256-CBC ist (aber es wahrscheinlich ist).

HD-Geldbörsen

Es ist erwähnenswert, dass BitcoinJ kürzlich aktualisiert wurde, um die Erstellung und Verwendung von hierarchisch deterministischen (HD) BIP32 -Brieftaschen zu unterstützen . Dies ist eine Option, und die alte Methode zum Generieren separater Zufallsschlüssel ist weiterhin verfügbar.

Wenn es im HD-Modus verwendet wird, wie es die oben aufgeführten Wallets[1] tun, speichert es die privaten Schlüssel nicht direkt, sondern generiert sie einfach bei Bedarf aus dem HD-Root-Seed, sodass nur das HD-Root-Seed aufbewahrt werden muss verschlüsselt. Außerdem wird den Benutzern dringend empfohlen, eine Papiersicherung des Root-Seeds aufzubewahren, was bedeutet, dass digitale Sicherungen des verschlüsselten Schlüssels normalerweise nicht erforderlich sind.

[1] MultiBit tut es derzeit nicht, aber der In-Beta-Test MultiBit HD tut es.

Bitcoin-Core-Wallet

Darüber hinaus arbeitet der Bitcoin Core-Entwickler Jonas Schnelli daran , den Backend-Wallet-Code von Bitcoin Core abzuspalten und zu ersetzen , sodass Sie möglicherweise keine größeren Projekte starten möchten, ohne sich mit ihm abzustimmen.

Eines der vorgeschlagenen Ziele für sein Projekt – obwohl ich seine Meinung dazu nicht gehört habe – ist das Hinzufügen von HD-Unterstützung zum Wallet-Code. (In jedem Fall wird die HD-Unterstützung wahrscheinlich als Option hinzugefügt; mindestens ein Kernentwickler möchte zufällig abgeleitete private Schlüssel für einige Anwendungen behalten, da sie viel besser untersucht wurden als die HD-Ableitung.)