Kann man sagen, ob eine Adresse Mist, Mew oder Parity ist?

Wie kann ich feststellen, ob eine Adresse von Mist, MyEthereumWallet oder Parity stammt? Gibt es trotzdem zu wissen? Sind sie unterschiedlich kodiert?

Nein, es gibt keine Möglichkeit zu differenzieren. Alle Adressen werden auf die gleiche Weise aus einem privaten Schlüssel generiert. Private Schlüssel sind 256 zufällige Bits. Ein privater Schlüssel kann aus Seed-Wörtern generiert werden, was ungefähr 256 zufällige Bits sind.
Nicht wirklich wahr. Siehe meine Antwort unten :)

Antworten (1)

TL;DR: Irgendwie.

Wie Ismael oben anmerkt, sind Schlüssel zufällig und alle Clients folgen den gleichen grundlegenden Standards, was bedeutet, dass es kein beabsichtigtes Merkmal von Adressen ist, feststellen zu können, von welchem ​​Client eine Adresse generiert wurde. Aus Sicht des Netzwerks werden alle Adressen gleich erstellt und enthalten keine Metadaten darüber, woher sie stammen.

Dies ist jedoch nicht die ganze Geschichte. Wenn Sie im Netzwerk herumstöbern, werden Sie eine beträchtliche Anzahl von Konten bemerken, die mit „0x00“ beginnen, wie zum Beispiel:

"0x00A85d2d62E1851ad5702e31619B10c7E4308522"

Dies kann zufällig geschehen, mit einer Wahrscheinlichkeit von etwa 1 zu 256, dass beim Generieren zufällig zwei hexadezimale Nullen am Anfang Ihrer Kontoadresse stehen. Aber die Parity- und CPP-Ethereum-Kunden erstellen alle Konten absichtlich so, damit sie kurz genug sind, um sie mit dem International Bank Account Number- oder IBAN-System zu verwenden. Bestimmte andere Bibliotheken sind auch "IBAN-kompatibel". Nicht alle Adressen, die mit zwei Nullen beginnen, wurden von Parity oder diesen anderen Bibliotheken erstellt, aber wenn dies nicht absichtlich geschieht, wird nur 1 von 256 Konten auf diese Weise beginnen. Die meisten Adressen, die mit zwei Nullen beginnen, wurden also entweder von Parity, von CPP-Ethereum oder von einer der IBAN-kompatiblen Bibliotheken erstellt.

Und das ist erst der Anfang! Standardmäßig setzt Mist einen bestimmten „Wallet-Vertrag“ ein, in dem Benutzer ihre Gelder und Token speichern, anstatt sie direkt in einem Konto zu speichern, das von ihrem privaten Schlüssel kontrolliert wird. Die Bereitstellung und der Code dieses Vertrags sind öffentlich sichtbar und ein starker Indikator dafür, dass ein Benutzer Mist verwendet.

Außerdem haben verschiedene Kunden unterschiedliche Möglichkeiten, zu entscheiden, welche Gebühr festgelegt werden soll. Einige Kunden verwenden einen bestimmten Marktsatz, um festzulegen, welche Gebühren sich ständig ändern sollten, während andere immer wieder nur eine feste Gebühr verwenden oder dem Benutzer erlauben, seine eigene Gebühr festzulegen. Auch dies kann Hinweise darauf liefern, welche Wallet-Software ein Benutzer zum Senden von Transaktionen verwendet. Und andere Arten von Metadaten können das Sammeln weiterer Informationen ermöglichen (wenn auch nicht so viele wie bei Bitcoin, wo das UTXO-System von vielen verschiedenen Clients auf viele verschiedene Arten gehandhabt werden kann).

Wenn Sie all diese Dinge kombinieren, besteht tatsächlich eine vernünftige Chance, dass Sie feststellen können, von welchem ​​Kunden/Wallet eine bestimmte Adresse erstellt wurde!

Zusammenfassen:

  • Nein, es gibt keine unterschiedliche Kodierung von Adressen pro Client
  • Die meisten, aber nicht alle Adressen, die mit „0x00“ beginnen, wurden von Parity, CPP-Ethereum oder bestimmten spezifischen „IBAN-kompatiblen“ Bibliotheken generiert
  • Mist stellt standardmäßig einen bestimmten „Wallet-Vertrag“ für Benutzer bereit, dessen Code in der Blockchain sichtbar ist
  • Gebühren und andere Informationen, die unbeabsichtigt in Transaktionen enthalten sind, können oft weitere Hinweise darauf geben, welche Wallet-Software ein Benutzer verwendet
  • Das Sammeln dieser Art von Informationen kann Ihnen manchmal sagen, welchen Client/Wallet ein Benutzer verwendet.
Beachten Sie, dass CPP-Ethereum ähnliche Adressen wie Parity generiert.