A ‘leading zeros’ misztérium és az 51%-os támadás

Airdrop BCash (BCH), az ingyen pénz…: vegyek, eladjam vagy tartsam? Talán ez most a $crypto világ egyik legambivalensebb kérdése. Mindez annak fényében különösen egy jogos és érdekes kérdés, hogy a bitcoin pénzügyi szárnyalását gúzsba kötő segwit és chain-split parát végre maga mögött hagyva; a bitcoin szárnyal és a jelek szerint egyelőre nem is nagyon akar megállni a hegymenetben. Ebben az irományomban választ adok a fentebbi alap kérdésre. Pontosabban arra, hogy engem mi motivált a kérdés eldöntése kapcsán. Azt mindjárt az elején leszögezném, hogy ez a cikk nem egy pénzügyi elemzés, sőt pénzügyileg irracionálisnak is tekinthető a végkövetkeztetés. Azonban egészen a bitcoin protokoll legmélyebb bugyraiba merészkedem le ahhoz, hogy technológiai szempontok mentén alátámasszam következtetésemet.

Nem tudom hogy vagytok Ti ezzel, de mielőtt komolyabban belemélyedtem (újra) a $crypto világ rejtelmeibe, különösen annak technológiájába, szóval azelőtt én alapvetően – szerintem – egy teljesen normális ember voltam. Normális dolgokkal és normális problémákkal. Azóta viszont biztosan állíthatom, hogy nem vagyok az. Folyamatosan olyan kérdések cikáznak az agyamban, hogy mi a logikai kapcsolat a ECDSA privát kulcs és a bitcoin address között és pl a legújabb agyrákot okozó kihívásom: Miként is működik pontosan egy block hashének kiszámítása és miért is ne lehetne a blockláncot visszamenőlegesen manipulálni, továbbá az ultimate kérdés: mivel a bányászok egy hashing puzzle megoldásával bizonyítják az erejüket, ezért adja magát a kérdés: ki adja nekik ezt a feladatot, és aki adja az miért nem motivált arra, hogy csaljon a feladvánnyal?

Jelen cikket a felsorolás legutóbbi feladványának szentelném és természetesen röviden kitérnék az 51%-os támadás és a bizánci generálisok problémájára is, ami szorosan kapcsolódik ehhez a témához. Ez az a pont, ahol a cikk elveszti minden relevanciáját azok számára akik csak azért járnak a blogra, hogy kiélvezzék annak crypto bulvár jellegét.

Szóval mi is ez a leading zero dolog? Ha megnézed bármelyik valaha készült block hashét, akkor egy igen fura dologra lehetsz figyelmes: ezek mind nullákkal kezdődnek! Méghozzá az idő előre haladtával egyre több nullával:

height   hash
334261   000000000000000000002d414bb8f9175ba6c6563721e1ba2c1373c2bd94f29f
336175   000000000000000000005a5e143087632fbf0eea743ad99646d9fc67d40f7441
331908   000000000000000000006836c4009ab00485cd1de4d5958ca7839184d0b80067
357845   0000000000000000000072fb4daee93cb0ef53f292898febaa8353743469f9d1
326055   000000000000000000007e1166d92acf81d4e2d95934fcdec1276b09a7db9390
343775   000000000000000000007eef13ee1f2fcf1b469bd862fcc93b48ec49548ecf6d
340483   000000000000000000008ac86ba28085be84af2ebd6fc6935a004e57fb60c083

Minden egyes block hashe annak fejlécéből származik. A fejléc egy fix 80 byte hosszú érték, ami a következő részekből épül fel:

  • verzió (4byte), ezek most ugye jellemzően 0x20000002 értéket vesznek fel, jelezvén a SegWit támogatást
  • előző block hash kódja (32byte)
  • jelenlegi block összes tranzakciójából képzett merkle fa értéke (32byte)
  • A block generálásának időpontja (timestamp) (4byte)
  • nBits: A cél küszöbérték kódolt verziója, azt mutatja meg, hogy mi volt a hash képzés difficultyja. (Nem magát a difficulty-t mutatja meg, hiszen az nem férne bele, hanem annak egy hatvánnyal kifejezett közelítő értékét). (4byte)
  • nonce: Azon egyedi, egyszer használatos érték, aminek a segítségével sikerült kiszámolni a megfelelő block hash-t. (4byte)

