Website-Icon BitcoinBlog.de – das Blog für Bitcoin und andere virtuelle Währungen

#UASF: User an die Macht?

Wenn die Miner nicht wollen, dann machen es eben die User: Die Bewegung um BIP148, der User aktivierten Softfork, nimmt Fahrt auf. Ab dem 1. August soll es losgehen. Wir schauen uns an, was hinter dem Stichwort #UASF steckt.

Plötzlich geht es ganz schnell: Überall in der Bitcoin-Community wird für #UASF geworben, die von Usern aktiviert Softfork zu SegWit. Die ersten Core-Entwickler kämpfen bereits dafür, und ein Vorschlag, UASF optional in Core zu integrieren, hat bereits Konsens erreicht.

Die Botschaft der #UASF-Community ist klar: Nachdem die Miner damit beauftragt waren, das lang ersehnte Protokoll-Upgrade SegWit zu aktivieren, sich aber dieser Aufgabe verweigert haben, ist es Zeit, dass die User übernehmen. Es soll keinen Kompromiss mit Jihan, Roger, Gavin, Jeff, Unlimited und wie sie alle heißen geben, sondern nur das reine SegWit. Wenn die Miner meinen, sie könnten SegWit als Geisel nehmen, um eine Hardfork zu erzwingen, dann nehmen sich die User, was ihnen gebührt und aktivieren SegWit ohne die Miner. Koste es, was es wolle. Kein Kompromiss.

Etwa das ist die Story von #UASF. Ich selbst finde es unnötig und schädlich, auf Teufel komm‘ raus und um jeden Preis einen Kompromiss zu verhindern. Aber das bedeutet nicht, dass UASF uninteressant ist. Es ist sogar faszinierend. Also: Was genau macht BIP148 – und hat es Chancen, erfolgreich zu sein?

BIP148 / UASF

Grundlage der UASF ist das von Litecoin-Entwickler ShaolinFry geschriebene BIP148. Nodes, die BIP148 implementiert haben, werden ab dem 1. August 2017 die Regel einführen, dass Blöcke das Version Bit 1 haben müssen, das SegWit anzeigt. Dies bedeutet, dass die Nodes alle Blöcke, die nicht SegWit anzeigen, verwerfen. Diese Maßnahme soll helfen, den bereits geschriebenen Start von SegWit zu beschleunigen.

BIP148 läuft mit der regulären Aktivierungs-Periode von SegWit am 15. November 2017 aus. Aber damit endet die Chance auf eine UASF noch nicht. Denn nach der Diskussion in der Mailing-List hat ShaolinFry noch BIP149 geschrieben, das am 15. November aktiviert wird. BIP149 ist derzeit allerdings noch eine Skizze.

Laut uasf.co, der Webseite der „UASF Arbeitsgruppe“, wird die UASF SegWit nicht nur bei den Nodes aktivieren, die BIP148 implementiert haben, sondern im Erfolgsfall auch bei den etwa 80 Prozent der Nodes, die das reine SegWit-Update (Core > 0.13) haben. Anscheinend wurde bereits die P2SH Softfork – die, die uns die Adressen mit der 3 am Anfang, etwa MultiSig, gebracht hat – auch mit einer Art UASF aktiviert. Um zu funktionieren, so die Webseite, braucht die SegWit-UASF allerdings die Unterstützung der ökonomischen Mehrheit, vor allem Börsen und Wallets.

Nachdem BIP148 eher von Litecoin zu Bitcoin übergeschwappt ist, wurde es zunächst von einigen SegWit-Fans beworben. Jemand hat UASF auf Mützen in Camouflage-Optik drucken lassen, und immer mehr Leute machen ein Selfie mit dieser Mütze.

Mittlerweile werben die Core-Devs Luke-JR und wohl auch Eric Lombrozo offen für UASF, Core-Maintainer Wladimir van der Laan benutzt privat dem Vernehmen nach bereits einen Bitcoin-Client mit BIP148, und Blockstreams Lightning-Entwickler Rusty Russel ist auch schon im UASF-Camp.

Die Bewegung nimmt Fahrt auf. Schauen wir uns mal an, wie die Sache ausgehen kann.

