Unten ist das Snippet von bip-32. Ich verstehe nicht, unter welchen Umständen würde der „erweiterte öffentliche Schlüssel des Elternteils“ offengelegt werden? Im Fall von E-Commerce wird ein „untergeordneter erweiterter öffentlicher Schlüssel“ von einem „übergeordneten erweiterten öffentlichen Schlüssel“ abgeleitet. Die E-Commerce-Website muss nur den „untergeordneten erweiterten öffentlichen Schlüssel“ kennen, um öffentliche Schlüssel/Adressen abzuleiten. Wird in einem solchen Fall das Wissen um den „erweiterten öffentlichen Schlüssel des Kindes“ den „erweiterten privaten Schlüssel des Elternteils“ offenlegen?
„Eine Schwäche, die vielleicht nicht sofort offensichtlich ist, ist, dass die Kenntnis eines erweiterten öffentlichen Elternschlüssels plus aller nicht gehärteten privaten Schlüssel, die davon abstammen, gleichbedeutend ist mit der Kenntnis des erweiterten privaten Elternschlüssels (und somit aller davon abstammenden privaten und öffentlichen Schlüssel). ."
Beispiel für ein Code-Snippet in Javascript
function testXPub() {
const mnemonic = 'ddddddddddddddddddddddddddddddddddddddddddddddd'
const seed = bip39.mnemonicToSeed(mnemonic)
const node = bip32.fromSeed(seed)
const xpubNode = node.neutered()
console.log("xpubNode :%o", xpubNode)
console.log("xpubNode (string): %o", xpubNode.toBase58())
const xpub_m_0_node = xpubNode.derive(0)
console.log("xpub_m_0_node :%o", xpub_m_0_node)
console.log("xpubNode (string): %o", xpub_m_0_node.toBase58())
const xpub_m_0_0_node = xpubNode.derive(0).derive(0)
console.log("xpub_m_0_0_node :%o", xpub_m_0_0_node)
console.log("xpubNode (string): %o", xpub_m_0_0_node.toBase58())
}
Anstatt also xpubNode zu teilen, würde ich xpub_m_0_0_node teilen.
Ich bin daran interessiert, gemäß bip32 zu verstehen, warum jemand den „erweiterten öffentlichen Schlüssel der Eltern“ teilen sollte.
Der Zweck der gemeinsamen Nutzung des übergeordneten erweiterten öffentlichen Schlüssels besteht darin, dass öffentliche untergeordnete Schlüssel (und damit Adressen) daraus abgeleitet werden können, ohne eine Reihe von Adressen einzeln kennen zu müssen. Dies ist einfacher für getrennte Setups, bei denen ein Online-Computer nur über die öffentlichen Schlüssel verfügt, da der Online-Computer nicht ständig mit weiteren Adressen aktualisiert werden muss, auf die er achten muss. Es kann die Adressen selbst generieren.
Wird in einem solchen Fall das Wissen um den „erweiterten öffentlichen Schlüssel des Kindes“ den „erweiterten privaten Schlüssel des Elternteils“ offenlegen?
Nein. Nur die Kenntnis sowohl des übergeordneten erweiterten öffentlichen Schlüssels als auch eines untergeordneten privaten Schlüssels, der mit ungehärteter Ableitung abgeleitet wurde, legt den übergeordneten privaten Schlüssel offen.
Raghav Sood
Brianinhk