Was ist eine „indirekte ICAP-Adresse“?

Das Ethereum-Wiki hat eine Spezifikation von grundlegenden, direkten und indirekten ICAP-Adressen. Wo das Grundlegende und das Direkte hier und hier gut erklärt werden , habe ich Probleme zu verstehen, wie indirekte ICAP-Adressen funktionieren?

Können Sie eine indirekte ICAP-Adresse aus einem rohen Hex-Ethereum-Schlüssel generieren? Wenn ja, wie geht das?

Oder soll es umgekehrt berechnet werden ? Als ob Sie zuerst die Adresse haben und das Hex rückwärts berechnen? Aber wie wird der zugehörige private Schlüssel auf diese Weise generiert? Ist das überhaupt möglich?

Antworten (2)

Indirekte Adressen arbeiten mit Vermögensregistern zusammen.

Aus der Spezifikation:

Indirekt

Die BBAN für diesen Code ist indirekt 16 Zeichen lang und besteht aus drei Feldern:

Asset-Kennung, 3-stellig alphanumerisch (< 16 Bit); Institutionskennzeichen, 4-stellig alphanumerisch (< 21 Bit); Kundenkennung der Institution, 9 alphanumerische Zeichen (< 47 Bit); Einschließlich der vier Anfangszeichen führt dies zu einer endgültigen Kundenkontoadresse von 20 Zeichen in der Form:

XE81ETHXREGGAVOFYORK

Aufgeteilt in:

XE Der Ländercode für Ethereum;

81 Die Prüfsumme;

ETH Die Asset-Kennung innerhalb des Kundenkontos – in diesem Fall ist „ETH“ die einzige gültige Asset-Kennung, da der Basisregistrierungsvertrag von Ethereum nur dieses Asset unterstützt;

XREG Der Institutionscode für das Konto – in diesem Fall der Basisregistrierungsvertrag von Ethereum;

GAVOFYORK Die Kundenkennung innerhalb der Institution – in diesem Fall eine direkte Zahlung ohne zusätzliche Daten an eine beliebige Hauptadresse, die mit dem Namen „GAVOFYORK“ im Basisregistrierungsvertrag von Ethereum verknüpft ist;

Beim Senden einer Transaktion an eine indirekte ICAP - Adresse geschieht Folgendes:

  • Das ICAP-Register wird mit dem Institutionscode abgefragt. Dies gibt eine Vertragsadresse für die Institution, falls gefunden.
  • Mit der Institution wird eine spezifische Vertragstransaktion abgeschlossen, die die Kundenkennung enthält.

Ich glaube nicht, dass dieser Teil noch vollständig spezifiziert ist, obwohl es in den web3.js-Quellen einen Hinweis darauf gibt :

Eine directICAP-Adresse ist eine, in der die hexadezimale Ethereum-Adresse direkt codiert ist. Mit anderen Worten: Wenn Sie eine direkte ICAP-Adresse haben, können Sie damit rechnen und erhalten am Ende die Hex-Adresse.

Eine indirectICAP-Adresse codiert nicht die tatsächliche Hex-Adresse. Stattdessen ist eine Indirektionsebene (z. B. eine Datenbanksuche) erforderlich, um die Hex-Adresse zu erhalten.

Während der Kontoerstellung wird die Hex-Adresse kryptografisch aus dem privaten Schlüssel eines Kontos bestimmt, daher gibt es keine Möglichkeit, mit einer gewünschten Hex-Adresse zu beginnen und ein Konto dafür zu erstellen. Aus diesem Grund muss eine Organisation, die Daten sichtbar in einer Kontoadresse in einem bestimmten Format (wie in der Antwort von @axic beschrieben) codieren möchte, die indirekte Methode verwenden.