Ezen 80 byte kerül hashelésre (sha256(sha256(header))). Amennyiben a keletkező hash nem éri el a hálózatban megjelölt difficulty-t, akkor a header “nonce” eleme kerül növelésre egy értékkel és újraszámításra kerül a hash. Ez egészen addig növekszik, amíg nem keletkezik egy megfelelő hash. Ha mind a 32 bitnyi nonce kipróbálásra kerül és még mindig nincs meg a megfelelő difficulty, akkor jellemzően vagy a timestampet updatelik, vagy pedig a coinbase transacion-t annak érdekében, hogy azon keresztül változzon a teljes 80 byte-os block nagy része, ezzel újabb próbálkozási lehetőségeket teremtve. Ha belenézel bármelyik block coinbase textébe, akkor ott jellemzően látsz egy nagyon katyvasz, zavaros részt:

Height   Age.        Version         Miner    Coin Base Text         Block Size (kB)
479024  14 minutes ago  0x20000000  Unknown  0OdY#9]| 147.02
479023  52 minutes ago  0x20000000  Unknown  /OZY#}Af  26.50
479022  1 hour ago  0x20000000  Unknown  .OA YYC.  49.85
479021  1 hour ago  0x20000000  Unknown  -OSY#         50.29
479020  1 hour ago  0x20000000  Unknown  ,O.NY#{? 30.44
479019  1 hour ago  0x20000000  Unknown  +O<LY#8      52.74

Ez a bizonyos Coinbase Text egyfajta indikátora annak, hogy mennyire sokszor kellett null-tól 4294967295-ig végig pörgetni a nonce értékét a megfelelő hash megtalálásáig.

Na de mi is a megfelelő hash és hogy jön ide a difficulty?

Az a jó hash algoritmus, ami garantálja azt, hogy (bytera) AZONOS hosszú üzenetnek a hash-e garantáltan különböző kell hogy legyen két különböző tartalmú üzenet esetén. Ha van rá lehetőség, hogy két különböző üzenetnek ugyanaz legyen a hash-e és esetleg ennek valószínűsége akár kalkulálható is, akkor az megdönti az adott hashing algoritmus megbízhatóságát. Emiatt veszítette el anno a támogatottságát az MD5 algoritmus és hasonló sorsra jutott az SHA1 algoritmus is. Mivel a hashing algoritmus minden körülmény között ugyanazon információból ugyanazon lenyomatot képezi, ezért annak esélye is determinisztikusan meghatározható, hogy az adott hash bizonyos fix jellemzőkkel rendelkezzen. Pl annak az esélye, hogy a keletkező hash első karaktere nulla lesz: 2**(-4)-en, tehát ha adott üzenet egy részének (pl bytejának) kis mértékű módosításával (pl bináris növelésével) várhatóan 6,25% eséllyel (16 próbálkozásból) már el lehet érni egy olyan sha256 hash-t, aminek az első byteja nulla lesz.

Ha szeretnénk azt, hogy az első két byte legyen nulla, akkor ennek valószínűsége már 2**(-4*2) próbálkozás. Tehát átlagosan 256 alkalommal érdemes növelni a nonce értékét ahhoz, hogy meglegyen a kívánt dupla nulla kezdetű hash.

Mi van akkor, ha mi szeretnénk 4 nullát? Ez már 4294967295 kísérletet jelent, tehát ehhez legrosszabb esetben az összes nonce-t végig kell próbálni a megfelelő hash eléréséhez. Amennyiben a difficulty és ezáltal a próbálkozások száma meghaladja a uint32 max (4294967295) értéket, akkor csak úgy lehet további próbálkozásokat beiktatni, ha valami mást is módosítunk az eredeti üzenetben. Erre ott van ugye egyrészt a timestamp, másrészt pedig a fentebb már említett coinbase text, ami direkt módon módosítja a block header merkle tree értékét.

Ebből máris le lehet vonni egy fontos következtetést: a 80 byteos block header-ből csak a következő tételek módosításával lehet megfelelő hasht képezni: merkle tree, timestamp és a nonce, hiszen a többi tag fix. (a verzió byte is fix a BIP9 követelmény miatt!).

