Crypto

Novčanici poput MetaMaska moraju postati lakši za upotrebu

Nakon Ethereumovog dugo očekivanog spajanja, idealno je vrijeme za razmišljanje o tome kako možemo poboljšati i pametne ugovore. U suštini aplikacije koje rade na blockchain-u, pametni ugovori su vitalna komponenta naših Web3 aplikacija. Ali interakcija s njima ostaje prilično opasna, posebno za one koji nisu programeri. Mnogi incidenti u kojima korisnici gube svoju kripto imovinu uzrokovani su greškama ili zlonamjernim pametnim ugovorima.

Kao programer Web3 aplikacija, ovo je izazov o kojem često razmišljam, posebno jer se valovi novih korisnika stalno uključuju u različite blockchain aplikacije. Da bi u potpunosti vjerovao pametnom ugovoru, potrošač mora znati upravo šta će raditi kada izvrše transakciju — jer za razliku od Web2 svijeta, ne postoji telefonska linija za korisničku podršku koja može nazvati i povratiti sredstva ako nešto pođe po zlu. Ali trenutno je gotovo nemoguće znati je li pametni ugovor siguran ili pouzdan.

Povezano: Liquid steking je ključ za sigurnost interchain-a

Jedno rešenje je da sami novčanici budu pametniji. Na primjer, šta ako bi nam novčanici mogli reći da li je pametni ugovor siguran za interakciju? Vjerovatno je nemoguće to znati sa 100% sigurnošću, ali novčanici bi, u najmanju ruku, mogli agregirati i prikazati mnogo signala koje programeri već traže. To bi proces učinilo jednostavnijim i sigurnijim, posebno za one koji nisu programeri.

Evo dubljeg pogleda na prednosti i nedostatke pametnih ugovora, zašto sada izgledaju kao Divlji zapad i kako bismo mogli poboljšati UX za njihovo korištenje.

Obećanje i opasnost pametnih ugovora

Za programere, korištenje pametnog ugovora kao pozadine za njihovu aplikaciju ima ogroman potencijal. Takođe povećava potencijal za greške i eksploatacije. Sjajno je što programeri mogu kreirati pametne ugovore bez traženja dozvole bilo koga, ali to također može izložiti korisnike značajnom riziku. Sada imamo aplikacije koje obavljaju transakcije stotinama miliona dolara bez sigurnosnih garancija. Kako sada stoji, jednostavno moramo vjerovati da su ove aplikacije bez grešaka i da rade ono što obećavaju.

Mnogi ne-programeri nisu ni svjesni sigurnosnih problema koji su uključeni i ne poduzimaju odgovarajuće mjere predostrožnosti prilikom interakcije s aplikacijama baziranim na blockchainu. Prosječan korisnik može potpisati transakciju misleći da će to učiniti jednu stvar, samo da bi otkrio da pametni ugovor radi nešto sasvim drugo. Zbog toga su zlonamjerni pametni ugovori primarni vektor napada za loše aktere.

Zašto su pametni ugovori Divlji zapad?

Kada Web3 aplikacija uputi poziv pametnom ugovoru, ne znate tačno šta će transakcija učiniti dok to zapravo ne učinite. Hoće li iskovati vaš nezamjenjivi token (NFT) ili će poslati vaš novac i tokene hakeru? Ova nepredvidljivost važi za svaku onlajn aplikaciju, naravno, ne samo za Web3 aplikacije; veoma je teško predvideti šta će kod uraditi. Ali to je veći problem u svijetu Web3 budući da je većina ovih aplikacija inherentno s visokim ulozima (napravljene su za rukovanje vašim novcem), a za potrošače je tako malo zaštite.

App Store je uglavnom siguran zbog Appleovog procesa pregleda, ali to ne postoji u Web3. Ako iOS aplikacija počne krasti novac korisnika, Apple će je odmah ukloniti kako bi ublažio gubitke i opozvao račun njenog kreatora.

Povezano: Latinska Amerika je spremna za kriptovalute — samo je integrirajte sa svojim platnim sistemima

S druge strane, zlonamjerni pametni ugovori se ne mogu ukloniti od bilo koga. Takođe ne postoji način da se povrati ukradena imovina. Ako zlonamjerni ugovor iscrpi vaš novčanik, ne možete jednostavno osporiti transakciju s kompanijom vaše kreditne kartice. Ako je programer anoniman, kao što je općenito slučaj sa zlonamjernim ugovorima, često ne postoji čak ni opcija za poduzimanje pravnih radnji.

