Kann es zu doppelten Ausgaben zwischen der Verbreitung von Blockchains zwischen zwei Gruppen von Peers kommen?

Es sollte nicht so einfach sein, doppelt auszugeben. Ich glaube, ich vermisse hier etwas. Ich verstehe Konsensregeln und P2P-Netzwerke. Da ein Knoten jedoch nur mit einer begrenzten Anzahl anderer Peers verbunden ist, kennt eine Teilmenge von Knoten zumindest zu einem bestimmten Zeitpunkt nur eine begrenzte Realität von Blöcken unter diesen Peers. Würde dies nicht die einfache Möglichkeit einer doppelten Ausgabe ermöglichen?

Nehmen wir zum Beispiel an, dass es weltweit nur 6 Knoten gibt, und sie werden zufällig mit Peers gepaart.

**Set 1**
1<-->2      
2<-->3  
3<-->1
**Set 2**
4<-->5  
5<--6>  
6<-->4

Es führt zu einer Art von zwei Sätzen isolierter Gruppen von jeweils 3. Nehmen wir nun an, dass Adams Wallet mit Node 4 verbunden ist und eine Transaktion durchführt. Wie wird dies an die Knoten 1, 2 und 3 weitergeleitet? Adam in meinem Beispiel kann dies nutzen, um doppelte Ausgaben zu tätigen, indem er jetzt Transaktionen durchführt, indem er mit Knoten in Satz 1 verbunden ist.

Antworten (1)

Gut verbunden zu bleiben ist wichtig für Bitcoin-Knoten und Bergleute. Es gibt spezielle Relay-Netzwerke wie das Bitcoin Fiber Network, um sicherzustellen, dass neue Blöcke schnell kommuniziert werden, und um eine Netzwerkfragmentierung zu verhindern.

In Ihrem Beispiel wurde eine Teilmenge von Knoten aus dem Netzwerk fragmentiert. Wenn Sie eine tx an diese Knoten senden, wissen sie nicht, ob es sich um eine doppelte Ausgabe handelt, und speichern sie möglicherweise in ihren Mempools.

Transaktionen müssen jedoch von Minern bestätigt werden. Wenn sich also keine Miner im fragmentierten Netzwerk befinden, würden diese Knoten einfach endlos warten, um von einem neuen Block zu hören. Wenn der Rest des Netzwerks von dem anderen TX in der doppelten Ausgabe weiß und es in einem Block bestätigt hat, dann würden die fragmentierten Knoten den TX, von dem sie gehört haben, einfach löschen, sobald sie sich wieder verbinden und die aktualisierte Blockchain erhalten. Jeder UTXO kann nur einmal auf der Blockchain ausgegeben werden, ein zweiter Versuch wäre ungültig.

Es ist unwahrscheinlich, dass ein Miner fragmentiert wird, da es Dinge wie das Glasfasernetzwerk gibt, das ich oben verlinkt habe. Miner haben einen starken Anreiz, sicherzustellen, dass sie eine gute Verbindung zum Netzwerk haben. Alles andere als das bedeutet, dass sie Geld verlieren könnten, indem sie auf der falschen Kette abbauen.

Ich hoffe, Sie können sehen, dass es möglich sein könnte, wenn eine Situation eintritt, in der das Netzwerk fragmentiert wurde, ein doppelt ausgegebenes TX unentdeckt in die Mempools des fragmentierten Knotens zu gelangen. Aufgrund der guten Miner-Konnektivität (sehr geringe Wahrscheinlichkeit einer Miner-Fragmentierung) ist es jedoch unwahrscheinlich, dass die doppelt ausgegebenen TX bestätigt werden. Solange Benutzer also auf die Transaktionsbestätigung warten (dh nicht auf eine 0-conf-Sendung), besteht für sie nur ein geringes Risiko, doppelt ausgegeben zu werden. Normalerweise sind 6 Bestätigungen die empfohlene Wartezeit für Transaktionen mit hohem Wert.

Danke Chytrik! Ich verstehe. :-)
Ich habe weiter zu dem Thema recherchiert. Bergleute erhalten jedoch Anreize, es ist technisch möglich, doppelte Ausgaben zu tätigen, und das Netzwerk muss Robustheit gewährleisten. Ich recherchiere auf Linien, die dem „Chargeback“ bei Kreditkarten entsprechen. Ich habe festgestellt, dass bei einer Kreditkarte, obwohl der Betrag gutgeschrieben wurde, er innerhalb von etwa 60 Tagen vom Händler von der Bank zurückgenommen werden kann, falls die Transaktion angefochten wird. Obwohl das Szenario für Bitcoin nicht genau dasselbe ist, recherchiere ich im Wesentlichen, welches Ereignis die Transaktion ohne Erstattungsumfang, auch bekannt als Umkehrung, sicher besiegelt.