Ursprünglicher Autor: Visa, Andrew Beams, Catherine Gu
Originalzusammenstellung: PANews, Jordanien
Da die Blockchain-Akzeptanz weiter zunimmt, steigt auch der Bedarf an erstklassigen Benutzererlebnissen und Produkten, die reale Anwendungsfälle unterstützen. Visa bietet Kunden (insbesondere jungen Kunden) bereits bequeme automatische Abzüge und regelmäßige automatische Zahlungen an, aber es scheint immer noch schwierig, diese Funktion auf einer Blockchain wie Ethereum zu implementieren. Ethereum ist das Blockchain-Netzwerk mit dem größten Zahlungsvolumen, und für einige Arten von digitalen On-Chain-Wallets ist die regelmäßige automatische Auszahlung von Zahlungen von Benutzerkonten immer noch ein „großes Projekt“.
In diesem Zusammenhang schlug Visa das Konzept der Kontoabstraktion (AccountAbstraction) vor und nutzte es, um zu untersuchen, wie intelligente Verträge zur Implementierung automatisierter programmierbarer Zahlungen verwendet werden können, und um zu demonstrieren, wie intelligente Verträge für selbst gehostete Wallets geschrieben werden, die die automatische Auszahlung von Geldern unterstützen .
Anwendungsszenarien
Stellen Sie sich ein Szenario vor: Angenommen, heute ist der 25. Februar und Alice fährt am 10. März in den Urlaub, muss aber ihre Hypothek, Kabelfernsehrechnungen und Stromrechnungen vor dem 5. eines jeden Monats bezahlen ist, dass sie nicht genug Geld hat, um vor dem Urlaub zu bezahlen, aber sie wird genug Geld haben, wenn sie am 1. März ihren Gehaltsscheck erhält. Nun stellt sich die Frage: Wie kann Alice ihren Urlaub genießen, ohne mit ihren Zahlungen in Verzug zu geraten?

