de
Zurück zur Liste

BSV: Blöcke von mehr als 200 Megabyte werfen einige Knoten aus dem Netzwerk

source-logo  bitcoinblog.de 12 August 2019 12:00, UTC

Laut vielen Medien gab es bei Bitcoin SV einen „dreifachen Chainsplit“ in Folge der Erhöhung des Blocksize-Limits auf 2 Gigabyte. Dem ist nicht so. Tatsächlich wurden in zwei Stresstests neue Rekord-Blöcke produziert – die viele Knoten im Netzwerk an ihre Belastungsgrenze getrieben haben.

Wenn man auf Nummer sicher gehen will, etwas zu schreiben, das in der weiteren Krypto-Szene gut ankommt, ist es immer eine gute Idee, etwas schlechtes über Bitcoin SV (BSV) und große Blöcke zu sagen. Das findet garantiert Zustimmung.

Crypto.IQ, ein Portal für „Bitcoin und Investment News von Insider-Experten, denen man vertrauen kann“, hat sich in der Beziehung letzte Woche besonders hervorgetan. Es ging um einen der periodisch auftretenden Stresstests von Bitcoin SV. Eigentlich wollte ich dazu nichts schreiben, aber da die Berichterstattung dazu relativ einseitig daherkommt, fühle ich mich genötigt.

Laut Crypto.IQ kam es zu einem „dreifachen Chain-Split“ nachdem Bitcoin SV „unnötigerweise“ das Blocksize-Limit auf 2 Gigabyte erhöht hat. In dem Artikel erfahren wir, dass bereits die Erhöhung des Blocksize-Limits auf 128 Megabyte in der Fork im November „lächerlich“ war; die Anhebung auf 2 Gigabyte mit dem kürzlich erfolgten „Quasar-Upgrade“ sei dementsprechend „absurd.“ Nach dem Upgrade habe CoinGeek, das Bitcoin SV „zentral kontrolliert“, jeden zum Upgrade gezwungen, indem sie einen „lächerlichen“ 210 Megabyte Block gemined haben, was wie eine „totalitäre und zentralisierte“ Weise wirke, Dinge zu tun.

Tatsächlich wurde mit der Quasar-Hardfork das Blocksize-Limit für Nodes auf 2 Gigabyte erhöht, während für Miner ein weicheres Limit von 500 Megabyte gilt. Dieses Limit ist mit voller Absicht sehr weit über dem alltäglichen Bedarf, um zu verhindern, dass es in Zukunft zu Kapazitätsengpässen kommt und um den Usern zu signalisieren, dass es keine begrenzte Kapazität geben wird. Man kann dies wie Crypto.IQ „lächerlich“ finden, sollte aber zumindest begründen können, weshalb man diese Zuschreibung verwendet.

Die Geschichte vom dreifachen Chainsplit ist jedoch schlichterdings falsch. Sie geht auf einen Tweet von BitMex zurück, demzufolge 19 Prozent der Nodes von BSV es versäumt haben, das Upgrade durchzuführen. Diese sind auf einer anderen Chain als die Nodes mit Upgrade, und es wurden tatsächlich in den Tagen nach der Fork einige Blöcke an diese Chain angehängt. Von einer ernstzunehmenden, dauerhaften Spaltung der Blockchain – wie bei der Fork von Ethereum und Ethereum Classic oder der Fork von Bitcoin Cash und Bitcoin SV – kann jedoch keine Rede sein.

According to 420 Bitcoin SV peers, the nodes are currently on different chains and at different heights:

* 65% at the current tip
* 17% stuck on a large 210MB block
* 19% on the old pre-hardfork chain pic.twitter.com/hO98lFX9Zw

— BitMEX Research (@BitMEXResearch) August 3, 2019

Kurz nach der Hardfork gab es Versuche der Community, die neuen Limits auszureizen. Zunächst wurden in der „Operation Datablast“ so viele Daten wie möglich auf die Blockchain hochgeladen, um sehr große Blöcke zu generieren. Dies resultierte in mehreren Blöcken von einer Größe von 256 Megabyte, die das Netzwerk größtenteils ohne Probleme verarbeiten konnte. Es gab einige weniger vorübergehende Ausfälle – etwa bei MoneyButton oder Whatsonchain – die jedoch nach einem kurzen Bugfix oder einem Upgrade des Servers behoben wurden.

