Bitcoin heeft een coin supply van 21 miljoen. Elke 10 minuten gemiddeld wordt er door een miner of miningpool een lucky number gevonden en word er een block vol met transacties gegenereerd. De eerste transactie in dat block is een minen die coins aan zichzelf geeft. Momenteel 12,5 bitcoins maar toen het bitcoin netwerk starte was het 50 bitcoins. Elke 4 jaar word deze beloning voor het minen gehalveerd.
Dus de eerste 4 jaar had je 50 bitcoins per 10 minuten. 50 * 6 *24 *365 * 4 = 10,512,000 bitcoins in de eerste 4 jaar. Toen 5,256,000 miljoen bitcoin in de volgende 4 jaar. De volgende halvering zal ergens rond mei 2020 zijn. Er zijn momenteel ongeveer 10,512,000 + 5,256,000 + 657,000= 16,425,000 miljoen bitcoins die zo zijn vrij gemined. Nu ja dat is de berekening voor 4 + 4 + 1 jaar. Bitcoin is gestart op 3 Januari 2009. De 10 minuten met geminede bitcoin is ook geen absoluut. Komt er meer mining power op het netwerk dat gaat deze 10 minuten naar beneden want de miners raden nu sneller de lucky numbers omdat ze meer gokken per seconde doen met meer mining apparaatuur. Het netwerk heeft echt er een feedback loop. Word de tijd tussen 2 blocken steeds sneller dan gaat de moeilijkheids graad om hoog. Miners moeten nu lucky nummbers raden tussen een groter invervaal. Ipv tussen 0 en 1 miljoen bijvoorbeeld tussen 0 en 2 miljoen. Dit noemen we diffuculty. Gaat de tijd tussen twee blocken omhoog dan gaat de diffuculty naar beneden. Op die manier is er een vrij constante uitgave van de coins aan de miners die het netwerk draaien. Je kunt hier
de stats bekijken.
Momenteel zijn er 17,071,978 bitcoins die zo zijn vrij gegeven.
Dat gezegd hebben @
PilatuS en mijzelf hadden het over de kans voor een GPU miner om zo een lucky number te vinden en die 12,5 bitcoin te krijgen. Die is zo klein dat je een 1080i meer dan 10 000 jaar moeten laten raden voordat de kans dat hij een lucky number heeft gevonden ongeveer 100% is.
In de praktijk kan het binnen een seconde .... maar de kans daarop is zo klein dat we kunnen zeggen dat het nul is.
Het totale bitcoin netwerk gokt momenteel 40 000 000 000 000 000 000 nummers per seconde, na een gok moet er gecontroleerde worden of het nummer dat de miner voor ogen heeft ook het nummer is dat die miner toe laat om het volgende bitcoin block te bouwen en zichzelf een beloning te geven van wat momenteel 12,5 bitcoins zijn.
Een enkele 1080i kan dit ongeveer 1 000 000 000 per seconde doen. De diffuculty is momenteel 4,940,704,885,522. Hij is ooit bij 0 gestart. De diffuculty is hoeveel 0 er in de hash moeten zitten van een stukje data dat gehasht word. Omdat een hash functie een wiskundige functie is kun je een bitcoin hash nemen. Bijvoorbeeld. 000000000000000000092ef280f5526aedfe6bdea385be816a960fe552349960
Dat is hash die de miners hebben zitten zoeken voor het laatste block, block number 526 800
Opnieuw vermits die blokken sinds januari 2009 gemiddeld elke 10 minuten gevonden worden. Als we 526 800 maal 10 minuten doen krijgen we 5,268,000 minuten. Delen we dat door 60 * 24 * 365 dan hebben we ongeveer 10 jaar. januari 2009 - januari 2019. Zoals je ziet is het een benadering. We gaan iets sneller dan 10 gemiddeld maar als het straks weer iets trager gaat dan klopt het weer.
Dus je neemt die hash 000000000000000000092ef280f5526aedfe6bdea385be816a960fe552349960. Vanuit die hash kun je met een simpele bereking verifieren dat de nounce, of te wel het lucky nummber voor dat blok klopt.
Maar om die hash te weten zonder dat je het lucky number voor dat block weet zul je al die nounces moeten uitproberen. Een nounce is een willekeurig getal, een lucky nummer dat gevonden moeten worden. Net zolang tot de hash die je hebt onder de target hash is. Die target is het aantal nullen in een hash. Voor 000000000000000000092ef280f5526aedfe6bdea385be816a960fe552349960 hebben de miners dus de hash van het vorige block genomen, daar 1 bij opgeteld en toen gekeken wat de hash daarvan is. Heeft die nieuwe hash 18 nullen? Nee, dan gaan ze terug en tellen er 2 bij op. Nu berekenen ze opnieuw de hash. 18 nullen? Nee, enz enz. 1 en dan 2 en dan 3 is de nonce. Miners zoeken het getal dat ze bij de hash van het vorige block moeten op tellen om een hash te krijgen die een aantal nullen heeft. Hoe meer nullen hoe moeilijker het is om zo een hash te vinden. De diffuculty.
Miners proberen dus een gigantische hoeveelheid totaal hashes uit per seconde en elke 10 minuten gemiddelden vinden er een miner ergens een hash die onder de target zit.
1 diffuculty is ongeveer het moeten door zoeken van 4 000 000 000 hashes. Een 1080ti heeft daar dus 4 seconden voor nodig want die kan er 1 000 000 000 per seconden doen.
4,940,704,885,522. * 4 seconde = 19,762,819,542,088 seconden. 626,674 jaar.
Het hele netwerk samen heeft geen 4 seconden nodig voor 4 000 000 000 hashen want het doet dit met 40 000 000 000 000 000 000 hashes per seconden. Het heeft maar 0.0000000001 seconde nodig.
4,940,704,885,522. * 0.0000000001 seconden = 494.0704885522 seconden of ongeveer 8.2 minuten.
Snap je hem nu? Dat het is het verschil tussen de kracht van een 1080Ti en het hele Bitcoin netwerk.
8.2 minuten of 626,674 jaar. Als je met die 1080ti dus aan het zoeken bent naar de juiste hash dan heb je na 313,337 jaar gemiddeld 50% kan dat je het gevonden hebt. Na 626,674 jaar benadert die kans 100%.
Dat is net hetzelde als jij een getal tussen 1 en 100 moet raden. Als je door alle nummertjes 1 voor 1 gaat dan heb je na 100 gokken 100% kans dat je het juist hebt. Ga ja door 50 nummertjes heb je 50% dat het te raden nummer dat tussen zit.
Kun je gokken aan een nummer per seconde duurt het je 100 seconden. Kun je gokken aan 100 nummers per seconde duurt het maar 1 seconde.
Nou @
PilatuS kom er maar in, is mijn wiskunde nu ongeveer correct?
Als je meer wilt weten, hier een artikel over SHA256, het hashing algo van Bitcoin -->
https://crypto.stackexcha...utputs-practically-random
Als je nog meer wilt weten over hashing algo en hoe ze precies werken heb ik wat videos van Art of the Problem voor je. Die legt clock arithmetics uit, zoals de mod functie en hoe die wiskundige functies gebruikt worden bij public key cryptography.
Dat is eigenlijk de start van het begrijpen van Bitcoin. En dan gaan we naar RSA en dan gaan we naar hashing algo en dan moeten we nog elliptic curves uit leggen en dan zijn we klaar voor een twee videos over Bitcoin want dan zijn alle wiskundige elementen die Bitcoin gebruikt uitgelegd. Maar je kunt ze ook allemaal overslaan behalve public key cryptographie want die valt nog door een leek te begrijpen. Met die video plus de laatste over Bitcoin kun je het wel ongeveer snappen.
Public key cryptography - Diffie-Hellman Key Exchange
Public Key Cryptography: RSA Encryption Algorithm
Hashing Algorithms and Security - Computerphile
Elliptic Curve Cryptography Overview
Elliptic Curves - Computerphile
The Trust Machine: The Story of Bitcoin
[Reactie gewijzigd door Kain_niaK op 23 juli 2024 14:14]