Ja, die Antwort lautet: automatischer Abzug. Wenn Alice über ein Bankkonto verfügt, ist der automatische Abzug tatsächlich ein sehr einfacher Vorgang. Sie muss lediglich ihr Debitkonto mit ihrer Visa-Karte verknüpfen. Allerdings ist die Durchführung eines solchen Vorgangs auf der Blockchain nicht so einfach. Da es sich jedoch um eine neue Technologie handelt, lohnt es sich, Blockchain-Smart-Contract-Lösungen für die oben genannten Szenarien zu erkunden.
Bevor wir zum Punkt kommen, wollen wir zunächst das Konzept eines Ethereum-Kontos verstehen. Derzeit gibt es zwei Arten von Konten im Ethereum-Netzwerk:
1. ExternallyOwnedAccounts, oft als „Benutzerkonten“ bezeichnet
2. Vertragskonten (ContractAccounts), oft auch „Smart Contracts“ genannt
Durch private Schlüssel kontrollierte Benutzerkonten können Transaktionen senden, und Smart Contracts erfordern zur Ausführung zugehörigen Code, Smart Contracts können jedoch keine „Transaktionen selbst initiieren“, da Transaktionen immer vom Benutzerkonto ausgehen und vom Benutzer signiert werden müssen. Zu diesen Transaktionen gehören: Ethereum Zone Eine einfache Übertragung von Tokens zwischen Benutzerkonten in der Blockchain kann eine Reihe komplexerer Transaktionen auslösen, die über intelligente Verträge viele verschiedene Aktionen ausführen.
Wie kann man also automatisierte Zahlungen auf der Ethereum-Blockchain implementieren?
Lassen Sie uns Alices Situation noch einmal Revue passieren lassen.
Angenommen, Alice hat ein Benutzerkonto auf der Ethereum-Blockchain und zahlt ihr Gehalt auf das Konto ein und verwendet es, um ihre Hypothek, Kabelrechnung und Stromrechnungen zu bezahlen. Um heute ihre Rechnung bezahlen zu können, muss eine Transaktion eingeleitet werden, um Token von ihrem „externen Konto“ auf das Benutzerkonto des Zahlungsempfängers zu übertragen.
Um es genauer auszudrücken: Alices „extern besessenes Konto“ verfügt über einen Schlüssel/privaten Schlüssel, den nur sie kennt, und nur sie kann diesen privaten Schlüssel verwenden, um eine ECDSA-Signatur (Elliptic Curve Digital Signature Algorithm) zu generieren, die für die Erstellung von Transaktionen von entscheidender Bedeutung ist. Wenn Alice jedoch in den Urlaub fährt, wer generiert dann diese Signatur und erstellt die Gebührenzahlungstransaktion?
Derzeit gibt es für Alice eine Lösung, eine Depot-Wallet zu verwenden, die es einem Dritten ermöglicht, den privaten Schlüssel von Alice zu kontrollieren. Mit anderen Worten: Alice vertraut einem Dritten, um ihre Gelder zu schützen, und wenn sie handeln oder Gelder auf ein bestimmtes Konto senden möchte, hat dies den Vorteil, dass Alice die Geldverwahrstelle nutzen kann, um die erforderlichen Signaturen zu generieren, um Transaktionen für geplante automatische Transaktionen zu erstellen Zahlungen, aber der Nachteil ist, dass sie diesem Dritten vollkommen vertrauen muss.
Was also, wenn Alice aus Angst vor dem Risiko kein Custodial Wallet verwenden möchte, sondern stattdessen ein Self-Custody Wallet verwendet und automatische Zahlungen plant? Als nächstes stellen wir ein weiteres Konzept vor – die Kontoabstraktion (AccountAbstraction).
Was ist Kontoabstraktion?
Bei der Kontoabstraktion handelt es sich um einen Vorschlag, der versucht, Benutzerkonten und Smart Contracts in einem neuen Ethereum-Kontotyp zusammenzuführen, indem Benutzerkonten dazu gebracht werden, sich wie Smart Contracts zu verhalten. Die Kontoabstraktion wird es uns in Zukunft ermöglichen, eine einfache Lösung für automatisierte Zahlungen zu entwickeln und eine größere Flexibilität bei der Überprüfung von Transaktionen in der Kette zu haben, wie zum Beispiel:
1. Multi-Inhaber-Konten können durch Multi-Signatur-Verifizierung aktiviert werden.
2. Ermöglichen Sie die Verwendung von Post-Quantum-Signaturen zur Überprüfung von Transaktionen.
3. Ermöglichen Sie ein sogenanntes öffentliches Konto, auf dem jeder Transaktionen durchführen kann, indem die Signaturprüfung vollständig entfällt.
Im Wesentlichen ermöglicht die Kontoabstraktion eine programmierbare Gültigkeit zur Überprüfung und Bestätigung jeder Blockchain-Transaktion. Transaktionen, die auf dem Ethereum-Protokoll basieren, müssen nicht vollständig auf fest codierten Gültigkeitsbedingungen basieren, einige Bedingungen können jedoch „benutzerdefinierte“ geschrieben werden. in den Konto-Smart-Vertrag ein.
Darüber hinaus unterstützt die Kontoabstraktion automatische Zahlungen, da es möglich ist, Validierungsregeln einzurichten, die keine Signaturprüfung mehr beinhalten. Sehen wir uns an, wie das geht.
Delegierbare Konten – Nutzung der Kontoabstraktion zur Implementierung automatischer Zahlungsfunktionen in der Ethereum-Kette
Die automatisierte Zahlungslösung Ethereum von Visa besteht darin, die Kontoabstraktion zu nutzen und eine neue Art von Kontovertrag zu erstellen – ein delegiertes Konto. Die Hauptidee besteht darin, die programmierbaren Gültigkeitsregeln von Transaktionen um vorab genehmigte Zulassungslisten zu erweitern. Einfach ausgedrückt kann die Kontoabstraktion automatische Zahlungsvorgänge, die von Benutzerkonten initiiert werden, an vorab genehmigte intelligente Verträge für automatische Zahlungen delegieren.
Erstens müssen Händler intelligente Verträge für automatische Zahlungen bereitstellen. Wenn ein Benutzer mit einem delegierten Konto die Website eines Händlers besucht, wird ihm eine Aufforderung zur Genehmigung einer automatischen Zahlung angezeigt – ähnlich dem, was Visa für Rechnungen akzeptiert. Zu diesem Zeitpunkt kann der Benutzer sehen, dass der automatische Zahlungsvertrag Vorgänge im Namen des Benutzers ausführt, und die Parameter können entsprechend den Bedürfnissen des Benutzers festgelegt werden, z. B. kann der Benutzer nur einmal pro Monat belastet werden, die Gebühr jedoch nicht den festgelegten Höchstbetrag überschreiten usw. Und das Beste: Da es sich um einen Smart Contract handelt, können Benutzer sicher sein, dass der automatisierte Zahlungsvertrag sonst nicht ausgeführt wird.
Wenn der Benutzer der Genehmigung automatischer Zahlungen zustimmt, fügt das Wallet die Adresse des automatischen Zahlungsvertrags zur Liste der zulässigen Verträge für das delegierbare Konto des Benutzers hinzu.

