Zum Inhalt springen

Heftiger und andauernder 51-Prozent-Angriff auf Bitcoin SV (BSV)


Sophopt

Empfohlene Beiträge

vor 2 Stunden schrieb Sophopt:

Ich fürchte, die 51% Angriffe sind deshalb gefährlich, weil die Angreifer dann ihre eigenen Regeln aufstellen können, also faktisch die Software umprogrammieren können. Dezentrale Lösungen für dieses Problem gibt es wahrscheinlich nicht.

NEIN.

Bei neuen Regeln gibt es imho nen Hardfork. Die Summe aller Bitcoin Nodes (nicht nur die Miner) stellt sicher, dass immer alle mit den gleichen Regeln spielen, und das ist ne 100% dezentrale Lösung. Vielleicht können unsere Spezialisten wie @Jokin oder @skunk besser erklären wie das genau implementiert ist.

Was ein 51% Angreifer könnte, wäre zu entscheiden welche Tx in den Blöcken verarbeitet werden. Er könnte zB nur noch leere Blöcke produzieren und damit die Chain einfrieren. Oder DoubleSpends durchführen (Tx rückgängig machen, auch nach bereits 6 Bestätigungen), aber auch da geht das nur mit Funds auf "seinen" Adressen, niemand kann je Funds auf Adressen ohne dazugehörigen PK bewegen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor einer Stunde schrieb mahatma:

Oder DoubleSpends durchführen (Tx rückgängig machen, auch nach bereits 6 Bestätigungen)

Genau das ist das was in der Situation so gefährlich ist. Sagen wir ich bin der Angreifer und ihr seit alle meine Opfer. Ich kaufe im Voraus eine größere Menge an BSV (sagen wir 100K €) und genug Rechenleistung für einen 51% Angriff. Am Tag X aktiviere ich meinen 51% Angriff aber ich trenne meine Miner vom Rest des Netzwerks. Jetzt habe ich eine öffentliche und eine private BSV Chain. Auf der öffentlichen BSV Chain sende ich meine 100K € Coins an diverse Exchanges und fange an diese fleißig an euch zu verkaufen. Ihr gebt mir im Gegenzug BTC. Das sind erstmal ganz normale Trades. Die BTC zahle ich natürlich umgehend aus. Bei diesem Spiel ist der Faktor Zeit wichtiger als der Faktor Umrechnungskurs. Ich werde am Ende vielleicht 90K € in BTC verteilt über mehrere Adressen haben. Ihr habt dafür die 100K € in BSV zu einem scheinbar guten Kurs gekauft. Ihr zahlt die BSV eventuell sogar an eure eigene Adresse aus.

Als letzten Schritt verbinde ich meine private Chain mit der öffentlichen Chain. Dank meiner Rechenleistung ist meine private Chain länger und die öffentliche Chain wird überschrieben. Schon stehe ich mit 100K € BSV + 90K € BTC da weil meine Transaktion hin zur Börse plötzlich aus der Blockchain entfernt wurde. Weil die Börse die BSV nie erhalten hat, sind auch alle Transaktionen von der Börse Weg plötzlich nicht mehr gültig. Eure Auszahlung ist damit ebenfalls verschwunden. Die Börse wird euch zwar weiterhin euer Guthaben von 100K anzeigen aber die Börse besitzt dieses Guthaben nicht mehr. Lust auf noch eine Runde? Irgendwann ist der Punkt gekommen an dem die Börse ihre Verluste an euch Kunden weiterreichen muss.

Das wäre jetzt das Szenario Double Spend. Es gibt noch das Szenario Zensur der Blockchain. Sagen wir erneut ich bin der Angreifer und ich mag euch nicht. Da ich eure Wallet Adressen kenne, kann ich mit meinem 51% Angriff dafür sorgen, dass eure Transaktionen niemals bestätigt werden. Ich kann jetzt noch auswählen ob ich eingehende Transaktionen, ausgehende Transaktionen oder beide Richtungen zensiere. Der Rest der Blockchain wird normal weiter funktionieren aber eure Transaktionen werden höchstens kurzzeitig mal eine Bestätigung bekommen aber niemals die üblichen 6 Bestätigungen erreichen.

