Verwaltung öffentlicher Schlüssel

Es gibt etwas, das ich bei privaten/öffentlichen Schlüsseln und Adressen von Bitcoin nicht verstehe.

Ein neuer Bitcoin-Benutzer „U“ generiert zunächst einen privaten Schlüssel. Aus diesem privaten Schlüssel kann er mehrere öffentliche Schlüssel berechnen.

Wenn er Bitcoins erhalten möchte, sollte der Benutzer eine Adresse generieren. Ich verstehe nicht, ob diese Adresse ein öffentlicher Schlüssel ist oder ob es sich um 2 verschiedene Dinge handelt.

Wenn mein "U"-Benutzer Bitcoin von 10 verschiedenen Personen erhalten sollte, kann er eine einzige gemeinsame Adresse für diese 10 Personen generieren, aber sie können das "U"-Guthaben sehen und sehen, dass er 10 Transaktionen erhält. Die Lösung besteht darin, 10 verschiedene Adressen zu generieren. Mit dieser Lösung sieht jeder Absender nur seine eigene Transaktion und nicht die 9 anderen. Ich habe mich geirrt ?

Können wir also kurz sagen, dass „U“ 10 „virtuelle Konten“ generiert, die mit seinem privaten Schlüssel verknüpft sind?

Wenn ja, verstehe ich nicht, wie "U" sein eigenes Gleichgewicht berechnen kann: Gibt es eine Möglichkeit für ihn, alle öffentlichen/Adressen, die er aus seinem privaten Schlüssel generiert, wiederherzustellen? Oder sollte der Benutzer alle Adressen, die er generiert, in einer Datei aufbewahren?

Danke

Antworten (2)

Ein modernes Bitcoin-Wallet-Programm kann viele Private-Keys generieren, jeder Private-Key hat einen Public-Key. Bei den gängigsten Transaktionstypen wird eine Bitcoin-Adresse aus dem Public-Key abgeleitet.

Wie Sie sagen, ist es normal, für jede Transaktion eine neue Adresse (dh einen neuen Schlüsselsatz) zu generieren. Dies liegt daran, dass alle Transaktionsdaten öffentlich bekannt sind – sie befinden sich im replizierten Transaktionsjournal, das wir Blockchain nennen. Jeder kann alle Transaktionen für eine bestimmte Adresse sehen. Wenn Ihnen also zehn Personen jeweils 1 BTC an dieselbe Adresse zahlen, können alle sehen, dass Sie an dieser Adresse insgesamt 10 BTC erhalten haben. Dies ist ein Datenschutzproblem. Wenn die Adressen alle unterschiedlich sind, können sie nicht sagen, welche zu derselben Person gehören.

Im Bitcoin-Netzwerk gibt es keine Konten, keine virtuellen Konten und keine Guthaben.

Ein Wallet kann das gesamte Transaktionsjournal lesen und alle nicht ausgegebenen Beträge in Transaktionen zusammenzählen, bei denen die Empfangsadresse eine ist, für die das Wallet weiß, dass es den entsprechenden privaten Schlüssel hat. Auf diese Weise kann es dem Benutzer einen Gesamtbetrag anzeigen. Die Leute beziehen sich auf diese Summe als Gleichgewicht, aber das ist irreführend. Das Bitcoin-Netzwerk führt keine Aufzeichnungen über die Guthaben der Personen. Das Bitcoin-Netzwerk weiß nicht, wie viel Geld jemand insgesamt hat. Die US Mint weiß nicht, wie viele US-Ein-Cent-Münzen ich in einer Plastiktüte in meinem Regal habe, sie verfolgt nicht mein Guthaben oder hat kein Konto auf meinen Namen.

Die Terminologie für Bitcoin ist etwas durcheinander. Bitcoin wurde als digitales Bargeld konzipiert. Konten und Guthaben sind mit Banken verbunden, nicht mit Stapeln von Dollarscheinen unter Ihrer Matratze oder in Ihrer Ledergeldbörse. Wenn Sie über Bargeld in Form von Papiergeld und Metallmünzen sprechen, denken Sie nicht an Konten und Guthaben. Sie möchten nur wissen, wie viel Geld Sie insgesamt in Papierbanknoten und Metallmünzen haben.

Moderne Wallets sind sogenannte Hierarchical Deterministic (HD) Wallets. Aus dem anfänglichen privaten Schlüssel (oder Startsatz) ist es möglich, alle untergeordneten Schlüssel und Adressen auf vorhersagbare und wiederholbare Weise zu generieren. Sie müssen nicht von jedem generierten Schlüssel und jeder generierten Adresse eine Sicherungskopie erstellen.

Ein neuer Bitcoin-Benutzer „U“ generiert zunächst einen privaten Schlüssel. Aus diesem privaten Schlüssel kann er mehrere öffentliche Schlüssel berechnen.

Die Art von privatem Schlüssel, auf den Sie sich beziehen, ist ein erweiterter privater Schlüssel, der im Bitcoin Improvement Proposal 0032 (BIP32) beschrieben ist oder, wie RedGrittyBrick erklärte, was HD-Geldbörsen antreibt.

