Bitcoin Handbuch - Für Fortgeschrittene

in #deutschlast year (edited)

Bitcoin Handbuch - Für Fortgeschrittene

Proof-of-Work wird oft erklärt ohne die Probleme zu beschreiben warum es überhaupt existiert. Da kann man aber niemanden für verantworklich machen. Die Literatur zu Verteiltem Konsens und Byzantine-Fault-Tolleranz ist kryptisch, nur auf English und weit über das Internet und den akademischen Bereich verteilt, so dass selbst Blockchain-Entwickler wie Ethereums Vlad Zamfir in so manches Fettnäpfchen treten mussten. Dennoch sollten die groben Konzepte auch uns Normalos zugänglich sein. Hier wird es jedoch noch einiges an Umdenken brauchen. Vielleicht will man dort oben aber auch unter sich bleiben.

Distributed Computing - wieso lässts sich überhaupt verteilen?

Bitcoin ist ein verteilter Rechner, ein Supercomputer. Ziel bei verteilten Rechnerarchitekturen kann es sein, effizient Rechenleistung zusammen zu bekommen. Solch ein verteilter Superrechner macht aber nur dann Sinn, wenn das Problem gut parallelisierbar/verteilbar ist. Manche Probleme lassen sich gut parallelisieren ("peinlich parallel" oder "embarrassingly parallel problems" genannt) manche lassen sich wiederum garnicht parallelisieren.

Peinlich parallel:

  • Rendering für hässliche Computer Animationen
  • BLAST (Biologen Gen-Kram)
  • Bruteforce Angriffe auf verschlüsselte Passwörter (aha ;) z.B. PoW)
  • Proof-of-Work (siehe Bruteforce) ✔️

das bedeutet, dass man für Forschungsfragen oder gemeinsame Angriffe auf Passwörter mit vielen Freiwilligen zusammen mehr erreicht als zentrale Serverfarmen. Ein weiteres bekanntes Projekt ist [email protected] wo Freiwillige mithelfen, Signale aus dem All auf Muster zu untersuchen. Ganz ohne finanziellen Anreiz ging es bei Bitcoin dann aber wohl doch nicht.

Alles in der Cloud ☁️

Der Resultierende virtuelle Rechner ist strenggenommen keine Cloud sondern ein sogenannter Grid-Rechner und hat ensprechend nicht Cloud-Speicher, sondern Grid-Speicher. Grid Computer sind eher lose gekoppelt und meist geographisch verteilt, also eine dezentrale Cloud.

Aber Bitcoin existiert ja nicht dafür, dass Miner zusammen (wenn auch in Konkurrenz) versuchen das Hash-Puzzle zu lösen.


Bitcoin - eine Replicated-State-Machine

Ein anderer recht offensichtler Grund ist Robustheit des Systems -> Mehr Rechner = ausfallsicherer. Das Interessante hierbei ist, dass die Ausfallsicherheit eines verteilten Rechners nicht einfach die Summe der Ausfallsicherheiten der einzelnen Rechner ist, denn der resultierende Superrechner ist mehr als die Summe seiner Teile ("1+1=3").

>>Ein zuverlässiges System aus potenziell unzuverlässigen Teilen<<

Die Technik wird als State-Machine-Replication bezeichnet. Ein Computer (oder "Prozess" wie es im Distributed-Computing heist) ist eine Zustands-Maschine. Eine Datenbank ist ja auch nichts als ein Zustand. Dieser Zustand existiert verteilt und dadurch auf höherer Ebene im verteilten Rechner - der replicated-state-machine, als verteilter Zustand.

Die Blockchain und die Coins sitzen also in der "Cloud" und sind keine Nullen und Einsen auf irgendjemandes Festplatte. Eine emergente Eigenschaft welche im einzelnen Bauteil nicht zu finden ist.

Die eizelne Ameise hält vermutlich auch keinen Bauplan für den Ameisenbau.


Ausfallsicherheit auf Protokoll-Ebene - Konsens und Byzantine-Fault-Tolerance

Flugzeuge und Raumschife sollten möglichst zuverlässig sein, also setzten einige Modelle (z.B. Boing 777 oder FalconX) auf Byzantine-Fault-Tolleranz. In größeren Höhen kommt es zu erhöhter kosmischer Strahlung. --> Diese Strahlung führt zu spontanen bit-Flips. --> Das führt zum Ausfall von Rechnern oder zu falschen Werten.


[FalconX (Abbildung: by NASA CC0 Wikipedia]: 6 Rechner mit insgesammt 18 Prozessoren und 3 Kernen Quelle]

Ein Byzantiner Rechner ist ein hinterhältiges Arschloch: er gibt falsche Werte oder sendet Daten nicht weiter...so im Prinzip. Natürlich kann eine Komponente in einem Flugzeug nicht hinterhältig sein, aber Byzantinen-Fehler-Tolleranz (BFT) impliziert auch normale Ausfälle und Falschmeldungen. Wenn man BFT ist, dann ist es einem schlicht egal warum ein einzelner Rechner nicht antwortet oder ob er falsche Werte gibt, denn man verlässt sich nur auf die Mehrheit.