Bearbeitet von skunk
  • Thanks 1
  • Like 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor einer Stunde schrieb mahatma:

NEIN.

Bei neuen Regeln gibt es imho nen Hardfork. Die Summe aller Bitcoin Nodes (nicht nur die Miner) stellt sicher, dass immer alle mit den gleichen Regeln spielen, und das ist ne 100% dezentrale Lösung. Vielleicht können unsere Spezialisten wie @Jokin oder @skunk besser erklären wie das genau implementiert ist.

Richtig und eigentlich ganz einfach:

Die Miner folgen der längsten Kette, die ihren Konsens-Regeln folgt und somit gültig ist.

Eine davon abweichende Blockchain führt zu einem Split und komplett eigenständigen Blockchains.

Das ist ja das Schöne an dem sehr einfachen BTC-Regelwerk. 🙂 

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 12 Minuten schrieb Jokin:

Die Miner folgen der längsten Kette, die ihren Konsens-Regeln folgt und somit gültig ist.

 

Kannst du das mal genauer erklären, wie das genau gemacht wird? Wie erkennen die restlichen Nodes, ob jemand die Konsensregeln ändert, bzw. mit nem anderen Code arbeitet (also nen ChainSplit herbeiführt)? 

Mir ist klar wie Transaktionen auf Gültigkeit getestet werden. Was spielt da noch rein? Gibts nen Mechanismus der erkennt ob ein Miner/eine Node mit nem anderen Code arbeitet? Oder ist der Code der Teilnehmer egal, solange die ins Netz gesendeten Informationen den Konsensregeln entspricht?

Also, dumm gefragt: Könnte ein Miner mit einer selbstgeschriebenenen BitcoinCore Version arbeiten, wenn die komplette Kommunikation mit dem Bitcoin Netz sich nicht von der einer originalen BitcoinCore Version unterscheiden würde, die selbern Regeln eingehalten etc?

Das ist was was ich mich schon lange Frage. Vielleicht hab ich auch nen Denkfehler wo...

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 10 Minuten schrieb mahatma:

Kannst du das mal genauer erklären, wie das genau gemacht wird? Wie erkennen die restlichen Nodes, ob jemand die Konsensregeln ändert, bzw. mit nem anderen Code arbeitet (also nen ChainSplit herbeiführt)? 

Ich könnte meinen Code so verändern, dass es mir auch ohne Private Key erlaubt ist dein Guthaben zu bewegen. Solange ich diese Transaktion nicht sende, haben wir keinen Chain Split und alles ist gut. Sobald ich aber dein Guthaben umbuche, haben wir eine Transaktion, die für alle anderen Nodes invalide ist aber für meine manipulierte Version ist sie valide. Das klingt erstmal nicht dramatisch weil der Unterschied ja nur eine einzige Transaktion ist. Der Rest der Chain ist weiterhin identisch. Ich kann dein Guthaben natürlich nicht an eine Exchange senden weil die Exchange dazu erst meine eigentlich invalide Transaktion akzeptieren müsste.

Wenn du jetzt noch dein Guthaben an eine Exchange bewegst und die deinen Input für eine größere Auszahlung mit hunderten von Outputs nimmt, dann sind die und alle darauf aufbauenden Transaktionen für mich ungültig und die beiden Chains werden noch weiter auseinander driften. Eine einzige invalide Transaktion sorgt bereits für einen solchen Chain Split.

vor 17 Minuten schrieb mahatma:

Oder ist der Code der Teilnehmer egal, solange die ins Netz gesendeten Informationen den Konsensregeln entspricht?

Jeder Teilnehmer validiert bei sich lokal alle Transaktionen. Es ist ihm egal was andere Teilnehmer machen. Jeder Teilnehmer traut nur den Transaktionen, die er selber validiert hat.

vor 18 Minuten schrieb mahatma:

