B.) Wie ist denn die genaue Reihenfolge: Tx im Netzwerk > Festlegen welche Miner am Block arbeiten > Miner Rechenleistung Input zum Lösen des Rätsels > Miner hat Recht auf Blockerstellung (wie ist das, wenn man sich einen Block teilt?) > Block an Chain angefügt > Nodes validieren ?
Es gibt nicht DEN nächsten Block.
Es funktioniert so:
- Miner suchen sich einfach "willkürrlich" irgendwelche Transaktionen raus und erzeugen daraus einen Block
- Dazu fügen sie ihre eigene "Ich bekomm die 12,5 BTC" Transaktion hinzu
- Jetzt ist der Block an sich fertig, muss aber noch signiert werden -> Das Spiel den Nonce so lange anzupassen, bis der gültige Hashwert rauskommt
Sobald ein Miner fertig ist, veröffentlicht er diesen neuen Block.
Es kann vorkommen, dass 2 Miner quasi zeitgleich sind (mit wie gesagt unterschiedlichen aber jeder für sich gültigen Blöcken), sagen wir X und Y. Dann arbeiten manche Miner auf der Grundlage von Block X und andere auf Block Y weiter. Je nach dem, ob die Block X oder Y Gruppe nun den nächsten gültigen Block findet, bleibt X oder Y gültig, weil dahinter noch einer mehr angefügt wurde. Immer die längste Blockchain ist die Gültige. Der andere Block verwaist dann also - so entstehen die Orphaned Blocks. Jetzt wissen alle wieder, welche die gültige Blockchain ist und arbeiten wieder auf der gleichen Grundlage weiter.
Im Bitcoin ist es eben so implementiert, damit man als User eben Einflussmöglichkeit anhand der Gebühren hat, ob man schneller oder langsamer bearbeitet wird.
Aber:
Problem 1: Dann sucht keiner mehr im Mempool aufwändig nach Transaktionen, sondern packt in den Block nur die eine einzige rein "Ich bekomme 12,5 BTC" -> geht natürlich schneller, also gewinnt man immer. Es werden aber nie Transaktionen bestätigt.
Problem 2: Wäre das "Rätsel" (also Nonce so lange durchprobieren, bis der Hash-Wert passt) zu einfach (bzw. gar nicht vorhanden), gäbe es nicht hin und wieder mal einen orphaned Block, sondern dann wären das Tausende (wäre erstmal nicht soo tragisch) und nach kurzer Zeit hätte man mehrere "längste" Chains, also Paralleluniversen - das darf natürlich nie passieren. Das "Rätsel" muss also eine gewisse Komplexität haben, so dass es nach Möglichkeit nicht mehrere gleichzeitig lösen.
Problem 3: Es wäre dann reine Glückssache, wer die Belohnungs-BTC erhält - fair ist das nicht.
Hash Baum ist übrigens falsch dann gäbe es ja mehrere Verzweigungen - es ist eine Kette. (bis auf die paar orphaned Blocks eben - verrückt, dass ich das Wort gerade so oft brauche, sonst erkläre ich Leuten die Blockchain und verwende das gar nicht.. die fragen aber auch nich so genau nach.)
3.1a) Wie funktioniert das dann mit Mining Pools?
Brechen 50% der Miner weg, dauert es 20min pro Block.
Genau hier sehen Kritiker nen riesen Problem: Brechen 99% weg, dauert es plötzlich 1000 Minuten pro Block, das bis zu 2016 Blöcke lang. Also 1400 Tage bis zur nächsten Anpassung - in diesen 1400 Tagen wäre Bitcoin quasi nutzlos. 1000 Minuten (fast 17 Stunden) für ne Bestätigung und für gerade mal 4200 Transaktionen.. es wäre unbenutzbar. Daher würde in diesem Fall wohl auch das letzte 1% aussteigen -> Bitcoin wäre tot.
Ist aber alles gar nicht so dramatisch.. Selbst 50% die auf einmal wegbrechen ist schon unrealistisch, 99% ist einfach nur FUD-Mache der Kritiker
Sagen wir Block 52000 kam rein, die Miner selbst haben auch gerade an 52000 gearbeitet. Dann schauen sie kurz, ob dieser soeben veröffentlichte 52000 gültig ist => dann würden sie sich nen neuen Block (52001) zusammenbauen müssen um daran zu minen. War der veröffentlichte 52000 aber falsch, können sie ja einfach mit der eigenen Arbeit, den 52000 fertig zu minen, weitermachen.
Jeder Miner veröffentlich die aktuelle Version "seiner" Blockchain - dort steht eben drin "letzter Block 51999" oder "letzter Block 52000" - darüber wird signalisiert, ob sie den Block aufgenommen haben oder nicht. Hier fehlt mir aber selbst das Detailwissen - bin ja kein Miner
Es ist eben das Design des Proof-Of-Work System an dem es hier krankt. Das lässt sich aber nicht mal eben einfach so ändern und ist nun in dieser Form da.
Im Laufe der Zeit werden die Belohnungen regelmäßig halbiert. Auch hier bin ich gar nicht so tief drin, dass ich wüsste wann genau - lässt sich rausfinden.. jedenfalls sinds dann "bald" 6,25 -> 3,125 -> 1,5625 -> ... der Stromverbrauch wird also nach und nach runter gehen, weil sich das Business Model eben sonst nicht mehr rechnet. (Wobei dem gegenüber ein ständig steigender Preis steht - mal sehen wo sich das alles einpendelt)
Bitcoin Cash beispiesweise hat ja einfach mal auf 2 MB angehoben. Da sind die Blöcke nie voll, die Gebühren also viel niedriger, also verdienen die Miner weniger.
Sowas ist da gemeint.. wenn die Entwickler coole neue Ideen haben, um alles schneller und günstiger hinzubekommen, dann haben die Miner da gar kein Interesse dran.. die verdienen an den hohen Gebühren ja mit (zu den 12,5 BTC die fix sind, kommt aktuell so ca. 1 BTC an Gebühren oben drauf)
IOTA nutzt ja nichtmal mehr ne Blockchain, sondern einen Tangle. Das sind ebenfalls Blöcke, aber nicht mehr seriell hintereinander gehängt, sondern "wirr" miteinander verknüpft. Ist jetzt zu sehr Off-Topic und ich hör mal auf zu schreiben, sonst wird das nochmal so lang wie die "paar" Antworten da oben.
Auch zum Tangle gibts schon wieder Alternativen wie z.B. Hash-Graph. Aber gehört alles nicht hier her