Bitcoin + Lightning = Trotzdem nicht skalierbar?

Wir haben bei Bitcoin 2.000 Transaktionen pro Block. Das alle 10 Minuten, also 6 Blöcke pro Stunde und 144 Blöcke pro Tag. Das bedeutet, wir haben ca. 288.000 Transaktionen pro Tag. Und mit 365 Tagen pro Jahr, sind das 105.120.000 Transaktionen pro Jahr. Klingt erst mal viel, aber wieviel ist das wirklich… Hier mal ein paar Gedanken dazu.

Gehen wir mal davon aus, dass Bitcoin irgendwann 1 Milliarde Nutzer hat. Das wären nach aktuellem Stand ca. 12% aller Menschen. Diese 1 Milliarde Nutzer möchten ja hin und wieder auch mal eine Transaktion verschicken. bei aber nur ca. 100 Mio. Transaktionen (wie oben ausgerechnet) bräuchten wir ja 10 Jahre, bis jeder mal eine Transaktion durchführen könnte.

Natürlich funktioniert das durch die Größe des Mempools und je mehr man bezahlt, desto schneller bekommt man seine Transaktion in einen Block. Aber allein der Fakt, dass es für jeden theoretisch nur alle 10 Jahr möglich ist, eine Transaktion auf der Main Blockchain durchzuführen, ist schon etwas beunruhigend.

Für genau so etwas gibt es ja Lightning. Aber gut. Um einen Channel zu öffnen oder schließen, muss man ja auch jeweils eine Transaktion über die Main Blockchain laufen lassen. Das heißt auch hier wäre es im besten Fall für jeden nur möglich alle 10 Jahre mal einen Channel zu öffnen oder zu schließen.

Anders geht es ja nicht. Wir haben ja nur diese 100 Mio. Transaktionen pro Jahr. Es kann also leider nicht jeder eine Transaktion pro Jahr machen. Und das ist ja nicht wirklich viel. Selbst in 5 Jahren kann nicht jeder der 1 Mrd. Menschen eine Transaktion ausführen. Also auch keinen Lightning Channel öffnen oder schließen.

Meine Frage: Ist das wirklich ein Problem oder habe ich da einen Denkfehler? Gibt es mögliche Lösungen dafür? Oder ist es für Bitcoin einfach unmöglich in diesem Maße zu skalieren und die Nutzung von 1 Milliarde Menschen ist einfach viel zu groß für Bitcoin?

Freue mich über jede Antwort! :slight_smile:

4 „Gefällt mir“

Erstmal Herzlich Willkommen im Forum :vulcan_salute: :innocent:

Den gedanken hatte ich ansatzweise auch schon mal. Zumal ich finde das das Öffnen und Schließen von Channels nicht der Mainstream übernehmen wird, da das zumindest Aktuell nicht jedermanns sache ist.

Ich denke es werden nicht alle 1 Milliarde menschen eine eigene Node betreiben werden. Das werden dann wieder Zentrale Dienstleister übernehmen. Es werden früher oder Später die leute Profitieren die zu der Zeit wo noch OnChain Transaktionen möglich sind große Channel eröffnet haben und Große Zentrale Knotenpunkte betreiben.

Du kannst dir dann vorstellen das ein Einzelner eine Zentrale Node betreibt und dann einzelne Subaccount erstellen wird.

ich könnte mir aber auch vorstellen das Das eröffnen von Channels gesammelt wird, und dann in einer Tranaktion in die Chain geschrieben wird. :thinking:

1 „Gefällt mir“

Hallo @niklas1,

Top Frage zum Einstieg!

Schau nach El Salvador. Am bekanntesten ist seit 2021 die Chivo Wallet. Die ist zwar nicht nur custodial sondern auch noch staatlich, aber insofern praktikabel, als dass es das von dir skizzierte Problem löst – wenn sie funktionieren würde…

Älter ist die Bitcoin Beach Wallet mit der dort alles angefangen hat. Deine Fragestellung ließe sich nämlich wie folgt erweitern: Wie kann man Bitcoin einer relativ armen Bevölkerung andienen? On-chain Transaktionen verbieten sich dort, geschweige denn die Channelpflege mangels Hardware und technischer Expertise.

Die Lösung ist dort ein shared custody Modell. Das hat natürlich Risiken, da wie bei einem Exchange, einer Bank oder einer DAX-notierten Firma jemand mit dem Geld davonlaufen kann.

Blick in die Zukunft: Die Kunden einer Genossenschaftsbank könnten sich gegen das Ausfallrisiko versichern. Das wäre insofern interessant, weil sich an den Versicherern dann ein Markt für solche Genossenschaftsbanken bilden würde. Die angebotene Dienstleistung der Bank wäre nun tatsächlich wieder das Verwahren von Geld. Technisch stünde es jedem offen, eine Bank zu betreiben. Juristisch entstünde auch Druck, weil Bitcoin global ist, und sich sicherlich eine passende Jurisdiktion für jeden fände.

