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…)

Bookmark the permalink.

25 Comments

  1. Amióta voktak tűzkárokban megsemmisült paper wallet-ek, elveszett biztonsági jelszavak és bcash address-ekre küldött bitcoin-ok, valahogy sejtettem, hogy nem lesz a végén 21 guriga! Aztán még ez is! SMH

    • A végeredmény szempontjából mindegy, hogy azért tűnik el valamennyi btc, mert elveszett a privátkulcsa, vagy már a mine reward lett elrontva, de azért ez utóbbi technikai szemszögből mindenképpen érdekesebb… és mókásabb 🙂 Pl. a coinmakretcap most is 21M max supply-al számol… És 16869600 BTC a “circulating supply”, aminél a valóságos valószínű sokkal kevesebb. De ez egy másik történet. A Market Cap egy irreális szám, egyrészt azért mert a supply csak egy elméleti max, másrészt azért, mert ha csak a supply 1%-át eladná valaki, töredékére esne az ár, tehát a szimpla ár x BTC formula egy vicc. De a 180 millárd USD jól hangzik, segít fenntartani a buborékot 🙂

  2. Na nem mintha reális esély lenne rá, hogy megérnénk az úr 2100. évét :D.
    ETH bányászat, pedig extrém memória sávszélesség igényes. Kötve hiszem, hogy DDR3 chipekkel kivitelezhető lenne, egy ekkora sávszélességű ASIC. Vagy csak extrém drágán. Nem véletlenül nem készült még ETH-hoz ASIC, vagy ha igen, nincs szignifikáns különbség. Arról nem beszélve, hogy jelen állás szerint nyár környékétől nem is biztos, hogy bányászható lesz ugye.

  3. “Bitmain is preparing the ground for…… Ethereum Cash ! of course ! ”
    Hahaha, már csak azt kell hozzátenni, hogy “Following Vitalik’s original vision”

  4. Rootstock — ez nekem újdonság volt, jól hangzik. Ethereum VM smart contract, megspékelve a BTC-SBTC pegging nehézségeivel… de miben több/jobb ez, mint maga az Ethereum?

    • Egyelőre saját tapasztalat hiányában csak Diego (projekt leader) szavaira tudok hagyatkozni ezen kérdés kapcsán: A Rootstock egy teljesen független VM-et hoz létre, ami viszont kompatibilis az EVM-mel opcode szinten, viszont kiegészíti azt számos olyan usecasezel ami az EVM-ben körülményes, lassú vagy túl drága. Önmagában a tény, hogy az RSK-n futó smart contractba BTC-t lehet lokkolni, BTC kell hozzá, stb. már eleve komoly fegyvertény mellette.

  5. Valamire azért csak felkapta a fejét a bányász társadalom itthon is. Érdemes megnézni a hardveraprón, hogy hirtelen mennyi AMD-s bányászgép lett eladó…
    Pár hete még nem lehetett kapni kártyákat, most meg nem lehet eladni őket.

    • Ezt inkább tudnám be az Nvidia Turing bejelentésnek. Tavaly nyáron is ez történt, ahogy szárnyra kapott a hír, hogy jön ki az AMD Vega azonnal elkezdték kiszórni a piacra a kisebb AMD kártyákat. Amire viszont érdemes figyelni: kamunak tűnő orosz siteokon már árulján az Antminer F3-at. Gyanúsan scam jellegű a dolog. Amíg nincs official bejelentés, addig tessék csak óvatosan költekezni!

  6. A bitcoin az megvan, csak használhatatlan de ezzel nincsenek egyedü, a szakértők szerint ez a szám elérheti a 10-15 százalékot. Senki sem tudja, hogy csak hosszútávú befektetés miatt nem mozog, vagy hozzáférhetetlen.
    Az egyik barátom 2012-ig kibányászott bitcoinjai egy számítógép bontóban végezték. Akkor még válrándítással lintézte, 19 ezernél meg eszetlenül rohangált, hátha mégis a volt munkahelyén megtalálja. Hát nem.

    • Úgy tudom, hogy az invalid címre küldött vagy elburnölt outputok be se kerülnek az UTXO adatbázisba. Mivel ez a 12,5 BTC-nyi összeg coinbase reward állapotban volt még csak és mivel soha nem vált unspendable outputtá (UTXO) és nem is került hozzárendelésre egyetlen addresshez sem (semelyik address historyjában nem látszik), így gyakorlatilag igaz rá, hogy nem létezik és ennyivel csökkent a maximális készlet. Nyilván tudom, hogy ez csak szőrszálhasogatás 🙂

      A tűzben elégett paperwalletek, a 2010-2011-es évben az irodai gépeken futtatott bányászprogram rewardok legalább egy alkalommal elkerültek egy addressre és még ha a privát kulcsok elégtek, letörlődtek, megsemmisültek… nos akkor is részét képezték egy rövid ideig a bitcoin ökoszisztémának. Ennyi a különbség a két – egyébként egyaránt sajnálatos – végkimenetel között.

  7. Mire kibányásszák az utolsó Bitcointot kb 20% már örökre elveszett.Aztán persze folyamatosan fog eltűnni amíg csak használva lesz.

  8. Annál értékesebb lesz a többi 😀 remélem te is betaraztal belőle tesó

  9. Csaba, ha már merged mining: az Elastos-ról olvasgattál már a közelmúltban? Jihan Wu és a bitmain huligánokkal a hírek szerint megállapodás született bitcoin merged miningról, ezzel a btc hashpower 50%-a egyből bent lesz az elastos mögött.

  10. LTC Cash forkot követi valaki? Érdemes kitenni hozzá a coinokat exchange-ről walletbe?

    • Jaj, rájöttem, rossz a kérdés. Exchangen eleve nem tárolunk coint 😀
      Én se tárolok, értelemszerűen, csak elírtam!

    • Fork után Jaxx-ról átküldtem egy másik walletba az ltc-ket, biztonság kedvééért a jaxx többi walletje is üres.
      A litecoinca.sh FAQ-ja alapján csinálok egy LitecoinCash Core walletot, oda importálom a már kiürített Jaxx wallet pk-t.
      (How do I claim my Litecoin Cash once I have my private key?
      Firstly, NEVER paste private keys that hold any currency into ANY website or wallet in order to claim forked coins (including ours). Practice responsible forking: 1. Wait for the fork; 2. Move your Litecoin to a new address; 3. Use the private key for the “old” address to claim your Litecoin Cash.
      We’ve made it super easy to claim. No need to mess around in the debug console! Download a wallet for your platform, and you’ll find a menu item to help you import your Litecoin private keys and claim your Litecoin Cash.)

      Ha valaki nagyobbtudású olvassa ezt, láttok ebben valami rizikót?

  11. ETH bányászt hiába készítenek, át kell állni masik coinra. Monero bejelentette, ha lesz ASIC, akkor forkolnak egyet másfajta algóra és kész. Én annyira nem aggódom, főleg hogy kb. 8 hónapja nem bányészok ETH-t.

  12. mar 2009-ben tudott volt hogy nincs 21 millio bitcoin: a genesisblock is beleszamolodik az ossz rewardba, es az igy elkolthetetlen (pedig az teljesen valid tx, nincs benne semmi hiba). ezen kivul szamtalan message output is van, aminek jo esetben 1 sat a vesztesege, de van ahl tobb btc egett el.

    • Azt remélem összeraktad, hogy ez a post egy álsajnálkozós post akart lenni némi trollkodással fűszerezve a “test in production” story kapcsán. Mindesetre, valid amiket írtál, de nyilván ezek mind csak cseppek ama tengerben 🙂

  13. apropo, amugy se lesz 21 millio output: ha jol szamoltam az reward integer a 34. shifteles utan eleri a 0 sat-ot, onnantol az output a szamabrazolas miatt kereken 0 btc. igy csak 20999999,9769 btct lehet kibanyaszni. de no para, azt is olyan 2140 korul fogjuk elerni 🙂

Szólj hozzá: