Skalierbarkeit des Bitcoin-Protokolls/Algorithmus

Ich habe mich ein wenig mit dem Bitcoin-Protokoll / Algorithmus beschäftigt. Ich habe die Grundlagen, denke ich, aber es gibt viele Fragen darüber, wie das Ganze skaliert werden soll. Zum Beispiel,

  1. Jeder Client lädt derzeit die gesamte Blockchain herunter, richtig? Wie ist das skalierbar? Sie sollen die Merkel-Bäume beschneiden können, aber ich habe keinen guten Einblick bekommen, wie das in P2P funktioniert.
  2. Was war der Denkprozess hinter der Verfolgung von Transaktionen, wie sie sind? Sie müssen einen Großteil dieses Baums durchqueren, um neue Transaktionen zu validieren? Recht?
  3. Da eine Transaktion IMMER (mindestens 6 Mal?) über P2P bestätigt werden muss, sind die Übertragungen weit davon entfernt, sofort zu erfolgen. Es gibt eine eingebaute Verzögerung. Ist das kein Problem? Es gibt bereits eine gewisse Verzögerung aufgrund der Art des Algorithmus, der die Transaktion in einen Block akzeptiert (Auflösen des Reverse-Hash).

Antworten (3)

Es wird nicht skaliert (bis zur Einführung auf dem Massenmarkt), wenn Sie alle Transaktionen direkt in die Blockchain stellen möchten.

Es muss eine Hierarchie von Diensten geben, die auf dem Kernprotokoll aufbauen. Neben der verbesserten Skalierbarkeit können sie auch alle Arten von Funktionen bieten, die manche Menschen benötigen, wie z. B. umkehrbare Transaktionen, sofortige (ohne Bestätigung) Überweisungen, verifizierte Konten oder Anonymität. Die Blockchain würde als Verrechnungsstelle zwischen diesen Diensten dienen. Die meisten Menschen müssten nicht direkt damit interagieren, aber sie können sich dennoch auf die Garantien verlassen, die sie der Wirtschaft bieten, die von der Kette unterstützt werden.

Nur weil das zugrunde liegende Protokoll radikal Peer-to-Peer ist, bedeutet das nicht, dass Sie keine Hierarchien darüber legen können. Nur weil Git Peer-to-Peer ist, bedeutet das nicht, dass irgendjemand den gleichen Einfluss auf die Linux-Kernel-Entwicklung hat. In der Bitcoin-Welt wird es zum Beispiel immer noch Banken geben, Kreditkarten und Versicherungen. Der Unterschied besteht darin, dass sie, egal wie mächtig diese werden, nicht mit der Geldmenge herumspielen können (und Münzen für sich selbst aus dem Nichts erschaffen). Wenn sie so viel vermasseln, dass eine große Anzahl von Menschen ihnen nicht mehr vertraut, können sie aus der Schleife herausgeschnitten werden.

Da eine Transaktion IMMER (mindestens 6 Mal?) über P2P bestätigt werden muss, sind die Übertragungen weit davon entfernt, sofort zu erfolgen. Es gibt eine eingebaute Verzögerung. Ist das kein Problem?

Die Bestätigungen machen es unmöglich, dass jemand doppelt ausgibt. Wenn Sie der anderen Partei genug vertrauen, müssen Sie nicht darauf warten. Das Gleiche gilt, wenn Sie andere Möglichkeiten haben, es ihnen heimzuzahlen, wenn sie betrügen. Wenn Sie ein Händler sind, können Sie einfach einen Prozentsatz des Betrugs aufgrund von Verlusten berechnen. Oder schließen Sie eine Versicherung ab. Ladenbesitzer tun dies bereits in der realen Welt (um Diebstahl zu mindern), ebenso wie Kreditkartenverarbeiter. Wenn Sie ihnen einen Dienst anbieten (z. B. ein Monats-VPN), können Sie damit aufhören, wenn die Zahlung „abprallt“. Wenn Sie physische Waren versenden, können Sie problemlos drei Stunden auf die Bestätigung warten. Sie können Währungen sofort auf Handelsplattformen wie MtGox kaufen und verkaufen (Sie müssen also nicht vertrauen oder gar wissen, mit wem Sie handeln, solange Sie der Plattform vertrauen).