Was ich mir noch vorstellen kann, ist eine Art family custody, aber auch die skaliert global nicht ausreichend.

Vielleicht bietet dir die Seite des Betreibers der Bitcoin Beach Wallet weitere Anhaltspunkte. Dort gibt es einen Blog, und einige der Entwickler traten sicherlich in Podcasts auf. Im einundzwanzig Podcast gab es vor einiger Zeit auch eine Folge in der das Problem besprochen wurde.

3 „Gefällt mir“

Es können mit einer Transaktion auch mehrere Channel geöffnet werden. Es kann/wird wsl Dienstleister geben, die sowas gegen eine kleine Gebühr dann übernehmen. Dass z.b. 100 Leute sich dort zusammentun und mit einer tx dann für alle channel aufgemacht werden. Also sowas in die Richtung kann ich mir vorstellen.

1 „Gefällt mir“

Das verstehe ich nicht. Könnte dann jeder Nutzer seinen zusammen mit allen anderen Kanälen schließen?

Ne, die Information steht ja für jeden Channel einzeln. Aber zusammengefasst in einer Transaktion. Das heißt wird ein Channel geschlossen, wird die Information aus dieser Transaktion genommen und der Channel geschlossen ohne die anderen „anzufassen“

1 „Gefällt mir“

Dass z.b. 100 Leute sich dort zusammentun und mit einer tx dann für alle channel aufgemacht werden.

Wie viele Einzeltransaktionen kann man in eine Transaktion auf der Main Blockchain packen? Und würde die Datengröße dann nicht trotzdem gleich groß bleiben, wie wenn es einzelne Transaktionen, sodass doch nicht mehr Transaktionen in einen Block passen?

Du kannst dir dann vorstellen das ein Einzelner eine Zentrale Node betreibt und dann einzelne Subaccount erstellen wird.

Das heißt, es muss also auch irgendwie möglich sein, in das Lightning Netzwerk zu kommen und an Bitcoin zu gelangen und es nutzen zu können komplett ohne eine Transaktion auf die Main Blockchain zu schreiben, oder einen eigenen Lightning Channel zu eröffnen.

Aber wie genau funktioniert das? Ich dachte man kommt nur in das Lightning Netzwerk wenn man eine bestimmte Menge Bitcoin (z.B. auf die Adresse einer Blue Wallet) einzahlt und diese Menge BTC dann im Lightning Netzwerk nutzen kann.

Vielen Dank @Makowski

ich werde das Thema Bitcoin Beach mal genauer recherchieren. Klingt sehr interessant.

Ich frage mich nur, wie das mit einer shared custody funktionieren soll. Muss dann jeder seine BTC einem zentralen Anbieter anvertrauen? Sobald man nicht mehr seine eigenen Keys hat, ist man ja nicht mehr wirklich im Besitz der Coins…

Eine weitere Frage, die sich mir stellt ist: irgendwie muss jeder ja erstmal an Bitcoin kommen und um in so eine shared custody oder Lightning reinzukommen auch mindestens mal eine Transaktion in die Blockchain schreiben. Oder geht das auch komplett ohne?

Sonst wären wir ja wieder bei dem Problem, dass (z.B. 1 Mrd.) Außenstehende überhaupt nicht in das Bitcoin Netzwerk reinkommen.

Das ist eine sehr interessante Frage. Ich weiß zwar auch keine mögliche Lösung, aber das könnte wirklich ein Problem für die dezentralität des Netzwerkes darstellen.
Wenn Blockchain Eintragungen nur noch über Zentrale Knotenpunkte laufen, sind all diejenigen im Vorteil die sich jetzt schon mit BTC / Lightning etc. befassen. Aber die breite Masse wird bemängeln das genau das warum wir uns für BTC entschieden haben (Dezentralität und Unabhängigkeit von Zentralen Einrichtungen) für sie nichtmehr erreichbar ist.
Das gibt mir gerade etwas zu denken…
Gut, immerhin wär das Problem mit der Inflation nach wie vor gelöst

1 „Gefällt mir“

Mir stellt sich lediglich die technische Frage ob man den Dienst „Teilnehmer für eine Transaktion sammeln und anteilig an den Onchain-Kosten beteiligen“ dezentral aufsetzen kann. Also wie Bisq nur eben für Sammeltransaktionen. Wenn ich richtig gelesen habe ist es wohl auch schon möglich mehrere Channels in einer Transaktion zu öffnen. Das ließe sich dann ebenfalls über einen Dienst bündeln.
Ich glaube das wir später so viel über Lightning abwickeln, das es Onchain nicht zu extremen Preisen bzw. Stau kommen wird.