Szenarien

Was wird passieren, wenn der 1. August und damit die Aktivierung der UASF kommt?

Zunächst werden die UASF-Nodes aufhören, auf die bisherige Blockchain zu hören. Wenn die Miner weiterhin kein SegWit signalisieren bzw. keine neue UASF-Chain aufbauen, werden die Nodes im Dunklen sitzen. Man könnte es so sehen, als würde jemand am Tisch sitzen und sich die Ohren zuhalten, bis man endlich über sein Lieblingsthema redet. Wenn das nicht passiert, bleibt er taub.

Interessant wird es aber, wenn ein Miner beschließt, einen UASF-Block zu bilden. BitFury hat dem Vernehmen nach verlauten lassen, BIP148 zu unterstützen. Wenn also BitFury einen UASF-Block mined, wird dieser Block von den anderen Minern zurückgewiesen, aber von den UASF-Nodes akzeptiert. Es kommt zum Chain-Split. Die alte Chain, nennen wir sie Oldchain, wird weiter auf Nicht-SegWit-Blöcken aufbauen, während die neue Chain ab dem 1. August nur noch aus SegWit-Blöcken besteht. Sofern der einsame Miner nicht aufgibt, wird sich so eine sehr viel langsamere UASF-Chain bilden.

Diese Minderheiten-Chain wird natürlich zahlreiche Nachteile haben. Zum einen wird sie erheblich langsamer sein. Machen wir mal eine einfache Milchmädchenrechnung: Wenn die neue Chain sich mit sagen wir 15 Prozent der Hashrate absplittet, hat sie zunäch auch nur 15 Prozent Kapazität, was etwa 45.000 Transaktionen am Tag entspricht. Neue Blöcke erscheinen in Zeitlupe, anstatt wie jetzt 10 dauert es etwa 66 Minuten, bis ein neuer Block erscheint. Dieser Zustand hält etwa 2.000 Blöcke an, was nun nicht wie gewöhnlich 2, sondern 12 Wochen dauert.

Verschärfend kommt hinzu, dass die UASF keine Replay-Protection hat. Denn da so zunächst fast alle Transaktionen auf beiden Chains gültig sind (sofern keine frisch geprägten Coins im Spiel sind), wird die langsame UASF-Chain täglich mit rund 300.000 Transaktionen bombardiert. Wenn sich das Mining nach 12 Wochen wieder normalisiert, hat sich ein Backlog von mehr als 20 Millionen Transaktionen oder etwa 5 Gigabyte gebildet.

Zweitens müssen es die Coins dieser Chain auf eine Börse bringen, damit die Miner eine Motivation haben, sie weiterhin zu bewirtschaften. Weil es sich zwar um Bitcoins, aber um Bitcoins auf einer anderen Blockchain handelt, müssen die Börsen sie als Altcoin handelbar machen. Wie die Börsen bei der potenziellen Fork von Bitcoin Unlimited klar gemacht haben, ist dies für sie aber nur möglich, wenn es eine Replay-Protection gibt. Da diese Bitcoin-Abspaltung zudem ein irrsinniges Backlog haben wird, ist es fraglich, ob Börsen den Coin überhaupt listen.

Solange die UASF eine Minderheit repräsentiert, hat sie wenig Aussicht auf Erfolg. Wenn UASF nicht die ökonomische Mehrheit gewinnt, so die UASF-Webseite, sollten die Node Operator BIP148 nach dem ersten August nicht benutzen.“ Ebenso wird zum Teil empfohlen, keine Transaktionen zu bilden, wenn man UASF benutzt, und schon gar keine SegWit-Transaktionen, da diese auf der alten Chain als „Anyonecanspend“ ausgewiesen werden, was durchaus wörtlich zu verstehen ist. Dies macht die Aktion zugleich auch etwas witzlos. Schließlich geht es ja nur darum, SegWit benutzen zu können.