Das Warten auf Bestätigungen ermöglicht es Ihnen, (automatisiert) Zahlungen von jemandem anzunehmen, von dem Sie nichts wissen, ohne sich darauf verlassen zu müssen, dass jemand anderes dafür bürgt. Das ist eine nette Zusatzfunktion von Bitcoin, aber es kommt zusätzlich zu den „realen“ Garantien, die Sie bereits haben.

1) Es ist nicht klar, warum Sie denken, dass jeder Client, der die gesamte Blockchain herunterladen muss, ein Skalierbarkeitsproblem ist. Ein Rückschnitt findet derzeit nicht statt, sollte aber theoretisch möglich sein. Der Speicherplatz wächst viel schneller als Bitcoin.

2) Um eine neue Transaktion zu validieren, müssen Sie sich nur die Eingaben ansehen, um sicherzustellen, dass sie gültig beansprucht werden. Vermutlich kennen Sie bereits alle aktuell gültigen Transaktionsausgaben. Sie müssen einen Block ankreuzen, um ihn trotzdem zu akzeptieren.

3) Auf diese Weise verhindert Bitcoin Double-Spending-Angriffe. Das liegt daran, dass Bitcoin einen „überhaupt keine zentrale Autorität“-Ansatz verfolgt hat. Soweit ich weiß, kennt niemand eine Möglichkeit, sofortige Transaktionen ohne eine zentrale Autorität durchzuführen. (Stellen Sie sich zum Beispiel vor, dass eine Naturkatastrophe das Bitcoin-Netzwerk in zwei Hälften spaltet und jede Hälfte eine widersprüchliche Transaktion sieht. Wie würden Sie das wissen?)

Platz ist nicht die einzige Überlegung, oder? Wenn Bitcoin skaliert werden sollte, um Milliarden von Transaktionen zu unterstützen, scheint es unskalierbar, dass jeder über alle Transaktionen Bescheid wissen muss. Ich verstehe das wahrscheinlich nicht so gut, weshalb ich frage.
@SanjayBhandari Bitcoin würde Milliarden von Transaktionen nicht unterstützen, indem es sie alle in die Hauptblockkette einfügt. In diesem Sinne ist das, was wir heute haben, nicht skalierbar.
Müssen Sie nicht auch ein bisschen zurückgehen, um die Gültigkeit zu überprüfen? Oder überprüfen Sie nur die letzten Eingaben? Richtig, ich weiß, warum die Bestätigungen da sind. Was ich frage, ist, wie kann Bitcoin mit dieser eingebauten Verzögerung große Skalen und Plattformen unterstützen, die extrem schnelle Transaktionen erfordern.
Ich bin mir nicht sicher, was du mit "rückwärts gehen" meinst. Ihr Client weiß bereits, dass jeder akzeptierte Block gültig ist, und er weiß bereits, welche Transaktionsergebnisse noch beanspruchbar sind. Die Aktualisierung dieser Informationen erfolgt, wenn Sie eine Sperre erhalten, sodass Sie dies nicht tun müssen, wenn Sie eine Transaktion erhalten. (Andernfalls erhalten/akzeptieren Sie möglicherweise einen ungültigen Block und geraten in die falsche Kette.)

Skalierbarkeit ist etwas, das berücksichtigt werden muss, aber es wird aus mehreren Gründen kein kritisches Thema sein.

  1. Nicht jeder benötigt einen vollständigen Knoten. Leichtgewichtige Clients bieten fast genauso viel Sicherheit bei sehr bescheidenen Hardwareanforderungen.

  2. Nicht alle Transaktionen erscheinen in der Blockchain. Es gibt Möglichkeiten, sichere, sofortige Off-the-Chain-Transaktionen durchzuführen, die nur minimales Vertrauen erfordern.