Account abstraction: Pazl koji nedostaje za masovnu adopciju blokčejna
Različita su mišljenja oko toga koji je pravi put do masovnog usvajanja blokčejn tehnologije.
Stvoriti što više use case-ova zvuči kao smislen pravac. Što više šansi, to više uspeha, golica nas intuicija. Međutim, niti je neophodno da se ceo svet “blokčejnizuje”, niti kvantitet nužno znači veći uspeh. To znaju svi koji su isprobali spray and pray pristup u bilo čemu.
Češće je suprotno. Veliki uspeh je dostižniji kada je osvoje neka niša ili ograničen broj domena. Finansije se, primera radi, nameću kao prirodno stanište na kom bi blokčejn mogao da zasija, a benefiti blokčejna u oblasti finansija su vidljivi i ubedljivi.
Sve što je neophodne je da se ljudi aktiviraju i edukuju. Vrlo prosto. Kada shvate da je blokčejn opcija koja im pruža slobodu, efikasnost i finansijski bolje mogućnosti, vrlo brzo će mu se prikloniti. Zar ne?
Nažalost, ne. Ljudi nisu naročito racionalna bića, što znači da podsticaje treba preseliti u domen emocija.
Ahhhh, znam. Sve(t) se vrti oko novca. TradFi je gramziv, dakle ljudima treba dati više šanse da zarade i ostvare svoje snove. Super ideja. Treba napraviti platforme koje daju znatno veće prinose na štednju i niže kamate za pozajmice.
Celsius and FTX upadaju na čet.
Celsius and FTX odlaze sa četa.
Shvatili smo na teži način da centralizovane platforme nisu pravi put za masovnu adopciju. I sada nam ne preostaje mnogo opcija. Sve navedeno je donekle tačno, a opet nije pravo rešenje. Možda previđamo krucijalnu stvar?
Jednostavnost. Ljudi se lepe za jednostavne stvari.
Ako čovek ima na raspolaganju dve opcije, koju će izabrati? Bolju za koju je potrebno da se uloži napor ili slabiju za koju je potreban nikakav ili veoma mali napor?
Nekoliko faktora utiče na odluku, ali u velikoj većini slučajeva pobednik je opcija b.
Korisničko iskustvo: bolna tačka Web3-ja
Ako pitate običnog čoveka, realnost je da su decentralizovane aplikacije i manje-više čitav Web3 previše složeni i neintuitivni za korišćenje. Uzmimo za primer kako izgleda onboarding novog korisnika neke decentralizovane aplikacije za finansijske transakcije na Ethereumu. Za one koji su navikli da pristup digitalnim aplikacijama bude jednostavno logovanje mejlom i lozinkom/brojem telefona a korišćenje svedeno na klik-klik-klik, situacija je zbunjujuća.
I to od starta, budući da Ethereum ima dva tipa naloga (account-a)
1. Contract account — pametni ugovor, tj. kod koji se nalazi na samo lancu i koji reguliše samu logiku naloga.
2. Account u eksternom vlasništvu (EOA, tj. externally owned account) — koji je je u direktnom posedu neke osobe ili grupe ljudi. Najočigledniji primer EOA je kripto novčanik (wallet). EOA se zasniva na kriptografskom paru ključeva, javnom i privatnom, koji upravljaju nalogom.
EOA i contract accounti imaju zajedničke, ali i zasebne karakteristike. I jedan i drugi account mogu da primaju, čuvaju i šalju ETH, kao i da interaguju sa pametnim ugovorima.
Razlike su predstavljene u tabli.
Iako je sredstva bezbednije čuvati on-chain, contract accounti se ređe koriste zbog ograničenja koja srozavaju korisničko iskustvo. Zato se većina odlučuje za wallete, što dovodi do drugačijeg seta problema.
Velika boljka EOA je bezbednost. Gubljenjem privatnog ključa gubi se i pristup nalogu, a posledično i novcu. A čuvanje privatnog ključa nije baš najjednostavnija stvar na svetu. Koji god način za čuvanje odaberete, postoji mogućnost da se nađete u slepoj ulici.
Pre svega, privatni ključ je nalik standardnim lozinkama, ali kompleksniji, tj. može da se sastoji od više stotina karaktera. Ukoliko ga sačuvate na uređaju koji ima pristup internetu, postoji opasnost od hakovanja. Čak i ako uređaj nema internet, njegov kvar može da označi poslednje zbogom. Takođe, uređaj može biti i ukraden. A ono što je najgore od svega je da ukoliko bilo ko ima pristup vašem privatnom ključu, on ima pristup i vašim sredstvima i vi tu ne možete ništa. Ne postoji instanca kojoj biste se žalili.
Istorija nemilh događaja je bogata ovakvim pričama, čak i u slučaju tehnološki pismenih ljudi kao što je CEO Nexusa kog su hakeri olakšali za 8 miliona dolara.
Sve i da zanemarimo (ne znam baš kako) problem bezbednosti, ostaje kompleksnost korišćenja. Sijaset koraka kao što su iniciranje i potvrđivanje transakcija, plaćanje gasa, a ponekad i čekanje koje može da potraje satima pa i danima, sve to stoji na putu do zadovoljnog korisnika. Svako ko je navikao da slične aktivnosti obavlja u gotovo realnom vremenu videće samo gomilu prepreka a ne benefite.
Account abstraction: konjica koju smo dugo čekali
Kao što je poznato, Ethereum se konstantno unapređuje. Neka od takvih unapređenja dolaze inicijalno dolaze u vidu EIP-a (Ethereum improvement proposal-a), koji moraju da budu odobreni od strane upravljačkog tela (svih onih sa governance tokenima).
Na ilustraciji ispod se vide različite vrste EIP-a koje se mogu implementirati na Ethereumu.
Kada predlozi koji se odnose na protokol budu prihvaćeni, oni postaju deo mreže i nazivaju se ERC (Ethereum Request for Comment). Bitno je pomenuti da je ovakvih predloga bilo i ranije. Npr:
EIP-86 (2016)
EIP-2938 (2018)
EIP-3074 (2020)
Svi pomenuti predlozi su bili pokušaji da se na Ethereumu uvede apstrakcija naloga, ali nijedan nije prihvaćen delimično iz razloga jer su zahtevali promene na consensus layer-u.
Poslednji predlog za implementaciju ovakvog standarda pod oznakom EIP-4337, desio se početkom marta i njom je omogućena apstrakcija naloga bez ikakvih izmena na consensus layer-u.
Šta se zapravo desilo gledano sa tehničke strane?
ERC-4337 standard uvodi objekat UserOperation koji opisuje transakcije koja se šalju u ime korisnika. Ovakvi objekti ulaze u alt mempool, svojevrsnu čekaonicu za informacije o nepotvrđenim transakcijama. Potom, nodovi na Ethereumu mogu izabrati da deluju kao bundleri, tj. da pakuju UserOperation objekte iz mempool-a u pojedinačnu “bundle transakciju”. Jednom kada kreiraju ovu grupnu transakciju šalju je na verifikaciju ka “EntryPoint”, pametnom ugovoru, jedinstvenom na Ethereumu. EntryPoint prima grupnu transakciju i u slučaju da nema grešaka uvršćuje je u sledeći blok.
Detaljniju tehničku izvedbu možete pročitati u jednom od Vitalikovih postova kojim je još pre dve godine najavio ERC-4337.
Šta suštinski donosi apstrakcija naloga?
Pre svega korisnici dobijaju mogućnost da umesto EOA walleta koriste novčanike kojima upravljaju pametni ugovori, tzv. smart contract wallets. Plastičnije, account abstraction objedinjuje dobre strane EOA i contract account-a, čineći novostvorenu celinu sigurnijom, programabilnijom i fleksibilnijom.
“Apstrakcija znači da svaki account predstavlja pametni ugovor koji sadži logiku i implementira radnje kao što su social recovery, multi-calls, praćenje prevara i tako dalje.” kaže Julien Nisel suosnivač Argenta, projekta koji razvija pametne novčanike.
Šta su prednosti tranzicije na smart contract wallete?
Benefite možemo podeliti na one koji unapređuju bezbednost i one koji unapređuju funkcionalnost. Ono što je krucijalno naznačiti je da account abstraction omogućava da ljudski faktor u potpunosti biva zamenjen tehnologijom. Sve što se može definisati kodom, tj. pametnim ugovorom može biti i ostvarivo u praksi. Pod tim se misli na različite vrste autentifikacija, enkripcija ili multisig-ova. Evo nekih primera.
Za razliku od EOA koji stoprocentno funkcionišu po pravilu čije ovce, toga i livada, smart contract walleti mogu da definišu različite stepene privilegija za određene korisnike kao i uslove korišćenja. Recimo, potrebna je saglasnost 2 od 3 vlasnika da se potvrdi transakcija.
Ogromno bezbednosno unapređenje dolazi u vidu promene vida pristupanja nalogu. Umesto korišćenja privatnih ključeva, u samom kodu pametnog ugovora se definiše logika kojom je moguće pristupiti sredstvima. Što znači da korisnici mogu da koriste dobro poznate i pouzdane metode za prijavljivanje kao što su dvofaktorska autentifikacija ili biometrija (otisak prsta, sken lica). Takođe, social recovery opcija daje mogućnost da ovlastite lice ili čak više njih koji vam mogu povratiti pristup nalogu u slučaju da se nešto nepredviđeno desi.
Dalje, smart contract walleti omogućavaju vremensko limitiranje transakcija. Recimo možete ograničiti transfere sredstava u danu ili mesecu. Jedan od potencijalnih primena je kreiranje podnaloga za posebne namene (sa ograničenim sredstvima) koje kontroliše primarni account. Primera radi, mogli biste da otvorite detetu takav nalog kojim se može pretplaćivati na Dizni kanal ili kupovati artefakte za P2W video igru bez bojazni da će neko hakovati glavni nalog i svući sva sredstva nepovratno.
Kako smo videli u objašnjenju ERC-4337 funkcionisanja, account abstraction omogućava da se više transkakcija objedini i izvrši kao jedna, što nije bio moguć slučaj sa EOA. Dakle i manje maltretiranja i veća ušteda, budući da sada svaka transakcija izizskuje plaćanje naknade (gas fee).
Ako ne možeš da pobediš zakon inercije, pridruži mu se
Pre nekoliko godina naučnici su objavili istraživanje čiji bi rezultat na jeziku smrtnika glasio: dokazali smo da su ljudi lenji. Preciznije, naučnici su utvrdili da ćemo po pravilu birati opcije koje zahtevaju manji utrošak energije. Pa čak i kad znamo da je jedna od opcija bolja, ukoliko je za tu opciju potrebno utrošiti određen napor, biraćemo češće lošiju, ali lakšu.
Nije iznenađenje. Priroda je satkana od jednostavnosti i neprestano nam signalizira tu činjenicu. Voda traži najkraći put, struja teče linijom manjeg otpora, veća riba jede manju. Ljudi su lenji. Osim kad nešto baš moramo. Ili kad nešto donosi jako veliku nagradu. Značajno veću od napora koji utrošimo.
Web3 nije drugačiji. Uvek je korisno prisetiti se grafikona difuzije inovacija. Inovatori i rani adopteri obuhvataju tek oko sedmine opšte populacije. Za njih su obećavajuće tehnologije ogroman izazov bez obzira na kompleksnost i tromo korisničko iskustvo. Za svih ostalih ~85% to je apsolutni pakao. Oni jedino žele da sve teče kao podmazano.
Account asbtraction će definitivno ublažiti trenje. Da li i dovoljno, ostaje da se vidi u uzbudljivom periodu koji predstoji.