Daten auf eine Blockchain hochzuladen verbraucht zwar viel Speicher, ist aber für die Knoten im Netzwerk relativ unproblematisch, da sie nicht so viele rechenintensive Signatur-Operationen beanspruchen. Anstrengender ist es für die Nodes, große Blöcke voller Transaktionen zu bilden, die alle einzeln zu validieren sind. Während schon vor einigen Monaten einige Blöcke mit 128 Megabyte an Daten recht problemlos waren, hat ein vergleichbar großer Block mit Transaktionen dazu geführt, dass es zu einer Reorganisation der Blockchain über mehrere Blöcke kam, weil die Verarbeitung des großen Blocks voller Transaktionen so lange gedauert hat.

Letzte Woche hat nun ein Stresstest der chinesischen BSV-Community das Netzwerk in sehr kurzer Zeit mit rund 2 Millionen vorgefertigte Transaktionen geflutet. Dies mündete darin, dass es innerhalb von 90 Minuten zwei Blöcke gab, die rund 200 Megabyte groß waren und je 800.000 bzw. 700.000 Transaktionen enthielten. Zum Vergleich: Bitcoin prozessiert am Tag maximal 500.000 Transaktionen, Ethereum maximal eine Million. Die Folge dieser großen Blöcke war erneut, dass die Nodes unter Druck gesetzt wurden. Es gab zwar keine Reorganisation der Blockchain, doch rund 17 Prozent, so BitMex, scheiterten daran, einen Block zu verarbeiten und blieben dementsprechend hängen. Das einen Chainsplit zu nennen, ist recht weit hergeholt.

Natürlich sind die Stresstests für viele Service-Provider ein ziemliches Ärgernis. Für Firmen, die sich auf Bitcoin SV spezialisiert haben, etwa MoneyButton oder Whatsonchain, sind sie Tests dafür, ob die eigene Hard- oder Software bereit ist, um groß zu skalieren. Ein Ausfall ist dann als ein Problem auf dem Weg zum Ziel zu bewerten, eine vielleicht kurzfristig unangenehme, aber langfristig wertvolle Erfahrung.

Firmen dagegen, die sich nicht auf Bitcoin SV eingeschossen haben, sondern die BSV als eine von vielen Kryptowährungen unterstützen, und für die der BSV-Node nur ein Teil einer viel größeren Infrastruktur darstellt, dürften dies anders sehen. Für sie werden die Stresstests zu einer Belastung, die eventuell die gesamte Infrastruktur betrifft, und ein stabiler BSV-Node zu einem immer größeren Kostenfaktor. Wo bei anderen Coins 2 CPU-Kerne und 2 Gigabyte Ram ausreichen, verlangt ein produktionsfähiger BSV-Node, so die offizielle Empfehlung von bitcoinsv.io, mindestens 8 Kerne und 16 Gigabyte Ram, besser 12 Kerne und 32 Gigabyte. Diese hohen Anforderungen stehen in keiner Relation zu der tatsächlichen Nutzung von Bitcoin SV, die bei den meisten Service-Providern eher geringfügig bis minimal ausfällt. Daher stimmt es, dass die Stresstests für Bitcoin SV tendenziell eher schädlich sind, weil sie Anreize für Service-Provider setzen, die Kryptowährung aus dem Portfolio zu nehmen.

Grundsätzlich jedoch hat das Netzwerk die Blöcke von Größen über 200 Megabyte relativ gut verarbeitet, sowohl die Blöcke mit Daten als auch die mit Transaktionen. Sie haben weder Chain-Splits noch Reorganisationen verursacht, sondern wurden vom größten Teil der Knoten relativ reibungslos verarbeitet. Mit dieser Bereitschaft, die Kapazitäten einer Blockchain auszureizen, steht Bitcoin SV unter allen Blockchain-basierten Kryptowährungen allein da; keine andere wagt so sehr, die Größe der Blöcke zu erhöhen, um herauszufinden, wo die Schmerzgrenzen und Flaschenhälse sind. Dabei zeigt sich, dass die Kapazität einer Blockchain größer ist, als viele es vermutet haben – aber auch, dass die Skalierung zuweilen Probleme verursacht. Dass diese Tests das Wissen über Blockchains erweitern, dürfte dabei außer Frage stehen.

bitcoinblog.de