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…

Soha nem lesz 21 millió Bitcoin…

Temérdek szörnyűséggel teli ez a mai nap… Nem elég, hogy le kellett zárnom a lightning network nodeom összes csatornáját (pedig már 30 aktív csatorna volt!!!) egy memleak hiba és a wallet inkompatibilitása miatt… ráadásul a csatornák nagy részét csak forcedben tudtam lezárni, így egy napot várhatok hogy át tudjam menteni a csilingelő satoshijaimat… Ráadásul még petyatrader haverom is ágynak esett az influencia miatt, ami nem kicsit veti vissza a közös projektünket. (Ezúton jobbulást neki!) Szóval mindezen szörnyűségek mellett ma még azt is megtudtam potom 1,5 hónap késéssel, hogy egy sajnálatos programhiba miatt alapjaiban omlott összes Satoshi Nakamoto álma a 21 millió bitcoinról… Soha, de tényleg soha nem lesz 21 millió bitcoin…

A történet egészen tavaly december 30-ig vezethető vissza, amikor is az egyik pool (elvileg talán az AntPool… nem jártam utána pontosabban), úgy döntött, hogy csak szeretne jól járni az akkor éppen bejelentett rootstock mainnet indításból és gyors hackelésben összerakták a merged mining kódjukat… Na álljunk meg egy pillanatra. Mi az a rootstock és mi az a merged mining?

A Rootstock az egyik első sidechain implementáció, ami a Bitcoin skálázási problémáit hivatott megoldani a Blockstream által felvázolt sidechain technológián keresztül. Ennek ugye az a lényege, hogy a Bitcoin hálózatból ideiglenesen lehet lockolni bizonyos mennyiségű Bitcoint, ami ezáltal felszabadul a Rootstock (RSK) hálózaton, ahol a 10 másodperces blocking time és a 400+ tps (tx/s) átlagos tranzakciós sebességgel jelentős sebességre fogja kapcsolni a hálózat. Ráadásul mindezt egy turing-completed smart contract engine keretei között, amivel a Bitcoin hálózaton is elérhetővé válik az Ethereum szintű okosszerződés rendszer.

A rootstock egy külön blokklánc, amin bányászat útján keletkeznek a blokkok és ezáltal maguk az SBTC tokenek is. Ám a bányászat nem függetlenül történik, szeparált infrastruktúrán, hanem hivatalosan a Bitcoin bányászati eszközök végzik egyben a rootstock validálást is, aminek a lényege, hogy a keletkező Bitcoin blockok jutalom tranzakciójába (coinbase reward), bekerül egy “rootstock commitment” is. Ezen rootstock commitmenten keresztül igazolja azt a rootstock (és egyben Bitcoin) bányász, hogy valóban elvégezte azt a bizonyos munkát, ami miatt a kibányászott BTC reward mellett jogosult az SBTC (SuperBTC = Rootstock token) rewardra is. Ideális esetben ez így néz ki egy a slushpool által létrehozott Bitcoin blokk esetén:

P2PKH    
OP_DUP OP_HASH160 7c154ed1dc59609e3d26abb2df2ea3d587cd8c41 OP_EQUALVERIFY OP_CHECKSIG
NULL_DATA   
OP_RETURN 52534b424c4f434b3ade73c1b2601b0ac63bb3c28fcff64a5eed722ed711f95e88a8d90897b9ef2204
(decoded)
NULL_DATA   
OP_RETURN aa21a9ed5fe56b84c28ea18b3e8948b3bc708f148c01695f38962f9044b3e19bf411145f
(commitment hash) 5fe56b84c28ea18b3e8948b3bc708f148c01695f38962f9044b3e19bf411145f

