Vigyázó szemetek az 51%-os támadásokra vessétek!

Az utóbbi időben igen megszaporodtak az 51%-os támadások. Ennek oka igen komplex, de mindenképp érdemes alaposabban foglalkozni vele, mivel a támadások talán legfontosabb tanulsága az, hogy a közösség nagy része etéren kifejezetten alulinformált. A tavalyi évben számos alkalommal írtam már az 51%-os attackról, így most nem tartanék teljes kiselőadást a technológiai háttérről. Sokkal érdekesebb arról beszélni, hogy mégis miért tud egyáltalán kialakulni ilyen típusú támadás, ha egyszer a blockchain technológia világmegváltó attitűdjének kulcseleme az, hogy az ökoszisztéma minden szereplője abban motivált, hogy tisztességes legyen, hiszen ezzel jár jól.

Ez a feltételezés úgy egyébként teljesen igaz… bizonyos feltételek teljesülése esetén.

A krízispont mindenképpen ott jön el (mindig is ott jött el), amikor több PoW (Proof of Work) konszenzus típusú kriptopénz osztozik ugyanazon a számítási kapacitáson. Aki kicsit is foglalkozott már a publikus blockchainek technológiájával, az pontosan tudja, hogy a blockchaineken belül attól igaz valami, hogy mennyien állítják azt. Ennek megfelelően a hamis is lehet igaz, ha kellően sokan (50%+1 vote) állítják azt igaznak. Az ökoszisztéma minden szereplője rendelkezik bizonyos szavazati mennyiséggel, melynek súlya lehet akár mondjuk a letétbe helyezett értéke mennyisége (PoS), lehet akár birtokolt vagyon mennyisége után delegált szavazatok száma (DPoS) és persze lehet a ‘hagyományos’ elvégzett munka bizonyítéka (PoW) modell is. Plusz emellett lehet másik 82,5 egyéb módszer, ami éppen kipottyan egy matematikus fejéből miközben egy tetszőleges középkori csatát felelevenítő filmet néz éppen, ahol a kékre mázolt képű főszereplő – a beivódott szintetikus festék által kimart – képpel ordítja a freedomot.

Szóval a képlet igen egyszerű (PoW) esetén: Ha van a világon X mennyiségű specifikus számítási kapacitás (legyen mondjuk ez pl az SHA256D), amin osztozik 50-50%-ban két kriptopénz és az összes kapacitás (hashing power) 5-6 nagy poolban összpontosul, akkor igen kicsi rá az esélye, hogy bármelyik fél is ki legyen téve az 51% támadás esélyének, hiszen iszonyatosan magas a risk szemben a rewarddal, mivel a támadáshoz több órán keresztül kell blokkokat gyártani a kamu láncon, majd ha sikerül behozni a +7 vagy +21 blokk előnyt, akkor propagálni a blokkokat és végrehajtani a double spendinget.

Na de mi a helyzet akkor, ha mondjuk az X mennyiségű hashing poweren nem 50-50%-ban osztozik a két kriptopénz, nem pl. 90-10%-ban. Itt már jól látható, hogy a nagy láncon lévő erőforrásokból elég kicsit >10%-ot elvonni ahhoz, hogy a kisebb láncon végre lehessen hajtani a támadást, ami más sokkal kevésbé tűnik annyira krízisnek.

Persze van egy fontos tényező, amit nem szabad ilyenkor sem figyelmen kívül hagyni: a risk/reward ratio esetén fontos kérdés a két lánc közötti értékkülönbözet is.

A nagyobb láncon ugyanis folyamatosan termelődik érték, ha a bányászok tisztességesen bányásznak. Egy összehangolt (51%) támadás esetén tehát a risk/reward ratio-t erősen rontja, hogy az átirányított erőforrások bizony nem termelnek a nagyobb láncon, ami okán bevételtől esnek el a támadók. Egy 90-10%-os megosztottságú majority/minority hashing power lánc esetén, ha a két lánc marketcapja között is 90-10%-os az arán, akkor a támadás miatt átirányított erőforrások sokkal értéktelenebb coint termelnek, pláne, ha valamiért nem is jön össze a támadás sem. Ez persze mindjárt nem is igaz annyira, ha a két lánc (marketcap) értéke a 90-10%-os hashing power eloszlás ellenére más arányszámot mutat.

