Ich habe BIP32 gelesen und verstehe es mehr oder weniger.
Könnte mir bitte jemand erklären, wie ich 5 Jahre alt bin, was der Unterschied zwischen einem untergeordneten Schlüssel und einem gehärteten untergeordneten Schlüssel ist?
Ich versuche, HD-Wallet-Generierung zu einem Dienst hinzuzufügen, den ich baue. Ich muss darüber vollständig informiert sein, bevor ich mich damit versuche. Ärgern Sie sich nicht, ich werde Bitcore verwenden , also werde ich nicht direkt mit dem Krypto experimentieren.
Im Wesentlichen wird ein gehärteter untergeordneter Schlüssel mit berechnet hash(parent private key + index)
, während ein nicht gehärteter untergeordneter Schlüssel mit berechnet wird hash(parent public key + index)
.
Welche praktischen Konsequenzen hat das also?
Mit einem erweiterten öffentlichen Schlüssel können Sie nicht gehärtete öffentliche untergeordnete Schlüssel ableiten. Dies ist in Situationen nützlich, in denen Sie Zahlungen annehmen möchten, ohne sie sofort ausgeben zu können. Wenn Sie beispielsweise eine Website haben, auf der Alpakasocken verkauft werden, könnte Ihr Server einen erweiterten öffentlichen Schlüssel verwenden, um Zahlungen zu akzeptieren, ohne Ihr gesamtes Geld zu verlieren, wenn er gehackt wird. Das ist also ein Grund, warum Sie möglicherweise eine nicht gehärtete Ableitung verwenden.
Mit einem erweiterten privaten Schlüssel können Sie auch gehärtete Schlüssel ableiten.
Nicht gehärtete öffentliche Schlüssel sind jedoch schwächer, wenn ein Angreifer 1) den erweiterten öffentlichen Schlüssel und 2) einen der nicht gehärteten privaten Schlüssel hat, der davon abgeleitet wurde. Unter diesen Umständen kann der Angreifer den privaten Schlüssel des erweiterten öffentlichen Schlüssels erarbeiten und erhält daher jeden Schlüssel, der davon abgeleitet werden kann, gehärtet und nicht gehärtet.
Was sollte Ihre App also standardmäßig verwenden?
Sie sollten nicht gehärtete Schlüssel verwenden und die Möglichkeit deaktivieren, private Schlüssel zu exportieren, wenn dies einem Angreifer ermöglichen würde, andere Schlüssel in der Brieftasche zu kompromittieren. Selbst wenn ein Angreifer an einen der privaten Schlüssel gelangt, ist in Situationen, in denen der Angreifer keinen Zugriff auf den erweiterten öffentlichen Schlüssel hat, die nicht gehärtete Sicherheit gleichbedeutend mit der gehärteten Sicherheit. Meiner Meinung nach überwiegen die Eigenschaften von nicht gehärteten Schlüsseln die zusätzliche Sicherheit von gehärteten Schlüsseln.
Wenn Sie die Funktionen von nicht gehärteten Schlüsseln jedoch nicht benötigen, sollten Sie gehärtete Schlüssel verwenden, da diese sicherer sind.
Baz
Pieter Wuille
MaiaVictor
Pieter Wuille
Jeiwan