eine Mehrheit ist mindesten 51% aber kann auch eine Super-Mehrheit sein, denn 51% sind manchmal nicht genug. Siehe (Gün Sirer 2016 "Majority is not enaugh)

Nicht nur das Rechnersystem sondern auch der Algorithmus soll machen wozu er angedacht ist. Im Falle des Bitcoinprotokolls ist es >>Konsens über den Zustand der Blockchain zu treffen<<. Die verteilte Blockchain ist der Zustand, sie ist Konsens.


Konsens 🙌

Konsens und Nonsens hängen in der Politik ja dicht beieinander und auch im Distributed-Computing muss der Konsens nicht dem entsprechen, was für die meisten am besten wäre. Hat ein Teilnehmer mehr als 50% der Hashpower, bestimmt dieser was Konsens ist. Das sind die Regeln.

Untitled 5.jpg
[Wir haben hier drei ehrliche Teilnehmer: Konsens ist es also nur, wenn all drei einen identischen Zustand anzeigen]

Untitled y5.jpg
[hier wäre entweder einer byzantin (unehrlich) oder es ist kein Konsens]

Natürlich kann man das was wir in der Politik als Konsens bezeichnen nicht 1:1 mit dem Konsens vergleichen, der bei verteilten Systemen gemeint ist. Konsens ist hier eine bestimmter Staz an Bedingungen und eindeutig definiert:

EigenschaftBedingungen
•Terminationjeder ehrliche Teilnehmer entscheidet sich eventuell
•Integritätjeder korrekte Teilnehmer entscheidet sich zumindest einmal
•ÜbereinkunftWenn ein ehrlicher Teilnehmer v1 entscheidet und ein anderer ehrlicher Teilnehmer v2, dann v1=v2
•ValiditätWenn sich ein ehrlicher Teilnehmer für v entscheidet, dann muss auch ein Teilnehmer v vorgeschlagen haben

Konsens - das Zusammentreffen mit dem Dämon


["Der große rote Drache" William Blake 1803. CC0 Wikipedia]


[Konsens als Form der Ordnung/niedriger Entropie am beispiel des Magneten]

Physiker Shoucheng Zhang beschrieb Konsens als Form hoher Ordnung und somit niedriger Entropie. Wenn man lokal niedrige Entropie erzeugt, dann ist dies jedoch mit Kosten verbunden, man muss die Entropie irgendwo abladen. Bei Bitcoins PoW ist das ziemlich eindeutig in Form von Wärme welche in die Umgebung dissipiert.

Form der EntropieEigenschaften
Thermodynamische Entropieals Maß der nutzbaren Energie. Einmal in Wärme übergegangen ist Energie nicht mehr nutzbar
Informations- (Shannon-) Entropieals Maß der Ignoranz, wie viel Information man nicht hat

der Zusammenhang wird hier klar:

Zhang vergleicht den Fischer-Lynch-Paterson-Unmöglichkeits-Beweis mit Maxwells Dämon

[Von User:Htkym - Eigenes Werk, CC BY 2.5, https://commons.wikimedia.org/w/index.php?curid=1625737]

Maxwells Dämon ist ein Gedanken-Experiment zu einem Perpetuum-Mobile. Wo davon ausgegangen wird, dass man mit einem zentralen Master-Algoritmus (der Dämon), welcher Teilchen sehen und sortieren kann, durch die Unterschiede der Teilchen die das Sortieren erzeugt, eine Wärmepumpe betreiben kann, die wiederum zur Energiegewinnung dient und das Sortieren via des Tors ermöglicht.

Hier geht es also um den Zusammenhang von der Kenntnis über den Zustand der Teilchen im System (als minimale Informations-Entropie) und dem thermodynamischen Zustand des Systems selbst.

BeispielEntropie
SHA-2 Hash2256 bits = mögliche Zustände --> hohe Shannon Entropie
Gefundener Nonce1 bit, bekannter Zustand, niedrige Entropie]
Miningsteigender Anteil an Wärme --> Entropie wird anderswo abgeladen

Der Dämon müsste für volle Kenntniss über die Mikro-Zustände der Teilchen, jedoch im Prinzip Mining betreiben und wie bei einem Memory-Spiel die Zustände aufdecken. Der Dämon steht also nicht über den Dingen. Daher gibt es kein Perpetuum Mobile und keine Lösung für das FLP-Unmöglichkeits-Problem in einem asynchronen Setup.

Thermodynamische Entropie und Informationsentropie hängen direkt zusammen. --> Ohne Arbeit kein Wissen - es muss einen Preis geben.

Dies könnte @marcus0alameda ´s lesenwerten Arktikel zum Zusammehang von Energie, Geld, Sicherheit und Wirtschaft beschreiben.

Correctness - der Heilige Grahl im Blockchain design

Wenn ein Algorithmus das macht was er machen soll, dann wird er als "correct" bezeichnet. Die Correctness eines Algorithmus lässt sich mathematisch beweisen (Correctness-Proof). Es lässt sich also sagen, dass ein Algorithmus unter bestimmten Umständen das machen wird, was er machen soll ("correct by construction"). Wenn man es drauf anlegt ohne einen correct-by-construction Ansatz zu starten, setzt man im Falle von Cryptowährungen Millionen und teilweise Milliarden aufs Spiel. So wurden die Entwickler von "the DAO" auch bereits vor dem Bug auf diese Schwäche hingewiesen. Correctness ist also nicht "joa mal schauen"/ etwas was sich zeigen wird, sondern etwas was bestenfalls von grundauf besteht.

Ethereum 2.0 wählte daher wie es mitlerweile Standard ist, einen correct-by-construction-Ansatz und machte dabei dennoch einen Fehler...


Correctness = Liveness + Safety


Correctness ist im Prinzip analog zu eurer Gesundheit bzw. Homöostase und besteht aus zwei Immun-Parametern die beide aufjeden Fall garantiert sein müssen, damit ein System unter allen denkbaren Umständen stabil bleibt.

  • Liveness: ("Terminierung") - alle ehrlichen (non-faulty) Knoten kommen eventuell zu einem Ergebniss

  • Safety: ("Übereinkunft") - alle ehrlichen (non-faulty) Knoten einigen sich auf den selben Wert

Für die Blockchain bedeutet liveness, dass einzelne Teilnehmer neue Blöcke hinzufügen, die Blockchain also garantiert wächst und safety, dass alle ehrlichen Knoten sich alle auf eine Blockchain einigen. Logisch, wenn zwei ehrliche Knoten auf zwei unterschiedliche Ketten zeigen, dann ist Konsens nicht eindeutig definiert und somit macht das Protokoll nicht was es machen soll - ist also nicht "korrekt".

Correctness-Proof = Liveness + Safety Beweis

Beide Eigenschaften müssen bewiesen werden, damit man das Wort "correct" überhaupt in den Mund nehmen darf. Sah Vlad Zamfir von Ethereum nicht so streng ("minimal" CBC Casper) und wurde von den alten Damen und Herren mit ihren 1000 Jahren Erfahrung im Bereich des Verteilten-Konsens und BFT in der Luft zerissen ("incorrect by design" Pyrofex 2018). Was diesen Punkt angeht sind viele Blockchain-Designer nach der Meinung vieler Oldschool-BFT-Typen, überfinanzierte Amateure, obwohl ihre Systeme großartige Erfindungen sind. Daher nehmen selbst die Topentwickler das Studium in diesem Breich mitlerweile sehr ernst und arbeiten eng mit Universitäten a la MIT und Cornells zusammen.


Klassischer Konsens

Konsens-Protokolle vor Bitcoin

Bevor es Bitcoin gab, gab es lediglich klassischen Konsens. Klassisch bedeutet, dass man eine bestimmte Menge an bekannten Validatoren hat, diese bilden das zugangsbeschränkte Konsortium. Klar, im Firmenkontext sind das die Teilnehmer die man einrichtet (irgendwelche Server), warum sollte auch jemand Fremdes Mitspracherecht haben?

Klassischer Konsens basiert auf jeder-mit-jedem-Absprache.

wie man hier schon sieht, skaliert diese Art von Konensprotokoll überhaupt nicht. All-to-All bedeutet, dass die Nachrichtenkomplexität mit wächst. 100 Teilnehmer bedeutet bereits 100² = 10.000 Kommunikationswege!

Und man schickt ja nicht nur eine Nachricht von A nach B um sich zu einigen. Man hat mindestens 3-Phasen Konsens: PRE-PREPARE, PREPARE, und COMMIT...--> 10.000 x 3 macht 30.000 Nachrichten nur um sich mit 100 Validatoren einmal zu einigen? <-- und genau das ist der Grund warum klassische Konsensprotokolle inklusive Hybriden wie dPOS nur wenige Witnesses haben können.

  • Ark: 51
  • EOS: 21
  • BitShares: 101
  • Steemit: 21
  • Lisk: 101

Nakamoto-Konsensus hat hingegen Konsens revolutioniert und erstmals ein offenes Set an Validatoren ermöglicht. dPOS setzte wiederum auf einen Hybrid Ansatz welcher auf dem alten Paradigma basiert, welches die trusted Nodes hier aber nicht vorab definiert (so wie im Flugzeug oder SpaceX) sondern über die Witnesswahl wo es über den Stake der Wähler versucht sicherzustellen, dass die Validatoren sich an die Regeln halten. Die Wähler vertauen ihnen also sind es gute Typen und Typinnen


Warum Konsens in asynchronen Netzwerken nicht möglich ist

Was is denn nun schon wieder ein asynchrones Netzwerk?

Das Internet, E-Mail, Bitcoin... Asynchron bedeutet nur, dass jeder Rechner seine eigene Zeit hat. Online Zeit-zählt nicht da milli-Sekunden Abweichungen über längere Zeit zu Uhren-Drift (Clock-Drift) führen und die Abweichungen mit der Zeit immer größer würden (Lamport, L. 1978) Ja man mag es kaum glauben, sogar mit einer zentralen Atom-Uhr wäre es bei einem globalen System schwierig, denn es gibt da ja Netzwerkdellay und als letzte Bastion die Relativität der Zeit.


[Nach Lamport, L. (1978). "Time, Clocks and Ordering of Events in a Distributed System"] ... Ein Prozess ist einfach ein Computer die räumlich (was auch immer zeitlich bedeutet) getrennt sind

Was richtig scheiße ist, ist dass Byzantinen-Fehler-Tolleranz in einem asynchronen System nicht möglich ist. Das wurde von Fischer, Lynch, Paterson 1985 in ihrem "Unmöglichkeits-Beweis" gezeigt (“Impossibility of Distributed Consensus with One Faulty Process")

Wenn das System synchronisiert ist, dann alles kein Problem, weil man ja definieren kann, dass alles was innerhalb von z.B. 3 Sekunden nicht eingeht als ungültig gewertet wird. In einem Flugzeug oder in einem Datencenter sind Dellays und Relativität vernachlässigbar, daher sind diese synchron was BFT-einfach macht. Bitcoin kennt jedoch kein Konzept der Zeit.

Und hier wird Proof-of-Work zum ersten mal zentral wichtig. Es ist sogar die wichtigste Eigenschaft.


Proof-of-Works geheime Fähigkeit (die mal garnichts mit Goldschürfen zu tun hat)

Der Fischer,Lynch-Paterson-Unmöglichkeits-Beweis stellt das zentrale Problem dar, welches es verhindert in einem global verteilten System Ereignisse zu ordnen. Das Ordnen von Ereignissen mithilfe von Kryptographie a.k.a. die Blockchain wurde bereits 1991 von Harber und Stornetta erfunden. Ein einfacher Blick in die Refferenzen des Whitepapers verschafft hier Aufklärung.

Die älteste Blockchain

Die "Time-Chain" (später von Nakamoto in Blockchain umgetauft) wird mittels des Timestamping-Verfahrens erstellt. Blöcke werden mittels Hashes zu einer Kette verbunden.

Die am längsten aktive Blockchain wurde dazu genutzt Artikel der New-York-Times mit Zeitstempel zu archivieren.

Bitcoin ist allerdings ein weltweit verteiltes System, mehr oder weniger anonyme Teilnehmer, offen für jeden der teilnehmen möchte und hat keine zentrale oder dezentrale Uhr, wie löst man das Problem?...

Doch schauen wir uns doch zuerst einmal den Proof-of-Work und seine offensichtlicheren Funktionen an


Darum ist Proof-of-Work kein Konsensmechanismus...

es sei h= SHA256(ak)
i = > der Miner der einen Block hinzufügen will
o => die Transaktionen
i pub => Public Key von i
Anweisung: finde einen nonce so dass: SHA256 (h|i pub|o| nonce) < H
wobei H der Difficulty Parameter für das PoW-Puzzle ist, eine sehr kleine Nummer eben. Ca. so: 0,0000004575575. Je kleiner die Nadel im Heuhaufen desto schwerer zu finden.

oder auf Deutsch: "finde die Nadel im Heuhaufen, packe sie zusammen mit deiner Adresse und den Transaktionen in einem Umschlag/Block und klebe diesen an das Ende der Kette"

das ist der Proof-of-Work (nichts besonderes oder?), der Output ist offensichtlich kein Konsens über den Zustand der Blockchain also --> ist es kein Konsensmechnismus.


Proof-of-Work in der prä-Bitcoin-Ära

Die Idee zur Nutzung von Hashpuzzeln kam von Dwork und Noar 1992 und war zunächst als Spam-Filter für Junk-Mail angedacht. Adam Back entwickelte den darauf basierenden Hash-Cash (Back 1995) Algorithmus der über Spam-Schutz hinaus auch in vielen anderen Anwedungen eingesetzt wurde (Back 2002). Später kam man darauf Hash-Cash für dezentrale E-Cash Systeme und zur Ausgabe von Token in dezentralen File-Sharing-Systemen einzusetzen (Filesharing ohne Token-System führt dazu, dass sogenannte "Leacher" Datein ziehen aber selber nichts beitragen).

Im Kontext von offenen Konensmechanismen gibt es auch Spamm, hier gibts das Problem mit "Sybils". Sybil war ein fiktiver Charakter in einem Roman, sie hatte multiple Persönlichkeiten - nichts ist leichter als im Netz multiple Accounts oder virtuelle Machinen zu erzeugen. Wenn Teilnahme am Konensprozess jedoch Teilnahme an der PoW-Berechnung erfordert, dann hat es so oder so Kosten, und Sybils verschaffen somit keinen Vorteil.


Costly Signaling, darum ist PoW ein Proof-of-Stake!

Proof-of-Work dient als etwas was in der Signal-Theory als Costly-Signaling (Kostspieliges-Signalisieren) bezeichnet wird. Jeder der ein Gesichts-Tattoo oder einen Knochen in der Nase hat weis, dass diese Zugehörigkeitssymbole zu Szenen oder Gangs allgemein gesehen auch ein teures Handicap sind. Viele Türen schließen sich, dafür das eine aufgeht. Die Evolution zeigt diese Strategie bei männlichen Tieren. Das überdimensionierte Geweih des Riesenhirsch oder das Rad des Pfau, die knalligen Farben der Fischmännchen, die langen Flossen all das signalisiert dass man trotz dieser offensichtlichen Nachteile immernoch am Leben ist, ergo die Gene gut sein müssen.


[costly signaling: Wenn ein Handicap Skin in the game signalisiert. Source: By lo.tangelini from Soliera / Modena, Italia - Tonos, CC BY-SA 2.0]

Bei der Straßen Gang MS-13 muss man jemanden vergewaltigen oder sich als Frau vergewaltigen lassen um in die Gang zu kommen. Bei Bitcoin muss man ein Daten-Center errichten, entsprechende Hardware kaufen die zu dem Zeitpunkt wo sie online geht nach dem Mooreschen-Gesetz schon verarltet sein kann und dann das ganze samt Personal unterhalten.

Dabei muss die Blockchain kontinuierlich validiert werden. Miner müssen also sogar dann validieren und dreimal soviel Strom verballern wie Dänemark, wenn gar niemand transaktionen vornimmt. Erinnert euch an die Safty- und Liveness-Eigenschaften. Teilnahme am Konsensverfahren hat immer einen Preis den es erst zu zahlen gilt und welcher hohe Anteilnahme abverlangt. Pay-to-play ja aber mal eben plug-and-play ist nicht.


Stake vs. Stack

Stake ist es dann wenn etwas auf dem Spiel steht, man "Skin-in-the-Game" hat. Ein einfacher Token Stack ist nur dann ein Stake wenn man diesen verlieren kann. Bestenfalls wenn ein total verlust möglich ist. Bei Ethereum nennt sich diese Option Slashing-Condition. Die Token gehen bei Ethereum 2.0 in einen Smartcontract und werden bei Fehlverhalten entzogen.

Dennoch sollte hier klar sein dass PoW die stärkste Form von Proof-of-Stake ist, da hier Schulden eingegangen werden müssen.


Proof-of-Work ⚒ ist ein kommunistisches System


[richtiger Bitcoin Marximalist]

Proof-of-Work kennt kein Konzept von Knoten, Teilnehmern, Accounts...Proof-of-Work kennt nur Arbeit 💪(angwandte Hashpower), das System ist öffentlich, wird von niemandem besessen und man hat nur soviel Einfluss auf den Konsensprozess wie man Arbeit verrichtet. (ob das wirklich Marx feuchter Traum war...bin da nicht so bewandert)

Natürlich ist das ganze in eine kapitalische Welt eingebettet aber das ändert nichts an der Funktionsweise auf Protokollebene.


Also wo ist nun der Konsens? :D

Bisher liefert PoW

  • Sybil-Resistenz gegen die ganzen "Sock-Puppets", ✔️
  • es dient als Costly-Signaling und beweist Bereitschaft für die Sache draufzugehen, ✔️
  • es dient als Lotterie für den Blockreward ✔️

...

achja und es dient als Leader-Election-Oracle ✔️
Es entscheidet per Zufall wer den nächsten Block hinzufügen darf. Einen Block hinzufügen bedeutet zu bestimmten was die letzten 10 Minuten geschah. Bitcoin ist also ein retrospektives Protokoll.

was hat es eigentlich mit den 10 Minuten auf sich?


Synchroncity Assumption

Die 10 Minuten Blockzeit sind nicht genau 10 Minuten, da sie von der Schwierigkeit des Hashpuzzles abhängen, aber es sind ungefähr ~10 Minuten. Wie bereits erwähnt ist Bitcoin eigentlich ein asynchrones Netzwerk, wie soll es auch anders gehen ohne eine zentrale Uhr? Somit bediente sich Nakamoto eines Tricks, er nahm an dass ~10 Minuten ausreichend sind, dass genügend Teilnehmer bzw. strenggenommen %an Hashpower antwortet. Somit gab er dem Bitcoin einen Herzschlag 💓, das Konsens-System existiert nur alle 10 Minuten. Was dazwischen passiert, ob die einzelnen Rechner hinter der Hashpower ausfallen, nicht antworten, wie auch immer, das interessiert uns nicht. Wer bis dahin antworten möchte findet einen Weg, wer nicht antwortet hat halt nicht geantwortet.

Bitcoin hat also doch eine Uhr... Eine dezentrale Uhr!


Proof-of-Work ist eine dezentrale universelle Uhr

Die schwierigkeit die Nadel im Heuhaufen zu finden ist für einen jeden Teilnehmer egal ob auf der Erde oder auf der Venus gleich, eine universelle Konstante. Es dauert mit gleicher Hashpower statistisch gesehen gleich lange. Es entsteht eine Uhr basierend auf der Entropie im SHA-256.

Der Versuch des einen, egal wie lange er schon bruteforced, nimmt praktisch nichts von dem Heu beiseite. Rein theoretisch könnte man sich die bereits versuchten Zahlen durchstreichen aber bei einem Möglichkeitenraum von 2^256 ist das wohl ziemlich egal. Praktisch gibts für SHA also kein Gedächtnis. Es ist immer wieder die selbe Schwierigkeit, die erst in der nächsten Runde mit der Größe der Nadel im Heuhaufen angepasst werden kann, aber selbst dann ist es wieder für jeden gleich schwer Trubetskoy 2018.

Gleichschwer bedeutet, dass es statistisch gesehen gleich lange dauert. Hat jemand schnellere Hardware (zwingt somit andere aufzurüsten), passt sich die Schwierigkeit halt wieder an, so dass wir immer bei ~10 Minuten landen. Eine recht ungenaue Uhr könnte man meinen. "War das Problem nicht die Clock-Drift?" Nein, denn in diesem Falle sind zwar die "10 Minuten" immer etwas länger oder kürzer als die "10 Minuten" davor aber jede Runde ist für jeden Teilnehmer gleich lang.

Ganz wenige Menschen verstehen, dass hierdurch gewährleistet wird, dass das Fischer-Lynch-Paterson Impossibility-Theorem nicht verletzt wird. Ein augenscheinlich asynchrones System aus Rechnern die nicht mal voneinander wissen, werden geschickt synchronisiert.

Gratuliere jetzt weist du mehr als 99% der Bitcoin-Gurus!

...

da bliebe jetzt noch eine Kleinigkeit 😅...Wie kommen wir zum Konsens?

The longest and heaviest Chain-Rule

kennt ihr so Romane die einfach nen unzufriedenstellendes Ende haben. So Filme wie Tschernobyl Diaries, wo die Regisseure mit Tschernobyl das derbste Filmsetup haben und dann kommt all die Mystik und das Unerklärliche durch... langweilige CGI Zombies. 👀

TLDR...ach ne zu spät also:

Der Konsens nach all der Vorarbeit durch Proof-of-Work wird durch folgende Regel gebilded:

Nehme deinen Block und füge ihn an die längste und schwerste Kette (schwer in dem Sinne als dass die meiste Hashpower auf sie angewandt wurde) - die longest and heaviest chain Rule

giphy.gif

Sort:  

Darauf erstmal ein !BEER

Heftiger Artikel, jetzt weiß ich warum du solange nicht aktiv warst:D

Bitcoin ist ein verteilter Rechner, ein Supercomputer.

Okay stimmt natürlich, da ja wie du als beispiel schreibst die pow/bruteforce aufgabe gelöst wird, aber im Endeffekt ist bitcoin doch mehr verteilte Datenbank als verteilter Superrechner?

Wegen cloud etc, für den fall dass du es dir noch nicht angeschaut hast: https://www.bmwi.de/Redaktion/DE/Publikationen/Digitale-Welt/das-projekt-gaia-x.pdf?__blob=publicationFile&v=18

die replicated state erklärung finde ich super (kannte das wort davor noch nicht). Auch das Bild dazu sehr gut.

Ist definitiv ein punkt, mit dem viele im Verständnis probleme haben (wie die coins sind nicht auf hardware wallets oder einzelnen festplatten gespeichert und so).

Die Entropie Erklärung fand ich interessant, hatte ich so auch noch nicht gehört, die abschnitte danach habe ich noch nicht ganz gecheckt da muss ich mir nochmal Zeit nehmen.

Den pow Abschnitt verstehe ich dann wieder sehr gut, weil das ja auch bei meiner eigenen recherche ein schwerpunkt war.
Aber auch extrem gut erklärt und zusammengefasst. (zusammenhang von zeit und pow super verknüpft)

werde den artikel mit sicherheit mal teilen und abspeichern.

Grüße

Okay stimmt natürlich, da ja wie du als beispiel schreibst die pow/bruteforce aufgabe gelöst wird, aber im Endeffekt ist bitcoin doch mehr verteilte Datenbank als verteilter Superrechner?

Die Sache hat hier zwei Bedeutungen: verteilt (= aufgeteilt, wie die Rechenaufgabe oder das halten der Daten) - eigentlich parallel-computing vs. verteilt bzw. eher geteilter Zugriff, zusammen erlebt. - distributed-computing

  • Die Datenbank ist zusammen erlebt (distrinuted computing/storing). Das Mining ist ein paralleler Prozess, die Konsensfindung dann wieder ein verteilter Prozess<

Der Rechner hat genauso viel Rechenpower wie die Summe seiner Teilnehmer (er ist die Summe seiner Teilnehmer ^^ - Resultat der Parallelisierung). Für die Datenbank und die dazugehörigen Coins gilt das nicht. Sie sind wie du weist, mehr (Resultat des distributed consensus/computing).

Der Mining Layer ist sogar der leistungsstärkste Supercomputer der Welt. Obwohl die Miner in Konkurrenz sind, rechnen alle das selbe Problem (welches da draußen im Universum mit seiner Schwierigkeit ~ Dauer sitzt). Die Gemeinnützigkeit ensteht dann indirekt über die Sicherheit die ja direkt proportional zur angewandten Hashpower ist.


[Titan 400m² Anlage, 18.690 Nvidia Tesla K20X GPUs = insgesamt 2.61 TH/s. Kosten: 100 millionen USD ]

Antminer S17 ...ein Schuhkartongroßer ASIC......73TH/s, Kosten: 1600 $

will natürlich erstmal nicht in den Kopf wieso die Forscher 100 millionen $ für Grafikkarten ausgeben wenn ein Schuhkarton das 30-Fache der Anlage stemmt.

Der ASIC kann halt wirklich nur ein Problem lösen, der klassische Datencenter-Cluster ist "general purpose". Kann Wetter simulieren, Proteine, Gene was auch immer berechnen. ASICs sind außerhalb des Minings wertlos. - Die Miner sind alle über FIBRE-Relay verbunden.

Das Netzwerk an Fullnodes (was ja nichts mit den ASIC zutun hat) gehört natürlich auch zu Bitcoin. Der Teil ist ein verteilter Speicher (zu einem Rechner wie es allgemein heist gehört ja Prozessor und Speicher). Die Datenbank, das stimmt, ist auch verteilt, das ist dann der Daten-Layer. Daten sind im Vergleich zu den Festplatten und Prozessoren aber nicht physikalisch vorhanden, nur repräsentiert. Ja ist schon schwer ohne den Informations-Begriff zu beschreiben :S.

Dass es ein Rechner ist, wird spätestens dann klar, wenn du einen Input (Transaktion) in einen Output (neuer Kontostand) berechnen lässt. Und da Bitcoin Script-Sprache nutzt (ohne Schleifen) ist es ein Turing-unvollständiger Rechner (kann also nicht alles berechnen was berechenbar ist) und Ethereum ist ein Turing vollständiger Rechner und kann dank Schleifen alles berechnen bzw. jedes denkbare Programm ausführen welches nach der Berechenbarkeits-Theorie berechenbar ist. - "General Purpose" wie ein PC halt.

Viele Grüße

Du kannst es echt übertreiben, ganz ehrlich. Aber natürlich... der Maxwellsche Dämon ist ein Miner... Dein Text hat 3000 Wörter. Es kommt einem eher vor wie 6000. Dadurch dass du hier scheinbar wieder versuchst das ganze Universum zu erklären, zu dem Zweck um mehr Begeisterung für BTC zum Ausdruck zu bringen. Abstecher in jeden erdenklichen Bereich und alles voller Bilder und dazu Listen und Tabellen... Eigentlich sind das 5 Artikel die du in einen hinein komprimiert hast. Führt zu gewaltiger Entropie im Hirn. Welche Art Entropie? Wo bin ich hier bloß rein geraten?

Ich höre immer die selbe Musik während ich deine Texte dieser Art lese. Kann das nur schwer in Worte fassen - Es ist so ne Situation die einfach schwer zu beschreiben ist. Ich versuch es: "Es ist wie wenn ich in eine geheime Wissensdatenbank rein schaue, die mir das Gefühl gibt alles zerstören zu können." Hatte ich wo ich das gemacht habe vor einiger Zeit mit etlichen deiner alten Artikel. Und das war da so ne art Ritual für mich. Und etwa das Gefühl hatte ich jetzt wieder. Das ist hier vielleicht der irrsinnigste Artikel zu dem Thema den es jetzt gibt... Ey, ich glaube wenn wir es geschafft haben alles zum Thema BTC in die Chain rein zu hämmern was es dazu zu schreiben gibt. Ich glaub mein Leben ist dann ende...

Welche Mucke gibts denn. Der Tip mit Poppy war mega, geht beim Training richtig ab 💪.

Die Grundlagen Paper sind nicht genießbar

Ich hab Gemüse draus gemacht. Kostet Überwindung aber hat hohen Nährwert, und wenn didaktisch gute Authoren wie du mal hier und da was brauchen um was leckeres draus zu kochen, liegts bereit.

Ich glaub dein Gefühl ist nicht abwegig. Wir haben es hier immerhin mit reinem Okkultismus und vorallem >>Alchemie<< zu tun. Jene, die es verstehen, wissen wie man Gold aus dem "nichts" erschafft (WTF) und Leute dazu zu treibt sich strickt nach den Regeln zu verhalten. Hat auch irgendwo Züge von so kranken Systemen wie Blue-Whale Challenge, nur dass man Erwachsene und ihre Gier instrumentalisiert und nicht labile Jungendliche in den Suizid treibt. Die Cypherpunks stehen ja auf solch okkulten shit. Cicada 3301 geht ja auch auf eine ihrer 90er Mailing Listen zurrück. Was wenn Satoshi @1Million/BTC einen auf One-Piece macht und irgendwo seinen Schatz zur Jagt frei gibt? ... Die neuen Mächtigen sind drann interessiert wegen der plötzlichen Inflation die Keys zu zerstören, manche wollen sie als Waffe, manche wollen einfach nur den Wert der noch bleibt wenn man sie auf dne Markt wirft. Einfach blind vertrauen dass Nakamoto die Keys verbrannt hat.."mein Kind nimmt keine Drogen", "Mein Mann geht nicht fremd"...jiaaa genau

Welche Mucke gibts denn. Der Tip mit Poppy war mega, geht beim Training richtig ab 💪.

nee oder 😂 Aaals ob! Gut geraten. Also mein Soundtrack zu deinen okkulten Texten ist "Play Destroy", das Grimes-Feature. Welche gibst du dir? Los, erzähl, erzähl! Concrete ist ja dazu sicher nicht geeignet. Poppy ist auch Okkultismus, nur in Musik- und Videoform (und/oder Parodie darauf)... Das Fandom ist ein Irrsinniger, fanatischer Kult und es zieht verrückte, wahnsinnige und kreative Menschen an, so meine Theorie. Sie veranstalten in Chatrooms Gebete, verehren sie als Gottheit oder Mutter und sowas alles. Schau dir nur mal das hier an: https://poppy.fandom.com/wiki/The_Gospel_Of_Poppy Eine eigene kleine Bibel, nicht mehr käuflich aber dort hat jemand ein Google-Docs-Link gepostet. Und die Konzerte muten teilweise wie Ritual-Schauplätze an, wo man meint dass da dann noch Blut getrunken wird und so:


(vor allem auf Titanic Sinclair, den Typ in Weiß auf dem Podest, achten - das eigentliche Mastermind hinter der ganzen Sache, quasi der cult-leader oder künstlerisch gesehen der Alchemist)
Es ist wie so ne art riesiges okkultes Projekt aus kryptischen Videos und Musik aus was weis ich wie vielen Genres inzwischen... sozusagen "der geilste scheiß dens gibt". Das hört auch nicht auf, Inzwischen planen sie einen Horrorfilm.

Aber es ist eine Ausnahme. Eigentlich ist es sinnvoller beim Lesen oder Schreiben Musik ohne Gesang / Instrumentals zu hören. Für mich ist z. B. aus dem Soundtrack von Tomb Raider Legend "England 9a", "England 9b", "Japan 5a" sehr geeignet in vergangener Zeit. Die Soundtracks von Unreal Turnament und Assassins Creed 4 sind auch krass. Heißt ich höre da teilweise Gaming-Soundtracks wo ich die Spiele gar nicht mal kenne. Da gibt es aber natürlich noch viel mehr und sicherlich noch etliches zu entdecken.

Die Grundlagen Paper sind nicht genießbar

Klar, die Normies rennen weg wenn die das da sehen! Joa, das sind irgendwelche okkulten, kryptischen Zauberformeln von Lord Voldemort. Und du machst daraus für Adepten verständliche Zauberbücher. Und es ist eigentlich hier abgelegt öffentlicher kaum möglich aber andererseits verirrt man sich zurzeit nur schwer hierher. Soviel zu geheime Wissensdatenbank. Wenn die Zeit gekommen ist, versuche ich natürlich es zu nutzen um dazu wieder mal was zu schreiben. Aber ich habe nunmal auch das Gefühl dass ich mir eine klatschen will wenn ich nur über Krypto-Zeug schreibe. Außerdem, zum Glück kommen Ideen dafür ja nicht einfach so.

Bzgl. dem 1 Mio BTC Schatz sind krasse Gedankenexperimente möglich. Satoshi könnte auch viel Positives damit bewirken: Mit Airdrops(ein kleines BTC-UBI?) und Fördergeldern mal das Lightning voran treiben oder auch irgendwas komplett anderes. Er musste für so etwas logischerweise zuerst warten bis die Bitcoins Milliarden oder Billionen wert und wenig Volatil sind, damit das eine Auswirkung hat und die Menschen es tatsächlich als Geld annehmen. Also erst die Idee platzieren und sich über Jahre hinweg dezentral entwickeln und in der Welt verankern lassen um es dann zu vollenden. Da könnte man auch mit Smart Contract Trust Funds arbeiten, damit niemand angst vor Inflation bekommt, weil einzelne über die Summen nach belieben komplett verfügen können. Oder auch nach Cicada Manier ein paar Genies suchen, die das Geld z. t. bekommen sollen, weil sie sich durch die Prüfungen als besonders geeignet dafür herausstellen, sehr viel Geld zu besitzen. Außerdem könnte so etwas nochmal mehr Aufmerksamkeit kreieren, sofern das in so einem Fall noch nötig ist.

meistens concrete, das ist am besten abgestimmt für Heben. Kult gibt der Sache erst eine Seele. Kenn die meisten Games auch nicht, zu anstrengend :D

Aber ich habe nunmal auch das Gefühl dass ich mir eine klatschen will wenn ich nur über Krypto-Zeug schreibe. Außerdem, zum Glück kommen Ideen dafür ja nicht einfach so.

:D Das Gefühl hab ich zum Glück nur wenns um Preis geht, weils immer falsch interpretiert wird und für die eigenen Erwartungen missbraucht. Dabei ist Steemit eigentlich garnicht sooo die Cryptoplattform. Durchschnitts Alter schätzungsweise ü40 und entsprechender Facebook Humor (viel Politik, viel am Nachrichten geschehen aus den Medien orientiert)

An die guten Dinge habe ich auch gedacht. Ist ja als wenn der Erfider des Internets sich jetzt melded, keiner kennt den Typen mehr.

Habe ich damals nicht angedeutet dass der Song dazu nicht gut geeignet ist? Das war ja kein Tipp. Aber toll das mein Artikel von damals so etwas bewirkt hat. Anscheinend kann man sich damit echt abschießen. Und meine prognostizierten 3 mio. Aufrufe hat das Musikvideo auch fast erreicht. Wie man Concrete "hört" in dem Sinne muss ich noch etwas lernen. Habe ihn ja auch nur 50 mal oder so gehört. Oder eigentlich das Video gesehen und "wow" gedacht. Du hast es wahrscheinlich eher in einer Playlist drin mit lauter anderes Zeug.


Wird wohl auf jedem Konzert ganz zu Beginn gespielt werden.

Stimmt, eigentlich ist es OK wenn es nicht um Preise geht. Da würde ich 50% kryptomäßige Artikel in Kauf nehmen.

Was wenn Satoshi @1Million/BTC einen auf One-Piece macht und irgendwo seinen Schatz zur Jagt frei gibt?

:DDD
würd ich zu hart feiern

Ich hoffe ehrlich gesagt eher darauf, dass Nakamoto alle seine Coins auf dem Markt schmeißt, sobald Bitcoin die neue 666Währung geworden ist.^^ würd ich zumindest so machen - und mit all den Erfahrungen von all den Blockchains und v.a. Bitcoin und der Kohle ein neues, besseres Bitcoin raushauen - evtl mit neuen privacy und distribution Ansätzen

luegenbaron mit der Enduro auf der Jagd nach dem Schatz :D

Wahrscheinlich sind die Transaktionsgebühren in ein paar Jahren so hoch, dass wir ganzen plebs aus der Blockchain geschmissen werden..

Müssen sie, sie müssen dann wenn der Blockreward sinkt (je nach Bitcoin Preis) zumindest so hoch sein, dass sie die eigentlich angedachten Nutzer (uns) substituieren. Was kein Problem sein dürfte. Die geben ja jetzt schon Milliarden aus nur um ihre Billionen vor uns zu verstecken. Wenn wiederum die eigentlich angedachten Nutzer Bitcoin nutzen wollten, während das Offshore Banking System es als Store-of-Value nutzt, wären die Transaktions Gebühren so hoch, dass es Herr und Frau Plebs nicht nutzen können, selbst wenn sie es wollten (2017 waren wir @60$). Wenn ich nicht irgenwas falsch verstanden habe, kann man den Spieß drehen und wenden wie man will. Bitcoin BTC gehört nicht mehr der Öffentlichkeit.

und mit all den Erfahrungen von all den Blockchains und v.a. Bitcoin und der Kohle ein neues, besseres Bitcoin raushauen - evtl mit neuen privacy und distribution Ansätzen

Nakamoto hätte Bitcoin ja gern zu einem stable-coin gemacht, nur gab es zu der Zeit weder Smartcontracts noch Oracles. Hal Finney ist tot, Nick Szabo kein fähiger Programmierer und obendrein Gold-Bug. Ethereum 2.0 kommt dem schon nahe hat eine bessere Verteilung aber weit von fair genug. Weis nicht wie du das siehst aber mir ist Geld in einer vernetzten Welt zu mächtig da zu universell und macht die Welt plutokratisch. Mit 12 Mrd Tonnen Erz kann icht die Welt nicht regieren. Mit 2 Millionen Tonnen Gold schon 🤔.

Scheint eine Art Kombination aus Kommunismus und freiem Markt zu sein.

Denn jeder ist vor dem Protokoll gleich, einzig sein Fleiß (Arbeit) zählt (Kommunismus - oder meintest du etwas anderes?) und trotzdem regelt der Markt (die längste Kette gewinnt). :)

Bin nur gespannt wie das jetzt mit Segwit und Legacy weiter geht..
Segwit hat 60% Hashpower
Legacy ist jedoch das Bullet-Proof Basis Protokoll mit den ganzen hier beschriebenen Gimmicks und einer trotzdem erstaunlich soliden Simplizität.

Klar, Segwit kann (angeblich) skalieren, doch muss Segwit dafür nicht Dezentralität und oder Sicherheit einbußen? (weil wegen Blockchain Trilemma)
Solange das gut geht.. Okay.. Doch BTC ist extrem revolutionär und dessen Kampf (eher Verteidigung gegen die ganzen Angriffe) hat noch gar nicht begonnen.
Ich bin mir mittlerweile nicht mehr sicher ob Bitcoin überhaupt skalieren soll, oder absichtlich so gebaut wurde..
(Saifedean Ammous beschreibt BTC in seinem Buch BTC Standard auch lediglich als settlement-/Store-of-Value.. und @anonymint kennst du ja auch)

Ja wenn sich Kommunismus und freier Wettbewerb nicht ausschließen. War wirklich nur auf das Protokoll bezogen, so wie du es beschrieben hast. Die Hardcore Kapitalisten könnten natürlich rumheulen und sagen die ASIC sind Arbeiter in der privat-besessenen Firma. ...wo wir dann nicht mehr in der Protokoll Domäne wären.

Klar, Segwit kann (angeblich) skalieren, doch muss Segwit dafür nicht Dezentralität und oder Sicherheit einbußen? (weil wegen Blockchain Trilemma)

Das Blockstream Team hat auch 2014 schon geäußert, dass sie BitCoin verändern werden müssen . Am Ende, so behaupte ich mal, müssen Token in einem ganz neuen System geclaimt werden. Das wird das Ende vom Lied sein. Ethereum macht es vor und wird die Ethereum 1.0 PoW-Kette langsam ausschleichen. Leichtbau Blockchains wie MimbleWhimble skalieren besser (aber nicht ausreichend für Payment), Sharding skaliert noch besser, Ansätze wie Avalanche sind aber vermutlich die Zukunft.

Das Trillema arbeitet mit nem ganz bestimmten Dezentralitätsbegriff:

Decentralization (defined as the system being able to run in a scenario where each participant only has access to O(c) resources, i.e. a regular laptop or small VPS)

diese groß-O Schreibweise heist einfach nur "richtet sich nach" in diesem Fall den schwächsten Teilnehmern. Inclusion wie es heutzutage wohl heist. Das spielt dann natürlich weniger eine Rolle wenn du das Validatoren-Set zufällig in viele Shards zerbrichst. Für dieses Bruchstück, dieses"Sub-bitcoin" sind Unterschiede dann nicht ganz so extrem, bzw. garnicht mehr extrem. Im eigenen Dorf der Stärkste zu sein ist einfacher als im globalen Wettbewerb.

Sharding heist den Globalen Zustand und auch die Transaktionen patchwork-mäßig in viele "Safe-Zones" zu zerschlagen um einfach die Konfrontation von den Kleinen und den Goliaths dadraußen zu vermeiden. ...ob das gleichwertig mit nem Globalen Zustand ist kann ich noch nicht ganz so sagen oder weist du mehr?

Ich bin mir mittlerweile nicht mehr sicher ob Bitcoin überhaupt skalieren soll, oder absichtlich so gebaut wurde..
(Saifedean Ammous beschreibt BTC in seinem Buch BTC Standard auch lediglich als settlement-/Store-of-Value.. und @anonymint kennst du ja auch)

Ja beides würde ich sagen. Nakamoto hat es genauso konzipiert und so wie es konzipiert und sein sollte, kann es nicht skalieren. Nakamoto selbst war optimistisch über Skalierbarkeit.

Dass es nicht skalieren soll seitens derer die die Macht haben...schon wahrscheinlicher.

Wahrscheinlich sind die Transaktionsgebühren in ein paar Jahren so hoch, dass wir ganzen plebs aus der Blockchain geschmissen werden..

:(

@tipu curate 2

Sehr ausführlich beschrieben...
!invest_vote

Wie ich die Beiträge vermisste, bei denen ich jedes dritte Wort nicht verstehe :-)

Freut mich wieder mal etwas von dir zu Lesen!

@tipu curate

Posted using Partiko Android

Sorry, recovering voting power 🐹

Wow! Kommt zu meinen Favoriten!

Danke für deinen Beitrag. Eine tolles Wochenende wünsch ich dir

Hallo ich bin Mikrobi,

dein Beitrag hat mir sehr gut gefallen und du bekommst von mir Upvote.

Ich bin ein Testbot, wenn ich alles richtig gemacht habe, findest du deinen Beitrag in meinem Report wieder.

LG

Mikrobi

@der-prophet denkt du hast ein Vote durch @investinthefutur verdient

Great work! Your post was selected for curation by one of @curangel's dedicated curators for its contribution to quality!

...unfortunately, it had to be excluded from curation because you recently bought a vote from a bid bot (tipu).In our efforts to support #newsteem, authors who participate in vote buying are not eligible for our votes.

But don't worry. It only takes 7 days of not buying votes to be able to receive our vote again, so maybe one of your next posts will make it!

Take care and steem on!



Hey @lauch3d, here is a little bit of BEER from @condeas for you. Enjoy it!

 last year Reveal Comment