Vegyük példaként az Ethereum és az Ethereum classic “testvéreket”, akik lényegében javarészt osztoznak az Ethash algon. 1:31,5 a két coin között a hashing power arány, nyilván a Ethereum javára. Ehhez mérten az árfolyamuk aránya 1:39-hez arányban áll a jelenlegi 600US$ ethereumot és a 15.39US$-os Ethereum Classicot figyelembe véve. Ennek megfelelően nem kifejezetten tűnik profitábilisnek egy ETC 51%-os attack az eddig megismert tényezők kapcsán.

Azonban akad itt még egy fontos tényező, amire nem árt odafigyelni, ez pedig az adott algo bányászatának profitabilitása. Jól látszik, hogy a legtöbb algoritmus esetén a mining diffuculty fejlődésre vajmi kevésbé hatott az, hogy kvázi piaci recesszió van. A bányászokat szemlátomást nem érdekli az alacsony árfolyam miatti alacsony profitabilitás, olyan mértékben nő folyamatosan a kapacitás, ami már-már aggasztólag hathat. Az elmúlt 2 napban a Bitcoin hálózaton végrehajtott difficulty adjustment során a difficulty 0,7T-vel nőtt és így majdnem átlépte már az 5T-s értéket. A dolog abszurditása, hogy kerek egy évvel ezelőtt a TELJES difficulty összesen volt 0.678T, tehát csak az elmúlt bő két hétben állítottak üzembe akkora mennyiségű SHA256D hashing kapacitást, amit egy évvel ezelőttig ÖSSZESEN (8 év alatt) állítottak üzembe, kezdve onnantól, hogy Satoshi nekifogott a saját gépén bányászni, majd lecseszte Hanyecz Lacit, hogy a bányászat mellett azért jó lenne, ha néha kódolna is egy kicsit, ha már egyszer core devnek jelentkezett.

Szóval az utolsó faktor az 51%-os attack kapcsán a profitabilitás. Minél inkább nő a konkurencia és ezáltal csökken az aktuális árfolyamhoz képesti profit margin, annál inkább tűnik reálisnak, hogy a jótét bányászok úgy döntsenek, hogy legyalulnak egy minority hashing powerrel rendelkező láncot. Pontosan ez történt néhány napja a ZenCash kapcsán is, ami egyébként egy kifejezetten jó reputációnak örvendő kriptopénz, amit equihash algoval lehet bányászni, tehát a ZCash hashing powerét csapolja. A támadás pillanatában a ZenCash 1000k-s difficultyval funkcionált, amikor a ZCashnek egyébként éppen 9M körül mozgott. Tehát a két lánc közötti arány akkor éppen 1:9-hez állt. Viszonyítási alapként az árfolyamok júni 3-án az incidens pillanatában: ZCash: 250US$, ZenCash 30 dollár körül mozgott. Ergo minimálisan de érdemesebb volt a minority chaint bányászni.

Ehhez hozzájött a tény, hogy január óta a Zcash diffje duplázódott, az árfolyama pedig feleződött. Ennyi elég is volt, hogy néhány jótét lélek a sötétebb utat választva áttereljen némi hashing powert a zen-es csávók hálózatára, majd összerakjon egy double spending attackot, mely során előbb 13k, majd további 6,6k ZEN-t dupláztak, amivel összesen 550.000 dollár értékű coinhoz jutottak és nem mellesleg 30 dollárról instant szaggatták be a ZenCash árfolyamát 21 dollárra.

Az elmúlt hónapokban ez már a sokadik olyan történet, ahol minority chainek szenvednek el 51%-os támadást. A nevesebb történetek között ott volt nemrégiben a Bitcoin Gold és a Verge is.

Tanulság mindebből: Bármennyire is csábító legyen egy minority chain árelőnye, összességében nagyon komoly vakmerőségre vall, ha valaki ilyen láncokon bányászik vagy éppen használ kriptopénzeket. A PoW consensus kriptopénzek között a nyolcadik legnagyobb marketcappel rendelkező ByteCoin 51%-os támadásához kevesebb mint 1000 dollárnyi CryptoNight algo hashpowert kell bérelni. De kifejezetten ígéretes célpont lehet a közeljövőben a MonaCoin vagy akár a ZClassic is. Mindkettő ráadásul equihashes…

Bookmark the permalink.

