‘Selfish mining’ elv a gyakorlatban

A tegnapi cikk kapcsán előkerült a 51% attack és a double spending gyakorlati kérdésköre. Ennek kapcsán gondoltam edukációs célzattal bemutatom az egyik legismertebb módszer lényegét, amit anno 2013-ban még Emin Gun Sirer és Ittay Eyal publikált “Majority is not Enough: Bitcoin Mining is Vulnerable” címmel.

Nézzük az egész témát a gyakorlatban. Ugye így épülnek szépen sorjában a blokkok:

A blokkokat különböző minerek/poolok hozzák létre, majd egyszer csak az egyik pool úgy dönt, hogy double spendelni akar. Ekkor az egyik pool úgy dönt, hogy végrehajt egy 51% attackot. Ehhez persze nem árt, ha az összes hashing power jóval több mint 50%-ával rendelkeznek, de szigorúan matematikai alapon erre úgy egyébként 33,3% is elég, ha a difficulty adjustment nem azonnal reagálja le a fő láncon történő hash elvonódást.

A “Selfish miner” (pirossal jelölt blokkok) elkezd gyártani egy blokkot (piros #1-es), miközben a többi miner gyárt egy blokkot az eredeti #0-ás után. A Selfish miner blokkja persze hamarabb készül el, hiszen több hashing powerrel rendelkezik. Ennek okán a selfish miner lánca lenne a hosszabb lánc, ami miatt a kék #1-es el sem készülhetne, azonban:

A Selfish miner NEM propagálja a blokkot, hanem megtartja azt magának. Így az összes többi miner valójában azt hiszi, hogy az eredeti (kék) lánc a leghosszabb.

Ezt követően a Selfish miner elkészít még egy blokkot (piros #2), mire a többi bányász is propagálja az elkészült (kék #1) blokkját. Itt a támadó már pontosan tudja, hogy olyan mennyiségű hashing power van a kezében, amivel stabilan meg tudja csinálni a támadást. Ekkor:

A támadó előveszi a meglévő – a támadásra félrerakott – coinjait és a főláncon beküldi azt az egyik tőzsdére, majd a továbbra is rejtve bányászott láncon (piros) ugyanazt elküldi egy másik tőzsdére. A rejtett (piros) láncról továbbra sem tud senki a Selfish mineren kívül, mivel ezek a blokkok nem kerülnek propagálásra a hálózat felé!

Ezen a ponton a Selfish minernek tovább kell gyártania a blokkokat a piros láncon, míg a főláncon (kék) megvárja, hogy megtörténjen a 20 confirmation, amíg az exchange elkölthetővé teszi a beküldött coinokat. Amikor ez megtörténik, akkor azonnal eladja a coinokat és az ellenértéket valamilyen gyorsan kiküldhető formában, lehetőleg privacy coinok (zcash, monero, stb.) formájában kimenti a tőzsdéről. Megvárja, amíg a kiküldés is confirmálódik, majd fogja magát és elkezdi szépen lassan propagálni a piros lánc blokkjait:

A propagálás végére a nodeok azt fogják látni, hogy megjelent egy újabb lánc, ami sokkal hosszabb, tehát ezt követően mindenki dropolja az eredeti kék láncot és folytatják a felfedett selfish miner által gyártott láncot. Amint a második láncot elkezdik folytatni a rendes bányászok is valójában nem csak, hogy megtörténik ugyanannak a coin mennyiségnek az elküldése egy másik exchangere (xchg#2), de egyből meg is kapja a 20 confirmation-t, tehát azonnal el is költhető lesz a másik láncon és másik exchangen ugyanaz a coin, ami alig néhány blokkal korábban egyszer már elköltöttek a korábbi (kék) láncon. Természetesen ezt a támadó azonnal el is költi/átváltja.

Hogy ki járt rosszul az egésszel? Természetesen az első exchange (XCHG#1), hiszen a longest chainen valójában meg sem történt az az esemény, amikor beküldésre került hozzá egy adat coin és mégis el lett adva az. Tehát összességében  olyan coinokat adott el, ami valójában sosem kerül az exchangere. Itt nyilván az exchange a lehető leggyorsabban megpróbálja értesíteni a fejlesztőcsapatot és a többi exchanget is. Ám ennek reakcióideje akár extrém hosszú is lehet, így szinte biztos, hogy a támadó minden gond nélkül véghez tudja vinni a támadást és az eladásokat, hiszen valójában a második exchange (XCHG#2) jogosan birtokolta az eladásra került coinokat, mivel az ő általa ismert leghosszabb chainen tényleg hozzá kerültek a coinok.

Persze az exchangek több módon is próbálkoznak védekezni ezen támadás ellen. Pl többször is elfordult már, hogy ha egy kriptopénzből hirtelen tűnik el nagy mennyiségű hashing power, akkor az adott algo összes coinjánál felemelik a confirmation-t. Legutóbb pont a héten bekövetkezett zencash támadásnál emelték fel a tőzsdék 20-ról 120-ra a minimum confirmationt. Hogy mit érnek el ezzel? Nyilván időt nyernek, mely idő alatt esetleg ki tudják hámozni, hogy melyik addressen történt double spending, ehhez persze nagyon hatékony együttműködés szükséges az exchangek között, ami centralizált exchangek esetén még talán létezhet is, de az egyre inkább erősödő decentralizált exchange és atomic swap megoldások tükrében ezen támadások valószínűsége sokkal inkább fog növekedni.

Hogy mi erre a megoldás és ‘ha ennyire bugos, akkor egyáltalán miért nem javítják meg…’ típusú kérdésekre az egyezményes válasz: Nem minden arany ami fénylik. Aki minority hash powerrel rendelkező crypto-t bányászik vagy akár csak tart az legyen felkészülve arra, hogy ilyen támadások bármikor bekövetkezhetnek. Aki pedig szeretné magát ettől megóvni, annak:

  • csak majority hash powerrel bányászott PoW coinokat használj. (Bitcoin, Ethereum, LTC, Zcash, Monero, stb.)
  • vagy használj olyan altcoinokat, amikben a konszenzus egyéb módon (pl. PoS, DPoS) van elérve és van is mögötte akkora mennyiségű validity stake, ami alapján feltételezhető, hogy mindenki tisztességes.

 

 

Egy év – számokban, tényekben, viccekben…

Kicsit lekéstem az évfordulót… Tavaly május elején rebootoltam a blog ‘crypto’ részlegét, amivel akkor le is zártam egy jó időre a bigdata, ElasticSearch és machine learning szekciót. Megmondom őszintén amikor megírtam az első cikket a reboot után álmomba se gondoltam volna, hogy ennyire be fog húzni újra a kripto és blockchain világ. Szó szerint megfordult körülöttem a világ, ami persze a kezdeti toporgás után azért javarészt tudatos építkezés volt. A reboot post egyébként pont arról szólt, hogy újra “bányászunk“. A többesszám akkor is már barátomra és azóta üzlettársammá lett Petyatraderre vonatkozott, akivel akkor már jónéhány hónapja elemezgettük, hogy mit is kellene kezdeni ezzel a témával.


A Zcash témával foglalkozó cikksorozat első részében a bitcoin mellett létező alternatív coinok térhódításáról írtam. Ha érdekel, hogy mik ezek az alternatív coinok és mi milyen módon védettek az ASIC mining ellen, akkor olvasd el ezt a cikket: Zcash (ZEC) – újra bányászunk!


Akkori naivitásom egyik legjobb mementója a reboot cikk. Van abban minden, pl “LightCoin”-névre kereszt LTC 🙂

Hogy mi minden történt ebben az egy évben a “Variance” brand alatt?

  • Megközelítőleg 50 nyilvános és legalább még egyszer ennyi zártkörű rendezvényen evangelizáltam, prezentáltam, paneleztem. Meséltem majd 50.000 embernek a Bitcoinról, a kriptopénzekről, a blockláncról, az ICO-król és a tokenizációról. Mindenhol arról, ami az adott közönséget leginkább érdekelte. Volt olyan nap, amikor kora reggel egy konferencián adtam elő, majd napközben oktattam és az estére még becsúszott egy A38 hajós kerekasztal beszélgetés a Bitcoinról… Mondanom sem kell, a napvégi kaland minden volt már, csak nem produktív. A leginkább emlékezetes események: Blockchaineum, Blockchain Budapest Conf, a Simonyi konferencia és a Simonyi napok, A BME Blockchain kurzusa, a FintechShow… és még hosszan sorolhatnám. Talán a legviccesebb az volt, amikor bő három hónapos elkészítés után a Veszprémi Agórában tartottam egy előadást, amiről nemes egyszerűséggel elfelejtettem írni a blogon és az egész leutazáson azon agyaltunk, hogy vajon egyébként lesz-e bárki is a rendezvényen… Persze a szervezők leleményessége és a téma a különösebb reklámozás nélkül is elég volt ahhoz, hogy megteljen a nagy előadó.
  • Ezeken túl a naptáram szerint közel 100 alkalommal ültem le face2face beszélgetésre olvasókkal az “egy kávéra jó vagyok bármikor” jelige alatt… Személyes kudarcom, hogy ennél nagyságrendekkel több igény lett volna, ezekre a személyes beszélgetésekre… A levelesládámban most is ott vannak az immáron több hónapja felflagelt: “kéne erről beszélni” levelek… Néha tényleg nyomasztóan kevés ez a napi 24 óra…
  • 261 db cikk született a blogon
  • A tavalyi évben született majd 200 postba 178828 szó került (javarésze természetesen elgépelve…), az idén eddig született 52 postba pedig eddig 45752 szó. (Számomra) érdekes módon a tavalyi és az idei words/post arány is szinte pontosan megegyezik: 880.9 és 879.8
  • Hogy miről szóltak a cikkek? Meg se kellett néznem, hiszen mindenki tudja, hogy ha Variance, akkor Bitcoin maximalism… De a számok is alátámasztják ezt: 151 pontban szerepelt a Bitcoint tag. Ehhez képest a bitcoin cash csak 29 postban került említésre, ami persze már önmagában is nagyon soknak tekinthető lévénhogy közismert a BCH kapcsán viseltetett véleményem. A (számomra) partvonalon mozgó ethereum is kapott 24 postot, a bányászat 21 postban került említésre, a Zcash pedig 17-ben. A 10+-os kategóriában még ott van a segwit, segwit2x, satoshi, ico és a lightning network tag is.
  • Ezekhez 5072 alkalommal szóltatok hozzá komment formában.
  • A blogra picit kevesebb mint egymillió alkalommal jutottatok el, ebből csak a nyitóoldal gyűjtött be 395651 hitet.
  • A blog legolvasottabb napja 2017 november 27 volt, amikor napon belül 7593 alkalommal érezték fontosnak az olvasók, hogy idetévedjenek. A naphoz egyébként nem kapcsolódik semmilyen extra nagy dolog, leszámítva, hogy akkoriban indult be a Bitcoin árfolyamának elszabadulása és a csapból is a Bitcoin ömlött… ja és talán pont aznap jelentették be a CME Bitcoinfuturest. Szóval lehet, hogy még is csak történt ott valami…
  • A legtöbbet olvasott postok az elmúlt egy évben:

  • A ‘hogyan jutottatok a blogra’ kérdés kapcsán toronymagasan a facebook és a portfolio.hu áll az élen. Ezúton is köszönöm mindenkinek, aki érdemesnek tartotta az írásaimat, hogy megossza facebookon és szintén örülök annak, hogy a portfolio is érdemesnek tartotta a blogomat, hogy bekerüljek a portfolio bloggers kategóriába. Persze köszönöm mindenki másnak is, aki érdemesnek tartotta az irományaimat arra, hogy forrásként felhasználja és linkelje a saját oldalán.
  • Persze a legtöbb új látogatót a keresőmotorok hozták. Csak az elmúlt egy évben 59 ezer alkalommal jutottatok el ide a blogra. A keresőkifejezések top listájában nincs semmi meglepetés: variance, bitcoin, crypto, bányászat, kriptopénz, stb. A sok-sok éves bloggeri múltam okán pontosan tudom, hogy általában ezen listák alsó szekciója rejtegeti az izgalmas csemegéket. Volt itt minden, kezdve a: “Hogyan tudok az aldiba Bitcoint venni?”-tól kezdve egészen a “Speciális erste megtakarítás”… Nem vagyok benne biztos, hogy mindenki meg is találta itt amit igazán keresett…
  • Más szempontból persze, de szintén érdekes (nekem), hogy mennyire tartottátok érdemesnek a blogpostokban szereplő linkeket arra, hogy meg is nézzétek a megjelölt forrást, vagy információt. Nyilván ezen a listán is első helyen állnak a social mediumok, úgy mint a twitter, facebook, medium vagy youtube. A fix tartalmak közül az első helyen az unalomig ismételt Bitcoin NVT ratio található, nemsokkal utána jön a fork.lol és a bitcoin mempool vizualizáció, látszik, hogy ezen témák is sokunkat izgatott az elmúlt évben. Vicces (?) módon a top20-as listában ott van status.kraken.com-is, amit ugye egyetlan alkalommal linkeltem csak, amikor éppen zajlott a kraken FUD és heteken keresztül használhatatlan volt az egész szolgáltatás.

Köszönet minden olvasónak/követőnek…

Negyed éves nyugi…

Bár hazudnék, ha azt mondanám, hogy nem él élénk élményként az emlékeimben a tavaly decemberi kálvária, amikor jómagam is rákényszerültem hogy $10… sőt 40 dolláros mining fee társaságában utaljak Bitcoint, de ez az időszak… köszönhetően a SegWit adaptációs rátának immáron igazoltan véget ért. Az egész tavaly őszi és téli időszakot annak tudatában kellett végig blogolnom, hogy folyamatosan kaptam minden forrásból (itt a blogon is…), hogy a SegWit nem jó semmire, a SegWit nem skálázási megoldás és csak a Blockstream hatalomátvételi kísérlete. Nos, mint a fenti ábrából is kiderül ezen állítások közül legalább egy biztosan megcáfolható, a SegWit protokoll igenis komoly skálázási megoldás és a jelenlegi stabilan átlépett 35%-os adaptációs rátája alapján komoly szerepe van abban, hogy a Bitcoin hálózat tudja kezelni a terhelési peekeket. Kerek két hónapja nem történt olyan eset, amikor a hirtelen jelentkezett terhelést ne lenne képes lekezelni a rendszer átlagosan néhány óra alatt.

A blokkok hatékony kihasználtsága szempontjából az egyik leginkább releváns mérőszám az outputok száma, ami egy blokkra jut:

Jól látható, hogy a közel két hónapos Csipkerózsika álom után újra elindult a hálózat érdemi terhelése és immáron a tavaly októberi szinten tart. Az onchain tranzakciószám (output) növekedéssel párhuzamosan jelentősen emelkedtek a tőzsdei volumenek is. A február-márciusi 4-6 milliárd dolláros napi Bitcoin volumenek után az elmúlt napokban a legnagyobb kriptovaluta napi volumene már stabilan 7 és 10 milliárd US$ körül mozgott.

Hogy mennyit hoztak a sokat kritizált fejlesztések (SegWit, batching, Lightning Network)? Elég csak ránézni a Bitcoin mempool tavaly októberi és az idén április-májusi állapotára: (-link-) A különbség szabad szemmel is látható.

Trendforduló, készülhetünk az #altsareback hashtagre?

Most, mikor már az én igen konzervatív és jellemzően pesszimista (vagy inkább realista) Twitter feedem is zöldben tündököl és a legnagyobb medveidomárok is már bikákat hajtanak; időszerű körbenézni a releváns (-nak  hitt) számok tükrében is.

Számtalan alkalommal hivatkoztam már a Bitcoin NVT mutatóra, ami a mai napig nagy barátom. A mutató április 5-én érte el a csúcspontját, ahol is lefelé irányt vett. Ezzel megtörve a tavaly decemberben indult folyamatosan emelkedő trendet, ami már önmagában is biztató jel.

Két dolog idézheti elő, hogy az NVT érték (Network Value to Transaction Ratio) valóban tovább csökkenjen:

Folytatás…

Mit mutatnak a számok?

Bár az elmúlt időszak kétségtelenül bebizonyította, hogy a technológiai szintű számoknak vajmi kevés köze van a valós piaci mozgásokhoz, mindettől függetlenül persze érdekes lehet időről-időre rápillantani a releváns mérőszámokra, hiszen ha a prompt piaci helyzetre nem is igazán hatnak, de a technológia igencsak befolyásolhatja egy jövőbeli piaci hatás lefolyását (lásd a 2017. év végi árfolyamrobbanás mellékhatásaként kialakult transaction fee krízist, amit sokan félreértelmezve az árfolyamzuhanás egyik okaként aposztrofáltak). Szóval miközben vadul folyik éppen az ILK tokenek smartcontractjának sütése (lásd mellékelt képet…) úgy döntöttem, hogy készítek egy összefoglalót azokról a bizonyos technológiai számokról, amik oly sokszor kerültek elő érvként vagy éppen ellenérvként az elmúlt hónapokban. Jó szokásomhoz híven természetesen most is koncentrálnék a Bitcoinhoz kapcsolódó számokra, hiszen továbbra is (egyre inkább nagyobb meggyőződéssel) vallom, hogy a kriptopénz termékosztálynak az ‘arany-‘sztenderdje a Bitcoin és egy jó ideig elképzelhetetlennek tartom, hogy komoly kihívója akadjon.

A tavalyi év talán legnagyobb lutrija az a bizonyos SegWit adaptációs ráta volt, ami  során félelmetes mennyiségű FUD került elő. Ezek lényegében egyfajta kartelgyanús ügyletet véltek felfedezni a SegWit2X előkészítése, majd bukása és ennek kapcsán a SegWit protokoll adaptálásának halogatása kapcsán. A helyzet mára persze sokat javult. A legtöbb értelmes platform és exchange már elérhetővé tette a SegWit protokollt, melynek adaptációs rátája ennek megfelelően rohamosan gyarapodott. A stabilan 30% feletti ráta komoly fricska az ellenérdekelt tábor számára, akik az egész utolsó félévet azzal töltötték, hogy az alacsony SegWit adaptációs rátán élcelődtek:

Folytatás…

Boldog bolondos húsvéti nyulat mindenkinek!


Hibátlan időzítés, hogy idén egy napra esett a bolondok napja és húsvétvasárnap, így egy napra rendesen felpezsdült a crypto-subkult legtöbb szereplője. Ma kiderült, hogy a Trezor roller ICO-t akar indítani, hogy a tradingview végre támogatni fogja az igen népszerű nokia 3310-es készüléket is. Persze azt is megtudtuk, hogy “$BTC shorts = rekt“, bár ez utóbbi kapcsán utólagosan lehet, majd csak eldönteni, hogy Koala ezt is csak áprilisi tréfának szánta-e. Ami viszont tény, hogy 2 órája pumpálják a BTC-t, ami napnál világosabb, hogy csakis egy igen költséges tréfa lehet, valaki félrenyomhatott valamit a Spoofy consolon. Ami viszont ennél is fontosabb, hogy ma végre felkerült a coinmarketcapre a valaha volt legfontosabb fejlesztés: a LAMBO tradingpair.

Ennek köszönhetően megtudhattunk, hogy az összes Bitcoinból 590 ezer lambot lehetne venni. 1 Bitcoinból 0.034 LAMBO-t lehet venni és a mai napon az összes exchangen 23224 db LAMBO árának megfelelő forgalom következett be.

Ma startolt el a méltán népszerű ponzischeme.io ICO is, ami igen komoly teamet vonultat fel (többek között Dr. Craig Sweet Potatot és Satoshi Potatot is!) és a funding során egyből nagyon komoly rewardokat lehet begyűjteni.

Humorbombából jutott bőven mára. Holnap reggelre mindenkinek kellemes locsolkodást.

Merre tart a piac?

Nagyon régóta nem írtam a piaci kilátások kapcsán. Nem azért nem írok naponta ebben a témában, mert nem szeretek a medvepiac kellős közepén elmélkedni az árfolyamról, hanem sokkal inkább azért, mert a piaci sentimenttől függetlenül nem nagyon szeretek ebben a témában elmélkedni. Most azonban kissé félreteszem az elveimet és megnyitom a szócsapot, teszem ezt leginkább azért, mert éppen ilyen hangulatban vagyok. Az elmúlt immáron három hónapban egy folyamatos csökkenő pályán halad a Bitcoin és azzal együtt az egész cryptoasset piac is. Jelenleg az árfolyam a tavaly novemberi Bitcoin mészárláskor kialakult csúcson áll. Ez volt az a bizonyos pillanat, amikor egy látványosan felépített kampány keretei között kisebb puccskísérlet zajlott le a SegWit2X visszavonását követő napokban. Az árfolyamszint és esemény talán azért is fontos, mert ezt követően a Bitcoin lényegi korrekció nélkül folyamatos zöld napi gyertyák mellett menetelt egészen a 16 ezres szintig, majd onnan némi bukdácsolással egészen a 19660-ig tolta el a karácsonyi lendület. Tehát elmondható, hogy akik tavaly november 12-t követően leltek rá a Bitcoinra, mint befektetési célú termékosztályra, azok egészen a decemberi csúcsig nem találkoztak 1-2 napnál hosszabb korrekciókkal, na de azóta…

Folytatás…

Ez is csak egy átlagos napnak indult…

Volt itt ma minden… A SEC (US tőzsdefelügyelet) szerint az összes cryptotőzsde szemétdomb, Japán is elkezdte piszkálni a tőzsdéket, India be is zárt mindjárt két tőzsdét és állítólag ma is feltörték a Binancet… Majd szépen lassan kiderült, hogy: egyrészt a SEC és Japán is csak azt szeretné, hogy kevésbé legyen kupleráj a tőzsdéken, a két indiai exchange napi forgalma kimutathatatlanul alacsony a piachoz képest, a Binancet meg valójában ma se törték fel (valójában az egyik traderbot-platform volt a ludas) . Persze a piac újabb pánikkal reagálta le a félinformációkból tákolt féligazságokat. A Bitcoin árfolyama éppen vadul visszateszteli a december közepe óta kialakult bear csatorna felső sávját (értsd 2 óra alatt zuhant 1000 dollárt a pániksell okán…) és az ember már szépen rajzolgatná is az újabb chartelemzéseket mondván, hogy nincs itt semmi látnivaló innentől már prediktálható az irány… szóval mindeközben az ember kezébe kerül egy jelentés, amiben az MtGox vagyonkezelője boldogan számol be arról, hogy milyen szépen keresett majd fél milliárd dollárt december közepe és február között abból hogy eladott majd 36k BTC-t és 34k BCH-t.

Mi-mi-mi-mi??? Mit csinált?

Folytatás…

Mekkora esélye van annak, hogy valaki Bitcoint találjon?

Tavaly októberben értekeztem hosszabban az egyik legnépszerűbb Bitcoin körüli tévhitről: A kvantumszámítógépek fenyegetéséről. Most találtam egy igen látványos levezetést, ami kapcsán időszerűnek éreztem elővenni a másik igen népszerű témát: Nevezetesen, hogy vajon mekkora esélye van egy balanceszal rendelkező address privát kulcsának eltalálására? Közismert tény, hogy a privát kulcs->publikus kulcs->address transzformáció lépései között lényegében csak matematikai műveletsor van (ECDSA+2SHA256 és a végére még egy RIPEMD-160), tehát a megfelelő erőforrások bevetésével akár találomra el is lehet kezdeni végigpróbálgatni az összes lehetséges privát kulcsot mondván előbb-utóbb csak belefutunk egy olyan publikus kulcsba, ami mögött vagyon is található. Mivel a Bitcoin címek 256 biten képződnek, így a teljes címtartomány is 256 biten képződik. Jelenleg az UTXO táblázat 53.417.437 db tételt tartalmaz, tehát ennyi addressen van legalább egy morzsányi bitcoin.

A következő ábra azt mutatja be, hogy mekkora az eséllyel lehet beletrafálni egy értéket is tartalmazó privát kulcsba véletlenszerű próbálgatással, szemben mekkora esélye van a powerball nevű amerikai lottó megnyerésének. (5+1-et húznak 1-69-ig). A teljes powerball nyerési esélye egyébként lényegesen alacsonyabb a hazai ötös lottónál (utóbbiban kb 44 millió variáció nyerhet, az amerikai példában viszont 292 millió kombináció játszik).

Folytatás…