Kann die Anzahl der Transaktionen pro Sekunde das Netzwerk jemals überwältigen?

Ich komme von einem Standpunkt aus, der davon ausgeht, dass Bitcoin weltweit als Währung weit verbreitet und im Wesentlichen Mainstream ist. Jeden Tag verwenden die Menschen Bitcoin auf die gleiche Weise, wie sie heute ihre Kreditkarten verwenden.

Wird das Transaktionsvolumen auf dieser Ebene ausreichen, um das Bitcoin-Netzwerk zu überwältigen, da Transaktionen anders verarbeitet werden als bei den Kreditkartenunternehmen?

Ich denke, eine gute Antwort auf diese Frage sollte einen Link zum Wiki enthalten - en.bitcoin.it/wiki/Scalability

Antworten (3)

Dazu gibt es drei Teile:

  1. Die Bergleute müssen jede Transaktion, die in den Block geht, und alle Transaktionen, die sich in dem Block befinden, auf die sie ihre eigene Arbeit stützen, verifizieren
  2. Jeder Client muss nach Transaktionen suchen, die an seine eigenen Adressen gerichtet sind, was bei einem großen Adresspool schwierig werden kann
  3. Da alle Transaktionen gesendet werden, könnte das Netzwerk selbst möglicherweise überflutet werden.

Die ersten beiden sind ziemlich einfach zu lösen, da die meisten Computer bereits bis zu 100 Transaktionen pro Sekunde verarbeiten können (was zu ungefähr 10 * 60 * 100 = 60.000 Transaktionen pro Block führt) und dies durch Investitionen in größere Hardware vorangetrieben werden kann Verarbeitung und Auslagerung der Verifizierung an vertrauenswürdige Dritte.

Der letzte Teil ist schwieriger zu lösen, da er dazu führt, dass möglicherweise O(n^2) Nachrichten durch das Netzwerk gehen. Hier könnte ein strukturierteres Netzwerk ausreichen, aber alle bisherigen Versuche, ein strukturiertes Netzwerk zu schaffen, wurden verworfen.

Zu guter Letzt wächst die Blockchain linear mit jeder Transaktion, die Speicherplatz auf jedem Client verbraucht. Dies wurde teilweise von Satoshi in seinem Artikel gelöst.

Es könnte sich lohnen, das relevante Zitat aus dem Papier zusammen mit dem Zitat hinzuzufügen.
Es wird auch daran gearbeitet, einen Bitcoin-Knoten-Proxy zu implementieren, der die leichte Arbeit der gemeinsamen Nutzung von Transaktionen und die schwere Arbeit der Transaktionsverarbeitung aufteilt. Dies ist ein Beispiel für das strukturiertere Netzwerk.
Eigentlich nein, ein Node-Proxy isoliert nur einen einzelnen Node (schirmt ihn gewissermaßen ab), er trägt nichts dazu bei, die Anzahl der Nachrichten im gesamten Netzwerk zu reduzieren. Da jede Transaktion/jeder Block an jedem Knoten höchstens einmal verifiziert wird (Arbeit, die sowieso noch zu erledigen ist), reduziert dies nicht den zu erledigenden Arbeitsaufwand. Es reduziert nur die Anzahl von Nachrichten zu und von dem abgeschirmten Knoten.
@cdecker Es könnte leicht eine Eins-zu-Viele-Beziehung zwischen Proxys und den Knoten bestehen, die sie verwenden.
In diesem Fall reduzieren Sie das Netzwerk auf ein hierarchisches Netzwerk, während Peers hinter einem Proxy/Supernode ihnen vertrauen.

Es gibt tatsächlich eine Reihe möglicher Bedrohungsmodelle, die bewertet werden müssen. Aber da Sie nach dem Überwältigen „des Netzwerks“ gefragt haben, werde ich nur Versuche betrachten, das Netzwerk als Ganzes zu überwältigen, und nicht über Versuche sprechen, einige wenige Knoten zu überwältigen. (Sie können einen Knoten mit ungültigen Transaktionen überfordern, aber das wird dem Netzwerk als Ganzes nicht schaden.)

Erstens werden Knoten nur verifizierte, gültige Transaktionen an andere Knoten weitergeben. Und ein Knoten wird nur eine Transaktion weitergeben, die versucht, eine bestimmte Ausgabe zu beanspruchen. Außerdem wird ein Knoten keine Transaktion weitergeben, die eine neue Ausgabe beansprucht (eine, die seit langem nicht mehr stabil ist), es sei denn, sie enthält eine Transaktionsgebühr.

Sie müssen davon ausgehen, dass ein Angreifer keine Transaktionsgebühren verwendet. Sonst geht er bald pleite. Um also seine Transaktionen weiterzuleiten, muss er alte Ausgaben verwenden. Das Problem ist, dass seine Transaktionen in abgebaute Blöcke gelangen, seine alten Ausgaben verbrauchen und sie durch neue ersetzen. Bei neuen kann er seine Transaktionen nicht kostenlos weiterleiten lassen.

Der Nettoeffekt ist, dass Sie einen solchen Angriff nicht lange aushalten können, weil Sie nicht so viele alte Transaktionsausgaben haben können, die Sie beanspruchen können, und Sie werden sie sehr schnell verbrennen, weil Sie nur eine Transaktion pro Ausgabe weiterleiten können.

Tatsächlich können Sie nach einem kurzen anfänglichen Burst bestenfalls neue Transaktionen so schnell senden, wie sie in abgebauten Blöcken enthalten sind, was vielleicht 100 Transaktionen alle 10 Minuten sein kann. Das ist nicht viel Last.

+1 Obwohl ich das nicht wirklich aus einer Bedrohungsperspektive betrachte, sondern aus massiver Mainstream-Akzeptanz. Ihre Beobachtungen sind jedoch absolut gültig.
Es ist schwer vorstellbar, dass die Mainstream-Akzeptanz das Netzwerk jemals überwältigen wird, zumal das noch ein paar Jahre zurückliegt und die CPU-Leistung stark ansteigt.

Die Antwort ist nein, und hier ist der Grund: Ein durchschnittlicher Computer kann etwa 80 Transaktionen pro Sekunde überprüfen . Aber die meisten Miner sind heutzutage mit Pool-Servern verbunden, und in diesem Fall findet die Transaktionsverifizierung nur auf dem Server statt, der eine sehr ausgefeilte Hardware haben und eine viel größere Anzahl von Transaktionen verarbeiten könnte .