Ein erweiterter privater Schlüssel enthält nur einen "regulären" privaten Schlüssel und kann direkt nur einen erweiterten öffentlichen Schlüssel erzeugen.

Diese erweiterten privaten Schlüssel enthalten jedoch auch einige andere Informationen, die es ihnen ermöglichen, andere große Mengen an untergeordneten erweiterten privaten Schlüsseln zu generieren, die auch "reguläre" private Schlüssel enthalten, und diese erweiterten privaten Schlüssel an Kindern können ihre eigene große Menge an untergeordneten Schlüsseln haben erweiterte private Schlüssel, und das kann weiter und weiter gehen.

Wenn er Bitcoins erhalten möchte, sollte der Benutzer eine Adresse generieren. Ich verstehe nicht, ob diese Adresse ein öffentlicher Schlüssel ist oder ob es sich um 2 verschiedene Dinge handelt.

Das sind 2 verschiedene Dinge. Es gibt auch verschiedene Arten von Adressen, aber mit Ausnahme der Adressen mit mehreren Signaturen werden sie alle durch Codieren des Hashs des öffentlichen Schlüssels berechnet. Eine Adresse ist also kein öffentlicher Schlüssel, sondern wird davon abgeleitet (P2PKH, P2WPKH). Die Art der Adresse lässt Sie wissen, welche Art von Bitcoin-Technologie Sie verwenden, um die BTCs zu sperren.

Wenn mein "U"-Benutzer Bitcoin von 10 verschiedenen Personen erhalten sollte, kann er eine einzige gemeinsame Adresse für diese 10 Personen generieren, aber sie können das "U"-Guthaben sehen und sehen, dass er 10 Transaktionen erhält. Die Lösung besteht darin, 10 verschiedene Adressen zu generieren. Mit dieser Lösung sieht jeder Absender nur seine eigene Transaktion und nicht die 9 anderen. Ich habe mich geirrt ?

Genau aus diesem Grund wurde BIP32 vorgeschlagen. Ein erweiterter privater Schlüssel wird auch als privater Hauptschlüssel bezeichnet, der alle untergeordneten Schlüssel generieren kann, die zur Gewährleistung der Privatsphäre erforderlich sind. Da Sie mit dem Hauptschlüssel unendlich viele private Schlüssel und damit öffentliche Schlüssel generieren können, können Sie unendlich viele Adressen generieren.

Können wir also kurz sagen, dass „U“ 10 „virtuelle Konten“ generiert, die mit seinem privaten Schlüssel verknüpft sind?

Ja, aber denken Sie daran, dass sie mit dem Master / Extended Private Key verknüpft sind . Jede Adresse hat ihren eigenen privaten Schlüssel, und der private Schlüssel wird vom Hauptschlüssel generiert.

Wenn ja, verstehe ich nicht, wie "U" sein eigenes Gleichgewicht berechnen kann: Gibt es eine Möglichkeit für ihn, alle öffentlichen/Adressen, die er aus seinem privaten Schlüssel generiert, wiederherzustellen? Oder sollte der Benutzer alle Adressen, die er generiert, in einer Datei aufbewahren?

Ich denke, RedGrittyBrick leistet hervorragende Arbeit bei der Erklärung, warum wir den Begriff „Guthaben“ oder „virtuelles Konto“ usw. nicht verwenden sollten. Aber ich denke, Ihre Frage ist, wie Sie wissen können, auf wie viele BTCs Sie mit Ihrem Master Private zugreifen können Schlüssel, oder? Nun, das ist die Aufgabe der Brieftasche. Eine Brieftasche muss in der Lage sein, die von Ihnen verwendeten Adressen zu speichern oder zu generieren und dann die Blockchain nach nicht ausgegebenen Transaktionsausgaben (UTXOs) oder mit anderen Worten nicht ausgegebenen Bitcoins zu scannen, die sich auf diese Adressen beziehen. Dann addiert The Wallet all diese BTCs, um Ihnen diesen einzigen Endbetrag zu präsentieren, den manche Leute fälschlicherweise als „Guthaben“ bezeichnen.

Vielen Dank für Ihre Antwort. Etwas verstehe ich nicht: Stellen Sie sich vor, ich verliere meine Brieftasche. Ich habe gelesen, dass ich meine Bitcoins wiederherstellen kann, wenn ich meinen privaten Schlüssel behalte. Wie funktioniert es also? Soll ich meine UTXOs auch irgendwo baclupen?
Versuchen Sie, BIP32, BIP44 und BIP39 nachzuschlagen. Im Grunde genommen versuchen Wallets also, Standards für die Adresserstellung zu verwenden, was bedeutet, dass es ziemlich einfach ist, anhand des Hierarchiebaums (BIP32), der vom privaten Master-Schlüssel abgeleitet wird, zu wissen, welche Adressen das Wallet zuerst zu verwenden versucht. Wenn Sie also Ihren Master Private Key oder Ihre mnemonische Phrase haben, kann jede Brieftasche die nach dem BIP44-Muster abgeleiteten Adressen scannen, um Ihre UTXOs zu entdecken. Nicht alle Geldbörsen sind gleich. Versuchen Sie, sich an eines zu halten, das BIPs folgt oder Sie zumindest darüber informiert, welches Protokoll für die Adresserstellung verwendet wird.