Od zdravila do strupa: Zakaj je dovoljenje postalo vir tveganja

1. Kaj je dovoljenje?

Začnimo z majhno zgodbo o izposojanju denarja:

Predstavljajte si, da si želim od prijatelja Jacka Ma izposoditi 1 milijon evrov. Jack brez oklevanja dvigne telefon in pokliče banko, potrdi svojo identiteto in ji naroči, naj mi odobri limit za izplačilo v višini 1 milijona. Banka to pooblastilo zabeleži in vse, kar moram storiti, je, da obiščem banko, se identificiram in dvignem odobreni znesek. Če banka pooblastila ne najde, je moja zahteva zavrnjena.

Zdaj pa raziščimo, kako se ta postopek spremeni z drugačno metodo – dovoljenjem. V tem scenariju, ko od Jacka zahtevam 1 milijon, on mimogrede izvleče ček, vpiše znesek, ga podpiše in mi ga izroči. Ček odnesem v banko in banka ga na podlagi Jackovega podpisa unovči tudi brez zapisa o odobritvi.

To ponazarja razliko med možnostma Odobriti in Dovoliti. Odobritev, ki je bistvena značilnost ERC-20, se pogosto uporablja že od začetka delovanja Ethereuma. Toda zakaj je bilo dovoljenje uvedeno pozneje z ERC-2612, da bi dosegli enak učinek?

2. Zakaj je bilo dovoljenje potrebno?

Predlog ERC-2612 je bil predstavljen marca 2019 in dokončan oktobra 2022. Njegov razvoj je sovpadal z več skoki cen plina Ethereum. Zaradi besa na trgu v času bikovskih tekov so uporabniki porabili več za pristojbine za plin za hitrejše transakcije, pri katerih je lahko že prednost enega bloka pomenila znaten dobiček.

Vendar je ta pojav pomenil breme za uporabnike, saj je postopek dveh transakcij, potreben za odobritev, postal drag, zlasti za tiste z manjšimi sredstvi. Uvedba funkcije Dovoljenje je omogočila podpisovanje brez povezave, kar je odpravilo potrebo po takojšnji avtorizaciji na verigi. Ta sprememba je pomenila, da je bilo dovoljenje mogoče zagotoviti skupaj s prenosom žetona, podobno kot pri unovčenju čeka, ne da bi bila potrebna predhodna odobritev banke.

Čeprav se je to zdelo koristno, saj je Jack prihranil telefonski klic in zmanjšal stroške uporabniških transakcij, je nehote odprlo Pandorino skrinjico.

3. Hitro naraščanje tveganj

Pred Permitom so se hekerji pogosto zanašali na metode goljufanja, ki so od uporabnikov zahtevale, da podpišejo transakcije Odobritev, kar je povzročilo stroške za plin in sprožilo opozorila. Tudi če so uporabniki pomotoma kliknili, jim je časovni zamik za transakcije na verigi omogočal, da so dejanje spremenili z novo transakcijo.

Dovoljenje pa je spremenilo igro. Odpravlja pristojbine za plin in zahteva le podpis, kar zmanjšuje pazljivost uporabnikov. Ker je podpisovanje brez povezave, lahko hekerji prevzamejo nadzor in izkoristijo situacijo, kadar koli se odločijo, ter tako povečajo svoje koristi.

Vpliv te spremembe se kaže v naraščajočem številu žrtev ribarjenja in ukradenih zneskih. Po podatkih @ScamSniffer:

Takšnih rezultatov razvijalci, ki so predlagali dovoljenje, verjetno niso predvideli, saj je bil njihov prvotni cilj zmanjšati stroške plina in izboljšati uporabniško izkušnjo. Kar je bilo mišljeno kot dvorezen meč, se je izkazalo za oster nož, ki je prerezal zaščitne ovire okoli sredstev uporabnikov.

Pojavile so se podobne metode podpisovanja brez povezave, kot je Permit2 iz Uniswap, kar povečuje odvisnost od podpisovanja brez povezave in povečuje tveganja za ribarjenje.

4. Kako se zaščititi

Ob tej grozeči nevarnosti lahko uporabniki sprejmejo več previdnostnih ukrepov za zmanjšanje izgub:

1. Povečanje ozaveščenosti

2. Uporaba orodij

3. Izolacija sredstev in denarnice z več podpisi

Tudi za kriptožetone velja rek “ne daj vseh jajc v eno košarico”. Pomembna sredstva hranite v hladnih denarnicah, kot je Keystone, za dnevne transakcije pa uporabljajte majhne vroče denarnice. Tako tudi v primeru ogrožanja ene denarnice ne bo ogroženo vse premoženje.

Za večjo varnost lahko dodatno zaščito zagotavljajo denarnice z več podpisi. Dostop do sredstev je mogoč le z vnaprej določenim številom potrditev denarnice, kar zagotavlja, da ena sama ogrožena denarnica ne bo povzročila popolne izgube.

5. Zaključek

Čeprav ne moremo zanikati vrednosti, ki jo prinaša dovoljenje, pa vse večje število tatvin kaže, da so tveganja morda večja od njegovih koristi. Podobno kot nekoč razširjena metoda ethsign, ki je bila nazadnje opuščena zaradi varnostnih pomislekov, se tudi dovoljenje zdaj sooča s kritičnim trenutkom. Razvijalci morajo premišljeno razmisliti, ali naj to metodo v prihodnje izboljšajo ali opustijo.

Exit mobile version