Ich habe gerade davon gehört, und es wird behauptet, dass es ein „Wendepunkt“ in der Blockgrößendebatte sei.
Was ist „ getrennter Zeuge “? wie funktioniert es?
Wie kann es zur Verbesserung der Netzwerkskalierbarkeit verwendet werden?
Ist dies die Antwort auf alle Bedenken hinsichtlich der Skalierbarkeit des Netzwerks?
Es ist keine Wunderlösung, aber es ist ein wirklich guter Anfang.
Wie Gavin Andresen sagte, ist Segregated Witness ein schlechter Name. Der „getrennte“ Teil des Namens soll anzeigen, dass eine Trennung durchgeführt wird. Der „Zeugen“-Teil des Namens rührt daher, dass digitale Signaturen oft als Zeugen bezeichnet werden.
Der getrennte Zeuge teilt Transaktionen in verschiedene Teile auf, die separat behandelt werden können, anstatt wie bisher in einen einzelnen Datenblock. Insbesondere nimmt es die digitalen Signaturen aus Transaktionen und legt sie in einem separaten Merkle-Baum ab, der die gleiche Struktur wie der Transaktions-Merkle-Baum hat. Wenn Sie also vollständig implementiert sind, um zu überprüfen, ob eine Eingabe ihre vorherige Ausgabe legal ausgibt, würden Sie die Signatur aus dem Signaturbaum anstelle des Standardfelds erhalten scriptSig
.
Dies sind einige der Vorteile dieser Idee:
Dadurch wird die Blockgröße jedoch nicht vollständig erhöht, sondern nur die Menge an Signaturdaten, die ein Block speichern kann. Da Transaktionen zu etwa 60 % aus Signaturdaten bestehen, ist dies immer noch ein ziemlich großer Gewinn.
Der Nachteil ist, dass es ein nicht triviales Upgrade für das Netzwerk ist, um mit der Verwendung von getrennten Zeugen zu beginnen. Das Format der Transaktionsserialisierung ist anders, und Code überall, der Bitcoin-Transaktionen durchführt, muss aktualisiert werden. Da es sich jedoch um einen Opt-in-Prozess handelt, kann das Upgrade im Laufe der Zeit langsam erfolgen.
Sie können sich Pieter Wuilles großartigen Vortrag über Segregated Witness ansehen unter:
https://www.youtube.com/watch?v=fst1IK_mrng&feature=youtu.be&t=37m12s .
Nate Eldredge