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.

About Christoph Bergmann (1149 Articles)
Das Bitcoinblog wird von bitcoin.de gesponsort, ist inhaltlich aber unabhängig und gibt die Meinung des Redakteurs Christoph Bergmann wieder. Wenn Ihnen das Blog gefällt, freuen wir uns über Spenden an 1BvayiASVCmGmg4WUJmyRHoNevWWo5snqC. Wir akzeptiere mit dieser Adresse sowohl Bitcoin als auch Bitcoin Cash. Weitere Infos, wie Sie uns unterstützen können, finden Sie HIER. Gastbeiträge sind ebenfalls willkommen. Meinen öffentlichen PGP-Schlüssel sowie den Bitmessage-Schlüssel finden Sie HIER

19 Comments on Parity veröffentlicht Bitcoin-Client in Rust

  1. bitmain selbst ist auch geldgeber fuer diese “Projekt”, offiziell, nachzulesen auf paritys website.

    -Faellt eigentlich niemandem auf, was fuer ein enormer Interessnkonfikt hier besteht, wenn “hüter” und nutznieser der einen Waehrung auch gleichzeitig eine andere Waehrung “betreuen”?

  2. Danke für die diesen informativen, deutschsprachigen Artikel, der die Situation wieder mal aus mehreren Blickwinkeln beschreibt und Vor- sowie Nachteile aufführt.

  3. Der weitaus wichtigste und schon immer fehleranfälligste teil von Bitcoin core, die seit jahren

    sich weiterentwickelne und meist betreute consensus-library(https://github.com/paritytech/parity-

    bitcoin/issues/404) auf der sämtliche consensus-vorgänge im Netzwerk beruhen –

    wurde auch in die neuere, bessere, wohlriechendere und schnellere Programiersprache Rust

    uebersetzt.


    – Ist euch klar was fuer eine schlechte Idee das ist, wie viele “übersetzungs”, auslegungs-fehler sich hier “einschleichen” können?

    – Dieses Vorgehen ist schon sehr merkwürdig…

    “The development was initially sponsored by leading Bitcoin mining pools F2Pool, Bixin (formerly HAOBTC) and Bitmain.” https://parity.io/press.html

  4. Ja, super! Ich denke, das Bitcoin-Core team sollte auch sich von den Ethereum-Minern dafür finanzieren lassen, einen zusätzlichen Ethereum Client in C++ zu schreiben. Der neue Ethereum-Client wäre ein grosse Bereicherung für das Ethereum-Projekt. Er wäre auch neutral was die Umsetzung von Metropolis und anderen Fork-Vorschläge anbetrifft, würde also einfach das momentan beginnende Ice Age weiter fortschrieben, bis 100% Konsens gefunden ist.

    • dead kennedy // 28. April 2017 at 18:50 // Reply

      genial! ..also das dich die entwickler teams so menschlich und grenz-überschreitend helfen, das ist ja direkt rührend.

      Da könnte sich die momentan weltpolitik aber mal eine Scheibe von abschneiden!
      Aber jetzt wirklich jetzt.
      -Respekt an diese tollen grossherzigen menschen, was für vorbilder…wertvolle helden.

      ich liebe euch alle.

      • Meine Güte, was ist mit euch los? Es gab mal eine Zeit, da haben wir uns über alles gefreut, was Bitcoin vorwärts gebracht hat und über jeden, der seine Zeit in Bitcoin investiert hat. Heute gibt es überall nur noch Feinde und Skandale und so weiter … ich hab ja hermans Einwand noch verstanden, aber das hier ist einfach nur Zynismus …

    • Leute, die keinen Schimmer von Freier Software haben, sollten sich auch nicht dazu äußern…

      Auch wenn Ihr das gerne abstreiten würdet, seid Ihr besser in totalitären Systemen aufgehoben und braucht eine Autorität, deren Meinung Ihr einfach als eigene (und einzig richtige) übernehmen könnt.

  5. hello beatyfull people!

    Diese ganzen Seiteneinsteiger Clienten die jetzt ploetzlich wie pilze aus dem boden schiessen sind eine Bedrohung fuer das Consensus model von Bitcoin, keine Bereicherung – das sind konkurierende entwickler teams die sich um die macht streiten,incl Bitcoin core! –
    Das dieses nicht die Sicherheit erhoehen wird, sondern vielmehr die Interessen der verschiedenen entwicklerteams(und eventuel geldgeber) gegeneinander aufheizen wird ist ziemlich klar…und bei streit(krieg) gewinnt oft der, mit den meisten resourcen..nicht die vernunft, die ist dann oft schon verschwunden..

    Um den consens in bitcoin zu aendern gab es schon immer die BIPs , die Bitcoin improvement proposals, die aber weder BU(emergingConsensus;)) noch bcoin(bitpay) oder parity(bitmain?) benutzt haben, sie haben es noch nichteinmal versucht…stattdessen is bu auf reddit gestartet, bcoin auf forbes und parity…

    -Das ganze ist meiner Meinung nach schlicht ein Angriff, der versuch die Geldwerte die BitcoinCore aufgebaut hat fuer eigene zwecke zu lenken, ja das ganze system mit einer “Parallel-implementaton” zu kapern..

    Aber es gibt eine moeglichkeit fuer die user dagegen vorzugehen, der update mechanismus, der vor version 0.8 von bitcoin core IMMER fuer consensus änderungen am protokol verwendet wurde: ein User Activated Soft Fork , hier signlisieren die einzelnen Netzwerkknoten ihre bereitschaft zum update und NICHT die miner.

    http://www.uasf.co/


    Bitte christoph zensier das nicht weg, das ist eine wichtige information fuer die gesammte Bitcoin gemeinschaft , ob sie es dann nutzen, können sie dann ja selbst entscheiden.
    -Wenn sie allerdings niemals davon erfahren, weil jemand anderes vorher fuer sie entschieden hat, das es nicht wichtig ist für sie…

    • Warum sollte ich das wegzensieren? Ich denke von konkurrierenden Meinungen dasselbe wie von konkurrierenden Clients – sie sind kein Angriff, sondern ein Feature …

    • Bitcoin ist vom Prinzip so aufgebaut, dass Miner die Macht und das Stimmrecht haben. Diese erbringen auch den Beweis, dass ihnen das Netzwerk wichtig ist in Form von Arbeit (Hashrate) und sichern damit das Netzwerk ab. Schon immer konnte ein Miner willkürlich bestimmen, welche Transaktionen er in einen Block aufnimmt und welche nicht. Satoshis Gedanke war, dass die finanziellen Anreize dafür sorgen, dass sich das Netzwerk reguliert und wichtige (=teure) Transaktionen Priorität bekommen. In etwa stimmt das auch heute.

      “User” kann man leider schwer definieren, denn ich besitze z.B. einige /24 IP Netze und könnte auf einen Schlag mit einem meiner Server über 1.000 Full Nodes jeweils mit eigenen IP Adressen aufsetzen, obwohl es eigentlich nur ein Full Node wäre. “User” könnte man wohl eher als wirkliche Nutzer definieren, die Transaktionen durchführen und Fees bezahlen. Leider ist ein Voting in Transaktionen nicht vorgesehen… Oder sind die Leute, die Bitcoin halten, aber nicht nutzen die “User”? Dann wären wir bei Proof of Stake…

      So oder so, Bitcoin basiert auf Proof of Work durch Miner, die durch ihre Hashrate das Netzwerk absichern. Die Mehrheit der Hashrate bildet immer die längste Kette und jeder, der dagegen ist, kann seine eigene Kette abspalten und ist dann eben ein Altcoin. Ob ich den Referenzclient nutze, oder einen selbstgeschriebenen, der den Regeln des Netzwerks folgt und die Kette weiterspinnt, die die Mehrheit akzeptiert, ist egal. In der Open Source “Szene” (wozu Bitcoin gehört) gibt es unzählige Beispiele dafür… HTTP, FTP, IRC, XMPP, HTML, CSS, PHP & Co. sind alles Protokolle oder Definitionen, die von etlichen verschiedenen Implementierungen verarbeitet werden. Diese bereichern die Entwicklung, da jeder einen etwas anderen Ansatz verfolgt, der jedoch zu allen anderen kompatibel ist.

      Wer andere Implementierungen ablehnt, möchte Zensur und Zentralisierung. Beispiele hierfür sind Facebook, Whatsapp, iOS App Store, Android Play Store etc., die alle nur in ihrer geschlossenen Umgebung funktionieren, aber nicht untereinander kompatibel sind.

      • Rakete4 // 29. April 2017 at 17:55 //

        Hallo Herr Janowitz,

        Dass Sie hier so betonen, dass die Miner die Macht und das Stimmrecht haben (“One hash one vote”), ist schon mal ein Hinweis darauf, dass es in Wirklichkeit wohl nicht so ist, sonst müsste man es ja nicht betonen.

        Darüber, welches Protokoll verwendet wird und über sämtliche Protokolländerungen bestimmt die ökonomische Mehrheit (Nutzer, Exchanges, Walletprovider etc.). Miner haben nämlich überhaupt kein Stimmtrecht, außer einem pseudo-Stimmrecht innerhalb des jeweiligen Protokolls, das eben dazu führt, dass es innerhalb ein und desselben Protokolls immer nur eine Chain gibt.
        Schauen wir uns drei Fallbeispiele an:
        Die Scrypt-Miner von Feathercoin konnten vor 2 Jahren nicht verhindern, dass sie entlassen wurden und von Neoscrypt-Minern ersetzt wurden. Und Vertcoin stellt derzeit seine widerspenstigen Miner mit einer Segwit-UASF vor vollendete Fakten. Bei Litecoin mussten Jihan Wu und Jiang Zhuo’er nach 8-stündiger Verhandlung zustimmen, Segwit zu aktivieren, nachdem Coblee Ihnen klargemacht hatte, dass er praktisch die gesamte Community auf seiner Seite hat und eine UASF oder einen Mining-Algo-Wechsel durchziehen kann. Immerhin konnten die Miner so noch verhindern, dass jeder sehen konnte, dass der Kaiser nackt ist. Die Litecoin developer haben sich ihrerseits durch die Einigung den steinigen, aber durchaus gangbaren Weg einer UASF erspart.

        Letzten Endes sind Miner also nur wie Zugpferde, die man jederzeit entlassen kann, wenn sie bockig werden. Nur in seltenen Situation, wenn die Meinung in der Community etwa 50:50 ist haben die Miner gewisse Möglichkeiten, das Protokoll zu ihrem Vorteil zu ändern. Metapher: wenn die Leute auf dem Kutschbock streiten, hat niemand die Zügel in der Hand. Streiten sie sich nicht, wird es ziemich schmerzhaft für die Pferde, wenn sie nicht in die gewünschte Richtung laufen, und der Kutscher dann die Zügel anzieht. Oder die Pferde gleich ganz austauscht.

        Quintessenz: “One hash one vote” ist nur ein Slogan, der von den Bitcoin Unlimited Anhängern verwendet wird, damit sich möglichst viele Bitconer freiwillig unter die Entscheidungen der Miner unterordnen. Die Strategie funktioniert aber nicht, weil die Mehrheit der Bitcoiner schlaue Köpfe sind, und die versuchte “Mind control” durchschauen. Das einzige was ihr erreicht, ist, dass sich jetzt Leute wie ich, die bisher still waren, in die Dabatte einschalten und Eure Argumente widerlegen. Aber versucht es nur weiter, wenn ihr weiter auf Granit beissen wollt.

        Gruß,

        Rakete4

  6. hmm,maybe slightly offtopic aber eigentlich nicht(parity,Bitmain..)
    antonopulos sagt dazu:

    aber natuerlich solltest du dir eine EIGENE meinung bilden.

  7. Ein Ende des STREITENS?! alles nur ein missverständniss? (das instrumentalisiert wurde?)

    ..eric lombrozo(BitcoinCore) ein grosser poolbetreiber reden endlich Klartext miteinander :

    http://nakamotoinstitute.org/

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s