Bitcoin ist noch jung und sollte es sich wirklich in der Dimension durchsetzen, kann es noch viele Änderungen geben, die eine Skalierung auf die gesamte Weltbevölkerung ermöglicht.

Einige Ideen, wurden hier ja schon genannt. Hier sind ein paar weitere:

  • Mehrere 2nd-Layer Lösungen, oder vielleicht sogar 3rd-Layer-Lösungen, die auf diesen 2nd-Layern aufsetzen
  • Änderungen im Bitcoin-Protokoll (irgendwann wird es ev. größere Blöcke geben und zu der Zeit wird das auch kein Problem mehr sein)
2 „Gefällt mir“

Naja größere Blöcke wollen wir ja nicht, da dann wieder die dezentralität drunter leidet. (Größere Datenmengen die gespeichert werden müssen)

Vielleicht kann man in 10 Jahren ja doch den Block etwas vergrößern, da man dann mit einem Raspberry (Nachfolger) weiterhin problemlos die Blöcke verarbeiten kann und Internetleitungen die Datenrate nebenbei mit leisten können. Das werden wir aber erst wissen wenn es soweit ist. Das sind allerdings Stellschrauben die technisch trivial aber consensual schwierig veränderbar sind. Smartere Lösungen sind mir da lieber.

Die größeren Blöcke sind kein Problem der Verarbeitung. Aber wenn du die Blöcke beispielsweise auf max 8mb verdoppelst. (Wobei das aktuell vervierfacht ist) hat du nich viel mehr Transaktionen. Dafür aber eine deutlich größere Menge an Daten. Ich glaube das war so das du dann in kurzer Zeit dann mehrere Gigabyte an Daten zusammen bekommst um dann doch nicht ausreichend Transaktionen skalieren zu können.

Ja, das ist dann so. Die Nutzer des Bitcoin Beach Wallet vertrauen dem Betreiber ihrer Wallet. Das geht auch mit anderen Wallets, z.B. Breez. Das kannst du auch ohne eigene Node verwenden und verwendest dann die Node des App Betreibers. Umgekehrt muss man kein Wallet Betreiber sein, um diesen Service anbieten zu können. Ich weiß nicht mehr genau wie das System heißt und funktioniert, aber mit Umbrel und Blue Wallet geht das.

Dadurch, dass die Voraussetzungen so gering sind, wird Wettbewerb stark vereinfacht, und du kannst dir aus einem breiteren Angebot eine vertrauenswürdige Instanz aussuchen. Wäre es rechtssicher, wäre z.B. eine Node des Blocktrainers wahrscheinlich eine vertrauenswürdige Anlaufstelle für viele. Ich denke das wäre so die Größenordnung, in der custodial Lightning stattfinden könnte. Es braucht dafür keine Bank. Be your own bank gilt also auch da – Rechtssicherheit vorausgesetzt. Be your own bank heißt ja nicht, dass man auf einmal kein Kapital mehr bräuchte um eine Bank zu sein.

Das geht prinzipiell auch ohne, wenn der custodian die Buchführung übernimmt.

Ich habe mir neulich spaßeshalber die Breez Wallet eingerichtet und ein paar Sats hingeschickt. Da lief nichts on chain. Ich kontrolliere die Coins nicht und vertraue an der Stelle, das die Node von Breez erreichbar bleibt. Recovery habe ich da nicht durchgespielt, aber würde davon ausgehen, dass meine balance nur auftaucht, wenn ich mit der Node von Breez verbunden bin.

1 „Gefällt mir“

Die Breez IST eine Node auf deinem Smartphone. Aber wenn man Auto-Channels verwendet, ist man zusätzlich auf die Breez-Node angewiesen.

Die Funktion ist LNDHub und wird beispielsweise auch von LNBits unterstützt.

Das ist nicht ganz korrekt. Breez ist eben ein Lightning-Node (lnd portiert). Jede Transaktion läuft über einen Lightning-Channel, aber man bekommt es nicht mit, weil Breez im Hintergrund einen Kanal erstellt. Sie verwenden auch Inceptors, die das auch zeitlich verzögern können: Die On-Chain-Transaktion ist also möglicherweise noch nicht durch, du kannst aber trotzdem schon Lightning-Transaktionen durchführen. Nur ist dafür halt auch wieder Vertrauen zwischen der Breez-App und der Breez-Node nötig.

Unter „Einstellungen“ findest du den Menüpunkt „Developers“ damit kannst du direkt lnd-Befehl absetzen und dir beispielsweise die automatisch erzeugten Kanäle ansehen. So kannst du beispielsweise auch einen Kanal zu einer anderen Node öffnen (das habe ich allerdings noch nicht getestet).