Einfluss von Bitcoin Core Entwicklern

Im aktuellen Faktencheck zum Pentagonbericht ist sinngemäß davon die Rede, dass potentiell böswillige Bitcoin Core Entwickler keinen Einfluss nehmen können, da die Nodebetreiber selbst entscheiden, welche Software sie laufen lassen.

Für mich ist dieser Punkt sehr abstrakt bzw. schwer zu verstehen, da Bugs, so unwahrscheinlich sie auch sein mögen, ja immer zu den Risiken von Bitcoin gezählt werden. Welche Art von Bug wäre denn nun ein Problem und welche nicht bzw. inwiefern ist der Einfluss der Core-Entwickler eingeschränkt?

Es gibt keinerlei Macht der Core-Entwickler. Ich rede von 0, nichts.

Warum? GitHub - bitcoin/bitcoin: Bitcoin Core integration/staging tree ist ein Vorschlag für eine Implementierung des Bitcoin-Protokolls, dir steht es frei andere Bitcoin-Software-Implementierungen zu benutzen und auch eigene zu bauen.
GitHub - bitcoin/bitcoin: Bitcoin Core integration/staging tree ist nur die populärste Implementierung, da hier sehr viele kluge Leute sehr lange dran gearbeitet haben.

Hinzu kommt, dass das ganze Open Source ist und du nicht nur alles sehen kannst, sondern auch anpassen kannst. Der Code wird jedoch zu den meist geprüften und sicheren Zeilen Code der Welt gehören ^^

Sonst siehe auch der wunderbare Zeriss von Rene: Faktencheck: Was ist dran am Pentagon-Bericht, der Bitcoin die Dezentralität abspricht? - Blocktrainer

5 „Gefällt mir“

Ok anders gefragt, können einzelne Menschen, egal ob Satoshi oder sonstwer, folgenschwere Veränderungen an Bitcoin vornehmen sprich einen Bug installieren, z.B quasi heimlich in dem Prozess ein Update wie Taproot zu installieren, auf das sich im Rahmen eines Netzwerkkonsens geeinigt wurde?

Ansonsten ist das Ganze für mich halt technisch noch nicht wirklich begreifbar, was ist beispielsweise der Unterschied zwischen der Software, die ja scheinbar austauschbar ist und der Bitcoin-Blockchain, die doch dachte ich keineswegs austauschbar ist bzw. auch nur einmal existiert? Und wo existiert diese Blockchain überhaupt, wenn sie auf mehreren Softwares laufen kann?

Fragen über Fragen aber für mich enorm hilfreich um das Ganze besser zu verstehen, von daher danke schonmal für die Antwort

Passender Beitrag dazu:

Hier noch als Podcast:

2 „Gefällt mir“

Die Blockchain existiert als Kopie auf den Nodes. Auf diesen wiederum läuft eine Software welche mit anderen Nodes kommuniziert, die Blöcke validiert etc.

Besorg dir am besten ein Buch wie z.B. Bitcoin Verstehen oder schau dich hier im Forum gründlich um. Ein anderer Einstiegspunkt: Mediathek | Aprycot Media

Wenn auf den Nodes Kopien sind, gibt es dann eine echte Blockchain oder wie ist das Ganze physikalisch vorstellbar? Wie gesagt gehts mir lediglich darum das Ganze auf dieser abstrakten Ebene zu verstehen, gelesen habe ich von Kopien auf den Nodes und so hier oder anderswo oft.

Was heißt physikalisch? Meinst du die Elektronen auf meiner Festplatte?

Ich würde vielleicht nicht von Macht sprechen, eine gewisse Gefahr kann dennoch von den 6 Core-Entwicklern ausgehen. Was passiert, wenn eine Regierung oder andere Entität plant diese sechs auf einmal auszuschalten? Was, wenn Microsoft einfach das Repository mit sämtlichen Forks entfernt? Dann wäre auf einen Schlag der Zugang zu diesem weg. Auf welchen Fork sollen dann die Entwickler sich einigen? Denke, hier könnte sich eine Abspaltung und ein Streit sich entwickeln, wie wir ihn ja auch bereits in der Vergangenheit sehen konnten (Block-Size War, BIP 119, …). Und das ist schon eine Gefahr, die man nicht kleinreden sollte.
Dennoch bleibt Bitcoin das demokratischste System, was mir bekannt ist. Das Videointerview weiter unten mit Christian Decker ist auch eine gute Möglichkeit ein GEfühl davon zu erhalten, wie so ein Entwicklungsschritt in Bitcoin funktioniert. Deckt sich uach mit den Berichten von anderen Entwicklern, die ich lesen/sehen konnte.

