CLTV oder CheckLockTimeVerify ist eine interessante Zeitblockfunktion, die es in Bitcoin gibt und die es Ihren Skripten ermöglicht, eine erweiterte Zeitplanung für Ihre Transaktionen durchzuführen. Eine Funktion, die es Ihnen ermöglicht, erweiterte Skripte zu programmieren, die an die zunehmend wachsende Nachfrage nach Funktionen innerhalb von Bitcoin angepasst sind.
Lbei der Ankunft von Bitcoin, zusammen mit der innovativen Technologie Blockchain, hat eine Welt voller Möglichkeiten eröffnet; darunter programmierbares Geld. Ja, wie Sie hören, programmierbares Geld. Bitcoin integriert viele Funktionen, und eine dieser Funktionen heißt Überprüfung der Sperrzeit (CLTV), was es möglich macht nicht ausgegebene Ausgaben (UTXO) Bitcoins werden blockiert und können erst zu einem vorher festgelegten Zeitpunkt ausgegeben werden.
Die Funktion CLTV wurde integriert Bitcoin Core durch die weiche Gabel BIP-0065, in dem sein Entwickler Peter Todd Beschreiben Sie das Neue Operationscode (OP_CODE) OP_CHECKLOCKTIMEVERIFY. Diese Funktion ermöglicht es, dass eine in Bitcoin getätigte Transaktion zeitlich blockiert bleibt und erst wirksam wird, wenn ein bestimmtes Datum, eine bestimmte Uhrzeit oder eine bestimmte Blockhöhe erreicht ist.
Somit ist die CLTV-Funktion für verschiedene Anwendungsfälle innerhalb des Bitcoin-Systems sehr nützlich und positiv. Zum Beispiel für die langfristige Ansparung von Geldern, die einem Familienmitglied das Studium oder den Abschluss finanzieren sollen. Es ist auch möglich, zukünftige Zahlungen für bestimmte Termine zu planen, beispielsweise für Miete, Nebenkosten, Arzttermine oder sogar eine intelligente Erbschaft.
Ebenso ist diese Funktion besonders wichtig, um neue Zahlungsalternativen zu eröffnen. Zum Beispiel die Erstellung von Bezahlkanäle im CLTV-Stil. Diese Zahlungskanäle Sie ermöglichen die Durchführung von Transaktionen außerhalb der Blockchain und bieten gleichzeitig alle Sicherheit und Vorteile einer herkömmlichen Transaktion, die innerhalb der Kette stattfindet. Darüber hinaus ermöglicht die CLTV-Funktion auch die Einrichtung weiterer Alternativen wie zeitlich begrenzte oder Treuhandrückerstattungen. Die Anwendungsmöglichkeiten und Anwendungsfälle dieser Funktion sind wirklich endlos.
Wie funktioniert CLTV?
Wenn ein Benutzer eine Transaktion mit dem Code einrichtet und durchführt OP_CHECKLOCKTIMEVERIFY, werden die Ausgänge dieser Transaktion nur dann aktiviert, wenn die festgelegte Bedingung erfüllt ist, und nicht zum Zeitpunkt der Durchführung der Transaktion. Dies bedeutet, dass die Transaktion korrekt ausgeführt wird, die Kryptowährungen jedoch bis zu einem späteren Zeitpunkt blockiert bleiben.
Der Code OP_CHECKLOCKTIMEVERIFY läuft als Teil eines Bitcoin-Skripts und seine Programmierung basiert auf der Verwendung von UNIX-Zeiten (Unix-Zeitstempel) oder in den Höhen der Blöcke innerhalb der Blockchain. Das heißt, es muss eine Bedingung für einen dieser Parameter festgelegt werden, um einen Vergleich mit der aktuellen Zeit durchzuführen. So dass er OP_CHECKLOCKTIMEVERIFY prüft das oberste Element des Stapels mit der Zeitsperre (nLockTime), der in der Transaktion festgelegt wurde. Wenn bei diesem Vergleich festgestellt wird, dass die Bedingung erfüllt ist, kann das Skript ausgeführt werden, andernfalls schlägt das Skript fehl.
Die Bedingungen, unter denen das Skript in einer CLTV-Transaktion fehlschlägt, sind wie folgt:
- Dass der Stapel leer ist und es keine definierte Zeit für den Code gibt, um den Vergleich und die Überprüfung durchzuführen.
- Dass, wie bereits erwähnt, das oberste Element des Stapels kleiner ist als die zum Entsperren nicht ausgegebener Ausgaben festgelegte Bedingung. Dies weist darauf hin, dass die zum Entsperren der Transaktion erforderliche Zeit noch nicht abgelaufen ist.
- Ein weiterer Fehlerzustand tritt auf, wenn der festgelegte Zeitblock in Blockhöhe gemessen wird und das oberste Element des Stapels Zeitmessungen (in Sekunden) verwendet oder umgekehrt.
- Feld nSequenz dieses Eintrags ist auf 0xFFFFFFFF gesetzt.
Dann, Eine CLTV-Transaktion kann erst dann in die Blockchain aufgenommen werden, wenn sie die festgelegte Zeit oder Bedingung überschritten hat. Sobald dies geschieht, werden CLTV-Transaktionen überprüft und sofort zur Blockchain hinzugefügt und gelten als ausgegeben.
Beziehung zwischen CLTV und nLockTime
Sowohl CLTV als auch nLockTime Dabei handelt es sich um zwei Funktionen, die es Bitcoin ermöglichen, Aktionen zu programmieren, deren korrekte Ausführung von der Zeit oder der Blockhöhe abhängt. Aber die Beziehung und der Umfang beider geht noch viel weiter. Einerseits stellt nLockTime sicher, dass Bitcoin die Ausführung von Transaktionen auf einer bestimmten Blockhöhe (Blockzeitsperre) oder nach Zeitstempel oder Zeitstempel (spezifische Zeitsperre) planen kann. Damit ermöglicht Bitcoin die Möglichkeit, Zahlungen anhand dieser Parameter zu planen.
Andererseits ermöglicht CLTV das Hinzufügen einer zusätzlichen Verifizierungs- und Programmierebene zu nLockTime. Dies liegt daran, dass CLTV die nLockTime verwendet und überprüft, ob ein aggregierter Satz von Bedingungen, die für seine Aktivierung programmiert wurden, gegeben ist, eine Situation, die mit der ursprünglichen nLockTime viel einfacher war. Mit CLTV können Sie sogar bestimmte ursprüngliche Bedingungen der Transaktion ändern, wenn bestimmte Bedingungen erfüllt sind.
Beispielsweise kann eine 2 von 3 Multisignatur-Adresse, die in einem bestimmten Zeitraum nicht mobilisiert wurde, ihre Authentifizierungsparameter auf 1 von 3 ändern, sodass eine der ursprünglich autorisierten Personen die darin enthaltenen Gelder mobilisieren kann. Dies ist eine einzigartige Funktionalität, die CLTV bieten kann, nLockTime allein jedoch nicht.
Wie viel weißt du, Kryptonaut?
Ist CLTV in der Lage, Skripteigenschaften im Laufe der Zeit und unter bestimmten Bedingungen zu ändern?WAHR!
Eine der großartigsten Funktionen von CLTV besteht darin, dass Sie damit Skripte erstellen können, mit denen Sie die Bedingungen für die Aktivierung eines Ereignisses oder einer Transaktion in der Bitcoin-Blockchain einfach ändern können.
CLTV-Implementierung
Eines der größten und wichtigsten Potenziale der CLTV-Funktion besteht darin, die Erstellung und korrekte Umsetzung von Bezahlkanälen zu ermöglichen. Durch Zahlungskanäle können Mikrotransaktionen außerhalb der Blockchain erstellt werden. Und das alles, ohne dass für jeden so viele Provisionen gezahlt werden müssen und ohne dass die Blockchain zusammenbricht.
Bei Zahlungskanälen kann ein Benutzer eine Transaktion mit einem anderen durchführen, indem er einen bestimmten Betrag an Kryptowährung in ein Konto einzahlt Multi-Signatur-Adresse (MultiSig). Beide Benutzer haben Zugriff auf diese Adresse. Und der Benutzer, der die Transaktion durchführt, kann kleine Transaktionen unterzeichnen, die aus diesen Mitteln an den anderen Benutzer getätigt werden. Dies so lange, bis Sie das gewünschte Produkt erhalten. Das verbleibende Guthaben wird Ihnen im Rahmen einer Rückgabetransaktion für jede von Ihnen getätigte Mikrotransaktion zurückerstattet. Währenddessen kann der Händler die endgültige Gesamtzahlung einfordern, die ohne Absturz der Blockchain erfolgt ist und für die Maria nur eine Provision gezahlt hat.
Beispiel für die Funktionsweise von CLTV
Wenn María ein Video ansehen möchte, muss sie dafür 1 Sat pro angesehene Sekunde bezahlen. Es liegt nicht in Marias Interesse, diese 1-Sat-Transaktionen pro Sekunde über eine herkömmliche Bitcoin-Transaktion durchzuführen. Denn hierfür müssen Sie die Provision für jede von Ihnen getätigte Transaktion bezahlen. Sie müssen auch warten, bis die Transaktion in einem Block bestätigt wird; Was passiert alle 10 Minuten in Bitcoin?
Da dies nicht bequem ist, beschließt María, einen Zahlungskanal einzurichten. In diesem Kanal tätigen Sie eine Einzahlung an eine Multi-Signatur-Adresse von 0.5 BTC, was 50.000.000 Satoshis entspricht. Sowohl der Händler als auch Maria haben Zugriff auf die Multi-Signatur-Adresse. Wenn Maria also beginnt, das Video anzusehen, unterzeichnet sie eine Transaktion, bei der sie für die erste angesehene Sekunde 1 Sat an den Händler sendet. Und 49.999.999 Sitze an eine andere Adresse Ihrer Zugehörigkeit.
Dieser Vorgang wird mehrmals wiederholt, solange Maria das Video weiter anschaut. Das heißt, sie wird weiterhin Mikrotransaktionen unterzeichnen und den Betrag an Satoshis zahlen, der den Sekunden entspricht, die sie das Video anschaut, und ihre Rücksendungen an einer Absenderadresse hinterlegen. Wenn Maria nur 2 Sekunden des Videos angesehen hat, unterzeichnet sie eine neue Transaktion, dieses Mal jedoch für 2 Sats für den Händler und 49.999.998 Sats für ihre Absenderadresse. Wenn Sie die Anzeige nur 3 Sekunden lang angesehen haben, unterzeichnen Sie eine weitere Transaktion, dieses Mal jedoch für 3 Sats für den Händler und 49.999.997 Sats für Ihre Absenderadresse.
Während dieses Vorgangs werden 1 Sat- oder 2 Sat-Transaktionen nicht vom Händler beansprucht oder unterzeichnet. Stattdessen wird sie darauf warten, dass María alles sieht, was sie von dem Video will, und die Restzahlung verlangen. Das ist die größte Transaktion. Die restlichen zu Beginn getätigten Transaktionen werden nicht unterzeichnet, da dies einen doppelten Aufwand bedeuten würde. Der Händler muss sich also für die größte Transaktion entscheiden, die alle erhaltenen Satoshis enthält, in diesem Beispiel die Transaktion von 3 Satoshis.
Darüber hinaus unterzeichnet der Händler am Ende nur eine Transaktion, diese wird der Blockchain hinzugefügt und ist die einzige, für die die den Minern entsprechende Provision gezahlt werden muss. Darüber hinaus kann Maria a implementieren CLTV-Transaktion zu Beginn, um die Rückerstattung Ihres an der Multi-Signatur-Adresse hinterlegten Geldes zu gewährleisten. Wenn Sie eine bestimmte Zeit festlegen, zu der Sie beide die Transaktion unterzeichnen müssen, und aus irgendeinem Grund, kann einer oder keiner von Ihnen die Transaktion vor diesem Zeitpunkt unterzeichnen. So kann María ihr Geld zurückbekommen. Denn wenn die Transaktion nicht vor Ablauf der festgelegten Bedingung unterzeichnet wird, kann María die Transaktion unterzeichnen und ihr Geld nach Ablauf der festgelegten Zeit zurückerhalten.
Also zusammenfassend der Code OP_CHECKLOCKTIMEVERIFY bietet einen positiven Vorteil für die Umsetzung intelligente Verträge. Dies garantiert die Integrität der Gelder, bis der festgelegte Zeitstempel oder die Blockhöhe erreicht ist. Gleichzeitig werden Systemausfälle aufgrund von vermieden Formbarkeit von Transaktionen.