Jetzt überleg' dir mal, was wir mit dem Netzwerk machen: Aus Furcht, dass wir einige Full Nodes abhängen, schneiden wir das Trustless aus viel viel mehr SPV oder Lightnodes raus. Aber ist ja abwärtskompatibel, was?
*ich halte eher 1.2-1.3mb für realistisch nach ca. 6 Monaten.
Ich denke das geht mindestens um den Faktor 10-20 schneller, da die Fees aktuell so hoch sind.
Mal abgesehen davon - das wäre ja keine schlechte Sache gewesen, wäre der Preis für Block-Space nicht so aus dem Ruder gelaufen.
Wenn das Angebot sprunghaft erhöht wird, landen wir ja gleich bei Fee ~0
- Native SegWit-Adressen: Benötigen eine Hardfork, da sie Blöcke für alte Nodes m. E. ungültig machen. Und wir waren uns ja schon einig, dass eine SegWit-Hardfork für Kapazität quatsch ist, dass als unter Gesichtspunkten der Kapa der einzige Vorteil von SegWit die Softfork ist.
Nein!
Prinzipiell kann man sofort native Segwit Transaktionen verwenden - das wird mit BIP141 bereits komplett abgedeckt.
Allerdings muss man dann die Segwit Transaktion von Hand erstellen.
Wenn du nachlesen willst -> im BIP 141 unter Witness Program.
Der neue Vorschlag mit den BCH codierten Adressen enthält übrigens direkt den Bitcoin Script (Witness Program) BCH codiert für Segwit
https://github.com/bitcoin/bips/blob/master/bip-0173.mediawikiEine Adresse ist prizipiell eine Anweisung für dein Wallet, wie es den Output einer Transaktion zu erstellen hat, speziell den Bitcoin Script.
Da sich der Script für native Segwit Transaktionen vom Skript für legacy Transaktionen unterscheidet braucht man ein neues Adressformat um das benutzerfreundlich zu machen, damit ein Wallet das verstehen kann. Ohne die benutzerfreundlichkeit funktioniert es aber auch so.
- Bestätigte SW-TX: Ja, wenn die alten Nodes den Minern vertrauen, können sie davon ausgehen, dass bestätigte SW TX ok sind. Ist halt ein vollkommen anderes Trust-Modell als Bitcoin bisher. Aber da Nested-P2SH-Adressen für SegWit nicht anders als andere 3xxxxxx-Adressen sind, dürften die Nodes die SW-TX durchaus sehen und im Sinne von Anyone can spent als gültig betrachten, oder?
Gültig sind die natürlich, sonst könnte es kein Soft-Fork sein.
Ich verstehe nicht, wie du für BU sein kannst und dann nicht den Minern vertrauen willst.
Außerdem ist es hier ja so, dass durch den Soft-Fork alle ökonomischen wichtigen Nodes dafür sorgen werden, dass die Regeln eingehalten werden. Keine Exchange wird Coins annehmen, bei der Miner einfach irgendwelche Bitcoins an sich selbst transferieren.
Und nur Nodes die Segwit unterstützen werden die TX auch weiterleiten - und zwar nur dann, wenn Sie gültig ist.
MITM Angriff für SPV Nodes bleibt genauso als Problem bestehen, unabhängig von Segwit.
Wo ändert sich da das Trustmodell jetzt genau? Und wie lange?
- "Soll er halt updaten": Ja mei, da könnten wir gleich eine Hardfork machen und ordentlich skalieren. Das ist das schlechteste Argument, das man pro SegWit machen kann. Fakt ist, dass SegWit als abwärtskompatibel verkauft wird, aber tatsächlich für Nodes, die nicht updaten, das komplette Trustmodell dermaßen untergräbt, dass Bitcoin im Grunde nicht mehr Bitcoin ist.
Das Trust Modell ändert sich doch überhaupt nicht. 0-conf war schon immer unsicher. Die hohe Anzahl an Segwit validierenden Nodes sorgt dafür, dass 0-conf aber auch nicht unsicherer wird. Und denk daran - alle Transaktionen die du bisher ausgeführt hast sind nach der Logik
auch unsicher, oder immer noch Anyone-Can-Spend, dank des OP_RETURN bugs. Irgendwann werden alle upgedatet haben - aber jeder darf eben dann updaten, wenn er es will, oder alternativ es sogar sein lassen.
Extension Blocks:
Das ist jetzt interessant und erinnert mich daran, dass ich mich da mal ordentlich einlesen sollte. Als nicht upgedateter Node sehe ich in den Blöcken ja nur die Anyonecanspent, in die irgendwie die ganzen Tx der Ext Blocks verwurstelt sind. Wie kann ich da sehen, ob ein Guthaben gedeckt ist? Das Guthaben auf der Mainchain wird ja durch den Ext Block geändert.
Und wenn es ganz normale Transaktionen sind - woher wissen die MIner, dass sie in den Ext. Block kommen? Irgendwas muss ich damit doch machen, um das den Minern mitzuteilen ...
Genau eben nicht - Das Guthaben bleibt in der Mainchain und wird auf einer speziellen Adresse gesammelt.
Das Guthaben was auf der Adresse ist, wird dann im Extension Block neu erschaffen.
Extension Blocks haben ein von der Mainchain unabhängiges UTXO, genauso wie Sidechains.
Innerhalb des Extension Blocks kann das dan hin und her übertragen werden, ohne dass das überhaupt Auswirkungen auf die Mainchain hat.
Erst wenn man wieder an jemand in der Mainchain senden will, verschwindet das Guthaben im Extension Block und der Empfänger in der Mainchain wird aus dem Guthaben der speziellen Adresse (praktisch gesehen ist das keine 1er oder 3er Adresse, sondern nur der script
"OP_RETURN" OP_TRUE, für den es keine äquivalente Adressdarstellung gibt - ggf. macht man das als 3er Adresse mit P2SH, ändert aber nichts am Prinzip) bezahlt.
Ohne Extension Block Unterstützung sieht man dann nur, dass man von dieser speziellen Adresse was empfangen hat.
Und wenn es ganz normale Transaktionen sind - woher wissen die MIner, dass sie in den Ext. Block kommen? Irgendwas muss ich damit doch machen, um das den Minern mitzuteilen ...
Ja - Extension Blocks haben andere Adressen, bzw. ein anderen Bitcoin Script - Vorschlag ist hier auch das über ein Witness Program zu machen - siehe BIP141.
Wenn du mehr dazu nachlesen willst - die Spec von Bcoin ist recht gut zu lesen
https://github.com/tothemoon-org/extension-blocks/blob/master/spec.mdUnd hier auch noch
Wir haben trotzdem keine Vergleichbare Situation in der wir das ausprobieren könnten.
Stell dir mal vor jemand, der EC scheiße findet will unbedingt beweisen, dass spammen möglich ist - mir fallen da eine ganze Reihe an Leuten ein.
Das heißt die Blöcke werden relativ schnell voll sein.
Stell dir mal vor, jemand findet Ethereum scheiße und will unbedingt beweisen, dass spammen möglich ist ... ups, ist ja wiederholt passiert und hat nix geschadet.
Wenn jemand Blöcke, die durch organische Aktivität 20 Prozent voll sind durch Spam bis zum Anschlag füllt, ist das richtig teuer.
Und mit Pruning richtet ein solcher Transaktionsspam nicht mal nachhaltig einen Schaden an.
Ich glaube das wurde durch einen Hard-Fork gelöst oder?
Wie soll das ohne einen Vitalik bei Bitcoin klappen?
Aber warum wollen wir mit EC genau so einen Angriffsvektor überhaupt erst aufmachen um ihn dann wieder fixen zu müssen?
Wir haben auch im Augenblick keine vernünftigen pruned Nodes, weil es keine UTXO-Commitments etc. gibt.
Dann kannst irgendwann keine neuen Nodes mehr syncen -> Erzeugt alles sehr stark Zentralisierung.
Das heißt da ist einfach noch extrem viel Vorarbeit zu leisten um die Angriffsmöglichkeiten ausreichend abzuschwächen.
Ethereum hat auch seine Blockchain verändert, wegen dem DAO bug. Sowas würden wir bei Bitcoin wohl kaum machen.
Und auch deswegen ist Bitcoin zum Daten speichern aktuell konkurrenzlos.
Du kannst bei Bitcoin manche Dinge auch nicht so einfach prunen, wie bei Ethereum. Da hat einer ganz viele leere Accounts angelegt. Natürlich kann man die einfach wieder löschen - Bei Bitcoin hätte es ja nicht mal einen Eintrag im UTXO-Set dazu gegeben. Was passiert aber, wenn du in Bitcoin einfach viele dust utxos anlegst? Die kannst du nicht prunen.
Ich hab in meinem Wallet einige 1 Satoshi Dust UTXOs die irgendein spammer mal angelegt hat.
Willst du jetzt einfach alle kleinen Outputs löschen? Also die Eigentümer von Bitcoins enteignen? Das wird einen schönen Aufschrei geben.
Wir können in Bitcoin Spam nicht von normalen Transaktionen unterscheiden - außer bei den 1 Satoshi Dust Transaktionen die ich empfangen habe kann ich das für keine anderen Transaktionen sagen, ob die Spam sind oder nicht.
Bitcoin ist ja auch ein erlaubnisfreies System.
Alles was die Gebühr bezahlt ist eine valide Transaktion und gleichberechtigt, egal, wie ich oder jemand anders das findet.
Zudem ist Bitcoin immer noch mit Abstand die sicherste nicht veränderbare Blockchain, das heißt es ist interessant darin seine Daten permanent zu speichern - je günstiger es ist, desto größer ist der Bedarf.
Deswegen ist leider der natürliche Zustand einer begehrten Blockchain, dass die Blöcke relativ schnell voll sein werden.
Kann sein, dass das theoretisch Sinn macht. Tragedy of the Commons und so. Aber wenn die empirischen Erfahrungen von 8 Jahren Bitcoin und von 600 Altcoins zu 100 Prozent gezeigt haben, dass diese Theorie sich in der Wirklichkeit niemals bestätigt, sollte man darüber nachdenken, ob man falsch lag. Wer trotz dieser massiven emprischen Evidenz an einer offenbar falschen Theorie festhält, verhält sich hochgradig irrational.
So wie ich es sehe, ist diese von 8 Jahren Bitcoin + 500 Altcoins widerlegte Theorie das einzige Argument, das du bisher gegen BU gebracht hast. Das ist enttäuschend und wird nicht dem Niveau gerecht, das du hier bisher demonstriert hast. Bitte mehr Argumente.
Kannst du das mal erläutern? Ich sehe es einfach so, dass sich um 99% aller Altcoins kein Angreifer interessiert.
Ethereum bekommt sicher auch ein bisschen was ab.
Wenn man Geld verdienen will mit fallenden Kursen und das durch Angriffe provizieren will, dann lohnt sich das wohl da, wo es eine große Marktkapitalisierung und einfache Angriffsmöglichkeiten gibt.
Es geht jetzt zunächst darum den Sweet-Spot zu finden und zu gucken, wie man den Blockspace mit weiteren Verbesserungen (MAST, Schnorr) und mit Off-Chain Lösungen hebeln kann.
MAST kann ich nicht beurteilen, aber über Schnorr habe ich einen Vortrag von Pieter Wuille in Mailand gehört. Schnorr verschmilzt Signaturen von Transaktionen und holt so mehr Platz raus. Könnte absolut super sein! Wenn aber mit SegWit die Nicht-Signature-Daten weiterhin auf 1mb begrenzt sind, erhöht Schnorr die Kapazität um exakt 0 Prozent.
Offchain ist noch in sehr weiter Ferne. Bisher kenne ich auch kein Offchain Modell, das mich überzeugt, dass es echte Bitcoin Transaktionen ersetzen kann. Sidechains vielleicht, wenn sie trustless sind.
Es gibt ja schon zentralisiertes Offchain Coinbase und Unocoin in Indien.
Ich denke schon, dass wir in einem Jahr einiges auch dezentral an offchain haben könnten.
Es müssen ja nur die 20% der User, welche 80% der Transaktionen durchführen einen Teil offchain um massiv Kapazität freizugeben.
Edit:
Mir ist Segwit vor allem wichtig, da man nun selbst entscheiden kann, ob seine Transaktion Malleable ist oder nicht.
Das brauchen wir langfristig so oder so um mit anderen Kryptowährungen mitzuhalten und ist wirklich ein schwerer Designfehler im Original Code von Satoshi
Und warum soll Schnorr nicht den Platz erhöhen? Bei Schnorr hilft doch nur bei Signaturen - und gerade da setzt doch Segwit an.
MAST verringert den Platz, den Scripts mit UND bzw. ODER Bedingungen brauchen, zum Beispiel bei Lightning Network - und erhöht die Privatsphäre, da nur der Teil des Skripts veröffentlicht werden muss, der tatsächlich ausgeführt wird.