What is Lightning Protocol? Blockchain Scaling Solutions

Ameer Rosic

2 years ago
6 COMMENTS
en flag
de flag

Was ist Lightning Protocol + Raiden? Blockchain Scaling Solutions Handbuch.

Bitcoin und Ethereum werden immer beliebter, das leugnet nicht. Dies ist ein Diagramm der Anzahl der täglichen Bitcoin-Transaktionen, die im Laufe der Jahre verfolgt werden:

What is Raiden & lightning Protocol? Blockchain Scaling Solutions

Bildfreundlichkeit: Wikipedia

Und hier haben wir die Anzahl der Ethereum Transaktionen pro Monat im Laufe der Jahre:

What is Raiden & lightning Protocol? Blockchain Scaling Solutions

Bildfreundlichkeit: Etherscan

Was ist Lightning Protocol? Blockchain-Skalierungslösungen

Während dies ein großes Zeichen ist und zeigt, wie Kryptowährungen weit verbreitet und akzeptiert werden, gibt es ein großes Problem, das in letzter Zeit seinen hässlichen Kopf aufgezogen hat. Aufgrund der plötzlichen Zunahme der Anzahl der Transaktionen stehen sowohl Bitcoin als auch Ethereum mit schweren Skalierbarkeitsproblemen konfrontiert.

Die Skalierbarkeitsprobleme ergeben sich aus der Art und Weise, wie das offene Buchsystem entworfen wurde. Angenommen, Alice muss 1 BTC an Bob senden, wie wird der Prozess funktionieren? Alice kann Bob das Geld nicht physisch geben, Bitcoin ist schließlich digital. Die Art und Weise, wie die Transaktion stattfinden wird, ist einfach:

Alice erklärt, dass sie 1 BTC an Bob senden und die Transaktionsdetails an die Bergleute senden will.

Die Bergleute überprüfen, dass es tatsächlich Alice die Anfrage und niemand sonst sendet, und sie genehmigen folglich die Transaktion, indem sie sie in die Blöcke setzen, die sie abgebaut haben.

Bob bekommt die 1 BTC.

Train, um ein Blockchain-Entwickler zu werden Starten Sie Ihre kostenlose Testversion noch heute!

Also, was ist das Problem in dieser ganzen Reihenfolge?

Die Bergleute werden zu einem Engpass für die gesamte Transaktion.

Tatsache ist, dass die Bergleute einfach nicht mithalten können, da die Zahl der Transaktionen immer weiter zunimmt. Es gibt so ziemlich einen Rückstand, der als Folge von Transaktionen geschieht, die nicht schnell genug verifiziert werden.

Außerdem gibt es auch die geringe Frage der Transaktionsgebühren. Immer wenn Bergleute einen Block abbauen, werden sie temporäre Diktatoren dieses Blocks. Das bedeutet, dass sie eine nominale „Transaktionsgebühr“ berechnen können, um Transaktionsdaten in ihre Blöcke einzufügen. Um jedoch ihre Transaktionen schneller zu machen und sozusagen die Warteschlange zu springen, können die Leute höhere Transaktionsgebühren zahlen, um die Bergleute dazu zu bringen, ihre Transaktionen zuerst zu überprüfen.

Leider führt dies zu einem großen Problem.

Normale Bitcoin-Benutzer, die die normalen Transaktionsgebühren bezahlen, müssen meistens lange warten, bis ihre Transaktionen genehmigt werden. Mal sehen, wie viel Zeit man im Durchschnitt warten müsste, wenn sie die geringstmöglichen Transaktionsgebühren zahlen.

What is Raiden & lightning Protocol? Blockchain Scaling Solutions

Bild mit freundlicher Genehmigung: Business Insider.

Wenn Sie die niedrigsten möglichen Transaktionsgebühren zahlen, müssen Sie auf eine Medianzeit von 13 Minuten warten, bis Ihre Transaktion durchläuft. 13 Minuten! Meistens mussten die Transaktionen warten, bis ein neuer Block abgebaut wurde (also 10 Minuten in Bitcoin), da die älteren Blöcke mit Transaktionen füllen würden.

Jetzt sieht es ziemlich düster aus, wenn es um Bitcoin geht. Mal sehen, wie die Dinge in Ethereum's Ecke aussehen.

Theoretisch soll Ethereum 1000 Transaktionen pro Sekunde verarbeiten. In der Praxis ist Ethereum jedoch um 6,7 Millionen Gasbegrenzung auf jedem Block begrenzt.

What is Raiden & Lighting Protocol? Blockchain Scaling Solutions

Bild mit freundlicher Genehmigung: Hackernoon

Da jeder Block eine Gasgrenze hat, können die Bergleute nur Transaktionen hinzufügen, deren Gasbedarf sich auf etwas summieren, das gleich oder kleiner als die Gasgrenze des Blocks ist.

What is Raiden & lightning Protocol? Blockchain Scaling Solutions

Bild mit freundlicher Genehmigung: Hackernoon

Dies stellt wiederum einen Engpass für die Anzahl der Transaktionen dar, die pro Block durchlaufen können.

Ethereum verwaltete nur 20 Transaktionen pro Sekunde, während Bitcoin mit 7 Jahren unterwegs war. Wenn Sie dies mit der Tatsache vergleichen, dass Paypal 193 Transaktionen pro Sekunde verwaltet und Visa 1667 pro Sekunde, konnten Sie sehen w0hy es gab ein großes Problem und warum dies schnell gelöst werden musste.

Eine Möglichkeit, dass Bitcoin sein Skalierbarkeitsproblem löst, ist über Segwit und Blockgrößenerhöhung. In diesem Artikel werden wir uns jedoch auf zwei sehr interessante Vorschläge konzentrieren, die nicht nur die Skalierbarkeitsprobleme lösen können, sondern sogar 1000s Transaktionen pro Sekunde ermöglichen können. Sie sind:

Lightning-Protokoll (Bitcoin).

Raiden Netzwerk (Ethereum).

Was ist Lighting Protocol? + Raiden

What is Raiden & lightning Protocol? Blockchain Scaling Solutions

Bevor wir in diese beiden einsteigen, gibt es einige Dinge, die angesprochen werden müssen.

Ein Zustandskanal ist ein Zwei-Wege-Kommunikationskanal zwischen Teilnehmern, der es ihnen ermöglicht, Interaktionen durchzuführen, die normalerweise auf der Blockchain auftreten würden, abseits der Blockchain. Was dies tun wird, ist, dass es die Transaktionszeit exponentiell verkürzt, da Sie nicht mehr von einem Dritten wie einem Bergmann abhängig sind, um Ihre Transaktion zu validieren.

Was sind die Voraussetzungen, um einen Off-Chain-Zustandskanal zu machen?

Ein Segment des Blockchain-Status wird über Multi-Signatur oder eine Art Smart Contract gesperrt, der von einer Gruppe von Teilnehmern vereinbart wird.

Die Teilnehmer interagieren miteinander, indem sie Transaktionen untereinander unterschreiben, ohne etwas an die Bergleute einzureichen.

Der gesamte Transaktionssatz wird dann zur Blockchain hinzugefügt.

Die staatlichen Kanäle können an einem Punkt geschlossen werden, der von den Teilnehmern nach SLOCK.it Gründer Stephan Thual vorgegeben wird. Es könnte entweder sein:

Die Teilnehmer können zustimmen, einen Staatskanal zu öffnen und nach 2 Stunden zu schließen.

Es könnte auf der Gesamtsumme der Transaktionen basieren, zB. Schließen Sie die Kette, nachdem Transaktionen im Wert von $100 stattgefunden haben.

What is Raiden & lightning Protocol? Blockchain Scaling Solutions

Bild Courtesy: Stephan Tual Medium Artikel

Also, im Bild oben. Wir haben ein Auto, das direkt mit dem Ladegerät interagiert und Transaktionen im Wert von $39.19 durchführt. Schließlich wird nach einer Reihe von Interaktionen der gesamte Transaktionsabschnitt zur Blockchain hinzugefügt. Stellen Sie sich vor, wie viel Zeit es gedauert hätte, wenn sie jede einzelne Transaktion durch die Blockchain ausführen müssten!

