Blokkvisszatartás: támadás, amit egy részesedés sem mutat
Egy bányász valódi részesedéseket küld, de eltitkolja azt, amelyik blokk lett volna. Mibe kerül ez, ki fizeti meg, miért teszi bárki, és hogyan bukik le.
Mi a blokkvisszatartásos támadás?
Egy bányász minden szokásos részesedést beküld, de eltitkolja azt, amelyik blokk lett volna. A pool fizet a részesedésekért. A blokk sosem érkezik meg.
Minden részesedés, amelyet egy poolnak küld, egy valódi megoldás, amely nem érte el a blokk célértékét. A blokk célértéke az a magasabb léc, amelyet egy hashnek át kell ugrania, hogy blokk legyen belőle. Időnként egy megoldás ezt is átugorja, és az a részesedés egy egész blokk.
Egy ilyen részesedés pontosan úgy néz ki, mint bármelyik másik, amíg a pool meg nem vizsgálja.
A támadó tisztességesen elvégzi a munkát, és minden szokásos részesedést beküld. Csendben eldobja azt az egyet, amelyik blokk lett volna. A pool megszámolja a részesedéseket, és fizet értük. A blokk, amelyet meg kellett volna kapnia, sosem érkezik meg.
Miért nem árulja el egyetlen részesedés?
A támadón egyetlen részesedés alapján sem látszik semmi rossz. A hardver valódi, ahogy a hashráta is. A részesedések érvényesek, és a megfelelő ütemben érkeznek. A pool megvizsgálhat egy részesedést, és semmit sem lát.
Ami hiányzik, az egy hiány, és egy hiány csak idővel látszik. Egy bányásznak, amely a pool hashrátájából adott részt képvisel, nagyjából ugyanakkora részt kellene találnia a blokkjaiból.
Egy óra alatt ez semmit sem mond. A blokktalálás véletlenszerű, és a csendes időszakok szokásosak. Elég hosszú ablakban viszont nagyon sokat elárul.
Mibe kerül, és ki fizeti meg?
A pool elveszíti azt a blokkjutalmat, amelyet meg kellett volna kapnia. A veszteség azonban valójában nem a poolra esik. Ezt bármelyik poolnál érdemes megérteni.
- Arányos rendszerben a kör addig folytatódik, amíg valaki más blokkot nem talál. Mindenki a körben egy olyan körön dolgozott, amely a kelleténél tovább tartott. Így mindenki valamivel kevesebbet keres munkaegységenként. A költség a tisztességes bányászok között oszlik meg.
- Részesedésenként fizető rendszerben az üzemeltetőnek rosszabb. A pool már minden részesedést kifizetett a saját zsebéből, és arra számít, hogy a blokkok megérkeznek. Egy tartós támadás közvetlenül az üzemeltetőt vérezteti ki. Történetileg ez az az eset, amely miatt a legtöbben aggódtak.
Miért csinálná ezt bárki?
A támadó a blokkjutalmat is eldobja. Első ránézésre ez tiszta önsorsrontás. Csak akkor van értelme, ha a támadó valahol olyan helyen nyer, amelyet a pool nem lát.
A szokásos indíték a verseny. Aki saját poolt üzemeltet, bérelhet vagy ráirányíthat hashrátát egy riválisra, és elfojthatja annak eredményeit. A saját poolja így összehasonlításban szerencsésebbnek tűnik. A támadó által továbbra is beszedett részesedések fizetik a szabotázst.
Egy kifinomultabb változatban a támadó megtartja a blokkot ahelyett, hogy eldobná. Titokban tovább bányászik rajta, és később, egy neki megfelelő pillanatban küldi be. Ezt nehezebb kivitelezni. A hashráta nagy része kell hozzá, hogy megérje megpróbálni.
Hogyan lehet felismerni?
A felismerés statisztikai, mert nincs más jel. Vesse össze, hány blokkot talált egy résztvevő azzal, hogy a részesedései száma szerint hányat kellett volna találnia. Tegye ezt elég hosszú ablakon, hogy a szerencse kiátlagolódjon.
Az ablak a nehéz rész.
- Ha rövid, a szokásos balszerencse támadásnak tűnik. Tisztességes bányászokat vádolnának folyton.
- Ha hosszú, egy valódi támadó jó ideig működhet, mielőtt a számok megszólalnak.
Ezt a kompromisszumot nem lehet ügyesen megkerülni. A véletlenszerűségből fakad, nem a szoftverből.
Ezért egy komoly felismerő rendszer egy embernek teszi fel a kérdést, ahelyett hogy egyedül cselekedne. Egy statisztikán alapuló automatikus kitiltás egy napon kitilt valakit, akinek csak balszerencséje volt. Egy jóhiszemű bányász leállítása rosszabb magánál a támadásnál.
Mit jelent ez egy tisztességes bányásznak?
Szinte semmit, és ezt érdemes egyenesen kimondani.
A részesedéseit így is, úgy is ugyanúgy számolják és fizetik. A balszerencse nem vétség, és nem is lehet az. Bármely rövid ablakban a legtöbb bányász balszerencsés.
Körök sorozata, amelyekben sokat tett hozzá, a pool pedig semmit sem talált, normális szórás. A pool statisztikáin lévő szerencsemutató megmutatja, mennyire normális.
Ez a támadás az egyik oka annak, hogy a poolokat érdekli, ki irányít rájuk hashrátát. Ezért is könnyebb megbízni egy olyan poolban, amely tisztességesen közzéteszi a blokkjait és a szerencséjét. Minden, ami a pool ellenőrzéséhez kell, a blokkoldalon van.