Az első output maga a coinbase reward bitcoin address, a másik az a bizonyos rootstock commitment, a harmadik pedig a tavaly szeptember óta minden coinbase rewardban szereplő “segwit commitment” üzenet, amivel jelzi a bányász, hogy ez a blokk bizony SegWit módban készült. A rootstock commitment-et dekódolva eléggé nyilvánvalóvá válik az összefüggés: “RSKBLOCK:??_ ?;?????J^????u?????????”

Kis technikai kitérő után vissza is térnék a fájdalmas felismeréshez, nevezetesen, hogy miért is nem lesz soha 21.000.000 db Bitcoin: A fent említett napon a kérdéses pool elkészítette az első olyan blokkját, amibe be is rakta az első rootstock commitmentjét, sajnálatos módon azonban sikerült egy teljesen értelmezhetetlen coinbase tranzakciót összerakniuk (01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff1203dea707055a478cb801b80100006ea50000ffffffff0100000000000000002952534b424c4f434b3addbf517adf8ffd4bca7751505b39c9013a0d1fd479fc4e901b39dd57b347c62400000000), amit ha meg is próbálnánk visszafejteni, akkor is csak ennyit látnánk benne:

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 OP_INVALIDOPCODE OP_INVALIDOPCODE OP_INVALIDOPCODE OP_INVALIDOPCODE 03dea707055a478cb801b80100006ea50000 OP_INVALIDOPCODE OP_INVALIDOPCODE OP_INVALIDOPCODE OP_INVALIDOPCODE 0 0 0 0 0 0 0 0 52534b424c4f434b3addbf517adf8ffd4bca7751505b39c9013a0d1fd479fc4e901b39dd57b347c624 0 0 0 0