Ein Zahlungsweg ist im Grunde ein staatlicher Kanal, der sich ausschließlich mit Zahlungen und Micropayments zwischen den Parteien befasst. Denken Sie daran, dass alle Interaktionen auf den Kanälen Dinge sind, die auf der Blockchain passieren könnten, aber davon abgehen. Es gibt verschiedene Arten von Zahlungskanal-Designs, lassen Sie uns durch einige der beliebtesten gehen.

Eines der frühesten Beispiele für den Zahlungsweg wurde von Satoshi Nakamoto selbst vorgeschlagen.

Dieses System verwendet einige interessante Funktionen:

Transaktionsersatz.

Eingangssequenznummern (nSequenz).

NLockTime.

„NLockTime“ ist im Grunde der Parameter, der die Zeit definiert, vor der die Transaktion nicht in den Block akzeptiert werden konnte. Das Konzept ist ziemlich einfach. Es gibt einen Wert namens „UINT_MAX“ und die NSequence kann diese Zahl nicht überschreiten. Angenommen, es gibt eine unbestätigte Transaktion und man kann das ändern, bevor man es in den Block setzt, bevor die Zeit „nLockTime“ abläuft ODER nSequence gleich „UINT_MAX“ wird. Für jeden Ersatz wird die Sequenznummer höher.

Es gab jedoch viele Sicherheitsprobleme mit diesem und wurde nie ordnungsgemäß ausgeführt.

Bevor wir fortfahren, gibt es zwei Dinge, die wir beachten müssen.

Zunächst möchten wir David A Harding einen Ausruf für die Erklärung von Spillman-Style und CLTV-Style Payment Channels geben.

Zweitens, bevor wir fortfahren, müssen Sie wissen, was eine Multi-Sig-P2SH-Adresse bedeutet.

Wenn es um Adressen in Bitcoin geht, gibt es zwei Arten:

P2PKH-Adresse aka Pay-to-Pubkey Hash-Adresse.

P2SH-Adresse aka Pay-to-Skript-Hash-Adresse.

Eine „normale“ Bitcoin-Adresse sieht folgendermaßen aus: „15fxdtyfl1p53qq8nkrjbqPubpWVWmz3g9“. Dies ist eine normale P2PKH-Adresse. Um die an diese Adresse gesendeten Bitcoins auszugeben, muss man einfach mit dem entsprechenden privaten Schlüssel entschlüsseln und Zugang erhalten.

Ein Bitcoin kann jedoch vielseitigere Ausgabenbedingungen haben als das. Sie können viel mehr als einfache P2PKH-Transaktionen erstellen. Die Leute erkannten das schon früh und fingen an, mit dem „ScriptPubkey“ in Bitcoins Script Language zu spielen.

Was ist der ScriptPubKey?

So sieht eine einfache 1 Eingabe- und 1 Ausgabetransaktion aus:

What is Raiden & lightning Protocol? Blockchain Scaling Solutions

Mit freundlicher Genehmigung: Bitcoin Wiki

Der „ScriptPubKey“ in der obigen „Ausgabe“ diktiert grundsätzlich die Ausgabenbedingungen. Sie können dem ScriptPubKey grundsätzlich eigene Codezeilen hinzufügen und die Ausgabenbedingung selbst definieren. Die Kernentwickler sahen dies vor und um zu verhindern, dass Spender lange Zeilen Code unter den Bedingungen einfügen, ermöglichten sie ihnen stattdessen, stattdessen Hashes ihrer Bedingungen einzugeben. Diese Bedingungen werden als Redeem-Skript bezeichnet. In einer P2SH-Transaktion enthält der ScriptPubKey nur den Hash des Redeem-Skripts. Das Skript selbst wird nur während der ausstehenden Transaktion offenbart und verifiziert.

Aus diesem Grund passiert eine sehr wichtige Sache. Da die Skriptverifizierung nur während der Ausgabentransaktion erfolgt, entfällt die Verantwortung, das vollständige Einlösungsskript vom Absender an den Empfänger bereitzustellen. Dies wiederum bietet viele Vorteile:

Ein Absender kann Geld an jede Multisig-Transaktion senden, ohne die vollständigen Details der Transaktion zu kennen. Dies hilft viel in der Abstraktion. Meistens, wenn Sie Geld ausgeben, kümmern Sie sich selten darum, was mit Ihrem Geld passieren wird, nachdem Sie es übergeben haben. Dieselbe Logik wird auch hier verwendet.

Es ist viel einfacher für Absender, Geld an kurze und gut definierte Hashes aka Skript-Hash zu senden, anstatt lange und verwirrende Skripte.

Das ist also eine allgemeine Erklärung dafür, was eine mutisig P2SH-Adresse ist. Eine Adresse, die an einen Skripthash“ anstelle einer öffentlichen Adresse zahlt. Gehen wir nun zu unseren Beispielen für Zahlungswege zurück.

Dieser Stil der Zahlungswege wurde in der Bitcoin-Entwicklungs-Mailingliste beschrieben und in „bitcoinj“ implementiert. Der Spillman-Stil verwendet zwei separate Transaktionen, die Einzahlung und die Rückerstattung. Also, schauen wir uns den Prozess an:

Alice (die Kaufmannin) gibt ihrem Kunden ihren öffentlichen Schlüssel bekannt als Bob.

Bob verwendet seinen öffentlichen Schlüssel und Alices öffentlichen Schlüssel, um eine multisig p2sh Adresse zu erstellen, die Unterschriften von Alice und Bob erfordert, um alle an diese Adresse gezahlten Mittel auszugeben.

Bob erstellt eine Transaktion, übermittelt sie aber nicht. Er benutzt diese Transaktion, um die Multisig-Adresse zu bezahlen. Diese Transaktion ist die Kaution.

Bob erstellt jetzt eine zweite Transaktion, die dieselbe ist wie zuvor und verwendet diese, um die vorherige Transaktion zu überschreiben. Infolgedessen geht der erste an Bobs Adresse zurück. Bob deklariert dann ein Timelock für die zweite Transaktion, um sicherzustellen, dass es nicht vor einer bestimmten Zeit in den Block kommt und es signiert.

Bob gibt diese zweite Transaktion Alice, die dann fortfährt, sie zu unterschreiben und sie an Bob zurückzugeben. Denken Sie daran, Alice hat die Einzahlungstransaktion immer noch nicht gesehen, d. h. die erste Transaktion.

Nun, Bob hat eine Transaktion, die sowohl von ihm als auch Alice unterzeichnet wurde und als Rückerstattung fungiert. Wenn also Alice, der Händler, einen bestimmten Job nicht erledigt, bevor der Zeitrahmen abläuft, kann Bob die Rückerstattungs-Transaktion für sich selbst beantragen.

Jetzt, da die Rückerstattung von allen anwesenden Parteien unterzeichnet wurde, kann Bob sicher seine Einzahlungstransaktion erklären und zur Blockchain hinzufügen.

Während der Spillman-Stil nützlich war, um einen Zahlungskanal zu schaffen, der die Händler ehrlich halten würde, war er immer noch anfällig für Temperbarkeit. Wenn die Einzahlungstransaktion von Bob übertragen wird, muss sie Byte-für-Byte-gleiche wie die Erstattungs-Transaktion sein. Wenn dies nicht der Fall ist, ist die Erstattungs-Transaktion nicht mehr gültig.

Um diese Probleme zu lösen, wurden CLTV-Zahlungskanäle nach BIP 65 implementiert. Mal sehen, wie es funktioniert:

Alice (The Merchant) gibt Bob (dem Kunden) ihren öffentlichen Schlüssel.

Bob verwendet seinen öffentlichen Schlüssel und Alice's, um eine P2SH-Adresse unter Verwendung der folgenden Bedingungen zu erstellen: Bedingung 1: Alice und Bob unterzeichnen jede Transaktion, die über diese Adresse geschieht. Bedingung 2: Nur Bob kann jede Transaktion auf eigene Faust signieren, aber diese Transaktionen müssen eine Sperrzeit haben, die größer als die Erstattung ist. Kaution.

Bob erstellt sofort eine Einzahlungstransaktion und sendet sie auf der Blockchain. Aufgrund des obigen Zustands 2 ist er versichert, dass er bei Bedarf so ziemlich eine Rückerstattung generieren kann.

