Skalierbarkeit: Blockchain

in #blockchain7 years ago

Die Blockchain hat den Vorteil, dass sie einen verteilten Datenaustausch ohne zentrale Instanzen, denen man vertrauen müsste, ermöglichen. Dazu werden allgemeingültige Regeln festgelegt, die jeder Teilnehmer befolgen muss. Diese Regeln können relativ einfach sein, wie zum Beispiel, dass eine eingehende Überweisung nur ein mal weiter überwiesen werden darf (double spend; Bitcoin). Oder ein Kontostand nie unter null fällt (Ethereum).

Jeder Teilnehmer erstellt aus den Transaktionen, eine eigene Sicht auf das Netzwerk. Und kann bei neuen Transaktionen, diese auf die Sicht anwenden und prüfen, ob die Regeln eingehalten worden sind. Das macht jeden Teilnehmer unabhängig, da jeder die Daten selbst besitzt und diese prüft.

Der Nachteil entsteht, aber daraus, dass jeder Teilnehmer alle anfallenden Transaktionen im Netzwerk verarbeiten muss. Das führt zu einem Flaschenhals, da die Computer-Ressourcen, begrenzt sind. Der Flaschenhals kann die Netzwerkanbindung, der verfügbare Speicherplatz und/oder die Rechenleistung sein. So kann ein Durchschnittsrechner nur eine Begrenzte Anzahl an Überweisungen pro Sekunden verarbeiten.

Je höher das Aufkommen von neuen Transaktionen, um so mehr Ressourcen werden benötigt. Das führt dazu, dass immer mehr Rechner der Flut nicht gerecht werden können, hinterher fallen und nutzlos werden.

Das ist aber kein großes Problem, da ein Full Node, also ein Teilnehmer, der die gesamte Blockchain verarbeitet hat, sowieso nicht über das Netzwerk bestimmen kann. Das können im Endeffekt nur die Miner. Das Heißt, man hat eine Zentralisierung, aber diese hat man sowieso schon durch die Miner. Außerdem würde, bei erfolgreicher Verbreitung der Blockchain-Technologie, große Händler, die sich auf niemanden verlassen wollen und lieber die komplette Blockchain prüfen, einen Full Node betreiben. So ein Node, würde auf einem Computer-Cluster, also mehreren Rechnern, die sich die Aufgaben teilen, laufen.

Die Normalnutzer können dann einen SPV-Client nutzen, der nur einen kleinen Teil an Transaktionen runter lädt und prüft. So kann man die Prüfung zum Beispiel nur auf eingehende Transaktionen auf das eigene Konto begrenzten.

So hat man ein Netz, bestehend aus starken Rechnern, die alle Transaktionen prüfen und kleinen Geräten, mit wenig Leistung, die nur die nötigsten Daten verarbeiten.

Die Blockgrößenbegrenzung von einem MB bei Bitcoin halte ich für Schwachsinn und eine künstliche Einschränkung.

Lightning Network

Das LN ist eine weitere Schicht über der Blockchain, sie ermöglicht Transaktionen zu erstellen, die nicht über die Blockchain übertragen werden. Dazu muss auf der Blockchain ein “Kanal” zwischen zwei Teilnehmer geöffnet werden. Dann können sich die Teilnehmer Überweisungen zuschicken, die aber nicht auf der Blockchain landen. Die Überweisungen sind so designt, dass sie jederzeit auf die Blockchain geschrieben werden können und das Ergebnis aller früherer Überweisungen des “Kanals” bilden.

Das Erstellen eines Kanals kostet aber Gebühren. Damit ist es am günstigsten, wenn man nur so wenige Kanäle wie nur möglich öffnet. Das führt dazu, dass sich wenige Überweisungs-Dienstleister, herauskristallisieren, zu denen alle einen Kanal geöffnet haben.

Und wir sind wieder bei Paypal und Banken angekommen, die Dienstleistungen aus $Gründen verweigern können.

Also ist die Zentralisierung beim LN eine Anforderung, zumindest solange die Blockgrößenbegrenzung bestehen bleibt. Bei der On-Chain-Skallierung hingegen verhält sich die Zentralisierung proportional zu der Last des Netzwerks.

Sort:  

"Das führt dazu, dass sich wenige Überweisungs-Dienstleister, herauskristallisieren, zu denen alle einen Kanal geöffnet haben."
Genau das ist für mich ein Grund warum Lightning unter den aktuellen Nutzern sehr wenig Akzeptanz finden wird.

Hmm, wenn es aber der einzige Weg ist Bitcoin irgendwie zu nutzen (hust Überweisungsgebühren von 30$).