RSK hat ja (noch) den Nachteil, dass noch ein Opcode für die "Rückumwandlung" der Sidechain-BTC in normale BTC fehlt und somit die vorläufige Lösung des Pegs erstmal recht zentralisiert ist. Ich glaube, damit holt man keinen echten Bitcoin-Fan auf den 2. Layer.
Genau - der Vorteil ist aber, dass man es aber eben trotzdem funktioniert und man nicht warten muss, bis der Softfork in Core implementiert und dann im Netzwerk aktiviert wird. Bis segwit implementiert und getestet war hat es ja auch ewig gedauert und jetzt ist nicht mal klar ob/wann segwit aktiviert werden kann.
So geht es immerhin trotzdem vorwärts. Und niemand kann etwas dagegen machen ohne Bitcoin zu zerstören.
Es ist bei weitem nicht perfekt, aber ich werde es lieber nutzen als Altcoins.
Danke übrigens für den Hinweis auf Extension Blocks. Gibt es da irgendwo eine Beschreibung für technische Laien? Ich finde da nur sehr technische Beiträge (Dev-Mailingliste ...) die für mich als Nichtinformatiker doch recht schwierig zu verdauen sind
Ehrlich gesagt bin ich wirklich erstaunt, wie wenig Entwicklung es im Bereich Extension Blocks gibt und das der so selten erwähnt wird, die Idee ist ja nicht gerade neu.
Leider gibt ja nicht mal ein BIP oder eine wirklich fertige Spezifikation.
Ich versuch mich mal an einem ELI5: Extension Blocks sind die Softfork Variante von größeren Blocks, die viele ja wollen und man sonst über Hardforks erreicht.
Extension Blocks sind eine Layer 2 Technologie und lassen so also Layer 1 in Ruhe, während Projekte wie BU versuchen das direkt alles in Layer 1 zu ändern, ohne jedoch Konsens zu erreichen, weil es eben sehr unterschiedliche Interessen auf Layer 1 gibt.
Die Cornell Universität hatte vor 2 Jahren eine Studie herausgegeben in der Stand, dass wir mit 4 MB Blöcken ca. 10% aller Full Nodes verlieren würden. Da die Basis Blöcke bei Nutzung von Extension Blocks unabhängig von der Größe der Extension BLocks weiterhin maximal nur 1 MB hätten wäre es wohl möglich mit Extension Blocks sogar deutlich weit über die 4 MB zu gehen ohne direkt Nodes zu verlieren, die nur auf Layer 1 arbeiten.
Ich wüsste nicht, warum es einen Counter Hardfork in diesem Szenario geben sollte der Erfolg haben könnte, deswegen besteht auch kein Risko, dass die Währung BTC gesplittet wird.
Um die erweiterte Kapazität nutzen zu können braucht man wie auch bei segwit oder einem Hardfork einen neuen Client, der die extension blocks unterstützt. Aber der neue Client kann den Benutzer fragen, ob er die zusätzlichen ressourcen aufwenden will um auch den extension block zu unterstützen. Man könnte gleichzeitig Layer 1 als Archival Full Node nutzen und Layer 2 Extension Blocks als Pruned Full Node oder sogar als SPV Node.
Die tatsächliche Spezifikation von Extension Blocks könnte sehr unterschiedlich ausfallen
Auf jeden Fall erstellen Alle Miner weiter die normalen Blöcke und wenn er will, eben zusätzlich einen extension Block.
Praktisch ist es so, dass von einem Miner im Main Block auch eine Referenz auf den Extension Block abgelegt werden muss, könnte man genauso machen, wie das bei segwit gemacht wird. Theymos hatte segwit letztens als speziellen extension block beschrieben in einem Artikel auf /r/bitcoin, ich halte das jedoch für eher unglücklich, da segwit eine Layer 1 Technologie ist und ich extension blocks als Layer 2 Technologie sehe.
Alte Clients sehen zwar die Referenz, aber für die ist das nur Text und hat keine Bedeutung.
Der Basis Block ist deswegen unter den alten Regeln weiterhin voll gültig und alle Transaktionen im Block können vollständig von alten Clients verifiziert werden.
Es wäre also Rückwärtskompatibel und der Client könnte jederzeit noch überprüfen, ob alle Regeln in den Basis Blockhain (z. B. 21M Limit von Basis Bitcoins) eingehalten werden. Ist sogar besser als bei segwit, denn da haben alte Clients das Problem, dass sie in der Basis Blockchain nicht überprüfen können, ob jetzt eine Segwit Transaktion wirklich mit einer gültigen Signatur ausgestattet war oder nicht.
Und wenn es zu einem UASF bei segwit besteht die Gefahr, dass alte Clients und SPV Clients ggf. auf dem counter hardfork landen (dazu braucht ja nur ein miner sich selbst eine segwit transaktion schicken und diese dann ohne gültige signatur wieder ausgeben, also ohne BTCs zu klauen).
Alte Clients haben also nur einen indirekten Nutzen durch die höhere Übertragungskapazität im Extension Block, wenn andere statt des Basis Blocks den Extension Block nutzen, aber es ist freiwillig.
Wenn man jetzt ein Ultra-HODLer ist, der an Bitcoin nur als Digitales Gold interessiert ist kann man die Extension Blocks ohne Sicherheitsverlust ignorieren, das ist der große Unterschied zu einem Hardfork mit größeren Blöcken, wo man nun den gesamten großen Block untersuchen müsste um sicher zu sein, dass alles mit den eigenen bitcoins in Ordnung ist.
Wenn man Bitcoin für regelmäßige Zahlungen nutzen will, oder öfter LN Channel öffnen möchte, und genug Rechenleistung und Bandbreite hat, ist es wahrscheinlich sinnvoll primär in den Extension Blocks Transaktionen durchzuführen, denn die Transaktionskosten sind wahrscheinlich geringer.
Für Miner wäre das auch interessant, da sich neue Möglichkeiten ergeben Transaktionsgebühren zu bekommen - und ggf. wäre das auch ein Kompromiss um aus dem segwit vs. Big Blocks Dilemma rauszukommen.
Wie der Mechanismus aussieht um die BTCs vom Main Block in den Extension Block zu bekommen und zurück müsste festgelegt werden, da gibt es mehrere Möglichkeiten.
Ob der Mechanismus ohne Wartezeit oder mit Wartezeit funktioniert ist wieder eine Sache, die man abwägen müsste.
Selbst wenn die Coins im Transfer gesperrt werden, wäre das aber immer noch viel besser als bei einem Chain-Split, denn da kann man die alleine überhaupt nicht zwischen den Blockchains bewegen, falls wir also tatsächlich einen Hardfork hätten, wäre das so, als ob man seine Bitcoins mit unendlich Wartezeit zum Transfer in die die andere Blockchain sperrt
Davon hängt dann ab, wie die Nutzererfahrung ist, wenn man eine Transaktion von BTCs aus dem Main Block zu einer Adresse machen will, die im Extension Block gespeichert wird. Das könnte etwas länger dauern. Je mehr Miner einen speziellen extension Block unterstützen, desto mehr Freiheiten hat man, da die Miner auch den Extension Block absichern. Wenn alle Miner auch den extension Block minen, könnte man die coins natürlich ohne Wartezeit hin und her transferieren.
Eine Transaktion innerhalb des Extensionblocks würde ungefähr so funktionieren, wie wir das aktuell gewohnt sind mit den normalen Blöcken. Schlechter wird es wohl kaum, man könnte es auch so designen, dass es schneller als auf Layer 1 geht.
Der Extension Block kann praktisch ein beliebiges Format haben - aber zur Einfachheit kann man den am Anfang natürlich genauso aufbauen, wie einen "normalen" Bitcoin Block. Dann wäre die Arbeit das mit SPV Wallets auf dem Smartphone zu unterstützen sehr gering.
Extension Blocks haben ähnliche Nachteile für Nutzer, die diese nutzen, wie größere Standardblöcke, also erhöhter Speicherbedarf, CPU-Verbrauch und das alle alles speichern müssen. Aber keiner zwingt einen die extension blocks zu nutzen, man kann also auch weiterhin mit seinem Raspi Bitcoin nutzen und hat den alten geringeren Ressourcenbedarf.
Extension blocks können wohl kaum eine höhere Sicherheit haben, als die Hauptblöcke, dafür bezahlt man ja aber auch weniger Transaktionsgebühren als Nutzer.
The Blue Matt (Core-Dev) hat sich in der Mailing List darüber beschwert, dass Miner ja aus ökonomischen Gründen gezwungen wären dabei mitzumachen, aber ich sehe das anders. Es ist wie bei LN - es finden zusätzliche Transaktionen statt, die vorher niemals hätten stattfinden können. Dem Miner der nicht mitmacht, entgehen also überwiegend Transaktionsgebühren, die sonst bei Paypal oder bei einer Altcoin gelandet wären.
Eins frage ich mich allerdings doch, welche Effekte aufgrund dieses ökonomischen Aspekts auf Miner Zentralisierung zu erwarten sind. Andererseits funktionieren FIBRE,das Cornell Falcon Network und Thinblock Technologien schon jetzt ziemlich gut und erlauben es auch wieder kleineren Pools mitzumachen, ohne das ein größeres Orphan Risiko besteht.
Andererseits könnte es genau das sein, was die Miner wollen - mehr Blockspace zu verkaufen. Ich kann nämlich verstehen, dass viele Miner nicht unbedingt LN Hub Operatoren werden wollen, weil das komplett andere Fähigkeiten verlangt und einige Miner aktuell nicht ganz zu unrecht sauer sind. Und so hätten wir wieder eine Chance das Bitcoin-Ökoystem zusammenzuführen.
Es gibt jetzt schon mehr als eine LN Implementierung. Die meisten haben kompatible Schnittstellen, was aber nicht zwingend so sein muss.
Ich denke das löst sich ganz einfach. Wer nicht kompatibel zum BOLT Standard ist wird Schwierigkeiten haben, weil keiner die Software benutzen werden will wegen dem fehlenden Netzwerkeffekt und glaube eher, dass es deswegen ein gemeinsames LN geben wird.
Ggf. wird es zwischendrin irgendwelche Clients geben, die zwischen den inkompatiblen Standards eine Bridge bauen werden und das Netzwerk so wieder vereinen.
Problem bleibt weiterhin die Routenfindung
Edit: Satzbau
Edit 2: Im Gegensatz zu Segwit bleibt die Teilnahme an Extension Blocks, wie bei allen Layer 2 Technologien, auch für neue Clients freiwillig