A helyzetet még tovább rontja, hogy a coinbase tranzakció minden block legelső tranzakciója így az mindig fixen a fa bal első ágára kerül, ezért annak bármilyen módosítása nagy valószínűséggel a keletkező merkle root első 16 byteját módosítja csak. Ennek megfelelően a bitcoin hálózatban elérhető legnagyobb difficulty: 2**(-4*(16+4+4)), azaz: 7.922.281.625.514.264.34X.XXX.XXX.XXX

A jó hír, hogy ebből még csak éppen most készülünk átlépni a 1.000.000.000.000 értéket. Szóval a bitmain még nagyon-nagyon sok asic minert készíthet. Hely még bőven van a fejlődésre.

Mindebből látható, hogy a megoldandó puzzle-t a bányászok saját maguknak adják azáltal, hogy összerakják az adott blockot. Mivel egy block timestampje soha sem lehet alacsonyabb mint az előző 10 sikeresen kibányászott block timestampjének a mediánja, így az is adott, hogy egy bányásznak minimum mekkora hashing powerrel kell rendelkeznie a bányászathoz.

A keletkező block hashéből ráadásul könnyedén vissza lehet azt is ellenőrizni, hogy az mekkora difficulty mellett készült:

>>> pinv = (2**256)/0x00000000000000001e8d6829a8a21adc5d38d0a473b144b6765798e61f98bd1dL
>>> pinv
154566286767518877857L
>>> pinv/2**32
35987768035L

A mellékelt példában látható, hogy ez a block 35.987.768.035-ös difficultyig jó. Régi szép idők…

Mivel a block kell, hogy tartalmazza a miner által megismert előző block hashét is, ezért ha valaki egyszer úgy döntene, hogy átveszi a hatalmat a bitcoin lánc felett és mondjuk visszamenőlegesen módosít egy tranzakciót 10-20 blockkal korábban, akkor ehhez nem csak annak a blocknak a puzzlejét kell megoldania, hanem az azt követő 10-20 block hashing feladványát is. Ebből is látható, hogy miért is annyira fontos egy-egy tranzakció esetén a “confirmation” figyelembe vétele. Vegyünk ehhez egy egyszerű példát:

  • Adott a világ legerősebb miner poolja, legyen ez mondjuk az antpool. Az antpool úgy dönt, hogy blockchaint akar manipulálni. Az antpool jelenleg az összesített hasing power ~20%-ával rendelkezik. Ezzel ő ki tud termelni 100 blockból 20-at. Mivel a blockok 10 percenként készülnek el, ezért ebből logikusan következik, hogy az antpool a jelenlegi nehézségen átlagosan 50 percenként tud elkészíteni egy-egy blockot.
  • Ha készít az antpool egy ügyesen preparált blockot amibe belerejt egy double-speninget vagy egy olyan tranzakciót aminek a hash-e nem jó, akkor ezt a többi node automatikusan elutasítaná, lévén nem jó a block. Mivel a többi node hashing powere magasabb, ezért ők ezt követően gyorsabban tudják folytatni a jó láncot így övék a kanonikus lánc, tehát az ő forkjuk lesz a “bitcoin blocklánc”.
  • Ahhoz, hogy az antpoolé legyen a kanonikus (leghosszabb lánc), ahhoz az kellene, hogy a nyilvánvalóan hamisított blockot követően olyan mennyiségű blockot tudjon kiadni amelyek – hitelesítve a rossz blockot – a leghosszabb blockot eredményezik. Ez csak akkor lehetne lehetséges, ha az antpool megszerezné az összes hashing power 51%-át.
  • Fontos, hogyha ilyesmi történne, akkor ez teljesen nyilvánvaló lenne, hiszen lenne egy blocklánc amibe csak azt antpool bányászik és lenne egy leforkolt blocklánc ahova mindenki más.
[commercial_break]

Röviden ennyi a sokszor emlegetett “51%-os attack” és a “bizánci generálisok problémájának” történetet. Jelen esetben ugye a minerek (pontosabban miner poolok) reprezentálják a bizánci generálisokat.