17 Comments

  1. Szuper lett a cikk ! Érdekességképp: https://www.crypto51.app/ itt lehet “nyomon” követni, hogy adott cryptohoz mennyibe kerülne az 51% attack / óra. A cikk utolsó mondatával nem teljesen értek egyet, a Monacoin az Lyra2Rev2 algot használ. Legjobbakat és üdv! 🙂

  2. Szia Csaba! Teljesen jogos volt a Monacoin felvetése, mert (ha jól emlékszem) májusban ott is volt 51% attack – illetve ahogy említetted is, számítani lehet rá a későbbiekben. Az előző hozzászólásomban levő linken jól látszik a sebezhetősége – akár a népszerűbb coinok/chain-eknek is. Üdv. !

  3. ezt az ertek aranyos mokat nem ertem. ha egyik lancon termelek napi 3btc-t, de helyette inkabb 51attackolok, akkor ehhez fuggetlen hogy mennyi a tamadott coin erteke. a tamadaskor akarmennyi (jo vannak bizonyos hatarok) coint lehet double spendelni, egyszeruen annyit coin haxol ami boven fedezi a napi 3btc bevetelt. ha X-be kerul a coin akkor Z-t, ha meg X/2-be kerul akkor 2*Z-t.

    • Igen, ezért is fontos tényező, hogy mekkora a bandwith a networkon, illetve hogy mennyi ideig képes a támadó fenntartani az állapotot (51%attack). A double spending is kicsit félrevezető kifejezés, mert (ugyan csak a saját coinjait, amihez hozzáférése van, de) elviekben többször is tudja utalni/fel tudja használni… Talán a multispending helytállóbb lenne, bár ez lehet csak részletkérdés. Ezért is emelték meg az elmúlt időszakban több láncon a confirmation-ök számát, hogy csökkentsék ennek lehetőségét. Szerintem ez leginkább a kisebb chain-eknek kedvezőtlen/veszélyes (ahol alacsony a hashrate). Akinek több tapasztalata van, ne fogja vissza magát, ossza meg! 🙂

  4. A btc/bch páros elemzése vajon miért maradt ki? 🙂

    • Őszintén szólva az egész cikket nyilvánvalóan a BTC/BCH párosra akartam kihegyezni, de a cikk végére úgy döntöttem, hogy nem erőltetem a vonalat, mert felesleges szítani ezen a téren a tüzet. Nyilván a cikket elolvasba mindenki számára tiszta, hogy amíg a BCH a minority chain, addig marad a 20 confirmation, ergo egy-egy tranzakció tőzsdei confirmja továbbra is 3,5 óráig fog tartani. Ráadásul a BCH ezzel együtt is komoly célpontja lehet(ne) egy double spending/51% támadásnak.
      A BTC/BCH esetén a hash rate eloszlás aránya 1:7.5-hez. Ehhez képest az árfolyamunk 1:6.7-hez. Ergo mondhatni nem kifejezetten profitábilis célpont, pláne, ha figyelembe vesszük, hogy pl a könnyen kibérelhető Nicehash ÖSSZES SHA256D kapacitása csak a 10%-át fedezné egy BCH elleni attacknak.

    • Valószínű hogy a BCH párti Jihan Wu és tsai élénken figyelik az ilyen kísérleteket, és ha tapasztalnak ilyet, akkor hashpowert irányítanak át a BTC blockchainről, hogy megakadályozzák. Nem hülyék, és BCH pártiak. (Remélhetőleg)

      • Ez nem így működik. Nézz utána a Selfish Miningnak. Egy jól kivitelezett double-spendinget úgy tudsz megcsinálni, hogy a konkrét elköltés már ténylegesen azok megtörténte után válik csak ismerté a szereplők számára. Ilyekor már hozhat bármekkora hash powert Jihan, akkor már feltehetők dumpolták a double-spendelt coinokat.

        • Nem is tudom, de szerintem az 51% lényege a “reverse transaction”: azaz a megtörtént tranzakció visszavonása, amit szerintem azonnal észlelni lehet.

          Kellően erős hashpower birtokában le lehet dolgozni bármilyen forkot. Jihanék 60 70%-t birtokolják a Bitcoin hashpowernek. A exchange (ahonnan a pénzt ki akarják szedni) felelőssége, hogy kellő időt hagyjon a megbízás és a validálás között. Ez általában 6 tranzakció. A Krakennél BCH esetében ez lényegesen több volt régebben (most épp nem tudom mert nem jártam arrafelé). Az utalás se azonnal történik.

          • Felig igaz mindketto. Kivaloan lehet detektalni es bizonyos fajta tamadast “visszaverni”:

            a blokklanc egyik szabalya hogy mindig a leghosszabb nyer
            tehat vannak szep sorjaban a blokkok
            mondjuk
            A-B-C-D-E-F
            de ha valaki csinal egy masik lancot ami mondjuk A-B-P-Q-R-S-T
            ez igye hosszabb mint a masik ezert ez lesz a tenyleges lanc
            bitcoinban reorganizacio neven fut: a C-D-E-F lancod eldobja, es lesz helyette a masik
            a haxxor utal a valtora/havernak/boltnak/akarmi 10 btc-t, a tx belekerul a C blokkba
            erre a valto/haver/bolt orul, es odaadja az arut, penz akarmit (mondjuk vart 3 confirmot)
            utana gyorsan csinal egy masik tx-et ami a 10btc-t sajat maganak utalja el (ugyanaz az input, de mas az output)
            a nagy hashratevel belerakja a P-ba, majd mivel az hosszabb igy az lesz az ervenyes
            a valto/bolt meg szomoru lesz, mert nem kapott semmit, de adott valami ertekeset
            persze a haxxolt uj blockchaint kozben is lehet csinalni, amig var a valto confirmra, csak addig nem kuldi be a blokkokat csak tartolja, ezert eleg az 50%+egykicsi (=51%) hashrate.

            detektalni pedig uj tudja hogy a reorganizaciokor osszehasonlitja a tx-eket, es ha latja hogy azonos input, de mas outputu txek vannak akkor az biza DS.
            Fixalni meg ugy tudja hogy neki megvan a regi blocklanc is, igy elkezdi azt folytatni, ha utana sikerul neki tobb blokkot a lancra fuznie (A-B-C-D-E-F–G-H-I-J),
            es ha ez hosszabb akkor ujra ez a lanc lesz a jo. persze ez megint nem er sokat ha a DS tx is a valtora kerult be, es azt is gyorsan dumpolta (ketszer adta el ugyanazt a coint)

        • Amúgy vicces:
          A Bitcoin Gold-os Jack Liao (A BTG-t lényegében a Jihan-féle kínai bányászkartell ellehetlenítése céljából hozták létre, még a nagy BTC-BCH szakadás előtt) Tajvanon botrányt csinált, ami miatt Craig Wright megszakította az előadását. Rögtön ezután jött egy 51% attack a Bitcoin Gold ellen. Mondjuk azért ebből sejthető, hogy van kapcsolat CW és a BCH-párti kínai bányászkartell között. Persze a Jihan a BTG-s Jack Liao minden alapon nélkülöző vádaskodását visszautasítja 🙂
          https://twitter.com/JihanWu/status/1000287556095766528

          • Bár nem szép dolog bizonyítékok nélkül vádaskodni, de ha bárkiben is felmerül, hogy vajon kinek a kezében lehet akkora hashing power amivel lényegében bármelyik ethash vagy equihash algo minority HP-s coinját meg lehet reccsenteni, akkor – szigorúan teória szinten – kétségtelenül jó célpont erre a Bitmain. Mindezt mondom úgy, hogy egyébként az érintett szereplők (Craig, Wu) teljesen gyerekes viselkedésén kívül kevés egyéb motivációval rendelkezhetnek.

  5. Szerintem titokban ez az egész cikk arról szólt, csak így nem lesz kommentháború 😀

  6. “az elmúlt bő két hétben állítottak üzembe akkora mennyiségű hashing kapacitást, amit egy évvel ezelőttig ÖSSZESEN” Máshogy nézve: ez utóbbi fél év alatt megduplázódott a kapacitás — miközben az árfolyam csökkent. Ez vajon miért lehet? A miner tech fejlődése (egyre kisebb nm technológia), vagy még a 20k árfolyam körüli befektetések késleltetett hatása? Vajon a GH/Watt mérőszámokban is látszik ez az arány? Minednesetre érdekes, hiszen uganúgy a napi 1800 BTC-n osztozik az sok exahash-nyi miner.

    • Engem is ez izgat mostanában. Csaba, te hogy állsz az otthoni kisipari bányászattal? Úgy nagyjából március óta megéri bárkinek bármit kicsiben bányászni?

      • Nem végeztem mostanában megtérülési számítást. Privát véleményem szerint aki eddig nem kaparta ki az invesztíció ROIát, annak erősen kérdéses, hogy érdemes-e belevágnia. Aki viszont már nullára termelte befektetett vas értékét, annak innentől már csak a villanyáramot kell tudni túltermelnie, ami a jelenlegi állapot szerint még mindig bőségesen profitábilis.

Szólj hozzá: