Hallo,
im Video „World Economic Forum WEF widerlegt! BITCOIN und die Energiewende!“ ab 45:00 (https://youtu.be/WctSkKmsc9c?t=2700) antwortet Roman auf die Frage:
„Wie kann es aber sein das man ein Verfahren entwickelt das man selbst nicht zurückrechnen kann?“
Seine Erklärung mit 3+5+7=15 geht zwar in die richtige Richtung, aber 15 lässt sich ja auch mit vielen anderen Ausgangs-Zahlen ermitteln, und das ohne großen Aufwand.
Für Einsteiger vergleiche ich die Hash-Ermittlung gerne mit dem math. Wurzelziehen.
Hash entspricht dem Quadrat der gesuchten Zahl. Also wäre z.B. die Aufgabe, finde die Wurzel aus 137. (Vergleich: finde den Ausgangs-Wert für den Hash 137)
Da man die Wurzel aus 137 nur mit einem Näherungs-Verfahren ermitteln kann, dauert es viel länger den Ausgangswert zu finden, als die eigentliche Validierung, dass 11,71 eine Lösung wäre.
Die Difficulty gibt dabei an, auf wie viele Stellen genau das Ergebnis stimmen muss.
Difficulty 1 → alle Ergebnisse im Format 137,0x sind gültig: 11,7047 bis 11,70897
Difficulty 3 → alle Ergebnisse im Format 137,000x sind gültig: 11,7047 bis 11,70474
Oder die Difficulty könnte auch bestimmen, aus wie viele Ziffern das Quadrat besteht.
(und es reicht dann evtl. die Vorkommastellen richtig zu haben)
Man könnte die Berechnung auch spielerisch im Unterricht behandeln:
Jeder Schüler ist ein Miner, und die gesamte Klasse ist ein Mining-Pool.
Der Lehrer schreibt den Hash (Quadratzahl) an die Tafel und die Kinder legen los.
Ähnlich wie beim Mining-Pool könnte der Lehrer auch vorgeben, dass die Kinder in bestimmte „Bereiche“ aufgeteilt werden.
Am einfachsten z.B. dass die Hälfte der Klasse immer mit einer Zahl beginnt, dessen letzte Ziffer gerade ist, und die andere Hälfte mit einer ungerade Ziffer startet.
So wird vermieden, dass bei Hash 137 alle mit 11,9 starten.
Bei Hash 137 werden die Schüler vermutlich mit 11,9 11,8 11,7 und 11,6 starten.
Das Kind, welches zuerst eine gültige Zahl findet erhält eine Packung Nüsse.
Da aber alle Kind in einem Mining-Pool sind, werden die Nüsse aufgeteilt.
Pro Berechnung die ein Kind gemacht hat, erhält es eine Nuss.
Es kann sein, dass das Kind, welches die Zahl gefunden hat, lediglich 3 Berechnung benötigte, da es die Zahlen gut geraten hat.
Ein Kind, welches sehr schnell rechnen kann, hat aber 5 Berechungen geschafft, und erhält dafür 5 Nüsse.
Problem:
Das trickreiche Kind hat 6 Berechungen gemacht:
11x11=121
11,1x11,1=123,21
11,11x11,11=1234321
11,111x11,111=123,454321
11,1111x11,1111=123,45654321
11,11111x11,11111=123,4567654321
Sollte es dafür wirklich 6 Nüsse erhalten?
Darüber habe ich heute Nacht nachgedacht, statt zu schlafen.
Mögliche Lösung in der Klasse:
Jedes Kind ruft nach jeder Berechnung seinen Zwischenstand - also: 11,8 11,75 usw.
Der Lehrer schreibt diese auf, und sobald die Lösung gefunden wurde, werden die Nüsse anteilig verteilt, je nach dem, wie prozentual dicht die einzelnen Schüler an der Lösung waren.
Frage 1:
Wie wird im Mining-Pool die Hashrate der einzelnen Teilnehmer validiert?
SHA265 ist ja komplett zufällig, d.h. es man kann sich ja nicht langsam annähern.
Und es können ja auch nicht alle gemachten Berechnungen innerhalb eines Pools validiert werden, weil dies ja die Gesamtrechenleistung massiv reduzieren würde!?
Und wenn alle Miner ein Protokoll von Ausgangswert und Hashwert übermitteln, dann könnten diese ja auch einfach große Lookup-Tabellen erstellen.
Und der Poolbetreiber kann ja auch nicht alle zig Milliarden/Trilliarden Berechnungen speichern und prüfen.
Wie wird sichergestellt, dass die Berechnungen wirklich hilfreich sind?
Frage 2:
Wie wird verhindert, dass ein Miner seine Berechnungen parallel in verschiedene Pools broadcastet?
In meiner Annahme könnte ein großer Miner ja einen Pseudo-Miner als Proxy benutzen, um dort seine gespiegelten Berechungen in einen zweiten Pool zu geben.
→ dadurch würde er zusätzliche Rewards kassieren