Anschließend löst der Händler die Zahlung aus, indem er die Ladefunktion des automatischen Zahlungsvertrags aufruft. Der automatische Zahlungsvertrag veranlasst das Konto des Benutzers, eine Push-Zahlungstransaktion einzuleiten. Diese Transaktion ist eine gültige Transaktion, da sie im Voraus zur Liste der zulässigen Transaktionen hinzugefügt wurde.

Zusätzlich zu wiederkehrenden Zahlungen kann die Lösung auch verschiedene Anwendungen in der realen Welt erfüllen. Die Visa-Vertrauenskontolösung kann in Zukunft sogar auf Dienste wie die Wiederherstellung von Konten Dritter ausgeweitet werden.
Implementierung der Kontoabstraktion auf StarkNet

Da Ethereum die Kontoabstraktion noch nicht unterstützt, hat Visa eine delegierte Kontolösung auf StarkNet implementiert, einer Layer-2-Blockchain, die auf der Ethereum-Blockchain aufbaut, um den Transaktionsdurchsatz zu erhöhen, sowie andere Funktionen zur Verbesserung der zugrunde liegenden Blockchain-Abwicklungsschichtfunktionen, entwickelt von Krypto-Startup StarkWare. Das Kontomodell von StarkNet nennt Visa derzeit Kontoabstraktion. Das abstrakte Konto prüft, ob die Transaktion von einer bestimmten Adresse stammt.
Wenn bei konkreten Konten jemand einen Token an das Benutzerkonto sendet, wird mit dem Token-Vertrag interagiert und der Token-Vertrag prüft, ob die Identität (der Schlüssel), die zum Signieren der Transaktion für diese Übertragung verwendet wurde, als aktueller Besitzer des Tokens erfasst ist. Wenn bei abstrakten Konten jemand einen Token an Ihr Konto sendet, interagieren Sie auch mit dem Token-Vertrag, der überprüft, ob die für diese Übertragung verwendete Identität (Vertrag) als aktueller Eigentümer des Tokens erfasst ist. Bei abstrakten Konten kommt es darauf an, wer (Adresse) die Transaktion ausführt und nicht darauf, wie (Signatur) die Transaktion ausgeführt wird.
Mit dem StarkNet-Kontomodell ist Visa in der Lage, eine delegierte Kontolösung zu implementieren, die automatisierte Zahlungen für selbst gehostete Wallets ermöglicht.
abschließend
Als eines der größten Zahlungsnetzwerke der Welt erforscht Visa aktiv innovative Smart-Contract-Lösungen, um programmierbare Währungen und Zahlungen zu fördern.
Automatisierte Zahlungen sind eine der Kernfunktionen, die der bestehenden Blockchain-Infrastruktur fehlen. Durch die Nutzung des Konzepts der Kontoabstraktion könnten selbst gehostete Wallets jedoch mit automatisierten wiederkehrenden Zahlungsfunktionen ausgestattet werden und dadurch sogar andere reale Anwendungen über automatisierte Zahlungen hinaus in die Blockchain-Kette integriert werden Schaffung einer besseren Benutzererfahrung für traditionelle Zahlungskanäle und neue Zahlungskanäle.
