Adressen ohne privaten Schlüssel generieren: Stealth-Adressen vs. Master Public Key

In meinem Fall hat ein Ladenbesitzer verschiedene POS-Terminals. Auf keinem der Endgeräte sollte ein privater Schlüssel gespeichert sein! Der Besitzer hat eine Brieftasche, in der er alle Transaktionen aggregiert auf den POS-Terminals erledigen möchte.

Nach meiner Recherche sind mir 2 Möglichkeiten eingefallen:

  • Stealth-Adressen (BIP 63), die meines Wissens nirgendwo in einer Bibliothek implementiert sind, sodass ich sie problemlos verwenden könnte.
  • Master Public Key: ZB gibt Ihnen das Electrum Wallet einen MPK, von dem man Adressen ableiten könnte (durch HD Derivation).

Nun zu meinen Fragen:

  • Gibt es einen anderen Ansatz, mit dem man Adressen generieren könnte, ohne dass ein privater Schlüssel verfügbar ist?
  • Gibt es irgendwelche Probleme, denen man mit dem MPK-Ableitungsansatz begegnen könnte?
  • Welche Wallets legen das MPK offen und welche Wallets erhalten außerdem eine Benachrichtigung über Transaktionen, die an Adressen durchgeführt wurden, die außerhalb ihres Wissens (jedoch aus dem Seed, den sie kennen) stammen?
Natürlich gibt es immer den naiven Ansatz, bei dem Sie eine einzige Adresse (oder eine pro Terminal) generieren und diese Adresse für alle eingehenden Transaktionen verwenden. Ich nehme an, dass Sie dies zur Verbesserung der Anonymität (sowohl für Ihren Ladenbesitzer als auch für die Kunden) vermeiden möchten?
@NateEldredge Oder verbesserte Überprüfbarkeit.
@NateEldredge unbedingt, die Wiederverwendung derselben Adresse sollte vermieden werden!
@NickODell Auditing ist in meinem Fall kein Thema, da die Bestellungen in einem POS-System gespeichert werden, nur die Zahlungen sollten über Bitcoin gehen.
Ich schaue nur, wenn Sie immer noch suchen, können Sie es mit medium.com/@blockonomics_co/… versuchen . Kann Adresse/Rechnung mit Ihrem MPK generieren

Antworten (1)

Was Electrum als „Master Public Keys“ bezeichnet, ist allgemein als „erweiterte öffentliche Schlüssel“ bekannt und eine hervorragende Möglichkeit für ein Point-of-Sale-Terminal, Zahlungen zu akzeptieren, ohne diese Zahlung ausgeben zu können.

Gibt es einen anderen Ansatz, mit dem man Adressen generieren könnte, ohne dass ein privater Schlüssel verfügbar ist?

Nun, es gibt immer den Ansatz, alle Ihre Adressen im Voraus zu generieren. Das hat den Vorteil der Einfachheit. Abgesehen davon glaube ich nicht, dass es andere Ansätze gibt, die so gut funktionieren wie BIP32.

Gibt es irgendwelche Probleme, denen man mit dem MPK-Ableitungsansatz begegnen könnte?

Sie haben erwähnt, dass Sie mehrere Terminals haben, was bedeutet, dass Sie vermeiden müssen, denselben Index mit demselben MPK zu verwenden, da Sie sonst dieselbe Adresse generieren. Sie können dies vermeiden, indem Sie entweder unterschiedliche Indizes oder unterschiedliche MPKs verwenden.

Welche Wallets legen das MPK offen und welche Wallets erhalten außerdem eine Benachrichtigung über Transaktionen, die an Adressen durchgeführt wurden, die außerhalb ihres Wissens (jedoch aus dem Seed, den sie kennen) stammen?

Elektrum tut dies. Es wird als "Gap-Limit" bezeichnet. Es wird nach Transaktionen nach der letzten Adresse mit einem ihm bekannten Saldo suchen. Standardmäßig werden nur 5 zusätzliche Adressen überprüft, aber Sie können die Anzahl erhöhen. Ein einstellbares Lückenlimit zu haben ist ziemlich üblich.