Borpf (OP)
|
|
August 23, 2014, 02:31:13 AM |
|
Hallo, ich hab gerade mal so über die "Funktionsweise" des Bitcoin nachgedacht und das dezentrale Netz der miteinander verknüpften Miner. Die Miner sind ja im Grunde die weit verteilten (dezentralen) Standbeine des Bitcoin die Arbeiter und Wächter. Wer einen Miner betreibt erhält Belohnungen in Form von Bitcoins. Dafür stellt er seine Rechenkraft für das Bitcoin Netzwerk zur Verfügung. Diese Belohnungen werden durch die Schwierigkeitsgrade und Halbierungen immer weniger. Und zuguterletzt sind Bitcoins ja auch auf 21 Millionen Einheiten beschränkt. Es wird also irgendwann der Moment kommen an dem selbst der hartgesottenste Miningfan die Stromkosten und Rechenkapazitäten nicht mehr halten kann oder schlichtweg alle Coins gelutscht sind. So besteht ja dann im Grunde nicht mehr die Notwendigkeit des Minings und die ASIC´s und Miningfarmen gehen wieder so schnell vom Netz wie sie herangerauscht sind. Das bedeutet doch dann aber im Grunde, dass das dezentrale Bitcoin Netz in sich zusammenbricht, oder mache ich da einen Denkfehler? Oder wird alles nur noch aufrecht erhalten weil irgend ein Bitcoin Fan Anno 2013 seinen 333Mhs USB Miner noch irgendwo in einem Serverraum vergessen hat über den alles läuft? Würde mich echt mal interessieren. - DANKE!
|
Je kleiner der IQ, desto größer die Bildschirmdiagonale
|
|
|
lassdas
Legendary
Offline
Activity: 3677
Merit: 1496
|
|
August 23, 2014, 04:10:25 AM |
|
So besteht ja dann im Grunde nicht mehr die Notwendigkeit des Minings ...
Wie kommst Du jetzt da drauf? Die Notwendigkeit des Minings ergibt sich ja nicht aus den ermine'ten Coins, den Block-Rewards, oder den Profiten der Betreiber, notwendig ist das Mining auch ohne all das, ohne Mining ist das Bitcoin-Netzwerk tot. Aber keine Sorge, auch wenn irgendwann der letzte Coin gelutscht ist, werden (sollte das Projekt Bitcoin dann noch existieren) immernoch genug Miner da sein. Zum einen werden die Transaktions-Gebühren die neu-erzeugten Coins schon viel früher überholen (soll heißen, irgendwann werden pro Block mehr Gebühren gezahlt, als neue Coins erzeugt) undwenn dann garkeine Coins mehr neu erzeugt werden, gibts eben nurnoch die Gebühren und zum anderen wird jeder, der Bitcoins besitzt, ihren Wert erhalten, sie ausgeben, oder welche einnehmen will, also jeder, der das Netzwerk nutzen will, ein Interesse daran haben, daß eben dieses Netzwerk auch funktioniert und das geht nunmal ohne Mining nicht. Wenn ich also mit Bitcoin (als Dienstleister, Händler, oder sonstwie) Gewinne mache, kann ich mir dann aussuchen, ob ich ein paar Prozent dieser Gewinne für Mining ausgebe, oder auf 100% der Gewinne verzichte, weil ich der Meinung bin, auch das Mining selbst müsse profitabel sein.
|
|
|
|
whyte
|
|
August 23, 2014, 06:35:53 AM |
|
Die Miner bekommen ja nicht nur die Belohnung für den gefundenen Block, sondern auch die Fees in dem Block.
Wenn sich Bitcoin durchsetzt und genügend Transaktionen pro Block durchgeführt werden kann ein Miner evtll auch gut von diesen Fees leben ...
|
|
|
|
ChekaZ
Legendary
Offline
Activity: 1884
Merit: 1005
|
|
August 23, 2014, 09:07:31 PM |
|
Die Miner bekommen ja nicht nur die Belohnung für den gefundenen Block, sondern auch die Fees in dem Block.
Wenn sich Bitcoin durchsetzt und genügend Transaktionen pro Block durchgeführt werden kann ein Miner evtll auch gut von diesen Fees leben ...
Nicht nur eventuell sondern mit Sicherheit!
|
BTC: 1Ges1taJ69W7eEMbQLcmNGnUZenBkCnn45 FTC: 6sxjM96KMZ7t4AmDTUKDZdq82Nj931VQvY
|
|
|
Borpf (OP)
|
|
August 23, 2014, 10:01:57 PM |
|
Vielen Dank für die Infos! Die Fees hatte ich bei meiner Überlegung gar nicht berücksichtigt.
|
Je kleiner der IQ, desto größer die Bildschirmdiagonale
|
|
|
tomxtc1979
|
|
August 24, 2014, 12:39:46 PM |
|
Selbst im "Worst-Case", wenn also das Mining des Bitcoins für die aktuelle Hardware unrentabel wird, bestünde zumindestens die theoretische Chance, dass ein Alt-Coin auf Basis des SHA-256 Algos nachrückt und dessen Mining annähernd die Profitabilität (>=80%) des BTC erreicht...
Ist aber zuviel Glaskugel, als dass man das sicher vorhersagen kann...
Ferner haste aber auch erstmal knapp 2 Jahre Zeit, bis der nächste Reward-Drop kommt, siehe bitcoinclock.com
MfG Tom
|
|
|
|
bill86
|
|
August 24, 2014, 01:15:16 PM |
|
Aloha Borpf, Es wird also irgendwann der Moment kommen an dem selbst der hartgesottenste Miningfan die Stromkosten und Rechenkapazitäten nicht mehr halten kann oder schlichtweg alle Coins gelutscht sind.
Ob es in ein paar hundert Jahren den Bitcoin noch gibt, wird sich zeigen. Wir werden bei der jetzigen Genauigkeit des Protokolls wohl nicht mehr erleben, dass der 21 Millionste Bitcoin gefunden wird (theoretisch ca. um das Jahr 2163 herum; praktisch plus minus ca. 40 Jahre). Sollte die Genauigkeit des Protokolls überarbeitet werden, dann wird sich der Zeitpunkt schnell in eine noch weiter entfernte Zukunft verschieben. Falls das Protokoll irgendwann ideale Genauigkeit haben sollte, dann wird es immer frische Bitcoins zusätzlich zu den Gebühren geben. Also auch noch weit über das Jahr 100.000 (in Worten: einhunderttausend) nach heutiger internationaler Zeitrechnung hinaus. Deshalb liegen auch die einzigen zwei Möglichkeiten darin, dass sich entweder der Bitcoin langfristig verteuert (d.h. im Durchschnitt alle vier Jahre seinen Wert verdoppelt) oder anderfalls verschwindet. Sollte sich eines Tages das Mining nicht mehr lohnen, so werden die Nodes abspringen. Dadurch verlängert sich die durchschnittliche Transaktionsdauer, weil diese direkt von der Rate der gefundenen Blöcke abhängt. Daraufhin müssen entweder die Gebühren angehoben werden oder das Problem verschärft sich derart, dass der Bitcoin völlig uninteressant wird. Allerdings nur für die Zeit, bis die Difficulty nach unten korrigiert wird. Das kann aber bei der jetzigen Implementierung durchaus sehr lange dauern. Geht man von einer Hashrate aus, welche bei der herrschenden Difficulty nur einen Block pro Stunde findet, so wären in diesem Fall unter den schlechtesten Voraussetzungen 2016 Stunden Wartezeit nötig, bis sich alles wieder eingependelt hat. Das würde einer Wartezeit von 84 Tagen entsprechen. Je mehr in einem solchen Fall abspringen würden, desto länger würde es dauern, bis die Difficulty wieder angepasst wäre und sich die Transaktionszeiten erholen. Gruss, Bill
|
"Prognosen sind äußerst schwierig, vor allem wenn sie die Zukunft betreffen."
-- Kurt Tucholsky (Oder Mark Twain? Oder Winston Churchill? Wer weiß das schon so genau?)
|
|
|
Rising
|
|
August 24, 2014, 06:19:32 PM |
|
Was meinst du mit "Genauigkeit des Protokolls"?
|
189D6UeWNPjtzqzXWZuNcJokCYDEYSbciX
|
|
|
bill86
|
|
August 24, 2014, 07:27:14 PM |
|
Hallo Rising, Was meinst du mit "Genauigkeit des Protokolls"?
Ist blöd ausgedrückt von mir. Aber mir fiel in dem Moment kein besserer Begriff ein. Ich meinte damit die praktische Umsetzung, wie die Rewards berechnet bzw. die Bitcoins als Wert dargestellt werden. Ob nun Float, Double, Fixed Point, Integer oder z.B. Fractionals (Python) zum Einsatz kommen. Die letzten beiden Darstellungen sind zwar unter diesen Umständen genau genug, aber können durchaus bei Berechnungen Probleme verursachen. Im Idealfall gibt es keine Ungenauigkeiten oder Rundungsfehler. D.h. wir würden uns immer weiter an die 21-Millionen-Marke annähern, aber diese niemals erreichen (falls diesen Fakt jemanden interessieren sollte, mache ich dazu einen anderen Thread auf, weil das weit weg führt und nicht so leichter Stoff ist). In Wirklichkeit sind Ungenauigkeiten und Rundungsfehler in der Computertechnik eher die Regel und nicht die Ausnahme. Deshalb ist es schwer einzuschätzen, wann wir durch diese Umstände dann den "letzten Blockreward" erhalten. Beispiel Integer: Wir zählen einfach alle Satoshis und speichern diese als Ganzzahl ab. Nun kommen wir in einigen Jahrzehnten (irgendwann um das Jahr 2141 herum) an den Punkt, dass der Blockreward ungefähr einen halben Satoshi (ca. 0,58 Satoshi) betragen würde. Mit dem hier angenommenen Integer können wir diesen Wert nicht mehr darstellen. Ohne weitere Änderungen an der Implementierung gibt es dann die Möglichkeit, gegen 0 abzurunden oder gegen 1 aufzurunden. Beim Abrunden würden keine weiteren Blockrewards mehr ausgeschüttet, obwohl wir noch nicht 21 Millionen Bitcoins erreicht haben. Beim Aufrunden würden wir aufgrund des konstanten Rewards irgendwann wirklich den 21 Millionsten Bitcoin ausschütten. Allerdings lässt Integer von sich aus schon zwei Stellen mehr zu, als wir heute in den Clients überhaupt einstellen können. D.h. wir können in der Implementierung noch zwei Nachkommastellen hinzufügen, sobald wir in diesen Bereich kommen. Das meine ich mit "Genauigkeit erhöhen". Diese Nachkommastellen werden erst um das 2181 nicht mehr hilfreich sein, weil wir dann einen Blockreward von ca. 0,0057 Satoshis erreichen. Sollten wir von Integer zu Long Integer wechseln (so wie das nach meiner Kenntnis des Codes schon vorbereitet ist), bekommen wir noch haufenweise Nachkommastellen hinzu. Nur irgendwann werden auch Long Integers nicht mehr ausreichen und dann muss das Protokoll um eine modifizierte Zahldarstellung erweitert werden. Die Alternative wäre, ab- oder aufrunden. So wie es oben bereits als erste Überlegungen für Integer geschildert wurde. Gruss, Bill
|
"Prognosen sind äußerst schwierig, vor allem wenn sie die Zukunft betreffen."
-- Kurt Tucholsky (Oder Mark Twain? Oder Winston Churchill? Wer weiß das schon so genau?)
|
|
|
Chefin
Legendary
Offline
Activity: 1882
Merit: 1108
|
|
August 25, 2014, 01:29:23 PM |
|
nein, es wird nicht runtergeteilt unter einen Coin. Die Ausschüttung endet an dieser Stelle.
Bei 21 Millionen ist Schluss. Das ist das Fundament von Bitcoin. Änderst du das, hast du keine Bitcoins mehr, sondern irgendwas anderes. Das wäre so, als wenn du 100 Euro verdienst, dann drucke ich schnell mal 100 Milliarden Euros und deine Ersparnisse reichen statt für einen Urlaub nur noch für einen Laib Brot. Um einige hundert Milliarden Euro heutiger Rechnung damit zu bewegen, muss er auf Werte weit über 100.000 Euro/btc(nach heutiger Berechnung) wandern.
Wenn man aber 100 Milliarden dauernd rumschieb und nur 0,1% fee nimmt sind das lockere 100 Millionen. Damit lässt sich weit mehr Rechenleistung nur aus den fee bewerkstelligen als man heute hat. Aber die braucht man auch. Nur Visacard hat einige Hundert transaktionen pro Sec, während der Bitcoin maximal 7 pro sec schafft. Es ist also nicht nötig, mehr Bitcoins auszuschütten. Aber es ist nötig das Protokoll an das anzupassen was die Benutzer brauchen.
Du siehst, es ist also auch garnicht nötig, mehr Coins auszuschütten. Schon lange vorher wird Bitcoin entweder den Durchbruch schaffen oder untergehen. In beiden Fällen reichen die 21 Millionen Coins aus.
|
|
|
|
bill86
|
|
August 25, 2014, 05:04:03 PM |
|
Hallo Chefin, nein, es wird nicht runtergeteilt unter einen Coin. Die Ausschüttung endet an dieser Stelle.
Was ist denn deiner Meinung nach ein unteilbarer Coin? Ist ein Bitcoin unteilbar? Ist ein Satoshi unteilbar? Es sind doch nur gespeicherte Werte in Blöcken. Bei 21 Millionen ist Schluss. Das ist das Fundament von Bitcoin. Änderst du das, hast du keine Bitcoins mehr, sondern irgendwas anderes. Das wäre so, als wenn du 100 Euro verdienst, dann drucke ich schnell mal 100 Milliarden Euros und deine Ersparnisse reichen statt für einen Urlaub nur noch für einen Laib Brot. Um einige hundert Milliarden Euro heutiger Rechnung damit zu bewegen, muss er auf Werte weit über 100.000 Euro/btc(nach heutiger Berechnung) wandern.
Du schreibst von etwas völlig anderem, als ich oben ausführte. Angenommen, du hast 1000 EUR in deinem Geldbeutel. Wir kommen jetzt auf die Idee, den Euro zu unterteilen und uns daran zu orientieren. Sagen wir mal, wir spendieren zwei weitere Nachkommastellen. Dann hast du 100000 Euro cent zur Verfügung. Beim Unterteilen passiert nicht mehr und nicht weniger. Das hat rein gar nichts mit Geldvermehrung zu tun. So ist es auch mit dem Bitcoin. Ob ich jetzt 1 Bitcoin besitzen würde oder 1000 mBTC oder 100000000 Satoshi, ändert überhaupt nichts an den bestehenden Besitzverhältnissen. Es ist lediglich eine andere Darstellung. Es besteht eben die Möglichkeit, dass man auch den Satoshi noch einige Male unterteilt. Auch das ändert an der ausgeschütteten Menge nichts. Wann erreichen wir eigentlich deiner Meinung nach den 21 Millionsten Bitcoin? Also wann wird dieser an einen glücklichen Miner komplett ausgeschüttet sein? Wenn man aber 100 Milliarden dauernd rumschieb und nur 0,1% fee nimmt sind das lockere 100 Millionen. Damit lässt sich weit mehr Rechenleistung nur aus den fee bewerkstelligen als man heute hat. Aber die braucht man auch. Nur Visacard hat einige Hundert transaktionen pro Sec, während der Bitcoin maximal 7 pro sec schafft. Es ist also nicht nötig, mehr Bitcoins auszuschütten. Aber es ist nötig das Protokoll an das anzupassen was die Benutzer brauchen.
Du siehst, es ist also auch garnicht nötig, mehr Coins auszuschütten. Schon lange vorher wird Bitcoin entweder den Durchbruch schaffen oder untergehen. In beiden Fällen reichen die 21 Millionen Coins aus.
Du argumentierst komplett an mir vorbei, als hättest du nicht ein Wort von meinen obigen Ausführungen verstanden. Gruss, Bill
|
"Prognosen sind äußerst schwierig, vor allem wenn sie die Zukunft betreffen."
-- Kurt Tucholsky (Oder Mark Twain? Oder Winston Churchill? Wer weiß das schon so genau?)
|
|
|
Rising
|
|
August 25, 2014, 07:11:46 PM |
|
Wann erreichen wir eigentlich deiner Meinung nach den 21 Millionsten Bitcoin? Also wann wird dieser an einen glücklichen Miner komplett ausgeschüttet sein?
Wenn es keinen Fork gibt: nie, da es nur 20999999,9769 Bitcoins geben wird.
|
189D6UeWNPjtzqzXWZuNcJokCYDEYSbciX
|
|
|
bill86
|
|
August 25, 2014, 08:16:20 PM Last edit: August 26, 2014, 03:42:55 PM by bill86 |
|
Hallo Rising, Wann erreichen wir eigentlich deiner Meinung nach den 21 Millionsten Bitcoin? Also wann wird dieser an einen glücklichen Miner komplett ausgeschüttet sein?
Wenn es keinen Fork gibt: nie, da es nur 20999999,9769 Bitcoins geben wird. Diese Zahl ist mir früher schonmal begegnet. Allerdings habe ich außer dem Halbwissen von einigen uninformierten Journalisten dazu nichts gefunden, weshalb ich diese eher zu den Mythen und Legenden zählte. Gibt es eine verlässliche Quelle dazu? Sollte das die tatsächliche Grenze sein, dann sind meine obigen Überlegungen natürlich uninteressant. Der Grenzwert der erzeugten geometrischen Reihe ist dann höher als der gegebene Zielwert, weshalb dieser unter den gegebenen Umständen erreicht wird. Dann wird wahrscheinlich der letzte Blockreward irgendwann zwischen 2120 und 2130 ausgeschüttet (theoretisch zwischen den Jahren 2121 und 21252125 und 2129). Die Belohnung zu diesem Zeitpunkt ist dann ungefähr 18,62645149230957 9,31322574615478 Satoshi hoch ("ungefähr" deshalb, weil ich hier trotz GMP mit Rundungsfehlern in meiner Simulation zu kämpfen habe). Das ist die Belohnung während der 28.29. Halbierung. Gruss, Bill Edith sagt: Deine Simulation verursacht eine Menge Rechenfehler. Korrigiere das mal. Habe ich gemacht.
|
"Prognosen sind äußerst schwierig, vor allem wenn sie die Zukunft betreffen."
-- Kurt Tucholsky (Oder Mark Twain? Oder Winston Churchill? Wer weiß das schon so genau?)
|
|
|
mezzomix
Legendary
Offline
Activity: 2744
Merit: 1265
|
|
August 26, 2014, 06:14:37 AM |
|
Diese Zahl ist mir früher schonmal begegnet. Allerdings habe ich außer dem Halbwissen von einigen uninformierten Journalisten dazu nichts gefunden, weshalb ich diese eher zu den Mythen und Legenden zählte. Gibt es eine verlässliche Quelle dazu?
Den Algorithmus (sind ein paar Zeilen im Code) und einen Taschenrechner. Irgendwann bleibt beim Halbieren nur noch der Rest übrig und das Ergebnis ist 0. Damit ist dann die Ausgabephase beendet - in ca. 130 Jahren. Hier eine berechnete Tabelle: https://en.bitcoin.it/wiki/Controlled_supply
|
|
|
|
CryptKeeper
Legendary
Offline
Activity: 2044
Merit: 1055
|
|
August 26, 2014, 06:26:48 AM |
|
Für mich ist es ganz klar, dass die Ära des "Home-Mining" zu Ende geht.
Die Miner-Hersteller werden noch einige Jahre selber minen und evtl. auch noch Cloud-Mining-Verträge verkaufen, aber ewig wird auch das nicht gehen! Der finanzielle Aufwand, der getrieben werden muss, um immer bessere Asics zu entwickeln, die trotz der Stromkosten/Difficulty-Spirale noch den Break-Even erreichen, wird bald zu hoch werden. Das bedeutet, dass wohl der letzte Bitcoin-Block nie geschürft werden wird!
Andere Verfahren, Crypto-Systeme abzusichern, sind ja bereits im Einsatz. Proof-of-Stake hat nicht das Problem der Stromkosten/Difficulty-Spirale und hat sich bereits in einigen Altcoins bewährt. Aber vielleicht kommt da noch etwas besseres, wir stehen ja erst am Anfang einer großartigen Entwicklung.
|
Follow me on twitter! I'm a private Bitcoin and altcoin hodler. Giving away crypto for free on my Twitter feed!
|
|
|
mezzomix
Legendary
Offline
Activity: 2744
Merit: 1265
|
|
August 26, 2014, 08:48:52 AM |
|
Für mich ist es ganz klar, dass die Ära des "Home-Mining" zu Ende geht.
Die Ära ist bereits beendet. Die heutigen "Homeminer" wissen das aber nicht, oder besser gesagt wollen es nicht wissen. Die Miner-Hersteller werden noch einige Jahre selber minen und evtl. auch noch Cloud-Mining-Verträge verkaufen, aber ewig wird auch das nicht gehen! Der finanzielle Aufwand, der getrieben werden muss, um immer bessere Asics zu entwickeln, die trotz der Stromkosten/Difficulty-Spirale noch den Break-Even erreichen, wird bald zu hoch werden. Das bedeutet, dass wohl der letzte Bitcoin-Block nie geschürft werden wird!
Ich denke es wird auf ein Gleichgewicht hinauslaufen. Wenn die Miningleistung sinkt, wird es irgendwann wieder für andere interessant, Rechenleistung bereit zu stellen. Die aktuelle Entwicklung beweist, dass es für einige sogar interessant ist, wenn es sich wirtschaftlich nicht rechnet. ...Altcoins bewährt...
|
|
|
|
trasla
|
|
August 26, 2014, 12:40:51 PM |
|
Echt, es tun immer alle so, als ob es einen Punkt gibt, an dem Mining unrentabel wird, und dann hören alle schlagartig auf, und bitcoin is tot. Aber das ist ebend nicht der Fall, das ganze ist ein selbst-regulierendes System. Wenn es unrentabler wird, gehen vielleicht manche Miner (die mit hohen Stromkosten...) vom Netz. Dadurch wird es automatisch für alle anderen profitabler, weil die difficulty sinkt. Selbst wenn massive Anteile wegfallen, dann haben wir halt ein paar zähe Tage, aber danach wieder ne wesentlich niedrigere diff. Und soweit absinken, dass ich mit meinem einsamen Asicminer Stick sämtliche Transaktionsgebühren einstreichen kann, wird es wohl nicht.
|
|
|
|
bill86
|
|
August 26, 2014, 04:16:47 PM Last edit: August 26, 2014, 04:47:00 PM by bill86 |
|
Moin Moin mezzomix, Diese Zahl ist mir früher schonmal begegnet. Allerdings habe ich außer dem Halbwissen von einigen uninformierten Journalisten dazu nichts gefunden, weshalb ich diese eher zu den Mythen und Legenden zählte. Gibt es eine verlässliche Quelle dazu?
Den Algorithmus (sind ein paar Zeilen im Code) und einen Taschenrechner. Irgendwann bleibt beim Halbieren nur noch der Rest übrig und das Ergebnis ist 0. Damit ist dann die Ausgabephase beendet - in ca. 130 Jahren. Hier eine berechnete Tabelle: https://en.bitcoin.it/wiki/Controlled_supplyDas kannte ich bereits. Die Quelle dafür bezieht sich auf eine Diskussion hier im Forum. Stimmen wir jetzt mal kurz ab? Wer ist dafür, dass der Mond aus Käse ist? Wenn die Mehrheit dafür ist, dann muss er das natürlich auch sein. So schafft man sich zwar seine eigenen Wahrheiten, aber ganz sicher keine vertrauenswürdigen Fakten. Mit verlässliche Quelle meinte ich sowas wie z.B. die src/main.h: /** No amount larger than this (in satoshi) is valid */ static const int64 MAX_MONEY = 21000000 * COIN; inline bool MoneyRange(int64 nValue) { return (nValue >= 0 && nValue <= MAX_MONEY); }
Da steht als obere Grenze aber übersetzt "genau 21000000 BTC". Wir haben also eine Zahl, die dem Grenzwert der darunterliegenden geometrischen Reihe für 10500000 * SUMi=0infinity 1/ (2i)
entspricht (Term der geometrischen Reihe unterstrichen). Wir schauen mal kurz in die ersten Kapitel irgendeines Standardwerkes für analytische Mathematik (Funktionen, Reihen, Analysis und dergleichen) und stellen fest, dass diese geometrische Reihe demnach sich immer weiter dem Grenzwert nähert, aber diesen bei idealer Genauigkeit niemals erreichen wird (d.h. beliebiger Teilbarkeit der einzelnen Elemente, Fachchinesisch: reelle Zahlen). Sollte also die Genauigkeit angepasst werden, so verschiebt sich der Zeitpunkt für die letzte Ausschüttung der Belohnung sehr weit in die Zukunft. Bei signed int64 sind da noch 10 3 Nachkommastellen für die Satoshis drin. Sollte sich da nochmal was ändern, dann kommen natürlich noch Stellen hinzu. Da wirst du mit 130 Jahren in der Zukunft nicht mehr auskommen. Es sei denn, die Halbierung wird irgendwann durch einen konstanten Betrag ersetzt (d.h. ab einer bestimmten Blockanzahl wird einfach die ausgeschüttete Blockbelohnung nicht mehr halbiert) oder es wird ein effizientes Verfahren entwickelt, welches bei wachsender Difficulty konstant mehrere tausend Blöcke pro Stunde finden kann. Gruss, Bill Edith meint: Formeln sind ein bisschen besser lesbar, falls man Subscript und Superscript verwendet. Edith sagt auch: Tippfehler fallen erst beim Veröffentlichen auf. Peinlich, wenn es den gedachten Sinn verfälscht.
|
"Prognosen sind äußerst schwierig, vor allem wenn sie die Zukunft betreffen."
-- Kurt Tucholsky (Oder Mark Twain? Oder Winston Churchill? Wer weiß das schon so genau?)
|
|
|
minime
|
|
August 26, 2014, 09:02:09 PM |
|
Moin Moin mezzomix, Diese Zahl ist mir früher schonmal begegnet. Allerdings habe ich außer dem Halbwissen von einigen uninformierten Journalisten dazu nichts gefunden, weshalb ich diese eher zu den Mythen und Legenden zählte. Gibt es eine verlässliche Quelle dazu?
Den Algorithmus (sind ein paar Zeilen im Code) und einen Taschenrechner. Irgendwann bleibt beim Halbieren nur noch der Rest übrig und das Ergebnis ist 0. Damit ist dann die Ausgabephase beendet - in ca. 130 Jahren. Hier eine berechnete Tabelle: https://en.bitcoin.it/wiki/Controlled_supplyDas kannte ich bereits. Die Quelle dafür bezieht sich auf eine Diskussion hier im Forum. Stimmen wir jetzt mal kurz ab? Wer ist dafür, dass der Mond aus Käse ist? Wenn die Mehrheit dafür ist, dann muss er das natürlich auch sein. So schafft man sich zwar seine eigenen Wahrheiten, aber ganz sicher keine vertrauenswürdigen Fakten. Mit verlässliche Quelle meinte ich sowas wie z.B. die src/main.h: /** No amount larger than this (in satoshi) is valid */ static const int64 MAX_MONEY = 21000000 * COIN; inline bool MoneyRange(int64 nValue) { return (nValue >= 0 && nValue <= MAX_MONEY); }
Da steht als obere Grenze aber übersetzt "genau 21000000 BTC". Wir haben also eine Zahl, die dem Grenzwert der darunterliegenden geometrischen Reihe für 10500000 * SUMi=0infinity 1/ (2i)
entspricht (Term der geometrischen Reihe unterstrichen). Wir schauen mal kurz in die ersten Kapitel irgendeines Standardwerkes für analytische Mathematik (Funktionen, Reihen, Analysis und dergleichen) und stellen fest, dass diese geometrische Reihe demnach sich immer weiter dem Grenzwert nähert, aber diesen bei idealer Genauigkeit niemals erreichen wird (d.h. beliebiger Teilbarkeit der einzelnen Elemente, Fachchinesisch: reelle Zahlen). Sollte also die Genauigkeit angepasst werden, so verschiebt sich der Zeitpunkt für die letzte Ausschüttung der Belohnung sehr weit in die Zukunft. Bei signed int64 sind da noch 10 3 Nachkommastellen für die Satoshis drin. Sollte sich da nochmal was ändern, dann kommen natürlich noch Stellen hinzu. Da wirst du mit 130 Jahren in der Zukunft nicht mehr auskommen. Es sei denn, die Halbierung wird irgendwann durch einen konstanten Betrag ersetzt (d.h. ab einer bestimmten Blockanzahl wird einfach die ausgeschüttete Blockbelohnung nicht mehr halbiert) oder es wird ein effizientes Verfahren entwickelt, welches bei wachsender Difficulty konstant mehrere tausend Blöcke pro Stunde finden kann. Gruss, Bill Edith meint: Formeln sind ein bisschen besser lesbar, falls man Subscript und Superscript verwendet. Edith sagt auch: Tippfehler fallen erst beim Veröffentlichen auf. Peinlich, wenn es den gedachten Sinn verfälscht. wann genau der zeitpunkt erreicht wird ist voll kommen irrelevant...
|
|
|
|
Chefin
Legendary
Offline
Activity: 1882
Merit: 1108
|
|
August 27, 2014, 10:49:47 AM |
|
@Bill86
Und wo war nochmal der Hinweis das Programmierung den Gesetzen der Mathematik folgt?
es ist scheiss egal, was die Mathematik sagt oder seine regeln. Ein Programmierer kann es so umsetzen oder ändern. Nur weil ich Fliesskommazahlen benutze heist das nicht, das ich die Ausgabe auch so mache. Ich muss sogar sehr oft umrechnen. Ein Bildpunkt zb lässt sich setzen oder nicht, es ist nicht möglich in 0,7 zu setzen. Aber ob ich ihn setzen muss berechnet sich aus Fliesskommazahlen um Rundungsfehler zu vermeiden. Auch in der Regeltechnik(Maschinenbau) braucht man oftmals Kommazahlen hat aber am Ende nur Integer als Ausgabemöglichkeit. Wenn ich einen Wert einlese, dann scaliere ich ihn auf meinen Regelbereich, passieren schon die ersten Rundungsfehler. Wenn ich dreimal 34,4 als 34 aufaddiere, komme ich zu 103 mathematisch oder 102 ohne Kommastellen. Deswegen rechne ich lieber in Fliesskomma, auch wenn ich es später nur als Ganzzahl benutzen kann.
Bei Bitcoin wurde es einfach so festgelegt. Es spielt dabei keiner Rolle, ob das mathematisch notwenig wäre oder nicht. Es geht drum, das man weis nach welchen Grundlagen man programmiert. Wenn ich zb den aufenthaltsort jedes Bitcoins wissen will lege ich eine Tabelle mit 21 Millionen Einträge an. Wenn ich dann erfahre, das man jeden Coin bis zu 8 Stellen hinter dem Komma aufteilen kann, muss ich 21millionen*10^8 Einträge anlegen. An dieser Stelle würde ich aber von einer reinen Hauptspeicherlösung zu einer Datenbank ausweichen. Aber auch diese wäre dann mit der passenden Anzahl vorbelegt.
So funktioniert Programmierung. Und ja..man könnte es OpenEnd programmieren, man einigen Nachteilen. Die Vorteile wären die flexibilität, die ich aber lt Vorgaben nie benötige. Die Nachteile wären das der Zugriff nicht mehr wahlfrei erfolgt sondern indiziert oder sequentiell. Beides kostet zusätzlich Zeit in der Verarbeitung. wenn ich 1 Million Datensätze a 16bytes habe kann ich auf den Datensatz 776345 zugreifen indem ich 16*776346 rechne und ab dieser Stelle 16 Bytes einlese. Ein lahmer Festplattenzugriff statt dutzende.
Es gibt genug Gründe warum man Dinge eben so und nicht anders macht. Man erkauft sich damit einfache Handhabung, aber muss dann damit leben, das Erweiterungen mehr Aufwand bedeuten. Aber nur weil man als Programmierer mit Zahlen umgeht muss man sich nicht unbedingt an die Mathematik halten. Lediglich die Grundregeln sind fertig implementiert, die kann ich nicht ändern. Wie du oben siehst(die zwei unterschiedlichen Zahlen bei den Datensätzen sind keine Tippfehler) rechnen wir Programmierer mit Null und Datensatz 10 ist der 11. Datensatz. Programmierer unterscheiden zwischen Null und Nichts. Null ist um 1 größer als Nichts. Aber Nichts ungleich -1.
|
|
|
|
|