Iz perspektive programera, mnogo je bolje ako je kod za pametni ugovor open source. Popularni pametni ugovori obično objavljuju svoj izvorni kod – veliko poboljšanje u odnosu na Web2 aplikacije. Ali čak i tada, lako je propustiti šta se zaista dešava. Također može biti vrlo teško predvidjeti kako će kod raditi u svim scenarijima. (Razmislite o ovom dugačkom, zastrašujućem Twitteru thread od iskusnog programera koji je zamalo pao na složenu phishing prevaru, čak i nakon što je pročitao ugovore koji su uključeni. Tek nakon drugog detaljnijeg pregleda primijetio je eksploataciju.)

Uz ove probleme, ljudi su često pod pritiskom da brzo reaguju u interakciji sa pametnim ugovorima. Uzmite u obzir pad NFT-a koji promovišu influenceri: potrošači će biti zabrinuti da će se kolekcija brzo rasprodati, pa će često pokušavati da izvrše transakciju što je brže moguće, zanemarujući sve crvene zastavice na koje bi mogli naići na putu.

Ukratko, iste karakteristike koje pametne ugovore čine moćnim za programere – poput objavljivanja bez dozvole i programabilnog novca – čine ih prilično opasnim za potrošače.

Ne mislim da je ovaj sistem suštinski pogrešan. Ali postoji mnoštvo prilika za Web3 programere poput mene da pruže bolje ograde za potrošače koji danas koriste novčanike i pametne ugovore.

UX novčanika i pametnih ugovora danas

Na mnogo načina, novčanici poput MetaMaska izgledaju kao da su stvoreni za programere. Oni prikazuju mnogo detaljnih tehničkih detalja i detalja o blockchainu koji su korisni pri izradi aplikacija.

Problem s tim je što i oni koji nisu programeri koriste MetaMask — bez razumijevanja šta sve znači. Niko nije očekivao da će Web3 tako brzo postati mejnstrim, a novčanici nisu baš uhvatili korak sa potrebama svoje nove korisničke baze.

Povezano: Učite od Celzijusa — Zaustavite razmjenu od zapljene vašeg novca

MetaMask ima već je obavio odličan posao rebrendiranja „mnemoničke fraze“ u „tajnu frazu“ kako bi se spriječilo da je potrošači nesvjesno podijele s hakerima. Međutim, ima još mnogo prostora za poboljšanje.

Pogledajmo korisničko sučelje (UI) MetaMaska, nakon čega slijedi nekoliko maketa koje sam napravio, u kojima su navedena neka potencijalna poboljšanja koja bi potrošače mogla odvesti u „jamu uspjeha“. (Usput, MetaMask ovdje služi kao referenca budući da se uvelike koristi u cijelom Web3 svijetu, ali ove ideje korisničkog sučelja trebale bi se primijeniti i na skoro svaku aplikaciju za novčanik.) Neka od ovih podešavanja dizajna mogu se napraviti danas, dok bi druga mogla zahtijevati tehničke napreduje na strani pametnih ugovora.

Slika ispod prikazuje kako izgleda trenutni prozor transakcije MetaMask pametnog ugovora.

Vidimo adresu pametnog ugovora s kojim komuniciramo, web stranicu koja je pokrenula transakciju, a zatim puno detalja o sredstvima koja šaljemo ugovoru. Međutim, nema naznaka šta radi ovaj ugovorni poziv ili bilo koji pokazatelj da jeste sigurno za interakciju sa.

Potencijalna rješenja za poboljšanje pametnih ugovora

Ono što bismo zaista željeli vidjeti ovdje su signali koji nam kao krajnjim korisnicima pomažu da utvrdimo vjerujemo li ovoj transakciji pametnog ugovora ili ne. Kao analogiju, razmislite o maloj zelenoj ili crvenoj bravici u adresnoj traci modernih web pretraživača, koja pokazuje da li je veza šifrirana ili ne. Ovaj indikator označen bojama pomaže neiskusnim korisnicima da odvrate potencijalne opasnosti, dok ga iskusni korisnici mogu lako zanemariti ako žele.

Kao vizuelni primjer, evo dva modela za dizajn MetaMask transakcija za brzo korisničko iskustvo (UX) — jedan koji će vjerovatno biti siguran i onaj koji je manje siguran.