Az egy tranzakciókra jutó OP_INVALIDOPCODE-ok aránya kifejezetten magasra sikerült ebben a bugos tranzakcióban és bár ott van benne a coinbase reward address (34PADg1QBRD8311BojmwMzu7xUEBYKia4M), de az oda került coinbase rewardot (12,5 BTC) bizony soha senki nem fogja tudni felhasználni… Akkori árfolyamon közel negyedmillió dollárt sikerült elégetniük a hiba miatt. Természetesen a tranzakció végén ott árvátlankodik a vétkes commitment tag is: “RSKBLOCK:Y?QzByKEwQP[9E:OyüN9YW?G?$”

A történt konklúziói egyrészt: van ám abban némi logika, hogy ha egy mód van rá, akkor ne éles környezetben teszteljünk. Pláne, ha a teszthez több ezer dollárnyi áramot kell elégetni és a hibás futtatás okán potom negyed millió dollárt bukunk. Másrészt pedig, hogy innentől sajnos módosítani kell az összes szakirodalmat: A Bitcoin láncon sajnos csak 20.999.987,5 bitcoin fog keletkezni. Ezt a számot tessék innentől megjegyezni és hangoztatni…

//PLETYKA MODE IS ACTIVATED: Amikor az ember azt gondolná, hogy ennél nagyobb sokk már nem érheti a napra, akkor jön az ultimate kill bill scene: A kriptoszubkult bűzölgő pöcegödréből előszivárgott a “Bitmain Antminer F3” ASIC miner híre, amiről egyelőre keveset lehet tudni (legfőképpen azt sem, hogy egyáltalán tényleg létezik-e ilyen gép), de a lényege, hogy három ASIC chipet körberaktak 1Gb-os DDR3 memóriákkal, amelyekből egy kiszerelésben 72Gb-ot erőszakoltak bele egy-egy masinába. Az F-es széria (ha valaha is létezni fog…), akkor a memory heavy/DAG orientált algoritmusok esetén fog szédületes teljesítményt produkálni, lásd pl Ethereum bányászat. Egyes (egyébként nem bizonyított) becslések szerint  650MH/s-re lesz képes az ASIC mindösszesen 750W energiafelvétel mellett, mindezt a szokásos 2500-3000 dolláros áron. Ha tényleg elkészül egy ilyen gép (állítólag idén Q2/Q3 körül várható), akkor ez alapjaiban fogja átrajzolni a bányász piacot, ami megint jó időre a GPU bányászat végét jelentheti (pont úgy, mint 2013-ban az Bitcoin, majd nem sokkal később a Litecoin esetén…)

Kilenc év…

2009-ben, pontosan ezen a napon készült el a Bitcoin első blockja, a genezis block. Vagyis ha egészen akkurátus akarok lenni, akkor ezen napon számolta ki Satoshi Nakamoto a genezis block hashét, ami azóta is bele van hardkódolva az összes Bitcoin node forráskódjába. A coinbase param azóta is tartalmazza a kultikus mondatot: “Chancellor on brink of second bailout for banks.”, azaz:

“A kancellár a második bankmentő csomag elfogadásának peremén”

A mára kultikussá vált esemény hátterében az a piaci félelem állt, mely szerint a 2007-2008-as pénzügyi krízis továbbgyűrűzése miatt újabb bankmentésekre lesz szükség. Eme nemes gondolatot a ‘The Times’ angol lapjában megjelent azonos című vezércikk inspirálta. Hogy ekkor egyébként még mennyire nem volt kész a node kód, azt igen jól jelzi, hogy a genezis blokkot követő első block elkészültére további öt és fél napot kellett várni.

Érdekesség, hogy az első 9 block rewardjához (összesen 450 bitcoin) soha nem nyúlt hozzá Nakamoto. Viszont a későbbi block rewardokat már közös címekre lapátolgatta össze. Több teória is létezik arra, hogy miért pont az első kilenc block kapott ilyen kiemelt figyelmet, kezdve onnan, hogy az azokhoz szükséges privát kulcsot elveszítette vagy olyan módon generált, ami később nem bizonyult kompatibilisnek a tényleges implementációval, egészen odáig, hogy valamiféle kultikus jelentősége lehet a 9-es számnak, ami a tízes számrendszer utolsó egy helyiértéken ábrázolható számjegye. Bármi is volt ennek az oka, az biztos, hogy idén eme számba nagyon sok mindent bele fognak magyarázni, hiszen immáron 9 éves lett a Bitcoin.

Egyébként a genezis blokk, pontosabban a genezis reward address a mai napig “közkedvelt” zarándokhelye a Bitcoin rajongóknak. Az elmúlt 9 évben összesen 1150 alkalommal utaltak erre a címre valamekkora összeget. A coinbase reward (50 BTC) mellett további 16.74 Bitcoin landolt a 1149 tranzakció eredményeként a címen. Legutóbb alig 2 napja (január 1) küldött rá valaki 0.00506755 bitcoint (kb ugyanekkora mennyiségű mining fee társaságában). A névtelen adományozó éjfél után másfél órával döntött úgy, hogy az újév első tranzakcióját a genezis reward addressre küldi. Ha bárkiben is felmerül a kérdés, hogy miért küld bárki is pénzt egy – feltehetően – örökre befagyott számlára, akkor annak javaslom, hogy nézzen szét bármelyik nagyobb műemlék szökőkút körül és nézze meg, hogy mi is csillog annak az alján. Ez egyfajta tisztelgés Satoshi és munkájának emléke előtt. Ezen logikus teóriát támasztja alá, hogy számos esetben olyan fontosabb dátumok körül kerül pénz erre az addressre, mint az újév, karácsony este vagy éppen a Bitcoin whitepaper kiadásának időpontja

Apró pikért megjegyzés: érdemes lehet megnézni a Bitcoin hardfork láncokon is ezt a bizonyos address-t (1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa). Valamilyen szinten biztosan reprezentálja az adott hardfork köré gyűlő közösség tisztelettel adózását Satoshi munkássága előtt az a tény, hogy mennyi érme csobban a genezis block reward szökőkútjába. A Bitcoin Cash, mely magát az egy és igaz Satoshi True Visionnek tituláló és a Bitcoin nevére és babérjaira törő hardfork… szóval a BCH láncon annak leforkolása óta mindösszesen öt alkalommal érezte úgy a közösség egy-egy lelkes ‘vizioniszta’, hogy illene ilyen módon kifejeznie a tiszteletét. Mindezen idő alatt a mérhetetlen tranzakciós díjakkal és lassulással küzdő eredeti Bitcoin láncon 56 alkalommal találkoztak szombaton ötkor Zsanettel a szökőkútnál.

Persze nehéz megmondani, hogy kinek mi a valódi oka arra, hogy egy halott címre küldjön pénzt. Ahogy mindennel, így ezzel kapcsolatban is számtalan mítosz kering. Kezdve a blockchain spammerek által random címekre küldött kis mennyiségű bitcoinoktól, egészen az ezen tevékenységet reklámként felhasználó cégekig. Mindenesetre én a magam részéről ezt apró gesztusként fogom fel.

Az új év első pontjával ezúton köszöntenék mindenkit és adózom tisztelettel a Genezis blokk és Satoshi munkássága előtt. Kilenc éve alatt ebből a kézzel összehackelt genezis blokkból a világ egyik legjobban és legstabilabban működő pénzügyi rendszere lett, ami bár mára nagyon komoly technikai problémákkal küzd és amúgy is szétszakítják a belső harcok, de mindezektől függetlenül stabilan mutatja a fényt és a kiutat mindazoknak, akik alternatívát keresnek vagy éppen alkotni akarnak. Boldog szülinapot Bitcoin!

Miért NINCS értelme a vegyes crypto-portfólióknak?

Most hogy egy időre elbúcsúzunk a 8k feletti BTC árfolyamoktól és újra élet költözik az altcoinokba, időszerű lehet beszélni a vegyes cryptovaluta portfóliókról. Lelkes követője vagyok a nemzetközi élmezőny mellett egyre erősebb hazai cryptovaluta portfóliómenedzserek gyarapodó táborának. Különösen azoknak, akik a napi kereskedés mellett időt és energiát szánnak arra, hogy a cryptovaluta-evangelizációban is részt vegyenek. Tegnap a Blockchaineum konferencián élőben is lehetőségem nyílt több szakértő (köztük Kallós Péter) portfólióalkotási technológiáját is meghallgatni. Ezen elvek jellemzően arról szólnak, hogy valamilyen elv mentén képezz diverzifikált kosarakat, amiben kellően színesen összeválogatva tárolj altcoinokat és a bitcoint. Ezen post célja az, hogy – minden tiszteltem ellenére is, de – megcáfoljam a neves szakértők portfólióképzési javaslatait, mivel ezen javaslatok lényegében a hozam/kockázat minimalizálás hamis illúziója mellett elmaradt hasznot eredményeznek.

A diverzifikáció alapvető eszköze a pénzügyi kultúrának. Adja persze magát a kérdés, hogy miként is kell értelmezni a diverzifikációt, a szakma ezt eképp képzeli el: “Portfólió diverzifikáció: a befektetett összeg több olyan elemre kerül szétbontásra melyeket jellemzően más és más piaci hatások befolyásolnak, így jelentősebb negatív piaci hangulat esetén is minimalizálódik annak negatív hatása.”

Ugyanazon kategóriába tartozó befektetési terméket jellemzően azonos piaci hatások mozgatják. Éppen ezért érdemes a portfólió megválasztása esetén vizsgálni azok korrelációját. A piaci hatásokra azonos módon reagáló befektetési termékek várhatóan egységesen termelnek mind nyereséget, mind veszteséget. Ez nem szolgálja a magánbefektető „diverzifikálási” célját éppen ezért lehetőség szerint kerülendő. A korreláció értékét -1 és 1 között mérjük. Az érték minél közelebb van az 1-hez annál inkább elmondható, hogy ezen termékeket közös piaci hatások mozgatják, tehát ezen termékek közös portfólióban/kosárban tartása NEM eredményez valós divezifikációt. Hogy mennyire is releváns mindez? Nézzünk egy a cryptovaluta világtól teljes mértékben elrugaszkodott példát:

Folytatás…

Well, Satoshi has spoken

Ha csak címszavakban akarnám leírni, hogy mi mindent történt az elmúlt napokban, akkor is oldalakat lehetne írni… Ám szeretném kerülni a mókuskerék effektust ezért egyetlen kevésbé szakmai, sokkal inkább szentimentális tényezőt emelnék csak ki: Kétségtelenül a Bitcoin “misztérium” legnagyobb tényezője maga az alkotó személye. Satoshi Nakamoto két éven keresztül volt képes fenntartani pszeudonimitását és ezen idő alatt képes volt több száz emberrel úgy kommunikálni interneten keresztül (jellemzően fórumon és emailben), hogy semmit ne áruljon el magából, személyéről. Mindettől függetlenül ismert az a szakmai kör, mely vagy részét képezte a “Nakamoto group”-nak, vagy pedig nagyon közel állt Nakamotohoz. Ezen körből talán a leginkább prominens és ez eddig leginkább pártatlan személy Nick Szabo volt, aki az elmúlt időkben partvonalról követte  csak a Bitcoin körüli drámát és maximálisan elhatárolódott a napi politikai történetektől, de a Bitcoin Cash hardfork körül valami minden bizonnyal bekattanhatott nála, mert több alkalommal is lenyilatkozta, hogy a Bitcoin közösség nagyon sokat köszönhet a Core Deveknek, szemben azzal a két bohóccal, aki most a passzátszelet fújdogálja (Ver és Wu-ra célozva itt). Szóval bár nem ildomos Szabo nevét összemosni Nakamotoval (minden erre utaló jel és a közösségben kialakult kvázi konszenzus ellenére sem), mindettől függetlenül az ő véleményére nagyon sokan adnak. Márpedig Nick Szabó állást foglalt a SegWit2X körüli helyzet kapcsán, melynek újra egy nagyon rendhagyó és egyébként igen kreatív módját választotta: A publikus twitter fiókjának nevébe ő is felvette a [No2X] tag-et, ezzel kifejezve, hogy el a kezekkel a jelenlegi Bitcoin Legacy lánctól.

Szabo állásfoglalását a No2X prominensei egyértelműen Satoshi Nakamoto állásfoglalásaként aposztrofálják, az ellenoldal pedig mélyen hallgat az esetről mivel Nick Szabo személye ebből a szempontból kikezdhetetlen. Függetlenül attól, hogy ő Satoshi avagy sem, javarészt ő rakta le mindazt amit ma Bitcoinnak nevezünk.

Persze sokan kaphatnák fel a fejüket és mondhatnák: Ez mekkora őrültség, miért állnak ki ennyien egy legacy történet mellett, ami skálázási problémákkal küzd és ezáltal mérhetetlenül magasra verte fel a tranzakciós díjakkal, miért nem akarunk mi gyorsabb és olcsóbb tranzakciókat, miért nem akarjuk visszahozni a 0-confirmation-t? Ez tényleg még mindig a rasperry Pi-ken futtatott nodeokról szól?

Természetesen nem erről van szó. A SegWit2X bármennyire egy technikai upgrade-nek van beállítva, valójában sokkal inkább egy hatalomátvételi eszköz. Esetében tökéletesen jó ideológiai párhuzam a trójai falóval, erről korábban az SPV walletek kapcsán már részletesen írtam.

Szabo állásfoglalásával párhuzamosan számos üzleti szereplő is hasonló statementet tett. A btc hashing power 1%-át birtokló Kano Pool tegnap döntött úgy, hogy felhagy a SegWit2X támogatásával és a továbbiakban nem jelzi az SW2X szignált az új blokkokban.

Folytatás…