Bizánci  hibakezelése avagy a bizánci generálisok fejtörője: Adott egy város. Körülötte helyezkedik el a nagy bizánci hadsereg, amelynek egyes haderőit egy-egy generális irányít. A generálisok egy része hagyná a fenébe a támadást a többiek viszont támadni akarnak. A fejtörő feladványa az, hogy miként tudnak a generálisok konszenzusra jutni a támadás/nem támadás kérdésében, valamint a támadás pontos időpontjának kérdésében. A bizánci hibakezelés a mai modern elosztott (jellemzően peer-to-peer) rendszerek egyik legnagyobb fejtörője. A megoldás roppan egyszerű: mindegyik generális akkora szavazati joggal rendelkezik amennyi erőforrás (haderő) van a kezében. Ha akad olyan generális, aki az össz haderő 51%-ával rendelkezik, akkor az NEM elosztott rendszer, hiszen önállóan tud döntést hozni, amit az összes generálisnak követnie kell. A bitcoin hálózat ugyanezt az elvet követi és ezért KELL minden “generálisnak” (bányásznak) hashing powerrel (PoW) bizonyítani azt, hogy mekkora “haderő” is áll a háta mögött, hisz ez határozza meg egyrészt a szavazai jogát, továbbá a jutalmának a mértékét is a sikeres feladat elvégzés után.

Ez az a probléma ami egyébként a bitcoinban perpillanat teljesen ki van védve, hiszen megfelelő arányban oszlik el a hashing power és ez az a probléma ami a BCash (BCH)-ban teljesen fenn állhat, hiszen a hashing power több mint 90%-át egy szem magát “Unkown”-nak tituláló miner szolgáltatja. Tessék lassan elgondolkodni, hogy vajon hol van az a pont, amikor eme jótét ismeretlen bányász úgy dönt, hogy akkor éppen eleget dolgozott most már és “összepakolva a cócmókot” preparál egy szépen összerakott blockot, amit saját maga konfirmál is 5-10-20 követő blockkal, majd betolva az összegereblyézett vagyonkáját tol egy all-in-t a tőzsdéken. Technológiailag erre minden lehetősége meg van, már csak motiváció kérdése…

#update: Lehet mondani, hogy paranoiás vagyok, azt is, hogy amit írok az egy agyrém és ilyesmi nem történhet meg. A baj az, hogy a BCH rövid történelmében ez már megtörtént és a dev-ek most azon agyalnak, hogy vajon hogyan is tudnák megoldani ennek a kivédését SegWit nélkül:

Bookmark the permalink.

18 Comments

  1. “vajon hol van az a pont, amikor eme jótét ismeretlen bányász úgy dönt, hogy akkor éppen eleget dolgozott most már és “összepakolva a cócmókot” preparál egy szépen összerakott blockot, amit saját maga konfirmál is 5-10-20 követő blockkal, majd betolva az összegereblyézett vagyonkáját tol egy all-in-t a tőzsdéken.”???
    Ezt a reszt kifejthetned bovebben???
    Odaig ertem, hogy kepes lenne olyan tranzakciokat letrehozni, konfirmalni amik nem valosak es ha meg van mondjuk 10-20 blockban ezek a tranzakciok (amik akar lehetnek hamisak is) akkor ugymond birtokolja az osszes BCH…
    a problemat en abban latom, hogyha ezt megtenne akkor nagyon rovid ido alatt ertektelenne valna nem csak az osszes BCH-ja,de a korabbi munkaja is…
    mert hogyan tudna ertekesiteni es kinek az osszes BCH-jat (valodit es hamisat)….
    Jo nehany altalam ismert tozsde nem csak 20 konfirmalashoz koti,de idoben 3,4,5 honapig nem hajlando a BCH-t BTC-re cserelni…

    Egyebkent nagyon jonak tartom a cikket,de velemenyem szerint a hashing power es a double spending ill. a BCH-ban levo kockazatot…minimum 2 reszben kellett volna leirni, mert a tobbsegnek szerintem ez igy kicsit sok…(sajat velemeny)….
    koszi hogy megosztottad…

    • A jótét Unknown fedőnevű miner perpillanat tetemes mennyiségű energiát pazarol arra, hogy fenntartson egy hálózatot. Ez igencsak energiaigényes, ráadásul a bitcoin protokoll miatt a mining rewardként kapott coinbase-t csak 100 sikeresen kiállított block után tudja elkölteni a bányász.Ráadásul nem csak a block reward fájhat neki hanem a TX költség is. EGy átlagos bitcoin block elkészítéséért a bányász ma 8000 USD körüli taranzakciós díj jutalmat kap, egy átlagos BCHért pedig 30-70 dollárt…

      A BCH üzleti adaptációja pedig szintén nem túl fényes. Bár a BCash fanok lendülete egyelőre kitart, de ha nem történik nagy ugrás az adaptációban, akkor szépen lassan elhal a hálózat. Perpillanat áltagosan óránként 70-100 tranzakció van a BCH hálózatban, és ez a szám folyamatosan csökken.

      A fentebbi általad kiemelt idézet egy lehetséges scenario arra, hogy miként is végződhet ez a történet és miként is tudja esetleg a Unknown később leírni a veszteségeit. Nem kell neki ehhez egyébként mindezt látványosan tennie. Nem kell a TE és az ÉN BCH-mat ellopnia. Elég csak belenézned az előző cikkbe, a bitcoin blocklánc hemzseg a több éve mozdulatnal UTXO-któl. Elég csak azokból néhányat megmozdítani. Mire bárkinek is feltűnne ez…

      • Az is lehet, hogy ez a hardfork csak 1 foprobaja volt a novemberinek?!
        Mindenesetre az elgondolkodtato, hogy nehany Kinai erdekcsoport, banyasz eleg jelentos reszevel rendelkezik a banyaszatnak es amig ebben nem lesz pozitiv valtozas, addig egyelore ugy nezz ki, hogy idonkent elo fognak fordulni hardfork-ok.
        Jo volna megfelelo megoldast talalni a tranzakcio szamanak novelesere ill. a megfelelo block meretre, mert a tranzakcios dijak idonkent kezdtek szamottevove valni.
        En a helyzetet hasonlonak talalom mint a Netscape es Internet Explorer-t 1998-99-ben.Napjainkban az emberek tobbsege nem igazan hasznalja ezeket, tobbseg google-t hasznal.Persze lehet hogy ez rossz pelda es nem BTC-t es BCH-t vagy LTC-t kellene egymashoz hasonlitani, hanem mondjuk BTC-t es ETH-t.
        ETH-nal meg ugy ahogy latni, hogy a sorozatos ICO-k miatt (bar lehet butasagot mondok) novekszik az erteke ill. felhasznalasi terulete; ezzel szemben BTC-ben epitgetik az infrastrukturat,de nem igazan latom, hogy mi fog erre raepulni.
        Persze az is lehet hogy a jelenlegi arfolyam emelkedes mogott nincs mas, mint a kulonbozo kryptokban elert nyereseget realizaljak a kereskedok ill. befektetok es BTC-re valtjak ezeket.
        Pszichologiailag azert a 300$-os BCH eleg magasnak tartom, mert valljuk be 1 teljesen uj blocklanc ami nem tul regota letezik es kozel 5,3B a piaci kapitalizacioja es ahogy a korabbi cikkeidben irtad a blokkokat kevesbe eri meg banyaszni ill. idonkent eleg sok idot vesznek igenybe.
        Nem tudom de lehet hogy erdemes volna arrol irnod, hogy korabban milyen kiserletek voltak hardforkokra ill. hogyan valtozott a kulonbozo nodes aranya.
        Meg az is lehet, hogy a BTC-rol kulonbozo agak valnak le melyek kepesek lesznek eletben maradni es kulonbozo funkciokat latnak majd el es ezekre epul majd az infrastruktura.

    • Abban egyébként teljesen igazad van, hogy kissé sután hoztam össze egy alapvetően “tudományoskodós” postot az aktuálpolitikai helyzettel, ez nem szerencsés. Köszönöm ezirányú tanácsod, törekszem megfogadni 🙂

      • A cikked eszmeletlen jo volt, es nagyon erdekes informaciora hivja fel a figyelmet.
        En csak 2015 eleje ota figyelgetem kereskedem ill. fektettem be BTC-ba.
        BCH meg olyan extra (semmibe nem kerult) szoval nem igazan gondolkodtam hogy erdemes volna-e penze tenni es BCH-t hedgenek is fel lehet fogni…
        Mindenesetre mar a BTC es BCH erteket egyutt figyelem.
        A cikked pedig komolyan elgondolkodtatott,mert nem konnyu jo cikket talalni raadasul ilyen temakorben…szerintem a tobbseg erdeklodve varja a kovetkezo irasaidat….
        a Beka emberek tamadas pedig meg humoros is volt, az az egyik kedvencem…

        Szoval koszonom az idodet es energiadat es tovabbi sok sikert kivanok a munkadhoz!

  2. Függetlenül a BCH-tó: tegnap a bitfinex gyakorlatilag kizárta az USAbeli ügyfeleit, mert nem tud/nem akar megfelelni a hatóságok előírásainak. Én az egész kripto bizniszre nézve sokkal nagyobb kockázatot látok abban, hogy a szabályozó hatóságok ellehetetlenítik a tőzsdéket, esetleg a bányászatot. Ugye Kínában azért sikerült betiltani a fél internetet. Kontrollvesztés az állam oldaláról, a bankok esetleg a profitjukat féltik, így, hogy “megvédjék” a polgárokat a kockázatos kripto világtól, betiltják. Lásd Magyarországról kitiltották az online fogadási irodákat, hogy védjék a Szerencsejáték Zrt. érdekeit.

    • ha valami igazán szabad akar lenni, azt elsők között érdemes betíltani. Az USA nagyon jó a betiltósdiban és embargóban. Nézd meg milyen jól ment nekik az alkoholtilalom, vagy a Kubai embregó is… Az ICO-k és a DAO-k immáron két éve tiltottak az USA-ban a “The Dao” botrány miatt kiadott SEC állásfoglalás miatt. Ez persze ott kint a kutyát sem érdekli.

      • A két év az gondolom elírás 🙂
        Innentől kezdve egy érdek és befolyás háború indul meg. Ha a kibocsátóknak kell az USA piac, akkor meg kell felelniük a SEC-nek, ld. Filecoin ICO.
        A másik oldalról, hosszú távon, az USA gazdasága kimaradhat az ICO robbanásból. Amíg viszonylag kicsi ez a piac, addig valóban nem sok vizet zavar. Ha azonban felhízik, akkor egyes gazdasági szereplőknek fájó lehet, ha kimaradnak. Arra számítok, hogy megindul egyfajta kompromisszumkeresés a teljes szabályozatlanság és a SEC eddigi szabályozási politikája között.

        A leghasznosabbnak azt látnám, ha különböző szintű szabályozásokat hoznának létre, és a kibocsátók/befektetők ez alapján választhatnának, hogy milyen rizikójú/szabályozottságú piacon tevékenykednek.

  3. Nekem is van egy hasonló félelmem.
    Folyton azt hallani, hogy a Bitcoint (és a többit) csak úgy lehet megállítani, ha lekapcsolják az internetet. Erre pedig első reflexből legyintünk, hogy az bizony úgysem fog megtörténni.

    Pedig könnyen lehet, hogy igen.

    Kína simán tiltja azt, amit akar, magasról tesz a demokráciára.
    A Facebook, Apple pedig kénytelen alkalmazkodni, ha a piacán akar maradni.
    Az USA hasonlóan tilthat, amit akar. A Bitfinex sztori mélységét nem ismerem, de azt látom, hogy nekünk a “vadkeleten” könnyebb Bitcoint venni, mint odakint.

    Az itthoni szerencsejátékos példa is “szépen” mutatja, hogy az Internet csak addig szabad, amíg nem sért komoly érdekeket.

    Ha ez a Bitcoin történet tovább szövődik és elér egy kritikus “jelzési szintet” “odafent”, lehet, hogy komolyabban beavatkozhatnak.

    Na, akkor lesz discount áron a Bitcoin. 🙁

    • Szerintem ez hülyeség.
      Teljesen nem lehet lekapcsolni az internetet véglegesen. (hacsak nem törne ki valami óriási háború, és mindenki beleegyezne egy hírzárlatba).
      Hosszabb távon átalakulna a dolog. Pl. Adott egy rakat router, mobiltelefon. Ezek elméletileg képesek lennének arra, hogy úgy működjenek, mint az iota.
      Hálózatot alkotnának egymással, és szépen küldik át az adatot a hatótávon belül eső pontoknak. A facebook nem élné túl, te a kriptonpénzek igen.
      (És ne feledd, hogy nagyon sok nagyon gazdag embernek van benne nagyon sok pénze, ők sem hagynák veszni az egészet).

      Egyébként meg SMS-ben is működtethető a blokklánc. Nagyon sok kreatív programozó dolgozik a különböző coinok fejlesztésében, nagyon hamar találnának alternatív megoldásokat, ha nem lenne internet.

      • Nem is az egész Internet “lekapcsolására” gondolok itt. Hanem arra, amit már látunk: Egyes oldalak tiltása, szolgáltatások ellehetetlenítése.

        Egyébként igazad van:
        “nagyon sok nagyon gazdag embernek van benne nagyon sok pénze, ők sem hagynák veszni az egészet”
        Talán ez az egyik legnagyobb biztosíték. 🙂

    • Szerintem ha betiltják, akkor csak a clearneten tudják betiltani.
      Azután pedig minden átvándorol onionos domainre, és és torral csatlakozunk az exchangekhez

      Persze ezzel megint a geekeké lesz az összes kriptó, minden tiltásra jön egy új módszer, amivel ki lehet kerülni azt.

      • Mielőtt nagyon bele melegednénk a ‘betiltós’ témába, azt szögezzük le, hogy a világ nagyhatalmai pont hogy nem betiltani akarják a bitcoint és bármilyen egyéb blockchainre alapozó decent modellt, hanem kifejezetten szabályozni. Azt tiltod be ami az ellenséged, azt pedig szabályzod amiből hasznodra válhat, profitálni tudsz belőle.
        A bitfinex lépése gyakorlatilag felér egy hisztis óvodás reakciójával. Ez az ő döntésük. Nem kizárt, hogy ezzel a lépéssel akár nyomást akarnak visszafelé gyakorolni, hiszen tény, hogy boldog-boldogtalan most cryptoba akar invesztálni, amihez nem ártanak tőzsdék.

  4. Nagyon jó a cikk, gratulálok!
    Két technikai észrevételem viszont van.

    1) A “nonce” 4 byte hosszú, jól írtad, hogy 32 bit, viszont az értéke 0 és 4294967295 közé eshet, nem 65535 a legmagasabb érték, ami a 2 byte-on tárolható legmagasabb érték.
    2) 0,0625% esély valójában 6,25%-os esély.

    • Mindkettő teljesen jogos. Nem is értem, hogy néztem be a uint_32-őt 🙂 Köszi az észrevételt! Korrigálom a cikkben.

  5. Ez a leading-zeros magyarázat csak egy leegyszerűsített megfogalmazása annak ami valójában történik a motor háztető alatt. Mert valójában nem a nullákat keressük hanem azt a hash-t ami kisebb vagy egyenlő mint a Target hexadecimálisban. A Target értéke 2^(256-k) ahol a k egy float szám (amből már következik hogy nem a 0ák számáról van szó, hiszen 0-ák darabja mindig egész számlehet csak, nincs pl fél nulla), amit a bitcoin állít be minden 2016. Block után (kb 2 hét). Minnél kisebb a Target (vagy minnél nagyobb a k szám) annál nehezebb megtalálni a helyes hash-t ami kisebb nála.

    • Vagyis akkor lesz megoldott egy block ha SHA256(SHA256(s,x,c)) < 2^(n-k). Ahol a c az a Nonce, az x a saját btc címed ( ez a coinbase-ben található. ha megodod ide utalódik a reward, ettől lesz mindenkinek egyedi a blockja így senki se fogja ugyan azt a melót csinálni, vagy pool esetén ettől lesz mindenkinek ugyan az a blockja és csak a Nonce-t szabdalják fel egymás között), az s pedig a block header. Amúgy a Target Bits néven van jelen compact formátumban a block header-ben.

Leave a Reply

Your email address will not be published. Required fields are marked *