Nein, es gibt keine „echte“ Blockchain. Das ist wie mit der Cloud. Die Daten liegen nicht magisch im Nichts oder auf Wolken, sondern liegen auf den Rechnern, die von Software gesteuert wird. In Bitcoin ist das hauptsächlich der Bitcoin-Core Client, der oben ja schon verlinkt wurde.
Die Software bestimmt die Regeln, nach denen die Transaktionen und Blöcke, also der Konsens, definiert ist. Anschließend werden diese dann lokal auf deiner Hardware in einer Datenbank gehalten. Deine Node gleicht dann den aktuellen lokalen Stand kontinuierlich mit dem Stand von den anderen Nodes, mit denen es in Verbindung steht. Das sind so zwischen 8 und 15 Nodes (laut meiner Umbrel-Node), kann aber auch variiert werden.

2 „Gefällt mir“

Wenn Kleinweich als Besitzer von Github die törichte Idee haben sollte, das Bitcoin-Repository zu zensieren/blockieren, dann dürfte es nicht lange dauern, bis das Original-Repo woanders wieder online geht. Sehe nicht, wo es da einen Streit geben sollte: das Git-Repository ist durch kryptografische Hashes eindeutig und unfälschbar definiert. Der- oder diejenige, die hierbei ein anderes Repo der Bitcoin-Community unterjubeln wollen, dürften sich sowas von zum Affen machen, das käme einem Reputations-Selbstmord gleich.

Es gibt bei Bitcoin eine eindeutig definierte verkettete Blockchain-Datenstruktur, deren miteinander verkette Blöcke eine eindeutige Reihenfolge haben, die das Maximum an geleisteter Hash-Arbeit abbildet. Auf den einzelnen Nodes müssen die Blöcke nicht zwingend sequentiell in den blk*.dat Dateien auf dem Dateisystem gespeichert sein.
Aber die Blockverkettung ist für alle Nodes dieselbe, von kurzzeitigen Miniforks der chain tip einmal abgesehen. Durch die Konsensregeln einigen sich aber alle Nodes schließlich auf die eine eindeutige Blockchain-Verkettung.
Aber vielleicht habe ich dich auch falsch verstanden, was du mit „es gibt keine ‚echte‘ Blockchain“ gemeint hast und würde mich über Hinweise freuen.

Das Wording war vermutlich nicht ganz so gut. Ich wollte das, was vom Autor des Posts verwendet wurde, nutzen und darauf aufsetzen. Ich hatte den Autor so verstanden, dass er sich nicht sicher war, wo und wie die Blockchain liegt. Daher meine Referenz auf Cloud, da für technisch nicht affine Menschen auch hier das Verständnis von „Daten liegen irgendwo“ festsetzt.
Ich hatte nur versucht diesen Zahn zu ziehen. Die Daten liegen auf den Nodes mit den definierten Konsensregeln der Software. Ausführlicher hattest du das ja beschrieben.
Denke, da hier keine gegensätzliche Meinung besteht, braucht man hier auch nicht weiter erklären, außer MoormmanFan meldet sich.

Genau das wird passieren, aber nicht nur einmal. Wenn die Core-Developer weg sein sollten, wird es nicht einfach sein sich für ein System abzustimmen. Demnach hast du die Leute, die auf Gitlab weiter machen, andere, die auf Bitbucket gehen. Wiederum andere setzen einen eigenen Git-Dienst auf. Wie im Interview mit Christian Decker besprochen wurde, hat auch jeder Entwickler seine eigenen Interpretationen und Wünsche und somit wird der soziale Konsens erschwert, in eine Richtung weiterzuentwickeln. Auch wenn ich die daraus resultierende Client-Diversifikation begrüßen würde.

Aber ja, durch Signaturen und ähnliches würden alle am gleichen Status weiterentwickeln. Aber was danach passiert, ist, mit meinen geschilderten Folgerungen oben, nicht vorherzusehen und könnte eine Gefahr darstellen.

1 „Gefällt mir“

Zuerst einmal möchte ich darauf hinweisen, dass eine Differenzierung zwischen dem Bitcoin Protokoll und der Software Bitcoin Core zu empfehlen ist. Leider wird der Unterschied immer wieder missachtet, obwohl es für das Verständnis, was Bitcoin überhaupt ist und wie es funktioniert, so wichtig ist.

Bitcoin selbst ist nur ein Protokoll. Darin werden die bekannten Eigenschaften, Funktionsweisen und Regeln lediglich definiert. Das ist eigentlich schon alles.

Bitcoin Core ist eine Software, welche das Bitcoin Protokoll umsetzt, damit wir es überhaupt anwenden können. Dieses Programm kann auch mit beliebig Anderen ausgetauscht werden, welche sich ebenfalls an das gleiche Protokoll halten.

Theoretisch können in Bitcoin Core unerwünschte Features eingebaut werden, sowohl absichtlich als auch unabsichtlich. Jedoch kann man davon ausgehen, dass sich genügend andere, unabhängige Personen, sämtliche Änderungen des Codes anschauen und somit rechtzeitig gravierende Manipulationen auffallen würden.

Dabei ist auch zu beachten, dass das Bitcoin Protokoll selbst als sehr sicher und stabil zu betrachten ist. In der Regel wird es nicht verändert, sondern nur um neue Funktionen erweitert. Diese Erweiterungen gelten dann nur für ein neu eingeführtes Adressformat. Die alten Adressen folgen weiterhin nur den alt bewährten Funktionen.

Die meisten möglichen Manipulationen an Bitcoin Core würden nicht das Protokoll angreifen, sondern nur die Sicherheit der Software. Bedeutet, selbst eine manipulierte Software kann vergangene Blöcke nicht unauffällig manipulieren. Jeder kann die Blöcke und Transaktionen selbständig sehr leicht validieren und somit Manipulationen ausschließen.

Wie schon geschrieben wurde, die eine Blockchain gibt es nicht. Was wir machen, ist uns auf die Blockchain mit der nachweisbar am meisten aufgewendeten Rechenleistung (Hashrate) einigen. Eine Kopie dieser Blockchain liegt auf jeder Node lokal vor. Neue Nodes fragen Andere nach dieser Blockchain und validiert diese gleichzeitig. So ist jede neue Synchronisation auch eine Bestätigung dass die vergangenen Blöcke weiterhin den Regeln des Protokolls entsprechen.

Theoretisch kann jeder seine eigene Blockchain nutzen. Dies hätte im Fall von Geld nur wenig Sinn. Schließlich ist der Sinn von Geld ein gemeinsamer Konsens. Demnach sollte jeder daran interessiert sein, den gleichen Stand der Blockchain zu verwenden, um dem Geld einen Konsens und damit Wert zu geben. Unstimmigkeiten sind, wie bereits erklärt, leicht zu erkennen.

Im schlimmsten Fall kann auf das offizielle Repository nicht mehr zugegriffen werden. Jedoch besitzen sämtliche Entwickler eine lokale (auf dem eigenen Rechner liegende) Kopie des Repositories. Diese Kopie kann wiederum als Fork neu veröffentlicht werden.

Bitcoin ist nicht demokratisch. Mir fällt leider kein passendes Wort dafür ein, was Bitcoin ist. Der Unterschied ist, in einer Demokratie bestimmt die Mehrheit, was für die Gesamtheit gilt. Bei Bitcoin kann jedes Individuum selbst entscheiden, nach welchen Regeln er vorgeht.

4 „Gefällt mir“

Super gute Erklärungen von euch, vielen Dank dafür :+1:

Interessante Frage. Ich habe mal auf Wiki mir die Liste von vielen Herrschaftsformen zeigen lassen. Sind echt spannende dabei und ich glaube, nach deiner Beschreibung wäre es wohl Synarchie oder Synkratie.

Ich finde jedoch die Argumentation, dass jedes Individuum selbst seine Regeln definiert, nicht ganz schlüssig. Solltest du als Individuum alleine deine Regeln ändern, grenzt du dich vom System Bitcoin ab und deine Coins haben noch genau 0 Wert. Es besteht also schon ein Zwang zu einem gewissen sozialen Konsens gewisser Größe.
Wenn man von einem absoluten Mehrheitsprinzip mit ca. 90 % Mehrheit (oder mehr?) spricht, dann kommt das doch ziemlich nah ran.

Wir haben also gelernt, dass die Miner keine Macht haben, die Coreentwickler auch nicht sondern nur die Nodes, oder?
Wie viele Nodes die ihre Macht ausüben im Entscheidungsfall gibt es? 10.000? 15.000? Davon 2000-3000 in Deutschland und ebenso viele in Nord Amerika?
Wenn ein böswillige sehr vermögender Angreifer 10.000 Nodes in Nord Amerika und Europa weit verbreitet von einzelnen Personen installieren lässt und diese bezahlt würde er doch schnell eine erhebliche Mehrheit erreichen und Prozesse und Entscheidungen mitbestimmen können oder?

