HTLC oder Hash Time Locked Contract sind eine Art intelligenter Verträge, die zur Erstellung von Zahlungskanälen verwendet werden.
Ueine der leistungsstärksten Technologien innerhalb der Programmiersprache Bitcoin-Skript sind die bekannten HTLC- oder Hash Time Locked-Vertrag. Dies sind eine Art von Intelligente Verträge oder intelligenter Vertrag deren Hauptfähigkeit das Schaffen ist Zahlungskanäle oder Zahlungskanäle. Auf diese Weise ermöglichen HTLCs den Aufbau von Technologien wie z Blitznetzwerk (LN) sowohl in Bitcoin als auch in anderen mit dieser Kapazität kompatiblen Kryptowährungen. Dies bedeutet, dass HTLCs die Erstellung von Protokollen der zweiten Schicht ermöglichen, die die Skalierbarkeit von Bitcoin erheblich beschleunigen können. Und das alles, ohne auf die Sicherheit dieser Blockchain zu verzichten.
HTLCs sind jedoch viel mehr als nur ein Smart Contract. Sie sind die Vereinigung mehrerer anderer Technologien, die letztendlich eine viel komplexere Funktionalität ermöglichen, die den Wachstumsanforderungen von Bitcoin entspricht.
In diesem Artikel der Bit2Me Academy erfahren Sie mehr über die Besonderheiten und das Potenzial dieses Blockchain-Algorithmus.
Ursprung von HTLC
Der Ursprung von HTLC geht auf die Notwendigkeit zurück, Mechanismen zu schaffen, die eine größere Skalierbarkeit von Bitcoin ermöglichen. Merkwürdigerweise sind die ersten Ideen, die zu HTLC führten, recht originell, merkwürdig und in manchen Fällen sogar problematisch, wie Sie unten sehen können:
Satoshi Nakamotos nSequence-Kanal
Die erste Idee, die zu HTLC führte, kam von ihm selbst. Satoshi Nakamoto, mit den Anrufen nSequenzkanäle. Diese Arten von Zahlungskanälen werden mithilfe von erstellt OP_CODE nSequenz und nLockTime. Auf diese Weise könnte ein System geschaffen werden, in dem der Benutzer eine Transaktion mit einem Wert nLockTime (eine Zeitsperre) und einer nSequence (ein Wert, der es ermöglicht, die Transaktion durch eine andere zu ersetzen) übermitteln könnte. Auf diese Weise kann der Nutzer eine bestimmte Anzahl „sofortiger“ Käufe und Zahlungen tätigen.
Sie würden dann zu einer endgültigen Transaktion hinzugefügt, die die ursprüngliche Transaktion ersetzen würde, bevor die anfängliche nLockTime und nSequence endgültig geschlossen werden. Auf diese Weise würde die neue Transaktion alle Kosten der im selben Vorgang getätigten Einkäufe decken.
Dies ist möglich, weil:
- nSequences wurden entwickelt, um das Ersetzen von Transaktionen im zu ermöglichen mempool, wenn dieser Wert nicht mit dem Hexadezimalwert 0xFFFFFFFF markiert wurde, denn wenn er mit diesem Wert markiert wäre, könnte der TX nicht ersetzt werden. Tatsächlich war es dieser kleine Entwurf, der zur Entstehung des führte Ersetzen Sie durch Gebühr oder RBF. Die Idee hinter seiner Verwendung in nSequence-Kanälen bestand darin, Zahlungsvorgänge in einem TX hinzuzufügen und ihn im Mempool zu ersetzen, bis dieser TX schließlich als endgültige Transaktion betrachtet wurde (durch Markierung mit 0xFFFFFFFF in seiner nSequence).
- Mit nLockTime würde ein Zeitlimit festgelegt, damit die Miner endlich den TX entgegennehmen und bestätigen könnten. Merkwürdigerweise funktioniert nLockTime nur, wenn nSequence sich von 0xFFFFFFFF unterscheidet. Dieser Wert dient also effektiv dazu, zu garantieren, dass nSequence-Kanäle betrogen werden, indem die Zahlung an den Verkäufer nach einer bestimmten Zeit sichergestellt wird, selbst wenn der Kanal nicht von nSequence geschlossen wurde.
Dies ist sicherlich eine sehr einfache Lösung, unidirektional (nur der Ersteller des TX könnte damit umgehen), mit begrenzter Lebensdauer (die Verwendung von nLockTime und nSequence ermöglicht keinen unendlichen Betrieb) und ohne sichere Konsensregeln (alles geschieht im Mempool, wo). nichts ist bestätigt). Dennoch war es eine aufschlussreiche Idee.
Und Bitcoin als Mittel zur Schaffung von Zahlungskanälen und zum Aufbau von Systemen zu sehen, die auf seinem OP_CODE basieren, eröffnete viele Möglichkeiten, was Nakamoto mit dieser Idee anmutig zeigte. Der beste? Diese Idee war seit der Bitcoin-Version 0.1.0 anwendbar und daher seit seiner Einführung Teil des Protokolls.
Spilman- und CLTV-Kanäle
Zwei weitere Formen bekannter Zahlungskanäle sind Spilman-Kanäle und CLTV-Kanäle. Die erste davon wurde von Jeremy Spilman vorgeschlagen, bei der Multi-Signatur-Transaktionen mit der Verwendung von nLockTime verknüpft werden, um Fallen zu vermeiden, die den Diebstahl von Geldern ermöglichen. Im Wesentlichen besteht ein Spilman-Kanal aus:
- Erstellen Sie eine 2-von-2-Transaktion mit mehreren Signaturen, bei der Käufer und Verkäufer den Zahlungskanal erstellen. Die Transaktion wird nur erstellt, aber erst dann an das Netzwerk übertragen, wenn der gesamte Vorgang abgeschlossen ist. Diese erste Transaktion wird als Finanzierungstransaktion bezeichnet.
- Als nächstes wird eine Transaktion erstellt, die die vorherige unter Verwendung von nLockTime verbringt, was die Zahlung der Multi-Signatur-TX garantiert. Diese Transaktion wird dem Verkäufer übergeben, der sie unterschreibt und an den Käufer zurücksendet.
- Die erste TX wird zur Bestätigung an das Netzwerk gesendet. Nach der Bestätigung können Sie mit der Bestellung beginnen, was auch immer Sie möchten, da der Zahlungskanal geöffnet wurde.
- Nun wird bei jeder neuen Zahlungstransaktion ein TX erstellt, der die Finanzierungstransaktion ausgibt (die erste erstellte Transaktion). Dieser Vorgang sendet die Zahlung für das, was Sie verlangen, an den Verkäufer und gibt das Wechselgeld an den Käufer zurück. Der Käufer kann so viel ausgeben, wie er möchte, solange sein Finanzierungsgeschäft dies zulässt. Wenn er das Limit überschreitet, kann er nicht mehr ausgeben. Wenn Sie Ihre Ausgaben abgeschlossen haben und den Kanal mit einer Änderung schließen, geht diese automatisch an den Käufer.
Dieses System kann auch mit dem OP_CODE erstellt werden, OP_CHECKLOCKTIMEVERIFY (CLTV). In diesem Fall können Sie mit dem CLTV nur neue Bedingungen für die Schließung des Zahlungskanals einschließen, die bestimmte Fallen vermeiden (z. B. wenn der Verkäufer den Zahlungskanal nicht schließen möchte, wenn Sie mit dem Konsum aufhören möchten). Darüber hinaus minimiert die Verwendung von CLTV die Schritte, da die Erstellung der zweiten Spilman-Kanaltransaktion nicht erforderlich ist.
Diese beiden ersten Erfahrungen führten zur Schaffung von HTLCs, die dann zur Gründung des Lightning Network führten. Dies dient dazu, eine zweite Schicht im Bitcoin-Blockchain-Netzwerk zu implementieren, um Transaktionen außerhalb davon über Zahlungskanäle zu verwalten. Möglich wurde dies durch die Arbeit von Joseph Poon und Tadge Dryja, die dieses System 2016 entwickelten.
Wie funktionieren HTLCs?
Der Betrieb von HTLCs gliedert sich in zwei sehr wichtige Teile. Das erste ist die Fähigkeit, Hashlocks oder Hash-Sperren für die ausgeführten Transaktionen durchzuführen. Und das zweite ist die Fähigkeit zur Umsetzung Timelockoder zeitliche Blockierung derselben Transaktionen. Diese beiden Funktionen zusammen ermöglichen es HTLCs, Transaktionen unter bestimmten, bei der Vertragsausführung vereinbarten Bedingungen auszuführen. Das Beste daran ist, dass diese Transaktionen auf Hash- und Zeitebene geschützt sind. Dadurch sind sie im Vergleich zu anfänglichen Zahlungskanalmodellen wie dem nSequence Channel sehr sicher.
Die Idee dahinter ist, dass ein Teilnehmer, der an der Durchführung einer Transaktion interessiert ist, mit einer anderen Person Kontakt aufnehmen und eine Einigung erzielen kann. Diese Vereinbarung ermöglicht es beiden, Transaktionen zu Bedingungen durchzuführen, die beide akzeptieren. Auf diese Weise können beide Parteien sicher sein, dass bei ihren Abläufen nicht betrogen wird. Dadurch wird sichergestellt, dass Gelder nicht vorab in böswilliger Absicht abgerufen werden können. Und gleichzeitig, dass die durchgeführten Transaktionen korrekt abgeschlossen werden.
Dazu erstellt der HTLC einen eindeutigen Hash des privaten Schlüssels der Transaktion, der an jede der Parteien übermittelt wird (möglichst durch den Hashlock). Auf diese Weise muss jede Partei an der Transaktion teilnehmen, um den Zahlungskanal sowohl zu öffnen als auch zu schließen. Ohne beide Hashes kann die Transaktion (sobald sie eröffnet wurde) nicht geschlossen werden, um eine Zahlung zu fordern. Dies erzwingt die Kommunikation zwischen den Parteien, so dass das Ende der Transaktion gemeinsam unterzeichnet wird.
Einen zweiten zusätzlichen Schutz bietet der Timelock, der eine angemessene Zeit vorgibt, damit die an der Transaktion Beteiligten die notwendigen Aktionen durchführen können, damit die Transaktion problemlos durchgeführt werden kann. Wenn diese Zeit verstreicht und die Transaktion nicht abgeschlossen wird, werden die sekundären Bedingungen dieser Transaktion erfüllt, die es ermöglichen, die Gelder an ihre ursprünglichen Eigentümer zurückzuerhalten. Natürlich können die Bedingungen unterschiedlich sein, aber der Zweck der Zeitsperre besteht darin, den Parteien die nötige Zeit zu geben, den Kanal ordnungsgemäß zu schließen, ohne auf sekundäre Anweisungen zurückgreifen zu müssen.
Das HTLC-Vertragsmodell wurde im Hinblick auf die Einführung des Lightning Network von Bitcoin entwickelt, einem Off-Chain-Netzwerk für Sofortzahlungen, das davon profitiert, um seinen Benutzern Sicherheit zu bieten.
Hauptanwendungen von HTLC
Der Haupteinsatzbereich von HTLCs liegt in der Schaffung von Zahlungskanälen, wie Poon und Dryja in ihrer Arbeit zum Lightning Network beschrieben haben. Tatsächlich sind diese Art von Systemen dank HTLC sicher und ermöglichen eine bidirektionale Kommunikation, sowohl zwischen den Teilnehmern und Erstellern des Kanals als auch zwischen den Sidechain und die Hauptkette der Kryptowährungen, in der das HTLC ausgeführt wird. In diesem Sinne sind HTLCs eine zuverlässige Methode zum Aufbau dieser Art von erweiterten Zahlungsfunktionen, wie LN bisher gezeigt hat.
Eine weitere wichtige Verwendung von HTLC ist Atomtausch. Dank ihrer Off-Chain-Kapazität können HTLCs zwei verschiedene Blockchains miteinander kommunizieren und ihren Nutzern ermöglichen, sofortige atomare Austausche durchzuführen, die dann problemlos auf die Mainchain übertragen werden können.
Vor- und Nachteile von HTLC
Einer der größten Vorteile von HTLC besteht darin, Transaktionen in P2P-Zahlungskanälen zu erleichtern. Auf diese Weise ist es einfach, ein Netzwerk von Knotenpunkten zu schaffen, die alle diese Kanäle außerhalb der Kette verwalten und diese Zahlungen so weiterleiten, dass die Parteien Zahlungen sicher erhalten. Auf diese Weise ist es möglich, ein riesiges, nahezu sofortiges, sicheres und sehr kostengünstiges Zahlungsnetzwerk zu schaffen, ohne Zwischenknoten vertrauen zu müssen.
Ein weiterer Pluspunkt für HTLC ist, dass Zahlungsvorgänge mit genau festgelegten Bedingungen geschützt werden können. Dies kann den Diebstahl von Geldern oder böswillige Handlungen von Parteien innerhalb des Systems verhindern.
Darüber hinaus verbessern HTLCs die Skalierbarkeit und Fähigkeit des Bitcoin-Netzwerks, Mikrozahlungen zu leisten. Dadurch werden Engpässe in der Kette reduziert, Provisionen reduziert und das Netzwerk skaliert, um immer mehr Menschen zu bedienen.
Allerdings ist nicht alles positiv. Viele Experten in der Welt der Kryptographie haben einige Probleme bei HTLCs festgestellt. Zunächst einmal geht es um die Rückverfolgbarkeit von Vorgängen, was bedeutet, dass mit HTLC getätigte Zahlungen nicht anonym sind. Ein weiterer Kritikpunkt ist, dass HTLC zu komplexeren Systemen und damit zu Software mit unerkannten Sicherheitsproblemen führen kann.
Wie viel weißt du, Kryptonaut?
Sind HTLCs eine echte Möglichkeit, Zahlungssysteme mit Bitcoin zu verbessern?WAHR!
Zahlungskanäle gelten seit der Zeit von Satoshi Nakamoto als Weg in die Zukunft, um das Zahlungserlebnis mit Bitcoin zu verbessern. Dies hat dazu geführt, dass Entwickler und ein großer Teil der Bitcoin-Community Zahlungskanäle (einschließlich HTLC) als die Zukunft des Sofortzahlungsverkehrs betrachten, angefangen bei der Spitzentechnologie in dieser Hinsicht, dem Lightning Network (LN).
Weitere Alternativen zu HTLC
Trotz der Vorteile, die die Implementierung von HTLCs bietet, konzentrieren sich einige Entwickler auf die Entwicklung neuer Alternativen zu diesen Smart Contracts. Die Entwickler des Lightning Network-Ökosystems arbeiten gemeinsam daran, tiefgreifende Änderungen an diesem Netzwerk vorzunehmen. Dies geschieht mit dem Ziel, PTLC bei der Ausführung von Transaktionen mit einem viel höheren Maß an Privatsphäre zu nutzen, als dies derzeit von HTLC angeboten wird.
Andere intelligente Verträge, die bei der Ausführung von Transaktionen mit mehreren Signaturen entstehen, wie z Pfahlwurzel. Alles zielt darauf ab, eine neue Ära intelligenter Verträge im Bitcoin-Netzwerk einzuläuten, die den Transaktionen mehr Privatsphäre, Vielseitigkeit und Sicherheit verleihen.