Erstellen Sie einen einzigen Fehlerpunkt für Multisig

Ich implementiere Multisig-Adressen, was eine großartige Lösung für ein Problem ist, aber soweit ich sehen kann, gibt es keine Möglichkeit, die Multisig-Adresse zu erstellen, ohne zu Beginn alle privaten Schlüssel zu kennen. Ist das nicht ein Single Point of Failure? Welches System auch immer die Multisig-Adresse erstellt, kennt alle privaten Schlüssel.

Ich hatte erwartet, in der Lage zu sein, eine partielle Multisig-Adresse (ich) zu erstellen, das Hex-Ergebnis an jemand anderen weiterzugeben, um seinen privaten Schlüssel hinzuzufügen, und dann zum Treuhandkonto, um seinen privaten Schlüssel hinzuzufügen ... ähnlich wie das Signieren von Multisig-Transaktionen.

Sie können in Gavins Beispiel sehen, dass er alle 3 Schlüssel am Anfang hat: https://gist.github.com/gavinandresen/3966071

Danke.

Antworten (1)

Sie haben Recht, dass Gavin zu Beginn alle drei privaten Schlüssel zur Verfügung hat, aber Sie übersehen, dass er nur die öffentlichen Schlüssel verwendet, um die P2SH-Multisig-Adresse zu erstellen. Insbesondere listet diese Zeile aus dem Beispiel nur öffentliche Schlüssel auf,

./bitcoind createmultisig 2 '["0491bba2510912a5bd37da1fb5b1673010e43d2c6d812c514e91bfa9f2eb129e1c183329db55bd868e209aac2fbc02cb33d98fe74bf23f0c235d6126b1d8334f86","04865c40293a680cb9c020e7b1e106d8c1916d3cef99aa431a56d253e69256dac09ef122b1a986818a7cb624532f062c1d1f8722084861c5c3291ccffef4ec6874","048d2455d2403e08708fc1f556002f1b6cd83f992d085097f9974ab08a28838f07896fbab08f39495e15fa6fad6edbfb1e754e35fa1c7844c41f322a1863d46213"]'

Mit dem createmultisigRPC können Sie Adressen (entsprechend den privaten Schlüsseln, die Sie im lokalen Speicher haben) und öffentliche Schlüssel (für Fälle, in denen Sie die privaten Schlüssel nicht haben – wie beim Erstellen einer Multisig-Adresse mit Ihren Freunden) mischen.

Auf der Entwicklerbeispielseite von Bitcoin.org finden Sie ein Schritt-für-Schritt-Beispiel zum Erstellen und Ausgeben von Multisig (Sie möchten wahrscheinlich damit beginnen, die unmittelbar vorherigen Beispiele zu lesen, da sie sich zu P2SH-Multisig entwickeln).

Zusatzfrage. Ja, das Beispiel hat die Hex-Darstellung des Legacy-Bitcoin-Adressformats, aber wenn ich das richtig verstehe, können wir die Hex-Darstellung der Legacy-Adresse extrahieren, wenn und nur wenn wir die Brieftasche direkt nach diesen Informationen abfragen können. Ein Dritter wird wahrscheinlich nicht wissen, wie das geht, und das Legacy-Format (oder das, was wir die „öffentliche BTC-Adresse“ nennen) ist nur eine gehashte Version des öffentlichen Schlüssels, daher können wir öffentliche Legacy-Adressen nicht direkt in Multisig verwenden . Jetzt, da wir bech32Adressen haben, können wir sie verwenden, ohne Zugriff auf die Brieftasche zu benötigen? Danke!