Nein, die Nutzer entscheiden. Ich verstehe nicht warum immer so auf die „Nodes“ abgeziehlt wird oder auf deren Anzahl. Deren Anzahl ist relativ irrelevant. (Natürlich erst ab einer, nicht wirklich definierbaren, Mindestanzahl und dezentraler Verteilung…)

Eine Node setzt die Regeln des Besitzers der Node durch, ein Nutzer.

Wenn ein Nutzer 1000 Nodes aufsetzt, dann haben diese zusätzlichen Nodes keine „Abstimmungsmacht“ oder „Einfluss“, da sie nur die Regeln einer einzelnen Person durchsetzen und nur von dieser einzigen Person genutzt werden, wenn überhaupt.

Nehmen wir mal an eine böse Entität will einen eigenen Bitcoin Client durchsetzen der z.B. Taproot Transaktionen ablehnt, was eine ziemlich harte Regel wäre. Dafür setzt diese Entität 10.000 Nodes an verschiedenen Orten der Welt auf.

Und was passiert jetzt?

Nichts passiert! :slight_smile:

Wieso sollte ich, als Nutzer, meine Wallet mit einer Node verbinden die Taproot Transaktionen ablehnt, eine Regel von der ich nicht überzeugt bin und die mir absolut keinen Mehrwert bietet?

Hier findet der „Abstimmungsprozess“ statt, wenn man so möchte. Niemand stimmt den Regeln dieser 10.000 Nodes zu, also nutzt niemand diese Nodes. Eine Node die nicht genutzt wird, auch nicht vom Besitzer selbst, ist völlig wertlos und irrelevant.

Dem Besitzer bringt es aber ebenso wenig seine Regeln auf 10.000 Nodes zu verteilen, da hinter diesen 10.000 Nodes trotzdem nur der eine Nutzer sitzt.

Alles was eine Node macht ist Transaktionen/Blöcke zu verifizieren. Das macht sie nach bestimmten Regeln. Konsens entsteht wenn sich viele Nutzer über diese Regeln einig sind. Nutzer einigen sich über diese Regeln mit ihrer Node.

Nodes üben keine „Macht“ aus. Welche Macht soll das denn sein? Die Macht eine Transaktion abzulehnen übertrifft nicht die Macht des Nutzers einfach seine eigene Node oder die von jemand anderem zu nutzen.


Edit: Mit „Nutzen“ ist hier nicht ausschließlich das Veröffentlichen von Transaktionen gemeint, auch wenn das sicherlich auschlaggebend ist, sondern z.B. auch das Verifizieren der Transaktionen selbst. Das ist schließlich für den Besitzer nützlich.

Eine Node wird auch genutzt wenn sie eine Transaktion weitergeben kann. Meine Node bekommt z.B. von Peer A eine Transaktion und leitet sie an Peer X, Y und Z weiter, die diese Transaktion noch nicht kennen. Würde meine Node, nach meinen Regeln, diese Transaktion ablehnen, dann wäre sie, aus Sicht des restlichen Netzwerks (also den anderen Nutzern), nutzlos, denn sie wird ja nicht genutzt. :smiley:

Ich glaube man muss da wirklich ein „Gefühl“ entwickeln was Konsens überhaupt bedeutet. So ganz am Ziel bin ich da selbst auch noch nicht.

5 „Gefällt mir“

Genau das Thema hatten wir neulich hier:

Mehr Nodes nicht mehr Stimmrecht

Am Ende sind denke ich die Nutzer entscheidend, nicht die Nodes.

Edit: Da hatten wir mal wieder gleichzeitig den gleichen Gedanken, @sutterseba. Irgendwie konvergieren unsere Meinungen im Laufe der Diskussionen und Threads meistens aus leicht unterschiedlichen Richtungen gegen die gleiche gefestigte „Endmeinung“. :slight_smile:

4 „Gefällt mir“

giphy

2 „Gefällt mir“

Ist die Abwesenheit von Herrschaft eine Herrschaftsform?

1 „Gefällt mir“

Danke @sutterseba und @skyrmion hab mich immer gefragt warumoft kolportiert wird es sei so sehr wichtig eine eigene Nodes für das Durchsetzen eigener Regeln zu betreiben, was ja den Nodes eine hohe Relevanz in diesem Thema zuschreibt.