Evo nekoliko signala u mom modelu:

  • Je li izvorni kod ugovora objavljen? Ugovori otvorenog koda općenito su vjerodostojniji jer ih svaki programer može pročitati kako bi pronašao greške i zlonamjerni kod. MetaMask već uključuje razne veze na Etherscan, tako da bi ovo bio jednostavan i zgodan signal za dodavanje.
  • Rezultat revizije. Revizija treće strane je još jedan signal koji može odrediti pouzdanost. Glavno pitanje implementacije ovdje je kako odrediti ovaj rezultat. Postoje li već prihvaćeni standardi za ovo? Ako ne, jednostavan način bi mogao biti korištenje Etherscana, koji podržava upload revizija. MetaMask, u ovom primjeru, također može održavati vlastitu listu revizora ili se osloniti na listu trećih strana. (Po onome što mogu reći, MetaMask to već radi za NFT API-je i detekciju tokena.) U budućnosti, lako je zamisliti decentralizovanu autonomnu organizaciju za određivanje rezultata revizije na decentralizovaniji način.
  • Šta ova transakcija može učiniti? Može li nazvati eksterne ugovore, i ako može, koje? Ovo bi bilo vrlo teško je savršeno odrediti, ali pitam se da li bi jednostavna verzija za ugovore otvorenog koda bila izvediva. Već postoji mnogo automatiziranih skenera ranjivosti pametnih ugovora. Ako to nije moguće za Solidity, pitam se da li bismo mogli da dizajniramo programski jezik za pametne ugovore radi omogućavaju ovaj nivo statičke analize. Možda bi pojedinačne funkcije mogle deklarirati dozvole koje su im potrebne, a kompajler bi mogao garantirati usklađenost.
  • Sigurnosni savjeti i edukacija. Ako pametni ugovor nema mnogo signala pouzdanosti (pogledajte mock-up iznad desno), korisničko sučelje može preporučiti odgovarajući skup mjera opreza koje treba poduzeti, kao što je provjera da li je adresa ugovora ispravna i korištenje drugog računa. Ovo su prijedlozi u narandžastom tekstu, za razliku od crvenog, jer nedostatak signala nije nužno opasan; ovdje jednostavno preporučujemo korisnicima da budu malo oprezniji u pogledu svojih sljedećih koraka.

Kao i mnoge postojeće funkcije u MetaMasku, ove predložene funkcije mogu se isključiti u postavkama.

Ka sigurnijoj budućnosti

U budućnosti će vjerovatno postojati mnogo alata usmjerenih na sigurnost izgrađenih na primitivnim komponentama koje blockchains pružaju. Na primjer, vrlo je vjerovatno da ćemo vidjeti kako protokoli osiguranja koji štite korisnike od pametnih ugovora sa greškama postaju uobičajeni. (Ove već postoje, ali su još uvijek prilično niše.)

Povezano: Šta će pokretati vjerovatnu trku kriptovaluta u 2024. godini?

Međutim, potrošači već koriste Web3 aplikacije, čak iu ovim ranim danima, tako da bih volio vidjeti da zajednica za programere dodaje više zaštite za njih sad. Neka jednostavna poboljšanja novčanika mogla bi mnogo doprinijeti. Neke od gore navedenih ideja bi pomogle u zaštiti neiskusnih korisnika dok bi istovremeno pojednostavili proces transakcije za veterane Web3.

Iz moje perspektive, sve što je izvan trgovanja kripto imovinom na Coinbaseu (ili drugim velikim kompanijama) je i dalje previše rizično za prosječnog potrošača. Kada prijatelji i porodica pitaju o postavljanju kripto novčanika za samostalni nadzor za korištenje Web3 aplikacija (da se suočimo s tim – obično za kupovinu NFT-a), uvijek počnite tako što ćete ih upozoriti na rizike. To neke od njih plaši, ali odlučniji ljudi ih ipak žele koristiti. Kada naši novčanici budu pametniji, moći ćemo se osjećati mnogo bolje u vezi sa uključivanjem sljedećeg talasa novih korisnika na Web3.

Devin Abbott je osnivač Decoa, startupa koji je kupio Airbnb. Specijalizirao se za alate za dizajn i razvoj, React i Web3 aplikacije, a posljednji put za The Graph.

Ovaj članak je u svrhu općeg informisanja i nije namijenjen i ne treba ga smatrati pravnim ili investicijskim savjetom. Stavovi, misli i mišljenja izneseni ovdje su isključivo autorovi i ne odražavaju nužno ili predstavljaju stavove i mišljenja Cointelegrapha.

Leave a Reply

Your email address will not be published.