Kad ljudi čuju da je neki kripto projekt hakiran, najčešće zamišljaju istu stvar: netko je pronašao rupu, ušao u wallet ili pametni ugovor i ukrao tokene koji su već postojali. Kod Harmonyja se u kolovozu dogodilo nešto puno neugodnije. Harmony ONE exploit nije počeo klasičnom krađom postojećeg novca. Napadač je uspio stvoriti nove ONE tokene koji prije toga nisu postojali.

Prve informacije govorile su o približno 4 milijarde novih ONE tokena. Već je to zvučalo nevjerojatno.
A onda je istraga otišla dublje.
Harmony je nekoliko dana kasnije objavio da stvarni broj nije bio 4 milijarde, nego približno 3,01 trilijun lažno stvorenih ONE tokena raspoređenih kroz nekoliko transakcija. Drugim riječima, prvotno otkriveni dio bio je samo mali komad cijelog problema.
Tu se odmah nameće pitanje koje je puno zanimljivije od same brojke.
Ako blockchain određuje koliko tokena postoji, kako netko može napraviti nove tokene iz ničega?
Token nije fizički predmet koji negdje stoji
Da bismo razumjeli što se dogodilo, prvo moramo maknuti jednu pogrešnu sliku iz glave.
Token ne postoji kao digitalni novčić spremljen u nekom folderu.
Blockchain vodi stanje.
Možemo ga zamisliti kao veliku knjigu koja kaže koliko određena adresa ima tokena.
Ako na mojoj adresi piše 100 ONE, ja imam 100 ONE.
Ako pošaljem 20 tebi, mreža mijenja stanje.
Kod mene ostaje 80.
Kod tebe se pojavljuje 20.
Ukupna količina se nije promijenila.
Samo smo postojeće tokene premjestili.
Ali blockchain također ima pravila prema kojima novi tokeni mogu nastati.
Kod nekih mreža novi tokeni nastaju kao nagrada validatorima ili rudarima.
Kod drugih ih može stvarati određeni pametni ugovor.
Bitno je da mreža vrlo precizno zna kada je novo stvaranje dopušteno.
Ako taj dio pravila pukne, problem više nije samo da je netko ukrao novac.
Problem je da je netko dobio pristup stroju za stvaranje novog novca.
Zamislimo banku koja dvaput knjiži isti ček
Harmony koristi sustav podijeljen na shardove.
Neću ulaziti duboko u tehniku jer za razumijevanje napada nije potrebno znati kako svaki dio radi.
Dovoljno je zamisliti da mreža ima više odvojenih dijelova koji međusobno komuniciraju.
Recimo da prebacujemo vrijednost iz jednog dijela mreže u drugi.
Prvi dio kaže:
"Ovdje smo oduzeli 100 ONE."
Zatim nastaje digitalna potvrda koja drugom dijelu govori:
"Možeš sada dodati 100 ONE primatelju."
Ta potvrda mora vrijediti samo jednom.
Isto kao ček.
Ako odem u banku s čekom na 1.000 eura, banka ga obradi i označi kao iskorišten.
Ne mogu sutra doći s istim čekom i opet tražiti 1.000 eura.
Harmonyjev problem bio je upravo u toj vrsti provjere.
Prema kasnijoj rekonstrukciji incidenta, ranije obrađena potvrda mogla se ponovno iskoristiti. Sustav nije dovoljno dobro prepoznavao da je vrijednost već bila obračunata.
I tu nastaje katastrofa.
Jedan prijenos može postati više novih tokena
Zamisli da s jednog dijela mreže šaljem 100 ONE u drugi.
Na prvoj strani 100 ONE je legitimno obrađeno.
Druga strana dobije potvrdu i doda 100 ONE.
Sve je u redu.
Ali sada zamisli da istu potvrdu uspijem poslati ponovno.
Ako sustav ne prepozna da je već korištena, opet mi doda 100 ONE.
I ponovno.
I ponovno.
Problem je u tome što na početnoj strani više ništa ne oduzimamo.
Tamo je prijenos izvršen samo jednom.
Ali na drugoj strani vrijednost se pojavljuje više puta.
To je trenutak kada nastaje novac koji nije imao odgovarajući izvor.
Nije ukraden iz mog walleta.
Nije prebačen s tvoje adrese.
Nije došao iz neke riznice.
Stvoren je zato što je blockchain prihvatio neispravno stanje kao valjano.
Harmony je kasnije opisao problem kao grešku u provjeri cross-shard potvrda koja je omogućila ponovnu obradu valjane potvrde i stvaranje novih ONE tokena bez odgovarajućeg umanjenja negdje drugdje.
Harmony ONE exploit pokazuje što zapravo znači "supply"
Ovo je dio koji mi je posebno zanimljiv za običnog investitora.
Često otvorimo CoinMarketCap ili neki drugi servis i vidimo:
circulating supply,
total supply,
max supply.
Broj izgleda čvrsto.
Ako piše da postoji određena količina tokena, imamo osjećaj da je ta brojka nekakav zakon prirode.
Nije.
To je rezultat pravila zapisanih u kodu.
Ako kod kaže da nikada ne može postojati više od određene količine i ta pravila rade kako je zamišljeno, broj ima težinu.
Ako postoji greška koja omogućuje zaobilaženje tih pravila, broj na ekranu odjednom više ne znači puno.
Zato me uvijek zanima ne samo što piše pod supply, nego tko i na koji način kontrolira stvaranje novih jedinica.
Jer "ograničena ponuda" vrijedi samo dok je mehanizam koji je ograničava stvarno siguran.
Kako trilijuni tokena ne vrijede trilijune dolara
Sada dolazimo do još jedne stvari koja na prvu djeluje zbunjujuće.
Ako je netko napravio trilijune novih ONE tokena, znači li to da je napravio trilijune dolara?
Naravno da ne.
Cijena tokena ne znači da svaki novi token možeš prodati po zadnjoj tržišnoj cijeni.
Recimo da ONE vrijedi 0,001 dolar.
Ako napraviš milijardu ONE, matematički može izgledati kao da imaš milijun dolara.
Ali čim pokušaš prodati ogromnu količinu, mora postojati netko tko će je kupiti.
Order book nije beskonačan.
Likvidnost nije beskonačna.
Kako prodaješ sve veću količinu, cijena pada.
U slučaju Harmonyja dio lažno stvorenih tokena vrlo brzo je završio prema burzama, a ONE je snažno pao nakon što je exploit postao poznat. Prve analize govorile su da je velika većina tada otkrivenih tokena već bila poslana prema burzama ili prodana prije nego što je šira javnost shvatila što se događa.
Zato broj stvorenih tokena i stvarni iznos koji napadač može izvući nisu ista stvar.
Najveća šteta možda nije novac koji je haker izvukao
Kod ovakvog incidenta svi prvo traže jednu brojku.
Koliko je ukradeno?
Razumijem zašto.
To je najlakši način za usporedbu hakova.
Ali kod Harmonyja mi je važniji drugi problem.
Ako korisnici više nisu sigurni da blockchain može održati vlastita pravila ponude, što onda zapravo znači jedan ONE?
Kriptovaluta se u velikoj mjeri oslanja na povjerenje u pravila.
Ne moramo vjerovati pojedinom direktoru.
Ne moramo vjerovati banci.
Ali moramo vjerovati da mreža provodi ono što piše u njezinim pravilima.
Ako kaže da token ne može nastati bez određenog događaja, očekujem da je to istina.
Kada netko uspije zaobići to pravilo, ne napada samo cijenu.
Napada vjerodostojnost cijelog računovodstva mreže.
Zašto blockchain nije automatski siguran samo zato što je blockchain
Ovakvi slučajevi su korisni jer ruše jednu opasnu pretpostavku.
Ljudi često govore:
"To je na blockchainu, znači sigurno je."
Blockchain je samo način vođenja i potvrđivanja podataka.
Ako je logika po kojoj se podaci potvrđuju pogrešna, decentralizirana mreža može vrlo uredno i vrlo brzo širiti pogrešno stanje.
Računala ne znaju što je čovjek namjeravao.
Ona izvršavaju pravila.
Ako pravilo kaže da je određena potvrda valjana, nodeovi je mogu prihvatiti.
Ako postoji način da istu potvrdu iskoristimo više puta, mreža neće sama od sebe reći:
"Čekaj, ovo mi djeluje sumnjivo."
Mora postojati konkretna provjera u kodu koja to sprječava.
Zato sigurnost blockchaina nije samo kriptografija.
To je i kvaliteta koda.
Način na koji su povezani različiti dijelovi mreže.
Provjere kojima se sprječava dvostruko korištenje.
Način na koji se testiraju nadogradnje.
I sposobnost developera da razumiju što sve može poći po zlu.
Greška može godinama biti nevidljiva
Ovo je možda najneugodniji dio softverskih ranjivosti.
To što nešto godinama radi ne znači da je dokazano sigurno.
Možda nitko još nije pronašao pravi način da ga slomi.
Zamisli bravu na kući.
Deset godina nitko nije provalio.
To ne znači da brava nema konstrukcijsku grešku.
Možda je jednostavno nitko dovoljno sposoban nije pokušao otvoriti na pravi način.
Isto vrijedi za blockchain kod.
Može obrađivati milijune transakcija.
Može godinama izgledati stabilno.
A onda netko pronađe kombinaciju koju developeri nisu predvidjeli.
U Harmonyjevom slučaju problem je postao posebno neugodan jer se radilo o osnovnoj stvari: sprečavanju ponovnog korištenja potvrde koja je već obrađena.
Kada takva zaštita zakaže, posljedice se ne mjere samo jednim walletom.
Mogu zahvatiti ukupnu ponudu tokena.
Može li se lažno stvorene tokene samo spaliti?
Na prvu izgleda kao logično rješenje.
Znamo koje tokene je haker stvorio.
Pronađemo ih.
Pošaljemo ih na burn adresu.
Problem riješen.
Ali stvarni svijet vrlo brzo zakomplicira takav plan.
Što ako je napadač dio tokena već prodao?
Netko drugi ih je kupio ne znajući da imaju problematično podrijetlo.
Što ako su prošli kroz DEX?
Što ako su zamijenjeni za drugu imovinu?
Što ako su prešli preko bridgea?
Što ako sada postoje kod stotina korisnika koji nisu sudjelovali u napadu?
Harmony je objavio da je uspio pratiti gotovo sve lažno stvorene tokene, ali da jednostavno spaljivanje nije sigurno rješenje upravo zato što su tokeni već prošli kroz različite servise, poolove i korisnike.
Zato tehnička greška vrlo brzo postaje društveni problem.
Kada popravak boli ljude koji nisu ništa skrivili
Harmony je zbog toga došao do odluke da planira vratiti lance na stanje prije potvrđenog stvaranja lažnih tokena.
To je tema koju smo već detaljno obradili kod blockchain rollbacka, pa ovdje neću ponovno prolaziti cijelu mehaniku.
Ali jedna stvar je važna.
Popraviti exploit nije isto što i samo ukloniti hakera.
Ako vraćaš stanje blockchaina, možeš obrisati i legitimne transakcije koje su se dogodile nakon napada.
To znači da sigurnosna greška u jednom trenutku počinje stvarati račun koji plaćaju i potpuno nevini korisnici.
I upravo zato prevencija vrijedi neusporedivo više od naknadnog popravljanja.
Kad sljedeći put vidiš "max supply", pogledaj malo dublje
Harmony ONE exploit je ekstreman primjer, ali lekcija vrijedi puno šire.
Token nije siguran zato što web stranica kaže da ima ograničenu ponudu.
Nije siguran ni zato što se nalazi na blockchainu.
Vrijednost tih tvrdnji ovisi o pravilima koja mreža provodi i o kvaliteti koda koji ta pravila čuva.
Kada gledam neki projekt, zato me ne zanima samo koliko tokena postoji.
Zanima me kako novi tokeni mogu nastati.
Tko ima ovlasti za mintanje.
Postoje li bridgevi ili cross-chain mehanizmi koji mogu stvarati reprezentaciju vrijednosti.
Može li jedna pogreška zaobići ograničenje.
Jesu li najosjetljiviji dijelovi sustava dovoljno provjereni.
Jer na kraju cijela ideja digitalne oskudice počiva na jednoj vrlo važnoj pretpostavci:
Mreža mora znati razliku između tokena koji smije nastati i tokena koji ne smije.
Harmony je u kolovozu pokazao što se dogodi kada ta granica pukne.
Haker ne mora pronaći nečiji seed phrase.
Ne mora otvoriti tvoj wallet.
Ne mora ukrasti jedan jedini token koji je već postojao.
Ponekad je dovoljno pronaći način da blockchain uvjeri kako nešto što nikada nije trebalo postojati zapravo postoji.
A kada sustav sam potvrdi lažni novac kao pravi, više ne govorimo samo o haku.
Govorimo o trenutku u kojem je puklo samo računovodstvo mreže.
– Mario Jaklenec | KriptoEntuzijasti –
Kripto nije igra sreće, nego disciplina i razumijevanje onoga u što ulažeš.
Znanje, rizik, analiza i dugoročno razmišljanje – to je put kojim hodamo.
Edukacija bez hypea. Zajednica bez slijepog praćenja. Cilj bez iluzija.
Hvala svima što čitate naše članke na kriptoentuzijasti.io!
🌐 Posjeti nas: https://kriptoentuzijasti.io
💬 Pridruži se zajednici: https://discord.gg/kriptoentuzijasti
🐦 Prati nas na X-u: https://twitter.com/k_entuzijasti
🧠💡 Analiziraj prije nego vjeruješ – misli samostalno, jer će inače tržište misliti umjesto tebe.
U svijetu kriptovaluta gdje je buka veća od znanja, edukacija je tvoj najvažniji alat.
Ne gradi mišljenje o tržištu na temelju memova, FOMO objava i lažnih obećanja o "pasivnoj zaradi" – nego na znanju, iskustvu i razumijevanju kako stvari zaista funkcioniraju.
Ako vam se sviđa ono što čitate, podijelite članak na društvenim mrežama i pomozite nam širiti kripto znanje.
Zajedno gradimo svijet kripta!
Haker ukrao McDonald’sov Instagram i izgubio 700 tisuća dolara s memecoinom.















