Številni koncepti, v katerih promoviramo Zemlja Ethereum se včasih zdi neverjetno futurističen in morda celo zastrašujoč. Govorimo o tako imenovanih “pametnih pogodbah”, ki se izvršujejo brez kakršne koli potrebe ali kakršne koli priložnosti za človekovo posredovanje ali sodelovanje, ljudje, ki tvorijo Skynet podobne “decentralizirane avtonomne organizacije”, ki v celoti živijo v oblaku, vendar obvladujejo močne finančne vire in lahko spodbudi ljudi k resničnim stvarem v fizičnem svetu, decentraliziranem zakonu, ki temelji na matematiki, in na videz utopičnem prizadevanju za ustvarjanje neke vrste popolnoma nezaupljive družbe. Neobveščenemu uporabniku in še posebej tistim, ki še niso slišali za navadne stare Bitcoine, je težko razumeti, kako so tovrstne stvari možne in če so, zakaj so morda zaželene. Namen te serije bo podrobno razčleniti te ideje in natančno pokazati, kaj mislimo z vsako od njih, ter razpravljati o njenih lastnostih, prednostih in omejitvah.
Prvi del serije bo govoril o tako imenovanih “pametnih pogodbah”. Pametne pogodbe so ideja, ki obstaja že nekaj desetletij, vendar je dobila svoje sedanje ime in je bila prvič bistveno opozorjena na (s kriptografijo nagnjeno) pozornost javnosti avtor Nick Szabo leta 2005. V bistvu je opredelitev pametne pogodbe preprosta: pametna pogodba je pogodba, ki se uveljavi. Se pravi, medtem ko je redna pogodba list papirja (ali nedavno PDF dokument), ki vsebuje besedilo, ki implicitno zahteva, da sodnik naroči stranki, da pod določenimi pogoji pošlje denar (ali drugo lastnino) drugi stranki, pametno pogodba je računalniški program, ki ga je mogoče zagnati na strojni opremi, ki samodejno izvaja te pogoje. Nick Szabo uporablja primer prodajnega avtomata:
Kanonični primer v resničnem življenju, za katerega bi lahko menili, da je prvotni prednik pametnih pogodb, je skromni avtomat. V omejenem obsegu potencialne izgube (znesek v blagajni mora biti manjši od stroška kršitve mehanizma) stroj prevzame kovance in s preprostim mehanizmom, zaradi česar je nov računalniški problem pri oblikovanju s končnimi avtomati, sprememba izdaje in izdelek glede na prikazano ceno. Avtomat je pogodba s prinosnikom: kdor koli s kovanci lahko sodeluje pri zamenjavi s prodajalcem. Zaklepanje in drugi varnostni mehanizmi varujejo shranjene kovance in vsebino pred napadalci, kar omogoča donosno uporabo avtomatov na najrazličnejših področjih.
Pametne pogodbe so uporaba tega koncepta za veliko stvari. Lahko imamo pametne finančne pogodbe, ki samodejno premešajo denar na podlagi določenih formul in pogojev, pametne naloge za prodajo domenskih imen, ki dajo domeno tistemu, ki prvi pošlje 200 dolarjev, morda celo pametne zavarovalne pogodbe, ki nadzorujejo bančne račune in samodejno izplačujejo na podlagi nekaterih zaupanja vreden vir (ali kombinacija virov), ki zagotavlja podatke o resničnih dogodkih.
Pametna lastnina
Na tej točki pa se pojavi eno očitno vprašanje: kako se bodo te pogodbe izvrševale? Tako kot tradicionalne pogodbe, ki niso vredne papirja, na katerem so napisane, razen če obstaja dejanski sodnik, ki ga podpira pravna moč, ki ga uveljavlja, je treba pametne pogodbe “priključiti” na neki sistem, da bi lahko dejansko naredili kar koli. Najbolj očitna in najstarejša rešitev je strojna oprema, ideja, ki se imenuje tudi “pametna lastnina”. Avtomat Nicka Szaba je tukaj kanonični primer. V avtomatu je nekakšna proto-pametna pogodba, ki vsebuje nabor računalniške kode, ki je videti nekako takole:
če je pritisnjeno tipko == "Coca Cola" in denar_inserted >= 1,75: sprostitev ("Coca Cola") return_change (denar_inserted – 1,75), sicer če je pritisnjeno tipko == "Voda Aquafina" in denar_inserted >= 1,25: sprostitev ("Voda Aquafina") return_change (denar_inserted – 1,25), sicer če…
Pogodba ima štiri “trnke” v zunanji svet: spremenljivki button_pressed in money_inserted kot vhod in ukaza release in return_change kot izhod. Vsi štirje so odvisni od strojne opreme, čeprav se osredotočamo na zadnje tri, ker človeški prispevek na splošno velja za nepomemben problem. Če bi pogodba veljala na telefonu Android od leta 2007, bi bila neuporabna; telefon Android nikakor ne more vedeti, koliko denarja je bilo vstavljenega v režo, in zagotovo ne more sprostiti steklenic Coca Cole ali vrniti drobiža. Na avtomatu pa pogodba nosi neko “silo”, podprto z notranjimi imetji avtomata Coca Cola in njeno fizično varnostjo, ki ljudem preprečuje, da bi samo vzeli Coca Colo, ne da bi upoštevali pogodbena pravila.
Druga, bolj futuristična aplikacija pametne lastnine je najem avtomobilov: predstavljajte si svet, kjer ima vsak svoj zasebni ključ na pametnem telefonu, in obstaja tak avto, da ko plačate 100 USD na določen naslov, se avto samodejno začne odzivati na ukaze, ki jih je podpisal zasebni ključ za en dan. Isto načelo lahko uporabimo tudi za hiše. Če se to sliši namišljeno, ne pozabite, da so poslovne stavbe že v bistvu pametna lastnina: dostop nadzirajo dostopne kartice in vprašanje, za katera (če obstajajo) vrata veljajo posamezne kartice, določa del kode, povezan z zbirko podatkov. In če ima podjetje kadrovski sistem, ki samodejno obdela pogodbe o zaposlitvi in aktivira dostopne kartice za nove zaposlene, potem je ta pogodba o zaposlitvi do neke mere pametna pogodba.
Društvo pametnega denarja in Factuma
Vendar je fizična lastnina zelo omejena glede tega, kaj lahko naredi. Fizična lastnina ima omejeno mero varnosti, zato z več kot nekaj deset tisoč dolarji z nastavitvijo pametne lastnine praktično ne morete narediti nič zanimivega. In navsezadnje najbolj zanimive pogodbe vključujejo prenos denarja. Kako pa lahko to dejansko naredimo? Trenutno v bistvu ne moremo. Teoretično lahko pogodbam damo podatke za prijavo na naše bančne račune, nato pa jim pogodba pošlje denar pod nekaterimi pogoji, vendar je težava v tem, da tovrstna pogodba v resnici ni »samoizvršljiva«. Pogodbenik, ki sklene pogodbo, lahko pogodbo vedno preprosto izklopi tik pred zapadlostjo plačila, izprazni svoj bančni račun ali celo preprosto spremeni geslo za račun. Konec koncev, ne glede na to, kako je pogodba integrirana v sistem, jo lahko nekdo izključi.
Kako lahko rešimo težavo? Konec koncev je odgovor tisti, ki je radikalen v kontekstu naše širše družbe, a že zelo stare novice v svetu Bitcoinov: potrebujemo novo vrsto denarja. Doslej je evolucija denarja potekala v treh fazah: blagovni denar, denar, podprt z blagom, in fiat denar. Blagovni denar je preprost: denar je dragocen, ker je hkrati tudi blago, ki ima neko “lastno” uporabno vrednost. Srebro in zlato sta popolna primera, v bolj tradicionalnih družbah pa imamo tudi čaj, sol (op. Etimologija: od tu izvira beseda “plača”), školjke in podobno. Nato je prišel denar, zavaren z blagom – banke, ki izdajajo potrdila, ki so dragocena, ker jih je mogoče unovčiti za zlato. Končno imamo še fiat denarja. “Fiat” v “fiat money” je tako kot v “fiat lux“, Razen namesto da bi Bog rekel” naj bo svetloba “, je zvezna vlada rekla” naj bo denar “. Denar ima vrednost predvsem zato, ker vlada, ki ga je izdala, sprejema ta denar in le ta denar kot plačilo za davke in takse, skupaj s številnimi drugimi pravnimi privilegiji.
Z Bitcoini pa imamo novo vrsto denarja: factum denar. Razlika med fiat denarjem in factum denarjem je taka: medtem ko fiat denar vzpostavi in vzdržuje vlada (ali teoretično nekakšna druga agencija), ki ga proizvaja, factum denar pač obstaja. Denar Factum je preprosto bilanca stanja z nekaj pravili o tem, kako ga je mogoče posodobiti, in ta denar velja med tistim uporabnikom, ki se odloči, da ga sprejme. Bitcoin je prvi primer, vendar jih je še več. Na primer, lahko imamo alternativno pravilo, ki določa, da se v bilanco stanja štejejo samo bitcoini, ki izhajajo iz določene “transakcije geneze”; to se imenuje “barvni kovanci” in je tudi nekakšen factum denar (razen če so ti barvni kovanci fiatni ali z blagom).
Glavna obljuba factum denarja je pravzaprav ravno to, da se tako dobro poveže s pametnimi pogodbami. Glavna težava pametnih pogodb je izvršba: če pogodba nalaga, da pošlje Bobu 200 USD, če se zgodi X in se X zgodi, kako naj zagotovimo, da bo 200 USD dejansko poslanih Bobu. Rešitev z denarjem factum je neverjetno elegantna: opredelitev denarja ali natančneje opredelitev trenutne bilance stanja je rezultat izvrševanja vseh pogodb. Če se X zgodi, se bodo vsi strinjali, da ima Bob dodatnih 200 USD, če pa se X ne zgodi, se bodo vsi strinjali, da ima Bob vse, kar je imel Bob.
To je pravzaprav veliko bolj revolucionaren razvoj, kot bi si mislili sprva; z denarjem factum smo ustvarili način, kako pogodbe in morda celo pravo na splošno delujejo in so učinkovite, ne da bi se zanašali na kakršen koli mehanizem za njegovo uveljavitev. Želite globo 100 USD za smeti? Nato določite valuto, tako da boste imeli 100 enot manj, če ste smeti, in prepričajte ljudi, da jo sprejmejo. Zdaj je ta zgled zelo namišljen in verjetno nepraktičen brez nekaj večjih opozoril, o katerih bomo razpravljali spodaj, vendar kaže splošno načelo in obstaja še veliko zmernejših primerov te vrste, ki jih je vsekakor mogoče uporabiti delo.
Kako pametne so pametne pogodbe?
Pametne pogodbe so očitno zelo učinkovite za kakršne koli finančne aplikacije ali na splošno za kakršne koli zamenjave med dvema različnima dejanskim premoženjem. En primer je prodaja domenskih imen; domena, kot je google.com, je dejansko sredstvo, saj je podprta z bazo podatkov na strežniku, ki ima kakršno koli težo, ker jo sprejemamo, in očitno je lahko tudi factum denar. Trenutno je prodaja domene zapleten postopek, ki pogosto zahteva posebne storitve; v prihodnosti boste morda lahko prodajno ponudbo zapakirali v pametno pogodbo in jo postavili na verigo blokov, če pa jo kdo prevzame, se bosta obe strani posla samodejno zgodili – ni možnosti goljufije. Če se vrnemo v svet valut, je decentralizirana menjava še en primer in lahko sklenemo tudi finančne pogodbe, kot sta varovanje pred tveganji in trgovanje z vzvodi.
Vendar obstajajo kraji, kjer pametne pogodbe niso tako dobre. Oglejmo si na primer primer pogodbe o zaposlitvi: A se strinja, da bo opravil določeno nalogo za B v zameno za plačilo X enot valute C. Plačilni del je enostavno sklepati s pametno pogodbo. Vendar obstaja del, ki ni tako enostaven: preveriti, ali je delo dejansko potekalo. Če je delo v fizičnem svetu, je to skoraj nemogoče, saj verige blokov nimajo dostopa do fizičnega sveta. Tudi če gre za spletno mesto, še vedno obstaja vprašanje ocenjevanja kakovosti in čeprav lahko računalniški programi z določenimi primeri zelo učinkovito presodijo takšne značilnosti z algoritmi strojnega učenja, je to v javnem naročilu neverjetno težko storiti, ne da bi odprli vrata zaposleni “igrajo sistem”. Včasih družba, v kateri vladajo algoritmi, preprosto ni dovolj dobra.
Na srečo obstaja zmerna rešitev, ki lahko zajame najboljše iz obeh svetov: sodnike. Sodnik rednega sodišča ima v bistvu neomejeno pristojnost, da dela, kar hoče, in postopek presojanja nima posebej dobrega vmesnika; ljudje morajo vložiti tožbo, precej dolgo čakati na sojenje in sodnik sčasoma sprejme odločitev, ki jo izvršuje pravni sistem – sam pa ni vzorec bliskovite učinkovitosti. Zasebna arbitraža je pogosto lahko cenejša in hitrejša od sodišč, a tudi tam so težave še vedno enake. Sodniki v stvarnem svetu pa so po drugi strani zelo različni. Pametna pogodba o zaposlitvi bi lahko izgledala takole:
če piše (B,"A je opravil delo") ali pravi (J,"A je opravil delo"): pošlji (200, A) sicer, če piše (A,"A ni opravil dela") ali pravi (J,"A ni opravil dela"): pošlji (200, B)
pravi, da je algoritem za preverjanje podpisa; pravi (P, T) v bistvu preveri, ali je nekdo poslal sporočilo z besedilom T in digitalnim podpisom, ki preverja uporabo P-ovega javnega ključa. Kako torej deluje ta pogodba? Najprej bi delodajalec v pogodbo poslal 200 valutnih enot, kjer bi sedeli v hrambi. V večini primerov so delodajalec in zaposleni pošteni, zato bodisi A zapusti in sredstva sprosti nazaj v B, tako da podpiše sporočilo »A ni opravil dela« ali A opravi delo, B preveri, ali je A opravil in pogodba sprosti sredstva A. Če pa A nalogo opravi, B pa se s tem ne strinja, potem mora sodnik J reči, da je A opravil delo ali A ni opravil dela.
Upoštevajte, da je moč J zelo natančno razmejena; vse, kar ima J pravico, je reči, da je bodisi A opravil delo bodisi A ni opravil dela. Bolj izpopolnjena pogodba bi lahko dala tudi J pravico do izdaje sodb v razponu med obema skrajnostma. J nima pravice trditi, da si A dejansko zasluži 600 valutnih enot ali da je mimogrede celotno razmerje nezakonito in naj J dobi 200 enot ali karkoli drugega zunaj jasno določenih meja. In moč J-ja uveljavlja factum – pogodba vsebuje javni ključ J-ja, zato sredstva samodejno preidejo v A ali B na podlagi meja. Pogodba lahko zahteva celo sporočila 2 od 3 sodnikov ali pa lahko ločeni sodniki ocenjujejo ločene vidike dela in naročilo samodejno dodeli delu B oceno kakovosti na podlagi teh ocen. Vsaka pogodba lahko vsakega sodnika preprosto priklopi točno tako, kot želi, naj presoja resnico ali laž določenega dejstva, zagotovi meritev neke spremenljivke ali je ena od strank, ki olajša dogovor.
Kako bo to boljše od sedanjega sistema? Skratka, to uvaja “sodniki kot služba”. Da bi postali “sodnik”, se morate zaposliti v zasebnem arbitražnem podjetju ali vladnem sodišču ali ustanoviti svojega. V kriptografsko omogočenem pravnem sistemu factum mora biti sodnik preprosto javni ključ in računalnik z dostopom do interneta. Kolikor se sliši nasprotno, ni nujno, da vsi sodniki dobro poznajo pravo. Nekateri sodniki se lahko na primer specializirajo za ugotavljanje, ali je bil izdelek pravilno odposlan (idealno bi bil poštni sistem). Drugi sodniki lahko preverijo izpolnjevanje pogodb o zaposlitvi. Drugi bi ocenili škodo za zavarovalne pogodbe. Naročnik pogodbe bi moral sodnike vsake vrste priključiti na ustrezna mesta v pogodbi, del pogodbe, ki ga je mogoče opredeliti zgolj v računalniški kodi, pa bo.
In to je vse.
Naslednji del te serije bo govoril o konceptu zaupanja in o tem, kaj kriptografi in zagovorniki Bitcoinov resnično pomenijo, ko govorijo o izgradnji družbe, ki ji ni treba zaupati.