Végtelen mennyiségű bitcoinról álmodott Satoshi?

Bár ma már szinte mindenki tudja, hogy soha nem lehet több bitcoin mint 21 millió (egészen pontosan annál egy picit kevesebb…), de ha valaki rászánja az időt, akkor azt fogja látni, hogy ezen limitáció sehol nem található meg sem a whitepaperben, sem a Satoshi által publikált első bitcoin core kódbázisokban. Ezt a véges számú limitációt (finite monetary supply) csak 2014-ben implementálták, Pieter Wuille BIP-0042-es beterjesztése nyomán.

Persze ez nem jelenti azt, hogy Satoshi tényleg végtelen mennyiségű bitcoint szeretett volna látni, ellenben egy igen vicces teóriával indokolta az eredeti kódot. A kód lényegében azt tartalmazta, hogy – a jelenlegi metódusnak megfelelően – 210.000 blokkonként (4 évente) feleződik a reward, onnantól 32 ciklusig nem feleződik (hiszen 0 satnak a fele is nulla). Ám a második 32-es ciklus után újra indul a ciklus, így 64 ciklussal (tehát 64×4=256 év) a genezis blokk után újra 50 BTC lenne a block reward. Ezen sajátosság abból fakad, hogy a block jutalom felezést Satoshi nem egy fix feltétellel kezelte, hanem egy 64 bites int érték shiftelésével, ami bizony 64 shiftnél túlcsordul a referencia C++ implementáció esetén.

Satoshi ezt a sajátosságot (ami a legvalószínűbb, hogy simán csak egy binary shift bug volt, amit nem gondolt végig eredendően…) azzal indokolta, hogy a Bitcoin tervezésekor a természeti kincsek jellemzőire próbált építeni, ahol pl teljesen logikus, hogy miután kimerült egy komolyabb forrás, akkor az emberek újabb lehetséges források felkutatásába kezdenek. Azaz, ha a végtelenségig kiszipolyoztunk egy aranybányát, akkor jelentős idővel később csak találunk egy újabbat. Ennek megfelelően 1024 évente négy egyenrangú szimbolikus “aranybányát” tártak volna a Bitcoin bányászok.

Tehát ha maradt volna az eredeti kódbázis, akkor mindösszesen már csak ~240 éves kellett volna várnunk arra, hogy újra 50 BTC legyen egy kibányászott block jutalma…

Miért is fontos a ‘6-confirmation’ ?

Egy valamire való kriptopénz-tulajdonos a legszebb álmából felverve is pontosan tudja, hogy a Bitcoin láncon egy tranzakció addig nem tekinthető jóváhagyottnak, amíg nem kapja meg a 6. confirmation-t. De mi is ez pontosan és miért pont hat és miért nem elég az egy? Ez a post mindezekről fog szólni. Meg persze arról is, hogy más kriptopénzeknél (pl. ethereum, vagy akár a bitcoin cash), ez a 6 miért inkább 20?

Kezdjük talán a legegyszerűbb résszel: mi is a confirmation, azaz megerősítés? A nyilvános blockchainen futó kriptopénzekkel kapcsolatban alapvetés a decentralizált működés. Tehát, amikor egy tranzakciót készítünk, akkor azt nem egy központi szervnek küldjük el, hanem egy közeli nodeon keresztül peer-to-peer küldjük szét azt a hálózat minden nodeja felé. Ezek a megerősítésre váró tranzakciók (unconfirmed tx) egészen addig várakoznak a mempoolban (ideiglenes tárolóban) amíg valamelyik fullnode mögött működő bányász úgy nem dönt, hogy kiveszi a tranzakciót a mempoolból és blockba nem foglalja. Amikor egy tranzakció bekerül egy blockba, akkor onnantól része a blockchainnek. Ebben az esetben a tranzakció megkapja a 1st confirmation állapotot, tehát megerősítésre került.

Mivel ebben a pillanatban a tranzakció már része a blockláncnak, így azt nem lehet visszavonni, vagy nem lehet eltéríteni a rbf (replace-by-fee) kéréssel, stb. adja magát a kérdés, hogy mégis miért is kell várni további 5 újabb blockot, hogy a tranzakció elérje a 6. megerősítést? A cikk folytatása ezen érdekességgel foglalkozik.

Folytatás…

Mekkora növekedési pálya van a Bitcoinban?

Tegnap volt szerencsém a Bitcoin Budapest által szervezett Bitcoin Drinkup rendezvényen eszmét cserélnem a hazai $crypto közösség néhány prominensebb tagjával, akikkel sok egyéb téma között két nagyon fontos és szerintem kurrens téma is előkerült, ezek pedig a: hogyan kellene definiálni a Bitcoint és mekkor növekedési pálya van benne? A két kérdést erősen összefügg, hiszen a növekedési pálya erősen függ a definíciótól. A tegnapi diskurzus egyrészt azért osztom meg a blogon, mert szerintem mások számára is érdekes lehet a konklúzió, másrészt érdekel, hogy az olvasókban hogyan manifesztálódik ezen kérdésekre a válasz.

A Bitcoin definíciója kapcsán a pénz (currency) és az árucikk (commodity) között lamentáltunk hosszan, a növekedési pálya alapján pedig nemes egyszerűséggel a nagyságrendi növekedéseket és azok lehetséges hatását vizsgáltuk. Akinek nincs kedve az egész okfejtést végig olvasni, azoknak TLDR: Függetlenül a most folyó scaling debate-től a Bitcoin jövője az, hogy commodity termék legyen, onchain tranzakcióval ezzel már soha nem fogunk sört vásárolni a csaposnál. A növekedési pálya kapcsán pedig a 10x-t mindenki reálisnak tartotta, az ennél nagyobb növekedés már komoly constrainteket generált sokakban. (Az egész az én lazán bedobott 1000x-es hasraütésemből indult ki.)

Folytatás…