Denken Sie daran, dass die erste Bedingung besagt, dass Alice und Bob alle Transaktionen anmelden müssen, die in der P2SH-Adresse geschieht. Also, Bob (der Kunde) kann seinen Teil der Transaktion unterschreiben und Alice kann ihren Teil unterschreiben, ohne Bob ihre Unterschriftendetails zu offenbaren. Dadurch kann Alice die endgültige Zahlung an die Blockchain übertragen, bevor die Rückerstattung übertragen werden kann.

Der größte Vorteil, den diese Methode gegenüber dem Spillman-Stil hat, ist die Entfernung der Temperbarkeit, die sie beeinflussen kann. Im Spillman-Stil war Bob durch die Tatsache Engpässe, dass er eine Einzahlung senden musste, die dem Erstattungsbyte für Byte entspricht. Er musste im Grunde vorschreiben, was er nicht mehr tun muss. Diese Kanäle verwenden den „OP_CLTV opcode“, der dank BIP 65 aktiviert wurde.

Hashed Timelock Verträge oder „HTLCs“ sind eine der bequemsten Anwendungen der Zahlungswege. Tatsächlich ist das Lightning-Protokoll eine Implementierung des HTLC. Also, was ist ein HTLC? Bis jetzt haben wir Kanäle gesehen, die „Timelocks“ verwenden. Ein HTLC „erweitert“ dies durch die Einführung von „Hashlocks“ zusammen mit den Timelocks.

Der HTLC ermöglicht die Öffnung von Zahlungskanälen, auf denen Gelder vor einer vorab vereinbarten Frist zwischen den Parteien übertragen werden können. Diese Zahlungen werden durch die Vorlage kryptografischer Beweise bestätigt. Darüber hinaus ist ein weiteres geniales Merkmal der HTLCs, dass es einer Partei ermöglicht, die Zahlung zu verfallen und sie an den Zahler zurückzugeben. Darüber hinaus können Zahlungen auch kanalübergreifend erfolgen.

Außerdem gibt es eine weitere erstaunliche Funktion, die dank der HTLC kommt. Es macht Cross-Chain-Transaktionen möglich. Dies wird atomarer Cross Chain Trading genannt und ermöglicht es Benutzern, einen Teil der Kryptowährung auf einer Kette (zB Bitcoin auf der Hauptblockchain) gegen einen Teil der Kryptowährung auf einer anderen Kette (Bitcoin auf einer Sidechain) auszutauschen.

Also, wie funktioniert der HTLC?

Stellen Sie sich vor, Alice muss Charlie über Bob Geld schicken.

Alice öffnet einen Kanal mit Bob und Bob öffnet einen Kanal mit Charlie.

Angenommen, Alice erklärt, dass sie mit Charlie interagieren will.

Charlie deklariert eine Zufallszahl und generiert ihren SHA256-Hash und übergibt sie an Alice. Grundsätzlich, wenn Charlie eine Zahl A wählt, dann wird er den Hash der Zahl H (A) geben.

Alice sendet 0.1 BTC an Bob mit der Bedingung, dass nur jemand, der die Daten übermitteln kann, die erforderlich sind, um den gleichen Hash zu erhalten, die Zahlung abrufen kann. Damit Bob die Mittel missbrauchen kann, muss er die Daten alias das Pre-Image haben, das benötigt wird, um diesen Hash zu generieren. Grundsätzlich muss Bob „A“ geben, was er nicht hat.

Bob übergibt jetzt Charlie die Mittel unter dem gleichen Zustand. Charlie schließt die Zahlung von Bob ab, indem er ihm das Vorbild „A“ übergibt.

Bob beendet die Zahlung von Alice, indem sie ihr „A“ übergibt.

Das Lightning-Netzwerk ist ein Off-Chain-Micropayment-System im HTLC-Stil, das dazu dient, Transaktionen in der Blockchain schneller arbeiten zu lassen. Es wurde von Joseph Poon und Tadge Dryja in ihrem Whitepaper konzeptualisiert, das darauf abzielte, die Blockgrößenbegrenzung und die Transaktionsverzögerung zu lösen. Es funktioniert auf Bitcoin und wird oft als „Layer 2“ bezeichnet.

Wie Jimmy Song in seinem Medium Artikel feststellt:

„Das Lightning-Netzwerk erstellt eine doppelt signierte Transaktion. Das heißt, wir haben einen neuen Scheck, bei dem beide Parteien unterschreiben müssen, damit er gültig ist. Die Überprüfung gibt an, wie viel von einer Partei zu einer anderen gesendet wird. Da neue Mikrozahlungen von einer Partei zur anderen geleistet werden, wird der Betrag auf dem Scheck geändert und beide Parteien unterzeichnen das Ergebnis.“

Also, lassen Sie uns einige der Funktionen überprüfen, die dank des Lightning-Netzwerks kommen:

Schnelle Zahlungen: Zahlungen sind fast augenblicklich.

Nicht abhängig von Bergleuten: Transaktionen müssen nicht von Bergleuten genehmigt und verifiziert werden, damit sie durchlaufen können.

Micropayment-freundlich: Frühere Micropayments waren extrem unbequem auf der Bitcoin-Blockchain. Jetzt sind sie dank des Blitznetzwerks möglich.

Multi-Signatur-freundlich: Die Transaktionen werden durchgeführt, wenn und nur, wenn alle im Kanal anwesenden Personen genehmigen.

Reduziert Blockchain-Last: Wenn so viele Transaktionen der Kette stattfinden, reduziert es die Last, die die Hauptkette übernehmen muss.

Verkürzt die Wartezeit: Da die Transaktionen außerhalb der Kette stattfinden und ohne Miner-Intervention, gibt es wenig bis keine Wartezeit.

Hilft bei der Skalierbarkeit, da es die Anzahl der Transaktionen pro Sekunde erhöht.

What is Lightning Protocol? Blockchain Scaling Solutions

So erstaunlich das Blitznetz ist, es gab ein großes Hindernis davor, das verwaltet werden musste. Das Blitznetz, wie bei allen Zahlungskanalmethoden, ist anfällig für Transaktionsformität.

Bevor wir verstehen, was Transaktionsformbarkeit ist, ist es wichtig, eine der wichtigsten Funktionen im Kryptoökonomie-Modell wiederzuerfassen... Hashing. Wir haben einen Artikel geschrieben, vor dem Hashing im Detail behandelt. Nur um Ihnen einen kurzen Überblick zu geben, kann eine Hashing-Funktion jede Eingabe beliebiger Länge aufnehmen, aber die Ausgabe, die sie gibt, ist immer von einer festen Länge.

Es gibt jedoch eine andere wichtige Funktion des Hashings, die Sie wissen müssen, um den „Transaction Temleability Bug“ wie er genannt wird zu verstehen. Jede kleine Änderung der Eingabedaten ändert den Ausgabe-Hash drastisch.

Z.B. Prüfen Sie diesen Test, den wir mit SHA-256 alias dem in Bitcoin verwendeten Hash-Algorithmus gemacht haben:

What is Raiden & lightning Protocol? Blockchain Scaling Solutions

Dies ist ein Test

C7BE1ED902FB8DD4D48997C6452F5D7E509FBCDBE2808B16BCF4EDCE4C07D14E

Dies ist ein Test

2E99758548972A8E8822AD47FA1017FF72F06F3FF6A016851F45C398732BC50C

Siehst du das?

Wir haben gerade „T“ von Großbuchstaben auf Kleinbuchstaben geändert und sehen uns an, was es mit der Ausgabe gemacht hat!

Eine weitere Sache, die Sie über die Blockchain verstehen müssen, ist, dass sie unveränderlich ist, dh sobald die Daten in einen Block eingefügt wurden, können sie nie geändert werden. Während dies ein Sicherheitsnetz gegen Korruption beweist, gab es eine Schwäche, die niemand kommen sah.

Was wäre, wenn die Daten manipuliert wurden?

es sogar in den Block eingedrungen? Selbst wenn die Leute später davon erfahren haben, gab es nichts, was jemand dagegen tun kann, weil Daten, die einmal in einen Block eingegeben wurden, niemals herausgenommen werden können! Aus diesem Grunde ist die Verformbarkeit von Transaktionen ein solches Problem.

Warum passiert Transaktionsverformbarkeit?

Jede Bitcoin-Transaktion hat Eingabedaten und Ausgabedaten.

Lassen Sie uns die Eingabedaten insbesondere sehen:

What is Raiden & lightning Protocol? Blockchain Scaling Solutions

Bild mit freundlicher Genehmigung: djp3 youtube Kanal.

Es besteht aus der Anzahl der erfassten Transaktionseingaben und den Signaturdaten. Die Signaturdaten verursachen zwei Probleme:

Es ist extrem sperrig und benötigt viel Platz.

Es kann manipuliert werden und somit zu Transaktionsformbarkeit führen.

Tatsächlich kann die Manipulation von Signaturdaten dazu führen, dass die Transaktion überhaupt nicht stattgefunden hat. Lassen Sie uns das in einem Beispiel sehen.

Angenommen, Bob will, dass Alice ihm 3 BTC schickt. Alice initiiert eine 3 BTC-Transaktion an Bobs öffentliche Adresse und sendet sie dann zur Genehmigung an die Bergleute. Während die Transaktion in der Warteschlange wartet, verwendet Bob die Transaktionsverformbarkeit, um Alices Signatur zu ändern und die Transaktions-ID zu ändern.

Jetzt besteht die Möglichkeit, dass diese manipulierte Transaktion genehmigt wird, bevor Alice genehmigt wird, was wiederum Alices Transaktion überschreibt. Als Bob seine 3 BTC bekommt, kann er Alice einfach sagen, dass er nicht die 3 BTC bekommen, die sie ihm schuldete. Alice wird dann sehen, dass ihre Transaktion nicht durchlief und wird sie es erneut senden. Als Ergebnis wird Bob mit 6 BTC anstelle von 3 BTC enden.

Also, lasst uns das klarstellen. Kann Temperierbarkeit Blitzprotokolle dauerhaft zerstören? Nein, es kann nicht, aber es kann die gesamte Erfahrung sehr langsam und ärgerlich machen. Temperierte Transaktionen werden in verschiedenen Schritten im Kanal stecken bleiben. Der einzige Weg, dass dies dauerhaft gelöst werden kann, besteht darin, Vertrauen in das System einzuführen oder sehr unbequeme Timeouts festzulegen. Es gibt viele Gründe, warum dies unerwünscht ist:

Die Timeouts können lästig werden.

Jedes System, das auf Vertrauen basiert, ist beschädigt. Das ist die grundlegende Philosophie hinter Bitcoin, ein System zu bauen, das völlig vertrauenswürdig ist. Ein System, das sich ehrlich halten kann, ohne sich auf das Vertrauen einzelner Menschen zu verlassen, ist das perfekte System.

Also, um vorwärts zu gehen und wirklich mit Blitz zu skalieren, wurde eine Lösung für das Problem der Formbarkeit benötigt, und diese Lösung kam in Form von Segwit.

Segwit aka segregated Zeuge hatte ein sehr einfaches Konzept. Wenn die meisten Probleme durch die Signaturdaten in den Blöcken entstanden sind, warum können wir es nicht einfach aufheben und in einer parallelen Seitenkette halten? Grundsätzlich setzen Sie die gesamte Transaktion abzüglich der Signaturdaten in der Hauptkette ein und legen Sie alle Signaturdaten in eine Seitenkette.

So würde ein Block wie post segwit aussehen:

What is Raiden & lightning Protocol? Blockchain Scaling Solutions

Durch das Entfernen der Signaturdaten aus den Transaktionen tötete es zwei Fliegen mit einer Klappe, der Blockraum wurde leer und die Transaktionen wurden formbar frei. Mit einem Schlag löste Segwit das Problem der Verformbarkeit und ebnete den Weg für eine nahtlose Lightning-Netzwerkintegration.

Ethereum Version des Lightning-Protokolls heißt Raiden. Im Ethereum passieren 20 Transaktionen pro Sekunde. Um die Dinge zu beschleunigen und schnellere Transaktionen von Ether- und ERC20-Token zu ermöglichen, wird das Raiden-Netzwerk eingeführt, das ziemlich ähnlich wie das Lightning-Protokoll verhält und schnelle Transaktionen in privaten Kanälen ermöglicht.

Während das ausgewachsene Raiden-Netzwerk noch nicht vollständig bereit ist, ist die Tatsache, dass viele Leute nur Raiden für viele Zahlungsfunktionen benötigen. So wurde für sie micro Raiden (µRaiden) geschaffen, die einfache und schnelle Mikropayment-Strukturen ermöglicht.

Die Sache ist, dass Ethereum für sofortige Transaktionen weitgehend unpraktisch ist. Es gibt eine lange Warteschlange für Transaktionen, die zu den verschiedenen Blöcken in der Blockchain hinzugefügt werden, und in den meisten Fällen müssen Sie riesige Gebühren zahlen, um die Linie zu schneiden. Was das Raiden-Netzwerk tun wird, ist, dass es Menschen im Netzwerk helfen wird, sofortige Zahlungen über Zahlungswege zu tätigen.

Raiden wird wie eine Netzstruktur strukturiert sein, die oben auf der Ethereum Hauptkette läuft:

What is Raiden & lightning Protocol? Blockchain Scaling Solutions

Bildfreundlichkeit: Hacked.com

Raiden wurde von der Brainbot Technologie konzipiert. Das sagte Gründer und CEO Heiko Hees über Raiden:

„Grundsätzlich werden alle Blockchain-basierten Anwendungen, die auf die reale Nutzung skalieren wollen, von Raiden profitieren. Es kann für Anwendungen wie Asset-Trading in Gaming oder Finanzen, Retail-Zahlungen, Micropayments für Inhalte verwendet werden (denken Sie, das nächste YouTube oder Spotify, wo YouTuber direkt für jede verbrauchte Sekunde bezahlt werden). Aber es eignet sich auch als Infrastruktur für billigeres, schnelleres und sichereres Korrespondenzbanking.“

Also, wie funktioniert Raiden?

Angenommen, Alice und Bob wollen mit Raiden miteinander interagieren. So werden sie es tun

Alice und Bob öffnen einen Zahlungskanal zwischen ihnen, die außerhalb der Kette sein wird und sie einen intelligenten Vertrag bereitstellen.

Beide Parteien leisten eine Kaution im Smart Contract.

Angenommen, Alice will 3 Token an Bob senden, sie signiert die Nachricht „3“ und sendet sie an Bob. Bob hat jetzt den Beweis, dass Alice ihm 3 Token schickt.

Angenommen, Alice will Bob 4 weitere Token schicken. Sie wird den Zustand der Nachricht auf „7“ aktualisieren. Dies zeigt, dass die Nachricht auch die vorherige und die letzte Transaktion vermittelt.

In dem Moment, in dem Bob die 7 Token einlösen will, wird er die Blockchain gehen und den Kanal schließen. Er erhält die 7 Token aus der Einzahlung, die ursprünglich im Kanal gemacht wurde.

Die Informationen werden an die Blockchain weitergeleitet und der einzige Datensatz, der gespeichert wird, ist die letzte 7 Token-Einzahlung an Bob.

Raiden wird ein ICO haben, um für seinen Einrichtungsprozess zu finanzieren. Während des ICO werden Investoren den Raiden-Token RDN in die Hände bekommen. Was nützt dieses Token? Das Design des Raiden Network ist so, dass es unweigerlich Gebühren kosten wird. Ein Teil des Netzwerks ist so, dass die Menschen sitzen und ihre Kanäle beobachten müssen, um sicherzustellen, dass keiner der Spaß gestohlen wird. Anstatt jedoch auf ihren Computern zu sitzen und ihre Gelder den ganzen Tag zu sehen, könnten sie diese Arbeit einfach an jemanden auslagern und sie per RDN bezahlen.

Was sind einige Funktionen des Raiden Network?

Verwendbare und einfache Anwendungsprogrammierschnittstelle (API).

Ermöglicht die Skalierbarkeit von Ethereum.

Kann mit einem ERC20-Token betrieben werden.

Ermöglicht eine schnelle und einfache Überweisung von Geld.

Verringert die Belastung der Ethereum Blockchain.

Damit Blockchains skalieren können, müssen sie unbedingt Off-Chain-Lösungen haben. Zahlungswege sind eine der besten Methoden, um es zu tun. Wenn Bitcoin und Ethereum Lightning und Raiden nageln können, sind die Möglichkeiten endlos. Stellen Sie sich vor, Tausende von Transaktionen pro Sekunde zu haben, während Sie vernachlässigbare Transaktionsgebühren bezahlen und die Fähigkeit haben, mit anderen Blockchains zu handeln und zu verbinden? All das ist kein Pfeifentraum mehr. Wir können es kaum erwarten zu sehen, wie es schwingt!