Könnte ein Miner mit einer selbstgeschriebenenen BitcoinCore Version arbeiten, wenn die komplette Kommunikation mit dem Bitcoin Netz sich nicht von der einer originalen BitcoinCore Version unterscheiden würde, die selbern Regeln eingehalten etc?

Jetzt wird es nochmal etwas lustiger. Miner validieren keine Blöcke weil das zu viel Zeit kosten würde. Dem Miner wird eine Full Node vorgeschaltet, die dann alle Invaliden Transaktionen rausfiltert und nicht an den Miner weiterreicht. Wenn die Full Node einen Fehler macht, würde der Miner invalide Blöcke bauen und keinen Reward mehr bekommen. Den Fall gab es bereits. Solche Fehler werden dann in der Regel recht schnell behoben. Die Miner wollen ja ihren Reward bekommen.

Das ist das Tolle an dezentralen Netzwerken. Du kannst mit deinem selbstgeschriebenen BitcoinCore keinen Schaden anrichten. Alle anderen Teilnehmer werde alle Transaktionen von dir validieren und einfach alles ignorieren was nicht deren Regeln folgt. Du kannst maximal einen Chain Split verursachen wobei du dann auf der falschen Chain sitzt und nichts davon hast.

  • Thanks 3
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 10 Minuten schrieb skunk:

Du kannst maximal einen Chain Split verursachen wobei du dann auf der falschen Chain sitzt und nichts davon hast.

Es sei denn man bringt weitere Nodes und Miner dazu den eigenen "neuen" Konsensregeln zu folgen und schafft es die Mehrheit hinter sich zu versammeln.

Dann gibt es einen Chainsplit und Exchanges müssen sich entscheiden ob sie den Split unterstützen und welche Version des Splits das alte Tickersymbol fortführen wird und ob/für welche Version ein neues Tickersymbol eingeführt wird. 

Da ist sehr viel Spielraum und Taktiererei für die Handelsplätze, denn  ohne Handelsplatz ist ein Chainsplit "wertlos".

Bei BSV weiß ich jedoch immer noch nicht wie es weiter gehen wird, bzw. hab keinerlei Prognoseidee.

Bitcoin.de hat die Ein- und Auszahlungen von BSV unverändert beibehalten und scheint das komplett unbeachtet zu lassen.

Wird die "Bitcoin Association" einknicken und ihre Chain aufgeben? Wird den Angreifern das Geld ausgehen? Da die Blockrewards nun schon "spendable" sind: Gibt es Transaktionen auf der Parallelchain wo die bereits bewegt wurden und sind dies schon Einzahlungen auf Handelsplätzen wie bitcoin.de gewesen wobei für diese Handelsplätze ein extremes Verlustrisiko entsteht? Z.B. läuft bitcoin.de gerade in dieses Risiko falls genau die Chain "verhungert", die von BSV als "gültig" erklärt wird?

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 57 Minuten schrieb skunk:

Das ist das Tolle an dezentralen Netzwerken. Du kannst mit deinem selbstgeschriebenen BitcoinCore keinen Schaden anrichten. Alle anderen Teilnehmer werde alle Transaktionen von dir validieren und einfach alles ignorieren was nicht deren Regeln folgt. Du kannst maximal einen Chain Split verursachen wobei du dann auf der falschen Chain sitzt und nichts davon hast.

Ich glaube, daß eine maligne Node, die vorsätzlich invalide Transaktionen weiterleitet auch von anderen Nodes gebrandmarkt wird. Nodes, die mit der malignen vorher noch "geredet" haben, stellen die Kommunikation ein, um den Störer zu isolieren. Ich meine, so etwas im Bitcoin-Protokoll gelesen zu haben, bin mir aber nicht sicher, ob mich meine Erinnerung trügt.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...

Wichtige Information

Wir haben Cookies auf Deinem Gerät platziert. Das hilft uns diese Webseite zu verbessern. Du kannst die Cookie-Einstellungen anpassen, andernfalls gehen wir davon aus, dass Du damit einverstanden bist, weiterzumachen.