Eine technische Einführung in das Axelar Netzwerk
Was ist das Axelar Netzwerk?
Das Axelar-Netzwerk ist eine dezentralisierte Zustandsmaschine, die für die Erleichterung von Cross-Chain Anfragen verantwortlich ist. Das Netzwerk unterstützt einige wichtige Protokolle, wie beispielsweise das Cross-Chain Gateway Protocol (CGP). CGP ist das Herzstück des Systems und ermöglicht es uns, neue Chains ohne Einschränkungen der Konsensregeln einfach einzubinden und Informationen zwischen ihnen zu übertragen. In diesem Beitrag werfen wir einen Blick darauf, was CGP zum Ticken bringt, und tauchen in einige Details hinter dem Stapel ein. Aber zuerst wollen wir versuchen zu verstehen, was uns zu dieser Architektur geführt hat.
Hier sind zunächst die wichtigsten Komponenten des Axelar Netzwerks:
- Konsens
- Threshold Kryptographie
- Gateway Verträge
- Validators
- Cross-Chain Daemons (auch bekannt als Relayer)
Warum benötigt das Axelar-Netzwerk einen Konsens, um Cross-Chain Anforderungen zu verarbeiten?
Die Regeln zum Bestätigen und Verarbeiten Cross-Chain Anforderungen werden in einem verteilten Protokoll codiert, das von allen Validatoren gemeinsam ausgeführt wird. Sie können sich das Axelar-Netzwerk als dezentrale Zustandsübergangsmaschine vorstellen, und im Netzwerk übermittelte Anforderungen lösen Übergänge von einem Zustand in einen anderen aus. Somit ermöglicht uns der Konsens:
- Um eine Einigung über den Zustand des Systems zu erzielen und CGP auszuführen,
- Vereinbaren Sie den Status anderer Chains, um Cross-Chain Anforderungen zu bestätigen,
- Führen Sie verteilte Logik aus, um das Smulti-party key-generation und Signaturprotokoll zu initialisieren,
- Behanddeln Sie membership changes, key-rotation, und incentives.
Schließlich ist der Konsens eine Voraussetzung für eine Reihe von multi-party Threshold Kryptographie Protokolle , die wir im Folgenden beschreiben.
Warum benötigt das Axelar Netzwerk Threshold Kryptographie?
Axelar-Gateways werden gemeinsam von den Axelar-Validatoren über Threshold-Kryptographie verwaltet. Das heißt, die Mehrheit der Validatoren muss jeder Transaktion zustimmen und sie gemeinsam genehmigen, die über die Gateways ausgeführt werden soll. Dies ähnelt der Tatsache, dass die Mehrheit der Validatoren Zustandsübergänge in Standard-Blockchains vereinbaren muss, um grundlegende Asset-Transfers von einem Benutzer zu einem anderen zu autorisieren. Die Vereinbarung führt zu einer unterzeichneten Kompakttransaktion. Eine einzige Signatur (gemeinsam von der Mehrheit der Validatoren erstellt), die die Transaktionen autorisiert, ermöglicht es uns, die Transaktionen klein zu halten, niedrige Gebühren beizubehalten und alle Anforderungen der Axelar-Netzwerkverbindungen zu eliminieren (z. B. Unterstützung für multi-signature, Transaktionslimits, Light Clients usw.). Viele Thresholdprotokolle (z. B. ECDSA, die heute von Bitcoin verwendet werden) gehen von einem zuverlässigen Broadcast-Kanal und Peer-to-Peer-Privatkanälen zwischen Parteien aus. Hier ist Konsens auch ziemlich praktisch :).
Muss jeder Validator Knoten aller anderen Chains ausführen?
Axelar Network Validators führen Knoten oder Light-Clients anderer Chains aus. Hierfür muss keine benutzerdefinierte Logik codiert werden - Validatoren laden einfach die von den Blockchain-Entwicklern bereitgestellten Software-Clients herunter, machen RPC-Endpunkte verfügbar und verweisen die Axelar-Knoten auf diese Endpunkte (endpoints). Validatoren können auswählen, für welche Chains sie Anforderungen validieren, und die Anreize werden entsprechend strukturiert. Es ist wichtig zu beachten, dass die Schwellenschlüssel (threshold keys) für eine höhere Sicherheit auf alle Validatoren verteilt werden (wir haben auch sekundäre Schlüssel, die auf weniger Validatoren mit viel begrenzterer Leistung verteilt werden).
Welche Arten von Befehlen unterstützt das Netzwerk?
- Generieren Sie ein neues Kettenschlüsselpaar (chain key pair). Ein verteiltes Schwellenwertprotokoll (threshold protocol) wird unter allen Validatoren ausgeführt, um das Hauptschlüsselpaar (master key-pair) für eine Kette zu generieren, die mit dem Axelar Protokoll verbunden wird.
- Stellen Sie einen neuen Gateway-Vertrag für eine neue Kette bereit. Nach diesem Ereignis wird es unter der Annahme, dass eine ausreichende Anzahl von Validatoren Transaktionen in dieser Kette überprüfen kann, über die Axelar-Infrastruktur mit allen anderen Ketten verbunden. [Für das Bitcoin-Netzwerk werden stattdessen benutzerdefinierte Skripte und das UTXO-Verwaltungssystem verwendet. Mehr dazu später.]
- Generieren Sie eine Verknüpfungsadresse für die Transaktion von einer Quellkette X zur Zielkette Y. Dieser Befehl gibt eine neue Adresse zurück, an die Transaktionen durchgeführt werden können, und anschließend erstellt und repräsentiert das Netzwerk sie in der Zielkette Y.
- Überprüfen von Einzahlungen in einer Quellenkette X. Dies löst ein Konsensusprotokoll der zweiten Schicht auf dem Axelar-Netzwerk aus, um eine Einzahlung in einer Quellenkette abzuschließen. Im Wesentlichen fragen alle Validatoren ihre RPC-Endpunkte (RPC endpoints) ab, um zu überprüfen, ob die Transaktion gemäß einigen Regeln "endgültig" ist (für PoW—Ketten muss sie ausreichend tief in der Kette sein, für PoS-Ketten mit sofortiger Endgültigkeit - nun, Sie erhalten sofortige Endgültigkeit).
Wie wächst der Staat im Axelar Netzwerk?
Das Axelar Netzwerk verfolgt nur Informationen, die mit den Gateway-Verträgen und cross-chain Transaktionen verbunden sind. Daher wachsen die Daten nur mit der Menge der cross-chain Übertragungen und nicht mit der Größe der Blockchains, die Axelar Network verbindet. Darüber hinaus werden mehrere cross-chain Transaktionen stapelweise verarbeitet.
Was braucht man, um eine neue Kette auf Axelar zu unterstützen?
Axelar Gateway-Verträge müssen auf die Smart Contracts-Sprache dieser Plattform portiert werden. Die Verträge sind "universell", da sie nicht vom Konsens oder Zustand anderer Ketten abhängen. Zum Beispiel werden meist dieselben Verträge in allen EVM-Ketten wiederverwendet. Als nächstes muss ein bestimmter minimaler Schwellenwert (minimal threshold) der Axelar-Netzwerkvalidatoren Knoten ausführen, um Anforderungen in / aus den Gateway-Verträgen überprüfen zu können. Der Schwellenwert (threshold)ist ein abstimmbarer Parameter im System und wird basierend auf den Experimenten im Testnetz festgelegt.
Wie werden die Informationen über verschiedene Blockchains hinweg bereitgestellt?
Wenn eine Transaktion in Kette A beim Gateway-Vertrag ankommt, muss sie an das Axelar Netzwerk weitergeleitet werden. Relayers oder cross-chain Daemons / Prozesse sind für die Überwachung dieser Gateway-Verträge verantwortlich und leiten eine eingehende Anforderung an das Axelar Netzwerk weiter. Anschließend fragen die Validatoren ihre RPC-Endpunkte nach Kette A ab, stimmen über die Transaktion ab und lösen einen internen Statusübergang aus, um die Transaktion zu verarbeiten. Wenn die Transaktion beispielsweise einige Mittel in den Gateway-Vertrag einzahlt, zeichnen die Validatoren sie auf und legen sie in ein Backlog, von wo aus sie von allen Axelar-Validatoren signiert werden können. Schließlich kann jeder die signierte Transaktion an die Zielkette weiterleiten.
Es ist wichtig zu beachten, dass Relayern für die Sicherheit des Protokolls nicht vertraut wird. Das dezentrale Protokoll, das vom Axelar-Validator ausgeführt wird, überprüft (falls zutreffend) jede von den Relayern eingereichte Anforderung. Darüber hinaus reicht es aus, 1 funktionalen Relayer zu haben, um die Lebendigkeit des Protokolls aufrechtzuerhalten.
Darüber hinaus können viele Zustandsübergänge von jedem im Netzwerk ausgelöst werden. Wenn beispielsweise mehrere cross-chain Transaktionen im Backlog zu einer Zielkette ausstehen, werden sie alle von einer einzigen Signaturanforderung im Netzwerk verarbeitet.
Was ist erforderlich, um den Zustand der Axelar Netzwerkknoten und -validatoren zu überwachen?
Informationen über den Zustand des Netzwerks können beobachtet werden durch:
a) Überwachung der von den Axelarknoten emittierten Protokolle,
b) Abfragen des Status des Ledgers,
c) Beobachtung von Ereignissen, die von den Axelarknoten und auf dem Gateway ausgegeben werden.,
d) Abonnieren der über Prometheus bereitgestellten Metriken.
Was sind einige der interessanten Ereignisse, die beobachtet werden können?
- Multi-Party-Key-Generation Aufrufe, produziert keys, fehlgeschlagene Versuche.
- Multi-party Signaturaufrufe.
- Schlüssel und Gateways werden für jede Kette bereitgestellt.
- Aktive Validatoren, ihr Anteil, Delegationen, egal ob sie es verpassen, Blöcke zu produzieren, über Ereignisse aus der externen Kette abzustimmen oder an Keygen-/Unterzeichnungszeremonien teilzunehmen.
- Status der Validatoren im Netzwerk: Wenn der Validator beispielsweise das Netzwerk verlassen möchte, muss er sich zunächst „abmelden“ und warten, bis seine Anteile aus dem System rotiert werden. Nachdem ihre Anteile aus dem System heraus rotiert wurden, können sie die Bindung auflösen.
Wie kann ich mich in das Projekt einbringen?
Wir bauen das Ökosystem von Knotenbetreibern, Anbietern von Wallet- und Überwachungsinfrastruktur, Entwicklern und Einstellungen in verschiedenen technischen und Ökosystemrollen aus. (https://axelar.network/careers)
Nehmen Sie auch über den Entwickler Discord Kontakt auf und folgen Sie unseren sozialen Kanälen:
Twitter | Telegram | Medium | LinkedIn | YouTube | Forum
Eine technische Einführung in das Axelar-Netzwerk wurde ursprünglich in Axelar on Medium veröffentlicht, wo die Leute das Gespräch fortsetzen, indem sie diese Geschichte hervorheben und darauf antworten.