Was ist Lightning Protocol + Raiden? Blockchain Scaling Solutions Handbuch. Bitcoin und Ethereum werden immer beliebter, das leugnet nicht. Dies ist ein Diagramm der Anzahl der täglichen Bitcoin-Transaktionen im Laufe der Jahre verfolgt: Bild Courtesy: Wikipedia Und hier haben wir die Anzahl der Ethereum Transaktionen pro Monat im Laufe der Jahre: Bild Courtesy: Etherscan Was ist Lightning Protocol? Blockchain Scaling Solutions Während dies ein großes Zeichen ist und zeigt, wie Kryptowährungen weit verbreitet und akzeptiert werden, gibt es ein großes Problem, das in letzter Zeit seinen hässlichen Kopf aufgezogen hat. Aufgrund der plötzlichen Zunahme der Anzahl der Transaktionen stehen sowohl Bitcoin als auch Ethereum mit schweren Skalierbarkeitsproblemen konfrontiert. Die Skalierbarkeitsprobleme ergeben sich aus der Art und Weise, wie das offene Buchsystem entworfen wurde. Angenommen, Alice muss 1 BTC an Bob senden, wie wird der Prozess funktionieren? Alice kann Bob das Geld nicht physisch geben, Bitcoin ist schließlich digital. Die Art und Weise, wie die Transaktion stattfinden wird, ist einfach: Alice erklärt, dass sie 1 BTC an Bob senden und die Transaktionsdetails an die Bergleute senden möchte. Die Bergleute überprüfen, dass es tatsächlich Alice die Anfrage und niemand sonst sendet, und sie genehmigen folglich die Transaktion, indem sie sie in die Blöcke setzen, die sie abgebaut haben. Bob bekommt die 1 BTC. Train, um ein Blockchain-Entwickler zu werden Starten Sie Ihre kostenlose Testversion noch heute! Also, was ist das Problem in dieser ganzen Reihenfolge? Die Bergleute werden zu einem Engpass für die gesamte Transaktion. Tatsache ist, dass die Bergleute einfach nicht mithalten können, da die Zahl der Transaktionen immer weiter zunimmt. Es gibt so ziemlich einen Rückstand, der als Folge von Transaktionen geschieht, die nicht schnell genug verifiziert werden. Außerdem gibt es auch die geringe Frage der Transaktionsgebühren. Immer wenn Bergleute einen Block abbauen, werden sie temporäre Diktatoren dieses Blocks. Das bedeutet, dass sie eine nominale „Transaktionsgebühr“ berechnen können, um Transaktionsdaten in ihre Blöcke einzufügen. Um jedoch ihre Transaktionen schneller zu machen und sozusagen die Warteschlange zu springen, können die Leute höhere Transaktionsgebühren zahlen, um die Bergleute dazu zu bringen, ihre Transaktionen zuerst zu überprüfen. Leider führt dies zu einem großen Problem. Normale Bitcoin-Benutzer, die die normalen Transaktionsgebühren bezahlen, müssen meistens lange warten, bis ihre Transaktionen genehmigt werden. Mal sehen, wie viel Zeit man im Durchschnitt warten müsste, wenn sie die geringstmöglichen Transaktionsgebühren zahlen. Bild mit freundlicher Genehmigung: Business Insider. Wenn Sie die niedrigsten möglichen Transaktionsgebühren zahlen, müssen Sie auf eine Medianzeit von 13 Minuten warten, bis Ihre Transaktion durchläuft. 13 Minuten! Meistens mussten die Transaktionen warten, bis ein neuer Block abgebaut wurde (also 10 Minuten in Bitcoin), da die älteren Blöcke mit Transaktionen füllen würden. Jetzt sieht es ziemlich düster aus, wenn es um Bitcoin geht. Mal sehen, wie die Dinge in Ethereum's Ecke aussehen. Theoretisch soll Ethereum 1000 Transaktionen pro Sekunde verarbeiten. In der Praxis ist Ethereum jedoch um 6,7 Millionen Gasbegrenzung auf jedem Block begrenzt. Image Courtesy: Hackernoon Da jeder Block ein Gaslimit hat, können die Bergleute nur Transaktionen hinzufügen, deren Gasbedarf zu etwas addieren, das gleich oder kleiner als die Gasgrenze des Blocks ist. Bild mit freundlicher Genehmigung: Hackernoon Dies bietet wieder einmal einen Engpass auf die Anzahl der Transaktionen, die pro Block durchlaufen können. Ethereum verwaltete nur 20 Transaktionen pro Sekunde, während Bitcoin mit 7 Jahren unterwegs war. Wenn Sie dies mit der Tatsache vergleichen, dass Paypal 193 Transaktionen pro Sekunde verwaltet und Visa 1667 pro Sekunde, konnten Sie sehen w0hy es gab ein großes Problem und warum dies schnell gelöst werden musste. Eine Möglichkeit, dass Bitcoin sein Skalierbarkeitsproblem löst, ist über Segwit und Blockgrößenerhöhung. In diesem Artikel werden wir uns jedoch auf zwei sehr interessante Vorschläge konzentrieren, die nicht nur die Skalierbarkeitsprobleme lösen können, sondern sogar 1000s von Transaktion pro Sekunde. Sie sind: Lightning Protocol (Bitcoin). Raiden Netzwerk (Ethereum). Was ist Lighting Protocol? + Raiden Bevor wir in diese beiden kommen, gibt es einige Dinge, die angesprochen werden müssen. Ein Zustandskanal ist ein Zwei-Wege-Kommunikationskanal zwischen Teilnehmern, der es ihnen ermöglicht, Interaktionen durchzuführen, die normalerweise auf der Blockchain auftreten würden, abseits der Blockchain. Was dies tun wird, ist, dass es die Transaktionszeit exponentiell verkürzt, da Sie nicht mehr von einem Dritten wie einem Bergmann abhängig sind, um Ihre Transaktion zu validieren. Was sind die Voraussetzungen, um einen Off-Chain-Zustandskanal zu machen? Ein Segment des Blockchain-Status wird über Multi-Signatur oder eine Art Smart Contract gesperrt, der von einer Gruppe von Teilnehmern vereinbart wird. Die Teilnehmer interagieren miteinander, indem sie Transaktionen untereinander unterschreiben, ohne etwas an die Bergleute einzureichen. Der gesamte Transaktionssatz wird dann zur Blockchain hinzugefügt. Die staatlichen Kanäle können an einem Punkt geschlossen werden, der von den Teilnehmern nach SLOCK.it Gründer Stephan Thual vorgegeben wird. Es könnte entweder sein: Zeit abgelaufen zB. Die Teilnehmer können zustimmen, einen staatlichen Kanal zu öffnen und ihn nach 2 Stunden zu schließen. Es könnte auf der Gesamtsumme der Transaktionen basieren, zB. Schließen Sie die Kette, nachdem Transaktionen im Wert von $100 stattgefunden haben. Bild Courtesy: Stephan Tual Medium Artikel So, im Bild oben. Wir haben ein Auto, das direkt mit dem Ladegerät interagiert und Transaktionen im Wert von $39.19 durchführt. Schließlich wird nach einer Reihe von Interaktionen der gesamte Transaktionsabschnitt zur Blockchain hinzugefügt. Stellen Sie sich vor, wie viel Zeit es gedauert hätte, wenn sie jede einzelne Transaktion durch die Blockchain ausführen müssten! Ein Zahlungsweg ist im Grunde ein staatlicher Kanal, der sich ausschließlich mit Zahlungen und Micropayments zwischen den Parteien befasst. Denken Sie daran, dass alle Interaktionen auf den Kanälen Dinge sind, die auf der Blockchain passieren könnten, aber davon abgehen. Es gibt verschiedene Arten von Zahlungskanal-Designs, lassen Sie uns durch einige der beliebtesten gehen. Eines der frühesten Beispiele für den Zahlungsweg wurde von Satoshi Nakamoto selbst vorgeschlagen. Dieses System verwendet einige interessante Funktionen: Transaction Replacement. Eingangssequenznummern (nSequence). nLockTime. „NLockTime“ ist im Grunde der Parameter, der die Zeit definiert, vor der die Transaktion nicht in den Block akzeptiert werden konnte. Das Konzept ist ziemlich einfach. Es gibt einen Wert namens „UINT_MAX“ und die NSequence kann diese Zahl nicht überschreiten. Angenommen, es gibt eine unbestätigte Transaktion und man kann das ändern, bevor man es in den Block setzt, bevor die Zeit „nLockTime“ abläuft ODER nSequence gleich „UINT_MAX“ wird. Für jeden Ersatz wird die Sequenznummer höher. Es gab jedoch viele Sicherheitsprobleme mit diesem und wurde nie ordnungsgemäß ausgeführt. Bevor wir fortfahren, gibt es zwei Dinge, die wir beachten müssen. Zunächst möchten wir David A Harding einen Ausruf für die Erklärung von Spillman-Style und CLTV-Style Payment Channels geben. Zweitens, bevor wir fortfahren, müssen Sie wissen, was eine Multi-Sig-P2SH-Adresse bedeutet. Wenn es um Adressen in Bitcoin geht, gibt es zwei Arten: P2PKH Adresse aka Pay-to-Pubkey Hash Adresse. P2SH-Adresse aka Pay-to-Skript-Hash-Adresse. Eine „normale“ Bitcoin-Adresse sieht folgendermaßen aus: „15fxdtyfl1p53qq8nkrjbqPubpWVWmz3g9“. Dies ist eine normale P2PKH-Adresse. Um die an diese Adresse gesendeten Bitcoins auszugeben, muss man einfach mit dem entsprechenden privaten Schlüssel entschlüsseln und Zugang erhalten. Ein Bitcoin kann jedoch vielseitigere Ausgabenbedingungen haben als das. Sie können viel mehr als einfache P2PKH-Transaktionen erstellen. Die Leute erkannten das schon früh und fingen an, mit dem „ScriptPubkey“ in Bitcoins Script Language zu spielen. Was ist der ScriptPubKey? So sieht eine einfache 1 Eingabe- und 1 Ausgabetransaktion aus: Image Courtesy: Bitcoin Wiki Der „ScriptPubKey“ in der obigen „Ausgabe“ diktiert grundsätzlich die Ausgabenbedingungen. Sie können dem ScriptPubKey grundsätzlich eigene Codezeilen hinzufügen und die Ausgabenbedingung selbst definieren. Die Kernentwickler sahen dies geschieht und Spenders zu verhindern lange Zeilen Code in den Bedingungen einzugeben, ermöglichten sie ihnen stattdessen, stattdessen Hashes ihrer Bedingungen einzugeben. Diese Bedingungen werden als Redeem-Skript bezeichnet. In einer P2SH-Transaktion enthält der ScriptPubKey nur den Hash des Redeem-Skripts. Das Skript selbst wird nur während der ausstehenden Transaktion offenbart und verifiziert. Aus diesem Grund passiert eine sehr wichtige Sache. Da die Skriptverifizierung nur während der Ausgabentransaktion erfolgt, entfällt die Verantwortung, das vollständige Einlösungsskript vom Absender an den Empfänger bereitzustellen. Dies wiederum gibt viele Vorteile: Ein Absender kann Geld an jede Multisig-Transaktion senden, ohne die vollständigen Details der Transaktion zu kennen. Dies hilft viel in der Abstraktion. Meistens, wenn Sie Geld ausgeben, kümmern Sie sich selten darum, was mit Ihrem Geld passieren wird, nachdem Sie es übergeben haben. Dieselbe Logik wird auch hier verwendet. Es ist viel einfacher für Absender, Geld an kurze und gut definierte Hashes aka Skript-Hash zu senden, anstatt lange und verwirrende Skripte. Das ist also eine allgemeine Erklärung dafür, was eine mutisig P2SH-Adresse ist. Eine Adresse, die an einen Skripthash“ anstelle einer öffentlichen Adresse zahlt. Gehen wir nun zu unseren Beispielen für Zahlungswege zurück. Dieser Stil der Zahlungswege wurde in der Bitcoin-Entwicklungs-Mailingliste beschrieben und in „bitcoinj“ implementiert. Der Spillman-Stil verwendet zwei separate Transaktionen, die Einzahlung und die Rückerstattung. Schauen wir uns den Prozess an: Alice (die Händler) gibt ihren öffentlichen Schlüssel an ihren Kunden aka Bob. Bob verwendet seinen öffentlichen Schlüssel und Alices öffentlichen Schlüssel, um eine multisig p2sh Adresse zu erstellen, die Unterschriften von Alice und Bob erfordert, um alle an diese Adresse gezahlten Mittel auszugeben. Bob erstellt eine Transaktion, übermittelt sie aber nicht. Er benutzt diese Transaktion, um die Multisig-Adresse zu bezahlen. Diese Transaktion ist die Kaution. Bob erstellt jetzt eine zweite Transaktion, die dieselbe ist wie zuvor und verwendet diese, um die vorherige Transaktion zu überschreiben. Infolgedessen geht der erste an Bobs Adresse zurück. Bob deklariert dann ein Timelock für die zweite Transaktion, um sicherzustellen, dass es nicht vor einer bestimmten Zeit in den Block kommt und es signiert. Bob gibt diese zweite Transaktion Alice, die dann fortfährt, sie zu unterschreiben und sie an Bob zurückzugeben. Denken Sie daran, Alice hat die Einzahlungstransaktion immer noch nicht gesehen, d. h. die erste Transaktion. Nun, Bob hat eine Transaktion, die sowohl von ihm als auch Alice unterzeichnet wurde und als Rückerstattung fungiert. Wenn also Alice, der Händler, einen bestimmten Job nicht erledigt, bevor der Zeitrahmen abläuft, kann Bob die Rückerstattungs-Transaktion für sich selbst beantragen. Jetzt, da die Rückerstattung von allen anwesenden Parteien unterzeichnet wurde, kann Bob sicher seine Einzahlungstransaktion erklären und zur Blockchain hinzufügen. Während der Spillman-Stil nützlich war, um einen Zahlungskanal zu schaffen, der die Händler ehrlich halten würde, war er immer noch anfällig für Temperbarkeit. Wenn die Einzahlungstransaktion von Bob übertragen wird, muss sie Byte-für-Byte-gleiche wie die Erstattungs-Transaktion sein. Wenn dies nicht der Fall ist, ist die Erstattungs-Transaktion nicht mehr gültig. Um diese Probleme zu lösen, wurden CLTV-Zahlungskanäle nach BIP 65 implementiert. Mal sehen, wie es funktioniert: Alice (The Merchant) gibt ihren öffentlichen Schlüssel an Bob (den Kunden). Bob verwendet seinen öffentlichen Schlüssel und Alice's, um eine P2SH-Adresse unter Verwendung der folgenden Bedingungen zu erstellen: Bedingung 1: Alice und Bob unterzeichnen jede Transaktion, die über diese Adresse geschieht. Bedingung 2: Nur Bob kann jede Transaktion auf eigene Faust signieren, aber diese Transaktionen müssen eine Sperrzeit haben, die größer als die Erstattung ist. Kaution. Bob erstellt sofort eine Einzahlungstransaktion und sendet sie auf der Blockchain. Aufgrund des obigen Zustands 2 ist er versichert, dass er bei Bedarf so ziemlich eine Rückerstattung generieren kann. Denken Sie daran, dass die erste Bedingung besagt, dass Alice und Bob alle Transaktionen anmelden müssen, die in der P2SH-Adresse geschieht. Also, Bob (der Kunde) kann seinen Teil der Transaktion unterschreiben und Alice kann ihren Teil unterschreiben, ohne Bob ihre Unterschriftendetails zu offenbaren. Dadurch kann Alice die endgültige Zahlung an die Blockchain übertragen, bevor die Rückerstattung übertragen werden kann. Der größte Vorteil, dass diese Methode hat über Spillman-Stil ist die Entfernung von Temperbarkeit, die es beeinflussen kann. Im Spillman-Stil war Bob durch die Tatsache Engpässe, dass er eine Einzahlung senden musste, die dem Erstattungsbyte für Byte entspricht. Er musste im Grunde vorschreiben, was er nicht mehr tun muss. Diese Kanäle verwenden den „OP_CLTV opcode“, der dank BIP 65 aktiviert wurde. Hashed Timelock Verträge oder „HTLCs“ sind eine der bequemsten Anwendungen der Zahlungswege. Tatsächlich ist das Lightning-Protokoll eine Implementierung des HTLC. Also, was ist ein HTLC? Bis jetzt haben wir Kanäle gesehen, die „Timelocks“ verwenden. Ein HTLC „erweitert“ dies durch die Einführung von „Hashlocks“ zusammen mit den Timelocks. Der HTLC ermöglicht die Öffnung von Zahlungskanälen, auf denen Gelder vor einer vorab vereinbarten Frist zwischen den Parteien übertragen werden können. Diese Zahlungen werden durch die Vorlage kryptografischer Beweise bestätigt. Darüber hinaus ist ein weiteres geniales Merkmal der HTLCs, dass es einer Partei ermöglicht, die Zahlung zu verfallen und sie an den Zahler zurückzugeben. Darüber hinaus können Zahlungen auch kanalübergreifend erfolgen. Außerdem gibt es eine weitere erstaunliche Funktion, die dank der HTLC kommt. Es macht Cross-Chain-Transaktionen möglich. Dies wird atomarer Cross Chain Trading genannt und ermöglicht es Benutzern, einen Teil der Kryptowährung auf einer Kette (zB Bitcoin auf der Hauptblockchain) gegen einen Teil der Kryptowährung auf einer anderen Kette (Bitcoin auf einer Sidechain) auszutauschen. Also, wie funktioniert der HTLC? Stellen Sie sich vor, Alice muss Charlie über Bob Geld schicken. Alice öffnet einen Kanal mit Bob und Bob öffnet einen Kanal mit Charlie. Angenommen, Alice erklärt, dass sie mit Charlie interagieren will. Charlie deklariert eine Zufallszahl und generiert ihren SHA256-Hash und übergibt sie an Alice. Grundsätzlich, wenn Charlie eine Zahl A wählt, dann wird er den Hash der Zahl H (A) geben. Alice sendet 0.1 BTC an Bob mit der Bedingung, dass nur jemand, der die Daten übermitteln kann, die erforderlich sind, um den gleichen Hash zu erhalten, die Zahlung abrufen kann. Damit Bob die Mittel missbrauchen kann, muss er die Daten alias das Pre-Image haben, das benötigt wird, um diesen Hash zu generieren. Grundsätzlich muss Bob „A“ geben, was er nicht hat. Bob übergibt jetzt Charlie die Mittel unter dem gleichen Zustand. Charlie schließt die Zahlung von Bob ab, indem er ihm das Vorbild „A“ übergibt. Bob beendet die Zahlung von Alice, indem sie ihr „A“ übergibt. Das Lightning-Netzwerk ist ein Off-Chain-Micropayment-System im HTLC-Stil, das dazu dient, Transaktionen in der Blockchain schneller arbeiten zu lassen. Es wurde von Joseph Poon und Tadge Dryja in ihrem Whitepaper konzeptualisiert, das darauf abzielte, die Blockgrößenbegrenzung und die Transaktionsverzögerung zu lösen. Es funktioniert auf Bitcoin und wird oft als „Layer 2“ bezeichnet. Wie Jimmy Song in seinem Medium Artikel feststellt: „Das Lightning Network funktioniert, indem es eine doppelt signierte Transaktion erstellt. Das heißt, wir haben einen neuen Scheck, bei dem beide Parteien unterschreiben müssen, damit er gültig ist. Die Überprüfung gibt an, wie viel von einer Partei zu einer anderen gesendet wird. Da neue Mikrozahlungen von einer Partei zur anderen geleistet werden, wird der Betrag auf dem Scheck geändert und beide Parteien unterzeichnen das Ergebnis.“ Also, lassen Sie uns einige der Funktionen überprüfen, die dank des Lightning-Netzwerks kommen: Schnelle Zahlungen: Zahlungen sind fast augenblicklich. Nicht abhängig von Bergleuten: Transaktionen müssen nicht von Bergleuten genehmigt und verifiziert werden, damit sie durchlaufen können. Micropayment-freundlich: Frühere Micropayments waren extrem unbequem auf der Bitcoin-Blockchain. Jetzt sind sie dank des Blitznetzwerks möglich. Multi-Signatur-freundlich: Die Transaktionen werden durchgeführt, wenn und nur, wenn alle im Kanal anwesenden Personen genehmigen. Reduziert Blockchain-Last: Wenn so viele Transaktionen der Kette stattfinden, reduziert es die Last, die die Hauptkette übernehmen muss. Verkürzt die Wartezeit: Da die Transaktionen außerhalb der Kette stattfinden und ohne Miner-Intervention, gibt es wenig bis keine Wartezeit. Hilft bei der Skalierbarkeit, da es die Anzahl der Transaktionen pro Sekunde erhöht. So erstaunlich das Blitznetz ist, es gab ein großes Hindernis davor, das verwaltet werden musste. Das Lightning-Netzwerk, wie bei allen Zahlungskanalmethoden sind anfällig für Transaktionsverformbarkeit. Bevor wir verstehen, was Transaktionsformbarkeit ist, ist es wichtig, eine der wichtigsten Funktionen im Kryptoökonomie-Modell wiederzuerfassen... Hashing. Wir haben einen Artikel geschrieben, vor dem Hashing im Detail behandelt. Nur um Ihnen einen kurzen Überblick zu geben, kann eine Hashing-Funktion jede Eingabe beliebiger Länge aufnehmen, aber die Ausgabe, die sie gibt, ist immer von einer festen Länge. Es gibt jedoch eine andere wichtige Funktion des Hashings, die Sie wissen müssen, um den „Transaction Temleability Bug“ wie er genannt wird zu verstehen. Jede kleine Änderung der Eingabedaten ändert den Ausgabe-Hash drastisch. Z.B. Kasse diesen Test, den wir mit SHA-256 aka den Hashing-Algorithmus in Bitcoin verwendet: Dies ist ein Test C7BE1ED902FB8DD4D48997C6452F5D7E509FBCDBE2808B16BCF4EDCE4C07D14E dies ist ein Test 2E99758548972A8E8822AD47FA1017FF72F06F06F066A016851F45C398732BC50C Sehen Sie das? Wir haben gerade „T“ von Großbuchstaben auf Kleinbuchstaben geändert und sehen uns an, was es mit der Ausgabe gemacht hat! Eine weitere Sache, die Sie über die Blockchain verstehen müssen, ist, dass sie unveränderlich ist, dh sobald die Daten in einen Block eingefügt wurden, können sie nie geändert werden. Während dies ein Sicherheitsnetz gegen Korruption beweist, gab es eine Schwäche, die niemand kommen sah. Was wäre, wenn die Daten manipuliert wurden, sogar in den Block eingegeben wurden? Selbst wenn die Leute später davon erfahren haben, gab es nichts, was jemand dagegen tun kann, weil Daten, die einmal in einen Block eingegeben wurden, niemals herausgenommen werden können! Aus diesem Grunde ist die Verformbarkeit von Transaktionen ein solches Problem. Warum passiert Transaktionsverformbarkeit? Jede Bitcoin-Transaktion hat Eingabedaten und Ausgabedaten. Lassen Sie uns die Eingabedaten insbesondere sehen: Bild mit freundlicher Genehmigung: djp3 youtube channel. Es besteht aus der Anzahl der erfassten Transaktionseingaben und den Signaturdaten. Die Signaturdaten verursachen zwei Probleme: Sie sind extrem sperrig und benötigen viel Platz. Es kann manipuliert werden und somit zu Transaktionsformbarkeit führen. Tatsächlich kann die Manipulation von Signaturdaten dazu führen, dass die Transaktion überhaupt nicht stattgefunden hat. Lassen Sie uns das in einem Beispiel sehen. Angenommen, Bob will, dass Alice ihm 3 BTC schickt. Alice initiiert eine 3 BTC-Transaktion an Bobs öffentliche Adresse und sendet sie dann zur Genehmigung an die Bergleute. Während die Transaktion in der Warteschlange wartet, verwendet Bob die Transaktionsverformbarkeit, um Alices Signatur zu ändern und die Transaktions-ID zu ändern. Jetzt besteht die Möglichkeit, dass diese manipulierte Transaktion genehmigt wird, bevor Alice genehmigt wird, was wiederum Alices Transaktion überschreibt. Als Bob seine 3 BTC bekommt, kann er Alice einfach sagen, dass er nicht die 3 BTC bekommen, die sie ihm schuldete. Alice wird dann sehen, dass ihre Transaktion nicht durchlief und wird sie es erneut senden. Als Ergebnis wird Bob mit 6 BTC anstelle von 3 BTC enden. Also, lasst uns das klarstellen. Kann Temperierbarkeit Blitzprotokolle dauerhaft zerstören? Nein, es kann nicht, aber es kann die gesamte Erfahrung sehr langsam und ärgerlich machen. Temperierte Transaktionen werden in verschiedenen Schritten im Kanal stecken bleiben. Der einzige Weg, dass dies dauerhaft gelöst werden kann, besteht darin, Vertrauen in das System einzuführen oder sehr unbequeme Timeouts festzulegen. Es gibt viele Gründe, warum dies unerwünscht ist: Die Timeouts können lästig werden. Jedes System, das auf Vertrauen basiert, ist beschädigt. Das ist die grundlegende Philosophie hinter Bitcoin, ein System zu bauen, das völlig vertrauenswürdig ist. Ein System, das sich ehrlich halten kann, ohne sich auf das Vertrauen einzelner Menschen zu verlassen, ist das perfekte System. Also, um vorwärts zu gehen und wirklich mit Blitz zu skalieren, wurde eine Lösung für das Problem der Formbarkeit benötigt, und diese Lösung kam in Form von Segwit. Segwit aka segregated Zeuge hatte ein sehr einfaches Konzept. Wenn die meisten Probleme durch die Signaturdaten in den Blöcken entstanden sind, warum können wir es nicht einfach aufheben und in einer parallelen Seitenkette halten? Grundsätzlich setzen Sie die gesamte Transaktion abzüglich der Signaturdaten in der Hauptkette ein und legen Sie alle Signaturdaten in eine Seitenkette. Dies ist, was ein Block aussehen würde nach Segwit: Durch Entfernen der Signaturdaten aus den Transaktionen, tötete er zwei Fliegen mit einer Klappe, dem Block Raum wurde leer und die Transaktionen wurden formbar frei. Mit einem Schlag löste Segwit das Problem der Verformbarkeit und ebnete den Weg für eine nahtlose Lightning-Netzwerkintegration. Ethereum Version des Lightning-Protokolls heißt Raiden. Im Ethereum passieren 20 Transaktionen pro Sekunde. Um die Dinge zu beschleunigen und schnellere Transaktionen von Ether- und ERC20-Token zu ermöglichen, wird das Raiden-Netzwerk eingeführt, das ziemlich ähnlich wie das Lightning-Protokoll verhält und schnelle Transaktionen in privaten Kanälen ermöglicht. Während das ausgewachsene Raiden-Netzwerk noch nicht vollständig bereit ist, ist die Tatsache, dass viele Leute nur Raiden für viele Zahlungsfunktionen benötigen. So wurde für sie micro Raiden (µRaiden) geschaffen, die einfache und schnelle Mikropayment-Strukturen ermöglicht. Die Sache ist, dass Ethereum für sofortige Transaktionen weitgehend unpraktisch ist. Es gibt eine lange Warteschlange für Transaktionen, die zu den verschiedenen Blöcken in der Blockchain hinzugefügt werden, und in den meisten Fällen müssen Sie riesige Gebühren zahlen, um die Linie zu schneiden. Was das Raiden-Netzwerk tun wird, ist, dass es Menschen im Netzwerk helfen wird, sofortige Zahlungen über Zahlungswege zu tätigen. Raiden wird wie eine Netzstruktur strukturiert sein, die auf der Hauptkette des Ethereum läuft: Image Courtesy: Hacked.com Raiden wurde von der Brainbot Technologie konzeptualisiert. Das hatte Gründer und CEO Heiko Hees zu Raiden sagen: „Grundsätzlich werden alle Blockchain-basierten Anwendungen, die auf die reale Nutzung skalieren wollen, von Raiden profitieren. Es kann für Anwendungen wie Asset-Trading in Gaming oder Finanzen, Retail-Zahlungen, Micropayments für Inhalte verwendet werden (denken Sie, das nächste YouTube oder Spotify, wo YouTuber direkt für jede verbrauchte Sekunde bezahlt werden). Aber es eignet sich auch als Infrastruktur für billigeres, schnelleres und sichereres Korrespondenzbanking.“ Also, wie funktioniert Raiden? Angenommen, Alice und Bob wollen mit Raiden miteinander interagieren. Dies ist, wie sie es tun, Alice und Bob öffnen einen Zahlungskanal zwischen ihnen, die außerhalb der Kette sein wird und sie einen intelligenten Vertrag bereitstellen. Beide Parteien leisten eine Kaution im Smart Contract. Angenommen, Alice will 3 Token an Bob senden, sie signiert die Nachricht „3“ und sendet sie an Bob. Bob hat jetzt den Beweis, dass Alice ihm 3 Token schickt. Angenommen, Alice will Bob 4 weitere Token schicken. Sie wird den Zustand der Nachricht auf „7“ aktualisieren. Dies zeigt, dass die Nachricht auch die vorherige und die letzte Transaktion vermittelt. In dem Moment, in dem Bob die 7 Token einlösen will, wird er die Blockchain gehen und den Kanal schließen. Er erhält die 7 Token aus der Einzahlung, die ursprünglich im Kanal gemacht wurde. Die Informationen werden an die Blockchain weitergeleitet und der einzige Datensatz, der gespeichert wird, ist die letzte 7 Token-Einzahlung an Bob. Raiden wird ein ICO haben, um für seinen Einrichtungsprozess zu finanzieren. Während des ICO werden Investoren den Raiden-Token RDN in die Hände bekommen. Was nützt dieses Token? Das Design des Raiden Network ist so, dass es unweigerlich Gebühren kosten wird. Ein Teil des Netzwerks ist so, dass die Menschen sitzen und ihre Kanäle beobachten müssen, um sicherzustellen, dass keiner der Spaß gestohlen wird. Anstatt jedoch auf ihren Computern zu sitzen und ihre Gelder den ganzen Tag zu sehen, könnten sie diese Arbeit einfach an jemanden auslagern und sie per RDN bezahlen. Was sind einige Funktionen des Raiden Network? Verwendbare und einfache Anwendungsprogrammierschnittstelle (API). Ermöglicht die Skalierbarkeit von Ethereum. Kann mit einem ERC20-Token betrieben werden. Ermöglicht eine schnelle und einfache Überweisung von Geld. Verringert die Belastung der Ethereum Blockchain. Damit Blockchains skalieren können, müssen sie unbedingt Off-Chain-Lösungen haben. Zahlungswege sind eine der besten Methoden, um es zu tun. Wenn Bitcoin und Ethereum Lightning und Raiden nageln können, sind die Möglichkeiten endlos. Stellen Sie sich vor, Tausende von Transaktionen pro Sekunde zu haben, während Sie vernachlässigbare Transaktionsgebühren bezahlen und die Fähigkeit haben, mit anderen Blockchains zu handeln und zu verbinden? All das ist kein Pfeifentraum mehr. Wir können es kaum erwarten zu sehen, wie es schwingt!

Like what you read? Give us one like or share it to your friends

383
6
Have questions? We have built an incredible community of blockchain enthusiasts from every corner of the industry. If you have questions, we have answers! Ask community
CheeseSlicero

Interesting read.

Alex Masso

Excellent set of article. I'm curious, can a single transaction exceed the practical gas limit of 6.7M for ethereum? If so, what happens then?

Chuck Friedo

Excellent article. Have you looked at Hashgraph from Swirlds? Solves the scalability problem completely.

o

very well explained

StephenHo

Enjoy your articles and guides immensely. Keep up the good work! A small comment, but I believe the BitCoin chart shows that approximately 9 million transactions are processed per month, rather than daily.

robertsimoeso

Great article!

Hungry for knowledge?
New guides and courses each week
Looking to invest?
Market data, analysis, and reports
Just curious?
A community of blockchain experts to help

Get started today and earn 4 bonus blocks

Already have an account? Sign In