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

Parity veröffentlicht Bitcoin-Client in Rust

Parity Technologies, bekannt für den gleichnamigen Ethereum-Client, gibt nun auch einen Bitcoin-Client heraus. Gesponsert wird das ganze von chinesischen Minern. Der Client ist zwar noch ziemlich beta, aber wer Parity von Ethereum kennt, darf sich dennoch freuen.

Eigentlich ist Parity ein Client für Ethereum, der von Ethcore bzw. Parity Technologies herausgegeben wird und in der Programmiersprache Rust geschrieben ist. Seit gestern gibt es aber auch Parity für Bitcoin als Open Source Repository. Parity Bitcoin – kurz pbtc – ist vollständig kompatibel mit der Referenz-Implementierung von Bitcoin, wurde jedoch von Grund auf neu geschrieben.

Die Entwicklung von Parity Bitcoin wurde von den Mining-Pools F2Pool, Bixin und Bitmain finanziert. „Paritys Implementierung is eine hervorragende Ergänzung zu einer wachsenden Anzahl von Bitcoin Implementierungen,“ so Gavin Wood, Chefentwickler von Parity, in einer Pressemitteilung, „die Diversität und Wahlmöglichkeit repräsentieren verschiedene Akteure im Ökosystem und erlauben es jedem, die Lösung auszuwählen, die für ihn arbeitet.“ Wood ist guter Dinge, dass die Klarheit, Performance und Zuverlässigkeit von Rust Parity Bitcoin zur neuen Leitimplementierung für Entwickler machen kann. Er hofft, dass der neu aufgesetzte Client der Bitcoin Entwickler-Community hilft, Innovationen einzurichten, wie etwa Schnorr Signaturen.

Die Programmiersprache Rust wurde von Mozilla, dem Herausgeber von Firefox, entwickelt. Rust reduziert strukturell die Gefahr von mehreren Klassen von Fehlern und Sicherheitslücken, während die Sprache besser lesbar, aber ähnlich effizient wie C++ ist, der Sprache von Bitcoin Core.

Wang Chun von F2Pool twitterte, dass der Pool Parity Bitcoin finanziert hat, um die Entwicklung von Bitcoin weiter zu dezentralisieren:

Eine der ersten Fragen, die die Bitcoin-Community stellte, war, ob Parity Bitcoin SegWit unterstützt, oder Bitcoin Unlimited oder sonst einen Scaling-Ansatz. Ein Parity Entwickler antwortete darauf auf reddit: „Es legt sich nicht auf einen der bisher diskutierten Scaling-Ansätze fest und favorisiert weder SegWit noch eine erhöhte Blocksize. Es ist ein neutraler Release und Pull Requests sind willkommen.“ Gute Entscheidung, möchte man sagen, da es ein schlechter Start für einen neuen Client wäre, gleich zu Beginn ins Scalability Kreuzfeuer zu springen.

Bislang hat Parity Bitcoin noch kein graphisches Interface sondern läuft ausschließlich in der Command Line. Ebenso hat es auch noch keine Wallet-Funktionalität, sondern ist ausschließlich in der Lage, Blöcke und Transaktionen zu laden, zu validieren und weiterzuleiten. Allerdings ist bereits eine JSON-API eingerichtet, doch mangels Dokumentation ist noch nicht zu sagen, welche Optionen sie hergibt. Laut der Beschreibung auf Github kann es die Blöcke von Bitcoind (Bitcoin Core) importieren, um die Synchronisierung zu beschleunigen, allerdings sind meine Versuche damit aufgrund eines Memory-Errors gescheitert. Mein bisheriger Test der Synchronisierung bringt noch relativ viele Errors in der Kommunikation mit anderen Peers hervor. Ich bin mal gespannt, wie lange es dauert, bis die ganze Blockchain geladen ist. Da es wohl noch keine Check-Points gibt, gehe ich davon aus, dass einige Zeit ins Land gehen wird, bis es soweit ist.

Wer auf diesem Blog die gelegentlichen Nachrichten zu Ethereum verfolgt, dürfte nicht überrascht sein, dass mich die Nachricht entzückt. Für Ethereum war Parity schon immer die schnellere und ressourcenschonendere Alternative zu geth; als Ethereum letztes Jahr im Herbst unter massiven DoS-Angriffen stand, hat Parity zeitweise das Netzwerk alleine am Leben erhalten. Im Lauf der letzten 6-8 Monate haben die Parity-Entwickler ihren Client mit einem beeindruckenden Tempo und viel Innovationsfreude weiterentwickelt. Sollte etwas von diesem Geist auf Bitcoin überschwappen, wäre das eine wirklich phantastische Nachricht – auch wenn ich nicht weiß, wie das Parity-Team neben der Hauptbaustelle Ethereum genügend Zeit für die Bitcoin-Entwicklung mitbringen soll.

Parity Bitcoin ist nicht das einzige Bitcoin-Projekt in Rust. Bitcrust ist derzeit ebenfalls in der Entwicklung, wenn auch weniger weit fortgeschritten und erst im Aufbau der Datenbank – allerdings mit einer zum Teil hervorragenden Performance in der Verarbeitung von Blöcken dank einer neuen Datenbankstruktur. Neben den beiden noch am Anfang stehenden Implementierungen in Rust gibt es noch das seit lämgerem entwickelte btcd in go sowie die bereits betriebsfähigen NodeJS-Implementierungen Bitcore von BitPay und bcoin von Purse.

Die meisten in der Bitcoin-Community sind erfreut darüber, dass sich die Entwicklung dezentralisiert und verschiedene Clients konkurrieren. Einige Entwickler im Team Core – dem bisherigen Leitclienten – sind es allerdings weniger. Genau genommen sind es die üblichen Verdächtigen, Gregory Maxwell und Peter Todd, die protestieren. Sie beziehen sich dabei auf Satoshi Nakamoto, der einmal gesagt hat, dass ein zweiter Client eine Gefahr für das Netzwerk sein kann, da es schwierig ist, den Konsens zwischen allen Clients zu halten. Zudem seien verschiedene Implementierungen nicht zwingend dezentraler, als eine Implementierung mit einem dezentralen Team, und am Ende können sie gar dazu führen, dass die Entwickler ihre Zeit mit Redundanzen verschwenden.

Wie auch immer. Man kann es vermutlich sehen, wie man will. Es lohnt sich aber, Parity Bitcoin im Auge zu behalten.

Die mobile Version verlassen