Größere Blöcke

Diese Woche hat Roman ein Video über das Ordinals Protokol erstellt („Gefahr für BITCOIN! Ordinals-Protokoll und dessen Auswirkungen! | mit Roman Reher“). Vielleicht haben ja viele das Video gesehen. Als er um 10:30 über eine Lösung spricht, schlägt er folgendes vor:
Die Nodes sollen die Transaktionen vollkommen runterladen und den Anhang nur als ein Hash anstatt den ganzen Inhalt. Er sagt, dass das die beste technische Lösung zu dem Problem ist, damit die Nodes nicht den Inhalt von den Bildern runterladen und somit nicht die Gefahr laufen, hypothetisch illegales Content aus dem „Actual Block“ runterzuladen.
Mir ging dann dadurch die folgende Frage durch den Kopf: Wenn das akzeptabel ist, warum erweitern wir dann nicht die Größe von den Blöcken auf dem Blockchain (10x, 100x, 1000x…) und die Nodes laden dann generell nicht den Inhalt der Blöcke (Transaktionen und Anhänge) runter, sondern immer nur ein Hash. Mit dem Hash könnte man immer garantieren, dass die Blöcke nicht kompromittiert werden, jedoch könnten weiterhin die Nodes alle Hashes in einer akzeptablen Größe speichern und die Dezentralisierung wäre gesichert. Gleichzeitig wäre das Blockchain skallierbar. Den einzigen Nachteil, den ich hier sehe, wäre: Sollte der Hash später nicht übereinstimmen, braucht man den Orignalwert (Transaktionen, Anhang) der zu dem Hash geführt hat und das hätten die Nodes nicht. Der könnte sich zentralisieren. Aber ich sehe das nicht so problematisch. Der könnte auch auf mehrere Rechenzentren sein und man könnte notfalls die Werte der letzten x Tage auch lokal auf dem Node speichern. Wichtig sind die Hashes meiner Meinung nach.
Ich schätze, dass das keine neue Idee ist, aber habe nirgendwo darüber etwas gelesen.
Was ist das Problem an so einem Lösungsansatz?

Und wer prüft, ob die dem Hash zugrundeliegenden Transaktionen valide sind?

1 „Gefällt mir“

Das Hauptproblem ist generell, dass du ersteinmal den Inhalt haben musst um die Blöcke validieren zu können. Wenn du nur alle Header der Blöcke hast, und jemand will wissen ob seine Transaktion valide ist, dann brauchst du eben den Inhalt der Blöcke.
Wenn du die Haptchain so skalierst, aber nur die für dich relevanten Information speicherst, dann validierst du auch nicht mehr das Netzwerk für die anderen.

Außerdem, spinnen wir deinen Gedanken einmal weiter: jetzt haschen wir das gesammte Internet nach und nach und packen es in die Blockchain. Da ja nicht jeder alles speichert funktioniert das ja auch. Aber wie findest du in dieser Datenflut irgendwelche Daten? Suchen alleine geht ja nicht weil alle Daten bei dir nur als Hash liegen.

Theoretisch kann das ja jeder auch machen, er erstellt sich eine Sidechain, packt beliebig Daten hinein und sichert auf der Blockchain die Daten mit einem Hash ab. Jeder Bitcoiner speichert sich jetzt nur den Anker (und kann jederzeit die Nebenchain mit erneuten Hashs in der Bitcoin Blockchain verankern) aber die Daten selber stehen eben in der Sidechain. Nur leute die an der Sidechain interessiert sind laden sich jetzt diese Daten herrunter. Aber die Wissen dann auch wonach sie suchen. Diese Siedecahins, wie in Lightning können teilweise sogar unbekannt sein, da interessiert die Blockchain auch nur das Ende der Chain um daraus zu bestimmen an welche Addressen die gelockten Coins ausgezahlt werden sollen.

Die angesprochene Zensur der Blöcke funktioniert auch nur, wenn sie keine für die Blockchain relevanten Daten enthällt wie Transaktionen. Denn nur die Transaktionen sind relevant für die Blockchain, jedwede Daten darüber hinaus unterliegen immer dem Origin-Problem und sind damit nicht gesichert (im Sinne von sie können lügen auch wenn es in der Blockchain steht).

1 „Gefällt mir“