Einfluss von Bitcoin Core Entwicklern

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.

3 „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.

Also mit Blick auf der Liste würde Anarchien am besten passen.
Letztlich ist das immer eine Definitionsfrage. Als Mathematiker ist aber die leere Menge immer auch eine Menge und demnach, als Analogie, wäre die herrschaftslose Herrschaft auch eine Herrschaftsform.

Was ist mit der Menge aller Mengen, die sich selbst nicht enthalten? Ist das eine Menge?

1 „Gefällt mir“

Wenn du der Barbier bist der alle Männer rasiert, nur nicht die, die sich selbst rasieren, dann schon. :wink:

2 „Gefällt mir“

Oder um beim Thema zu bleiben:
Du bist DER Herrscher der Herrschaftsform, in der jeder herrscht, außer den Herrschern.

2 „Gefällt mir“

Wenn du deinen eigenen Bitcoin, mit deinen eigenen Regeln machst, haben deine Bitcoin nur in jedem fremden Bitcoin Netzwerk keinen Wert. Aber wenn sich auch Andere deinen Regeln anschließen, Bildet ihr ein eigenes Netzwerk, mit eigenem Wert.

Außerdem, wenn ich ein Problem mit Traproot oder sogar Segwit habe, kann ich eine Node laufen lassen, die nur das originale Adressformat unterstützt. Dies wäre auch eine Art Regeländerung, ohne dass ich mich dem Netzwerk ausschließe oder an Wert verliere.

Vermutlich meinst du die Abstimmung bei Taproot und dass das demokratisch gewesen sei. Eine solche Abstimmung ist nicht Vorschrift. Man hat sich wohl dafür entschieden, um nicht das Netzwerk unnötig zu zerrütten, wie es wohl bei Segwit der Fall war.

Viel interessanter wäre, wenn weit weniger dafür gewesen wären. Hätte man dann Taproot nicht veröffentlicht? Höchstwahrscheinlich hätten die jenigen, welche dafür gewesen wären, es trotzdem veröffentlicht und nach und nach hätten sich dann immer mehr angeschlossen.

Wie würde man es dann nennen, Diktatur?

Daher schrieb ich auch „ein Zwang zu einem gewissen sozialen Konsens gewisser Größe“. Wenn ihr nur zu fünft sein solltet, dann ist der Coin quasi wertlos, weil kein anderer den annehmen würde. Tauschfunktion wäre nicht erfüllt.
An BCH und weiteren Forks, oder auch bei ETC hat man jedoch gesehen, dass auch eine kleinere Gruppe sich abspalten kann und ein gewisser Wert dahinter steckt. Da bin und bleibe ich bei dir. Die genaue Größe wird wohl erstmal keiner definieren oder herausfinden können, ab wann eine ausreichend große Netzwerkgröße erreicht ist.

Ich hätte vielleicht vorab klären sollen, dass ich mit Regeländerungen natürlich Hardforks meine. Da sind die Softforks natürlich nicht unmittelbar betroffen. Wobei Softforks ja auch kritisch betrachtet werden könnten, da hier Updates eingespielt werden können, die keine Abstimmung bedürfen. Und als Node-Betreiber die Mittel zur Ablehnung begrenzt sind.

Das ist ja auch der Grund, warum es Leute gibt, die Softforks stark ablehnen. Updates können nicht einfach durch Unterlassen eines Updates von dir abgelehnt werden. Vielmehr müsstest du dann aktiv werden und „Gegenfork“ umsetzen, falls das Update wirklich gegen deinen Willen verläuft.

Wie lief das nun eigentlich beim 0.24-Update? Für mich war das Update „plötzlich da“ und fertig. Gabs da Abstimmungen bezüglich der neuen Funktionen? Wie ist da die Vorgehensweise?

Kritiker behaupten, das Core-Team mache, was es wolle, und alle Nodes sind quasi dazu gezwungen, das Update spätestens zu installieren, wenn irgendwann mal ein hard-fork anstehen sollte. Also nach dem Hard-Fork seien ja alle bisherigen Soft-forks ja auch inbegriffen.

Diesen Punkt verstehe ich nicht.

Naja, nehmen wir an, es gibt jetzt weitere Versionen: 0.25, 0,26, 0,27. Sind ja lauter Soft-Forks.
Nun kommt ein Hard-Fork, nennen wir ihn 0.3. Und hier hätte ich geglaubt, dass dieser ja mehr oder weniger zwingend auf 0.27 basiert inkl. seinen nicht abwärtskompatiblen Neuerungen. Oder gibt es dann mehrere Hardforks, welche dann z.B. nur auf 0.26, und nur auf 0.25 ect. aufbauen? Wohl eher nicht, oder?

Neue Core Versionen sind nicht automatisch Soft Forks.

Eine Soft Fork schränkt die Konsensregeln ein und ist damit vorwärts kompatibel, während eine Hard Fork die Regeln ausweitet und damit nicht vorwärts kompatibel ist. Das ist alles.

Wenn ein Bitcoin Core Update z.B. nur eine neue Policy (wie mempoolfullrbf in 0.24) einführt oder einen Bug im Wallet Client behebt dann hat das nichts mit Konsensregeln bzw. einer Soft/Hard Fork zu tun.

Die letzte Soft Fork war das Taproot Update in 2021 (mit Core v21.1).

Also die Core Versionen kannst du aus dieser Diskussion erstmal raus lassen.

Wenn eine Hard Fork ansteht und du dich für eine Seite „entscheidest“, was soll das mit vorangegangenen Soft Forks zu tun haben?

Per Definition können dir diese Soft Forks doch egal sein, da sie deinen „alten“ Regeln eben nicht widersprechen. Es zwingt dich schließlich niemand die Funktionen einer Soft Fork, z.B. neue Taproot Adressen, zu nutzen.