Zahlungskanäle sind eine Technologie, die sofortige, nicht verwahrte Zahlungen zwischen zwei oder mehr Personen mithilfe einer Kryptowährung ermöglichen soll. Dies soll ein besseres Zahlungserlebnis mit hervorragender Sicherheit und sehr niedrigen Provisionen bieten.
LDie Zahlungskanäle oder Zahlungskanäle sind ein Mittel, das so konzipiert ist, dass Benutzer von criptomonedas können sofortige und kostengünstige Transaktionen durchführen, ohne dass sich dies negativ auf die Situation auswirkt Blockchain.
Dieser Bedarf wird durch die Einschränkungen von Kryptowährungen motiviert, wie z Bitcoinund die meisten Kryptowährungen des Systems im Hinblick auf ihre Skalierbarkeit in Bezug auf Transaktionen pro Sekunde und gesamten Blockchain-Speicherplatz. Somit Ein Zahlungskanal ermöglicht es vielen Menschen, im Hintergrund eine große Anzahl von Transaktionen durchzuführen, aber nur zwei Transaktionen werden auf der Hauptblockchain aufgezeichnet.
Natürlich müssen Knoten beim Öffnen eines Zahlungskanals (oder Zahlungskanal auf Englisch) Benutzermünzen blockieren, damit sie während ihrer Nutzungsdauer nicht außerhalb des Kanals verwendet werden können. Dies ist mit enormen Kosten verbunden, die die Aufrechterhaltung offener Zahlungskanäle unattraktiv machen. Aus diesem Grund sind Zahlungskanäle jedoch immer noch eine sehr effektive Möglichkeit, Kryptowährungen eine hohe Skalierbarkeit zu verleihen.
An diesem Punkt werden Sie sich sicherlich fragen, wie sie funktionieren? Sie sind in Sicherheit? Welche Systeme gibt es derzeit? All diese Fragen werden wir weiter unten in diesem neuen Artikel der Bit2Me Academy beantworten.
Ursprung der Zahlungskanäle für Kryptowährungen
Die Idee von Kryptowährungs-Zahlungskanälen ist nicht neu. Diese Idee war von Beginn der technischen Entwicklung an vorhanden. Satoshi Nakamoto Er präsentierte es als eine technologische Möglichkeit, die auf Bitcoin anwendbar ist. Dies unterstützt auf der OP_CODES de Bitcoin-Skript die dazu dienten, Transaktionen zu ersetzen und deren Validierung zu kontrollieren. Wir sprechen über OP_CODES nSequenz y nLockTime, was es zwei oder mehr Parteien ermöglichte, den Status einer unbestätigten Transaktion wiederholt zu aktualisieren, bevor diese bestätigt wurde.
Das rudimentäre System von Nakamoto würde die Erstellung von Transaktionen ermöglichen, die mehrere Einträge enthalten könnten. Jeder dieser Einträge würde vom Benutzer und Inhaber der in diesem Eintrag beschriebenen Gelder unterzeichnet und überprüft. Somit ändert sich der Wert von nSequence mit jeder neuen Signatur auf einen höheren Wert, bis die Kette der Signaturen mit der Bestätigung der Transaktion in einem Block endet. Und gleichzeitig beinhaltet die Transaktion eine interne Abrechnung, der die Nutzer zustimmen.
Auf diese Weise kann eine einzelne Transaktion mehrere unterschiedliche Transaktionen für verschiedene Benutzer bedeuten. Das System bietet auch die Möglichkeit, dass der betreffende Benutzer bei Nichtübereinstimmung der Ergebnisse die Unterschrift vermeidet und dadurch das System verlässt. In diesem Fall sind die Mittel wieder unter Ihrer Kontrolle und Sie können problemlos fortfahren.
Andererseits erklärte Nakamoto, dass nLockTime im Hochfrequenzhandel zwischen einer Reihe von Parteien verwendet werden kann. Um dies zu erreichen, würde nLockTime einer bestimmten Transaktion erlauben, weiterhin aktualisiert zu werden mempool, wenn eine einstimmige Vereinbarung zwischen den Parteien besteht. Auf diese Weise würde die Transaktion jedes Mal aktualisiert, wenn eine der Parteien an der Transaktion teilnehmen möchte (die als Zahlungskanal fungiert). Wenn die Parteien sich darauf einigen, den Kanal zu schließen, treffen die Unterschriften aller Teilnehmer ein, legen die endgültige nLockTime für die Transaktion fest und warten auf deren Bestätigung. Mit seiner Bestätigung wird der Kanal geschlossen und alle durch die Ein- und Ausgänge beschriebenen Vorgänge werden in derselben Transaktion ausgeführt.
Allerdings sind beide Optionen unsicher. Die Werte nSequence und nLockTime könnten von einem böswilligen Miner oder sogar einem böswilligen Knoten manipuliert werden. Allerdings war die Grundidee der Zahlungskanäle entstanden, und hinter dieser umfangreichen Forschung sollte die Entwicklung einer sichereren Lösung für alle beginnen.
Die Entwicklung der ersten Zahlungskanäle beginnt
Die Ideen von Satoshi Nakamoto erregten schnell die Aufmerksamkeit der Community-Entwickler, die sich bald mit einem komplexen Problem konfrontiert sahen, das sie lösen mussten. Wie kann man mehreren Personen die Teilnahme an einem sicheren, dezentralen Sofortzahlungssystem ermöglichen, das auf dem Bitcoin-Protokoll basiert, ohne es unnötig zu ändern? Die Entwicklung einer solchen Funktionalität ist eine komplizierte Angelegenheit, aber es ist noch komplizierter, sie zu programmieren, und wenn wir noch hinzufügen, dass die Programmierung kompatibel ist, ohne eines der oben genannten Dinge zu beeinträchtigen, ist es etwas äußerst Komplexes. Dennoch haben sich schnell zwei Möglichkeiten zur Schaffung von Zahlungskanälen herauskristallisiert, die wir im Folgenden erläutern.
Arten von Zahlungskanälen
Unidirektional
Das einfachste Zahlungskanalsystem ist das Einwegkanalsystem. In diesem System kann Benutzer A eine Zahlung B leisten. Ein neuer Benutzer C kann dem Kanal beitreten und eine Zahlung an D leisten. Auf diese Weise kann die Zahlungskette im Kanal weiter erweitert werden.
Diese Zahlungen werden durch Transaktionen dieser Art gesteuert und gesichert MultisignaturDamit sie ausgeführt werden können, müssen die beteiligten Parteien gemäß den in den Ein- und Ausgängen der Transaktion angezeigten Daten unterzeichnen. Wenn der Kanal wächst, wachsen auch die Unterschriften im System und jeder muss unterschreiben, damit die Mittel freigegeben werden.
Zusätzlich wird eine nLockTime von 50 Blöcken angewendet, um zu verhindern, dass Benutzer das Geld sofort verwenden können, sondern das Geld im Gegenteil erst verfügbar ist, nachdem 50 Blöcke bestätigt wurden. An dieser Stelle können Sie die nLockTime als einen Scheck betrachten, der erst ab einem bestimmten Datum gültig ist. Vor diesem Datum handelt es sich lediglich um ein wertloses Stück Papier. Die nLockTime kann von den Parteien beliebig angepasst werden.
Auf diese Weise können alle Teilnehmer sicher sein, dass die Zahlung erfolgt ist, erhalten das Geld jedoch erst, wenn die zusätzlichen Bedingungen für die Verhandlung der Zahlung erfüllt sind. Nehmen wir beispielsweise an, dass A B dafür bezahlt hat, einen Computer zu reparieren, und B etwa 500 Minuten Zeit hat, diesen Computer zu reparieren. Andernfalls kann A immer noch in die Transaktion eingreifen, ihren Wert ändern und sein Geld zurückerhalten.
Bidirektionale
Bidirektionale Zahlungskanäle sind eigentlich zwei unidirektionale Kanäle, die zusammenarbeiten. Dadurch können A und B Zahlungen bidirektional senden, ohne einen vorherigen Kanal schließen und einen anderen neuen Kanal für Zahlungsvorgänge eröffnen zu müssen. Der grundlegende Betrieb bleibt erhalten, mit der Ausnahme, dass bidirektionale Kanäle perfekt für die Durchführung dynamischerer Vorgänge zwischen zwei Benutzern oder Entitäten geeignet sind.
Warum wurden Zahlungskanäle geschaffen?
Bei Bitcoin können Transaktionen nur bestätigt werden, wenn sie in einem Block innerhalb der Blockchain enthalten sind. Ein Vorgang, der etwa alle 10 Minuten stattfindet und bei dem nur 1 MB an Informationen eingehen können. Dies begrenzt die Anzahl der Transaktionen, die in jedem Block bestätigt werden können, erheblich, da alle 2200 Minuten etwa 10 Transaktionen bestätigt werden.
Aber was ist, wenn wir betrügen? Was wäre, wenn wir viele Ein- und Ausgänge in eine Transaktion einbeziehen und die an dieser Transaktion beteiligten Parteien ihre Zustimmung unterzeichnen? Damit wird die Transaktion schließlich an das Netzwerk ausgegeben und validiert, sodass eine Transaktion mehreren Einzeltransaktionen entspricht. Das ist zwar eine sehr subtile Falle, aber auch sehr nützlich, und genau das macht ein kostenpflichtiger Kanal. Zumindest in seinen grundlegendsten Funktionen.
Auf diese Weise werden Zahlungskanäle zu einer Second-Layer-Lösung, die es Benutzern ermöglicht, Transaktionen durchzuführen, ohne direkt auf den nächsten Block angewiesen zu sein, damit eine Transaktion als abgeschlossen gilt. Dadurch können wir Soforttransaktionen durchführen, die dann bei Schließung des Zahlungskanals einstimmig in der Hauptblockchain erfasst werden. Nichts geht verloren, Münzen entstehen nicht aus dem Nichts, am Ende landet alles in derselben Abrechnung und die Zahlen summieren sich einfach.
Deshalb wurden Zahlungskanäle geschaffen. Es ist ein perfektes Tool, um Zahlungen mit Kryptowährungen flexibler zu gestalten, und das alles, ohne die aktuellen Protokolle zu ändern.
Vor- und Nachteile von Zahlungskanälen
Vorteil
- Sie bieten die Möglichkeit, Zahlungen sofort zwischen den am Zahlungskanal teilnehmenden Parteien durchzuführen. Es ermöglicht Ihnen aber auch, Zahlungen zu planen und unter bestimmten Bedingungen sicherer zu gestalten.
- Sie können Mikrozahlungen leisten und sogar ein paar Satoshis senden.
- Dadurch können die Transaktionsgebühren gesenkt werden, da die Zahlung der On-Chain-Bestätigungsgebühr zwischen allen Teilnehmern des Kanals erfolgt.
- Es ermöglicht Unternehmen, Zahlungen in Kryptowährungen zu empfangen, ohne die Bestätigungszeiten in der Kette zu verkürzen, ohne jedoch auf Sicherheit zu verzichten.
- Unter den aktuellen Zahlungskanalspezifikationen ist es sehr schwierig (wenn nicht unmöglich), Gelder zu stehlen. Dies liegt daran, dass Zahlungskanalimplementierungen das Multisignatur-Adressierungsschema verwenden, bei dem Aktionen nur ausgeführt werden, wenn sie die Signaturen aller Teilnehmer tragen.
Nachteile
- Die Anzahl der Transaktionen, die wir über einen Zahlungskanal durchführen können, ist begrenzt.
- Die für einen Zahlungskanal auszugebenden Mittel müssen im Voraus bereitgestellt werden. Das heißt, wenn dem Kanal das Geld ausgeht, muss ein neuer Kanal eröffnet werden, um weitere Operationen durchzuführen.
- Es gibt immer noch einige Sicherheitsprobleme bezüglich der Zahlungskanäle. Fälle wie Schwachstellen in den Codes der Clients und Knoten für diesen Systemtyp. Oder sogar Schwachstellen in der Betriebsstruktur selbst, wie im Fall von Temporaler Dilatationsangriff. Dies sind einige der Probleme, die gelöst werden müssen, bevor diese Systeme massenhaft werden.
Wie viel weißt du, Kryptonaut?
Sind Zahlungskanäle eine unsichere Lösung für die Skalierung von Kryptowährungen?FALSCH!
Es gibt einen Mythos, dem viele Nutzer von Kryptowährungen wie Bitcoin verfallen, und viele sagen, dass Zahlungskanäle wie das Lightning Network unsicher seien. Die Realität ist, dass sich die Technologie zwar noch in der Entwicklungsphase befindet, Zahlungskanäle wie LN jedoch sehr sicher sind. Dies steht im Gegensatz zu anderen Optionen, die beispielsweise auf Hochgeschwindigkeits-Konsensprotokollen basieren, die wiederum zu einer Zentralisierung führen (wie PoA oder PoET).
Erste Implementierungen von Zahlungskanälen
Nun haben sich die Implementierungen von Zahlungskanälen in den letzten Jahren weiterentwickelt und entwickeln sich weiter. Hier werden wir einige Vorschläge und ihre bemerkenswertesten Erfolge nennen.
BitcoinJ und seine Zahlungskanäle
Die Entwickler Mike Hearn und Matt Corallo haben Unterstützung für Zahlungskanäle hinzugefügt BitcoinJ, am 27. Juni 2013. Mit der Implementierung war BitcoinJ die erste externe Bibliothek Bitcoin Core in der Lage, dieses System sicher zu unterstützen. Bitcoin Core könnte ein Zahlungssystem dieser Art nutzen, aber wie wir am Anfang dieser Seite erwähnt haben, war es unsicher, da Miner oder Knoten diese Kanäle mit vorhandenen Mitteln (nLockTime und nSequence) manipulieren konnten.
BIP-65, die Geburt von CLTV
Bitcoin Core erzielte einen Durchbruch bei der Möglichkeit, Zahlungskanäle mit Aktivierung zu erstellen OP_CHECKLOCKTIMEVERIFY oder CLTV, ein neuer OP_CODE für Bitcoin.
Dank dieses Codes ist es möglich zu beweisen, dass es unmöglich ist, die Ausgabe einer Transaktion erst zu einem späteren Zeitpunkt durchzuführen. Dies ist möglich, weil Sie mit CLTV einen Test implementieren können, der feststellen kann, ob eine gültige Signatur für eine andere Transaktion erstellt wurde, die eine bestimmte Ausgabe ausgibt. Wenn dieser Fall erkannt wird, kann CLTV die neue Transaktion ungültig machen und so mögliche Doppelausgaben vermeiden.
Kurz gesagt: Mit dem BIP-65 können Sie eine Methode zur Überprüfung der Geldausgaben erstellen, die nLockTime nicht verarbeiten kann, und so sichere bidirektionale Kanäle erstellen.
HTML
Die HTML Sie sind eine weitere Entwicklung zugunsten der Zahlungskanäle. Grundsätzlich arbeiten HTLCs an der Zahlungsweiterleitung. Das heißt, sie leiten Zahlungen sicher über mehrere Zahlungskanäle weiter. Auf diese Weise vermeidet HTLC eines der Probleme von Zahlungskanälen: die Kosten für die Eröffnung neuer Zahlungskanäle. So ist HTLC in der Lage, stets offene Zahlungskanäle zu nutzen und die Zahlungen aller zwischen diesen Zahlungen weiterzuleiten. Das Ergebnis ist ein riesiges Netzwerk von Zahlungskanälen, die nahezu dauerhaft geöffnet sind und in denen bidirektionale Zahlungen möglich sind.
Diese Funktionalität hat HTLCs zu einem integralen Bestandteil des Designs fortschrittlicherer Zahlungskanäle gemacht, wie sie beispielsweise von verwendet werden Blitznetzwerk.
Zahlungskanäle auf anderen Blockchains
Wie Sie wissen, ist Bitcoin nicht die einzige Kryptowährungs-Blockchain und nicht die einzige, in die Zahlungskanalprotokolle integriert werden können. Kryptowährungen wie Litecoin o Ethereumsind ebenfalls in der Lage, diese Art von Systemen zu nutzen. Fast jede Kryptowährung mit Skalierbarkeitsproblemen hat nach einer Methode gesucht, um Zahlungskanäle zur Skalierung zu nutzen. Der Grund ist einfach: Zahlungskanäle sind einfacher zu implementieren als eine Neufassung der bereits bewährten Protokolle dieser Blockchains.
Beispielsweise können wir in Litecoin heute das Lightning Network verwenden und in Ethereum können wir Raiden Network oder verwenden Liquiditätsnetzwerk, obwohl letzteres ein anderes Zahlungskanalschema verwendet.
Wie Sie sehen, ruht die Blockchain nicht und die damit verbundenen Innovationen sind unaufhörlich. Zahlungskanäle scheinen sich durchgesetzt zu haben, und obwohl sie sich noch in einem frühen Stadium befinden, wollen sie bleiben, insbesondere wenn wir Kryptowährungen in großem Umfang auf der ganzen Welt sehen wollen.