Erst wenn die ökonomische Mehrheit und eine ordentliche Anzahl von Minern, Usern und Mützen hinter der UASF steht, entfaltet sie ihre Macht. Denn dann haben die Miner starke Anreize, SegWit-Blöcke zu bauen, da diese auf den Märkten akzeptiert werden, während es für sie zugleich immer schwieriger wird, die Coins aus alten Blöcken loszuwerden.

Hardfork, Softfork, Chain-Split, Reorg

Aber Moment. UASF droht also, die Blockchain zu splitten. War nicht genau das der Grund, weshalb viele Leute eine Hardfork zu größeren Blöcken abgelehnt haben? Es ist faszinierend, dass dieselben Leute, die mit dem Split immer gegen eine Hardfork gewettert haben, sich nun offenbar darum keinerlei Sorgen mehr machen.

Allerdings gibt es einen kleinen, nicht ganz unbedeutenden Unterschied. Denn auch mit UASF bleibt SegWit eine Softfork. Sie kann zwar die Blockchain spalten, ist aber noch immer keine Hardfork. Dieser feine Unterschied ist wichtig.

Eine Hardfork ändert oder entfernt eine Regel. Die Blöcke, die nach ihr gebaut werden, verstoßen gegen die Regeln von Nodes und Minern, die kein Update haben, und werden von diesen für immer ignoriert, egal wie viel Hashpower hinter ihnen steckt. Die Nodes und Miner folgen der „längsten Chain“, die den Regeln gehorcht.

Eine Softfork hingegen fügt lediglich eine neue Regel hinzu. Blöcke, die nach ihr gebildet werden, gehorchen sämtlichen Regeln von sowohl neuen Nodes mit Update als auch alten Nodes ohne Update. Anders ausgedrückt: Wenn eine Softfork die „längste Chain“ bekommt, werden alle Nodes und Miner sie als gültige Chain anerkennen.

Sympathien und Antipathien sind eben nicht immer eine Sache der Gegenseitigkeit. Gerade nicht bei einer UASF. Die UASF-Nodes „ghosten“ die alte Chain, aber die alten Nodes ghosten die UASF-Chain nur, wenn diese „kürzer“ ist. Anders ausgedrückt: Wenn die neue Chain, die mit SegWit, mehr Hashrate bekommt, kommt es zum Zusammenfall. Die alten Nodes springen auf die neue Chain, und die alte Chain, die ohne SegWit, wird aus gelöscht. Es kommt zu einer gigantischen Reorganisation der Blockchain.

Daher, sagen die Fans der UASF, gibt es handfeste Anreize für die Akteure, auf die UASF-Chain zu setzen. Denn anders als die alte Chain ist diese sicher vor der Auslöschung. Dies sowie die Aktivierung von SegWit wird die UASF-Chain um ein vieles wertvoller machen als die Legacy-Chain und zwingend dazu führen, dass das Ökosystem auf diese Chain umsteigt.

Wirklich? Gab es da nicht ein Problem mit spontanem Konsens und Gefangenen und so?

Ich bin mir nicht sicher, ob das funktioniert. Damit die UASF gelingt, muss eine Einigkeit unter Usern und Unternehmen bestehen, diesen Schritt zu gehen. Es ist ein wenig so, als versuchen die UASF, das Problem zu lösen, das Bitcoin gelöst hat – nämlich spontan und dezentral zu einem Konsens zu kommen – verzichtet aber auf die Miner.

Damit die UASF erfolgreich ist, muss sie relativ schnell von mehr als 50 Prozent der Miner bewirtschaftet und von einem Großteil der Firmen unterstützt werden. Solange dies nicht gegeben ist, ist es sowohl für Miner als auch Unternehmen ein Risiko bzw. ein Verlust, auf die UASF zu setzen. Wir sind hier beim Problem der dezentralen Abstimmung über einen Zeitpunkt, dem Problem der Byzantinischen Generäle, das Satoshi Nakamoto mit den Bitcoin-Minern und den Blöcken gelöst hat. Der Versuch der UASF, es ohne Miner zu schaffen, wirkt ein wenig wie ein Rückschritt.

Aber das bedeutet nicht, dass es in diesem Fall nicht funktioniert. Mal schauen, was ab dem ersten August passiert.

Die mobile Version verlassen