Blockchain

Bitcoin developer wertet kritische bugs in der segwit2x codebase aus

Blockchain Bitcoin developer wertet kritische bugs in der segwit2x codebase aus

Heilsarmee I'VE GOT PEACE LIKE A RIVER„ gespielt von der Beno mit Bänderspiel (Juni 2019).

Anonim

Die Veröffentlichung eines offenen Briefes auf der SegWit2X Mailingliste angekündigt die Aufhebung der SegWit2X-Hartgabel. Die Mailingliste bestand aus Mike Belshe, dem CEO von BitGo, ShapeShift-CEO Erik Voorhees, Xapo-CEO Wences Casares, Blockchain-CEO Peter Smith, Bitmain-Gründer Jihan Wu und SegWit2X-Chefentwickler Jeff Garzik.

Miners Continue Mining

Vor der Beendigung von SegWit2X durch die Hauptentwickler und primären Unterstützer des Projekts führten einige Minenarbeiter die Software noch immer aus. Daher schrieb der Bitcoin Core-Entwickler Peter Todd: "Keine Garantie, dass SegWit2X nicht passieren wird - Belshe kann Bergleute nicht daran hindern, diese Software zu benutzen - aber es ist viel weniger wahrscheinlich. "

Wie Todd vorhergesagt hat, haben mehrere Minenarbeiter die Software immer noch ausgeführt, nachdem der Hauptentwickler des Projekts das Projekt bereits aufgegeben hatte.

Bei Block 494, 782, zwei Blöcke vor dem Update sollte als Hard-Fork ausgeführt werden, trat ein kritischer Fehler auf, der zu einer Fehlfunktion des SegWit2X-Clients führte. Es wurde Bergleuten oder Knotenoperatoren untersagt, den Änderungsclient auszuführen.

Laut dem hoch angesehenen Bitcoin-Entwickler und Paxos-Chefarchitekten Jimmy Song wurden zwei kritische Fehler in der Codebasis gefunden. Einer war sofort offensichtlich und ein anderer war nicht so auffällig, aber mit strengen Tests wäre es gewesen. Er erklärte,

"Es gab eine begrenzte Anzahl von Unterschieden in der Codebasis von btc1 im Vergleich zu Bitcoin Core. Insgesamt gab es etwa 500 Änderungszeilen, von denen die meisten nicht konsenskritisch waren. Es gab jedoch mindestens zwei Fehler in den etwa 100 geänderten Zeilen, um eine harte Verzweigung bei Block 494, 784 zu unterstützen. "

Kritische Fehler, die nicht adressiert wurden

Einer der zwei kritischen Fehler beinhaltete ein Merkmal namens VersionBitsState notwendig, um eine andere Funktion in der Codebasis von SegWit2X zu verarbeiten, die SegWit und die Erhöhung der Bitcoin-Blockgröße involviert. Die Art und Weise, wie die Funktion VersionBitsState in der SegWit2x-Codebasis aufgerufen wurde, war fehlerhaft und führte daher zum Herunterfahren des Clients des Updates.

Bei erfahrenen Bitcoin-Entwicklern wie dem Bitcoin Core-Entwicklerteam wäre der Fehler während einer strengen Testphase aufgetreten. Song stellte fest, dass der Fehler während der Testphase von SegWit2x nicht gefunden wurde, da nur ein Administrator Änderungen an der SegWit2x-Codebase überwachte.

Song angegeben:

"Sie können sehen, dass dieses bestimmte Commit nicht wirklich in diese Pull-Anforderung gelangt, bis es auf der Seite niedriger ist. Nur eine Person scheint die Änderungen genehmigt zu haben (opetruzel), und es gibt Beschwerden gegen Ende von deadalnix (er von Bitcoin Cash fame) über diese Pull-Anfrage, die nicht genug Tests hat."

Der zweite Fehler wurde im BlockAssembler-Code gefunden, der dafür verantwortlich ist, den Code zum Erstellen neuer Blöcke auszuführen. Daher können Fehler oder Fehler im BlockAssembler-Code zu einer Reihe von Fehlern führen, die den Client oder das Netzwerk herunterfahren könnten.

Netzwerkprobleme und Sicherheitslücken

Wenn der SegWit2x-Hard-Fork wieder aufgenommen wurde, hätte das Token oder B2X schwerwiegende Netzwerkprobleme gehabt, die zu Netzwerkinstabilität und Schwachstellen geführt hätten. Das von Garzik geleitete Entwicklerteam hätte mehrere harte Gabeln ausführen müssen, um die Fehler zu aktualisieren und zu beheben.

Das Hauptproblem mit der Codebase und ihrem Entwicklerteam war, dass das gesamte Projekt einen Programmierer in Jeff Garzik und einen Rezensenten in Opertruzel hatte. Im Gegensatz dazu bestehen die Entwicklungsteams von Bitcoin, Ethereum und anderen öffentlichen Blockchain-Netzwerken aus Hunderten von Entwicklern und Reviewern in der Open-Source-Entwickler-Community.

Song schloss mit,

"Das Überprüfen und Testen von Konsensänderungen ist sehr, sehr schwer. Es sieht so aus, als hätte btc1 genau einen Coder und einen Reviewer für diese kritischen Konsensus-Änderungen und das reicht einfach nicht aus, um subtile Bugs wie die ersten oder offensichtlichen Bugs wie den zweiten zu entdecken. "

Natürlich steht das Talent des Entwicklungsteams außer Frage, aber es scheint, als fehlte ihnen die notwendige Gemeinschaft, um aktiv zu werden. Ohne einen Aufruf zur breiteren Spekulation müssen vielleicht neuere Updates warten.

Beliebte Beiträge