Share this article

Ang Code ay Batas? Hindi pa Ganap

Dapat bang maging batas ang code? Sa piraso ng Opinyon na ito, sinabi ni Lukas Abegg na maraming mga pang-agham na hadlang na tatawid bago ito malamang na maging posible.

Matapos mabigo ang eksperimento ng DAO, nagkaroon ng mainit na debate sa Policy tungkol sa kung paano isulong ang pagbuo ng blockchain ng ethereum.

Ang mga posisyon ay mula sa paghawak sa immutability paradigm na may "code is law" bilang ang pinakamahalagang tuntunin na dapat Social Media, hanggang sa isang mas Human diskarte sa pagtatanong sa mga minero at developer ng ethereum kung anong mga hakbang ang dapat gawin.

STORY CONTINUES BELOW
Don't miss another story.Subscribe to the Crypto for Advisors Newsletter today. See all newsletters

Gayunpaman, kaunting oras lang ang ginugol sa tanong kung ano a matalinong kontrata ay talagang may kakayahang mag-perform.

Ngunit ang mismong tanong na ito, sa palagay ko, ay dapat na nasa CORE ng debate at ang kani-kanilang sagot ay ang tanging matinong pundasyon kung saan maaaring mabuo ang isang maayos Policy para sa blockchain at smart contract development.

Kaya tingnan natin ang mga kakayahan ng mga smart contract.

Kalikasan ng impormasyon

Ang tampok ng isang matalinong kontrata ay sa mismong esensya nito ang pagproseso ng impormasyon.

Bagama't nag-iiba-iba ang paniwala ng impormasyon at walang pangkalahatang depinisyon, nakakatulong na magsimula sa paraan teorya ng impormasyon nakikitungo sa impormasyon dahil ang teorya ng impormasyon ay bahagi ng DNA ng computer science ngayon.

Samakatuwid ito ay kinakailangan upang hatiin ang impormasyon sa impormasyong sintaktik at impormasyong semantiko. Ang una ay ang mga panuntunan tungkol sa kaugnayan sa pagitan ng mga simbolo at ang huli ay ang kahulugang iniuugnay sa mga naturang simbolo (ibig sabihin: "layunin"). Ang linya sa pagitan ng dalawa ay medyo malabo at kung minsan ay mahirap paghiwalayin ang mga ito (na, tulad ng makikita natin sa ibang pagkakataon, ay humahantong sa problema ng mga DAO sa simula pa lang) ngunit ang pagkakaiba sa pagitan nila ay malinaw na umiiral.

Ang isang kawili-wiling piraso tungkol sa kahirapan ng pagkuha ng "layunin" ay kamakailang isinulat ni Vitalik Buterin.

Ang syntactic na impormasyon ay maaaring i-parse at sukatin (bilang Shannon at Weaver ginawa sa "A Mathematical Theory of Communication") at bukas sa mathematical proof. Ang semantikong impormasyon, gayunpaman, ay kung ano ang katangian ng isang Human sa isang simbolo. Maaaring ito ay kumakatawan sa anumang bagay na kayang isipin ng utak ng Human .

Ang pag-normalize ng semantic na impormasyon at gawin itong naproseso ay medyo mahirap na gawain, sa madaling salita. Computer science (sa partikular na mga mananaliksik ng artificial intelligence) nakikibaka nang husto sa pagsisikap na makuha ang semantikong impormasyon, gaya ng natural na wika, at kinakatawan ang kahulugan nito sa software. Ang masama pa nito, ang semantic na impormasyon ay maaaring kahit ano mula sa medyo simple hanggang sa napakakumplikado.

Sa halip simple at pormal na semantic na impormasyon, tulad ng isang patent halimbawa, ay maaari nang iproseso sa pamamagitan ng wika ng computer. Mag-isip ng CAD file ng isang patented widget sa isang computer na nagbibigay-daan sa isang 3D printer na i-print ang eksaktong bagay na nasa nasabing CAD file .

Ang mas kumplikadong semantic na impormasyon, tulad ng legal na ideya ng "magandang loob" halimbawa, ay hindi pa maaaring pangasiwaan ng computer science. Para magawa ito, kailangan pa rin ng isang mahusay na hakbang sa pananaliksik sa artificial intelligence.

Kulang sa pamamahala

Ang isa pang paraan ng paggawa ng pagkakaiba sa pagitan ng dalawang uri ng impormasyong ito ay ang pagtukoy sa mga ito bilang "dry code" at "wet code", isang konsepto na likha ng cryptographer na si Nick Szabo.

Upang magbigay ng punto tungkol sa kung bakit kinakailangang igalang ang dalawang panig na katangian ng impormasyon, maaari naming tingnan ang The DAO. Isinulat lang ang pangangailangan ng "walang ginagawang masama" (ibig sabihin: semantic information) sa home page ng DAO at hindi sa code nito (na, sa karamihan, pinoprosesong syntactic na impormasyon lang).

Ang mga tagasunod ng isang mahigpit na doktrinang "code ay batas" ay nangatuwiran na maaaring KEEP ng hacker ng DAO ang drained ether dahil ang "do no harm" imperative ay nasa mga detalye lamang ng home page ngunit hindi sa mismong code at samakatuwid ay hindi nagbubuklod. Dinala pa nila ang kanilang kaso sa pamamagitan ng paghawak sa non-forked Ethereum blockchain at nilikha isang parallel na kapaligiran ng Ethereum, Ethereum Classic, na gumagawa ng ilang medyo nakakalito na problema para sa mga user at developer.

Kung nagkaroon ng wastong tool sa pamamahala na tumutugon sa semantikong impormasyon (ibig sabihin: tinitiyak na ang lahat ay sumusunod sa panuntunang "huwag saktan" at nagbibigay ng paraan upang harapin ang mga lumalabag), malamang na hindi nangyari ang nasabing paghahati.

Katibayan ng matematika at hindi nababago

Nang magtrabaho si Shannon sa teorya ng komunikasyon, nag-ingat siya nang husto na ang kanyang pananaliksik ay nakakulong sa loob ng syntactic information realm. Nagbigay-daan iyon sa kanya na matematikong patunayan ang kanyang mga natuklasan.

Hindi iyon magagawa kung may kasamang semantikong impormasyon. Para kay Shannon, mahalaga ang mathematical proof para isulong ang agham.

Ang pag-coding ng isang matalinong kontrata ay hindi talaga sumusulong sa agham at samakatuwid ang mathematical proof ay hindi mahalaga, maaaring isipin ng ONE . Gayunpaman, sa sandaling magdagdag ka ng immutability sa pamamagitan ng pagpapatupad ng blockchain sa iyong code, itinataas mo ang bar para sa kawastuhan ng iyong code sa isang hindi kapani-paniwalang mataas na antas, kung hindi man ganap na hindi maabot (cf:mas detalyadong pagsusuri).

Dahil hindi nababago ang iyong code at hindi na mababago, kailangan mong ganap na makatiyak na walang mga depekto ang iyong code.

Ang mathematic na patunay ng iyong code, samakatuwid, ay tila isang mahalagang tampok na dapat magkaroon.

Gayunpaman, ang Solidity na ginamit sa Ethereum para sa pagpapatupad ng matalinong kontrata, ay hindi isang wikang nagbibigay-daan para sa mathematical proof (ibig sabihin: ay hindi malinaw na tinutukoy). Nagbigay-daan ito para sa pagpapatupad ng semantic na impormasyon, o tahasang inilagay, ang layunin ng mga developer. Ang recursion-call na humantong sa The DAO hack ay dapat na ginamit sa isang partikular na paraan, gaya ng nilayon ng mga developer.

Malinaw, ang naturang layunin ay hindi nakuha ng code at samakatuwid ay T nakahadlang sa DAO hacker na maubos ang DAO.

Sa konklusyon: ang kawalan ng pagbabago at kawastuhan ng code ay tulad ng dalawang pan ng isang sukat. Kung mas maraming "timbang" ang ilalagay mo sa immutability, mas kailangan mong mag-ingat sa pagiging tama ng iyong code.

Kailangan ng nabe-verify na code

Kung halos lahat ng iyong smart contract ay tumatakbo nang walang pagbabago sa blockchain (tulad ng ilang mahilig sa "code is law" na iniisip na ito ang tanging paraan upang pumunta) malamang na hindi ka makakapaglagay ng sapat na "counter weight" sa kawastuhan ng iyong code.

Ang lahat ng mga natuklasang ito ay malayo sa pagiging balita.

Noon pang 2002, sumulat si Nick Szabo ng papel tungkol sa a pormal na wika para sa mga kontrata, kung saan tahasan niyang itinuro na ang paggamit ng procedural computer language ay maaaring nakatutukso ngunit nagdudulot ng higit na pinsala kaysa sa kabutihan. Ni T nito binabanggit ang lahat ng umiiral na mga programming language na ginagamit sa industriya ng pananalapi o mga bagong paraan ng paglikha ng mga wika ng programa, na nagbibigay-daan para sa pormal na pagpapatunay (mga sample dito at ditohttps://legalese.com/docs).

Maging ang mismong nag-develop ng Solidity, si Dr Gavin Wood, naisip sa isang maagang yugto ng konsepto ng Solidity, isang wikang nagbibigay-daan para sa patunay sa matematika at ang pinakabagong pananaliksik ay nagmumungkahi na ang pagsasalin ng Solidity sa F* upang maabot ang nabe-verify na code ay kinakailangan.

Gayunpaman, mukhang malinaw na sa ngayon, na hindi pa naaabot ang ninanais na estado ng pagiging alegalidad, kung saan walang pakikipag-ugnayan mula sa labas ng smart contract. At malamang na magtatagal pa rin bago makarating doon, kung mapupuntahan man ito.

Pinuno ang teknikal na walang bisa

Gayunpaman, hindi iyon nangangahulugan na ang konsepto ng mga matalinong kontrata ay nabigo o magiging walang silbi. Kailangan lang nito ng isang arkitektura na gumagalang sa mga limitasyon ng kasalukuyang Technology. At isang matalinong work-around para sa mga gaps sa programming language at artificial intelligence na kailangan pang punan.

Ang ganitong solusyon ay maaaring nasa legal na sistema mula sa classic na meatspace, partikular sa isang partikular na lugar na tinatawag na Alternatibong Resolusyon sa Di-pagkakasundo (ADR).

Ang layunin nito ay bigyan ang dalawa o higit pang nag-aaway na partido ng pormal na paraan para lutasin ang kanilang mga hindi pagkakaunawaan nang pribado nang hindi kinakailangang gumamit ng mga pampublikong hukuman na pinamamahalaan ng estado. Nagbibigay ito ng mga tool na nagbibigay-daan sa iyong i-set up ang sarili mong mga panuntunan, tukuyin ang mga proseso kung paano pamahalaan ang mga salungatan, at/o piliin ang mga hukom na gusto mo.

Mayroon din itong magandang side effect ng pagiging talagang classic-meatspace-legal na binding. Ito ay isang kakila-kilabot na larangan ng paglalaro upang galugarin, hal: futarchy na mga ideya tulad ng mga prediction Markets o mga bagong konsepto ng pagpapatungkol sa halaga tulad ng Backfeed para sa pagpili ng arbiter. At hindi rin napakahirap na ipatupad ang gayong mga panuntunan sa arbitrasyon sa isang matalinong kontrata.

Siguraduhin lamang na ang bawat user ng isang serbisyo ng matalinong kontrata ay tumatanggap na sumailalim sa mga ganoong panuntunan sa arbitrasyon, tulad ng kung ikaw ay sumasailalim sa mga panuntunan sa arbitrasyon na pribadong binubuo (hal: ang ICANN's UDRP) kapag nagrerehistro ng domain name.

Kung paano makikita ang gayong LINK sa pagitan ng mga matalinong kontrata at meatspace-legal na panuntunandito. (Hindi ito mga panuntunan sa ADR ngunit mga panuntunan sa batas ng kontrata. Gayunpaman, ang pagpapatupad ay magiging magkatulad).

Paglipat tungo sa alegalidad

Sa una, maaaring magmukhang kakaiba ang paggamit ng mga lumang konsepto upang umunlad sa isang bagong lugar.

Gayunpaman, kung titingnan mo ito bilang mga istruktura ng suporta – katulad ng mayroon ang isang bagong 3D na naka-print na item at maaaring patuloy na maalis kapag ang bagong item ay nakatayo sa sarili nitong kapasidad - ang kakaiba ay nawawala. Higit pa rito, ang ganitong paraan upang sumulong ay maaaring magkaroon pa ng heuristic na elemento sa kahulugan na nakakatulong ito upang Learn nang higit pa tungkol sa mga bagong konsepto at tool ng pamamahala na maaaring ganap na palitan ang meatspace-legal na mga tool sa hinaharap.

Upang maging ganap ang simula, dapat nating igalang ang dalawang panig na katangian ng impormasyon at hayaan ang code na magproseso ng syntactic na impormasyon at mag-deploy ng mga tool sa pamamahala para sa mga Human na magproseso ng semantikong impormasyon.

Ang paggamit ng isang tool na namamahala tulad ng mga panuntunan sa arbitrasyon na partikular sa smart na kontrata kasama ang pagkilala na ang mga smart contract ay hindi matalino at hindi rin mga kontrata ngunit sa halip ay maaaring magbigay ng isang paraan upang subukan ang bagong Technology sa hindi gaanong nakapipinsalang paraan kaysa ginawa sa The DAO at maaari ring magbigay ng katiyakang kailangan upang gawing kawili-wili ang mga smart contract para sa mga negosyo.

Hindi bababa sa hanggang sa makuha ng agham ang pananaw ng "code ay batas" at isang tunay na estado ng pagkakapantay-pantay maaaring maabot.

Larawan ng golf sa pamamagitan ng Shutterstock

Note: The views expressed in this column are those of the author and do not necessarily reflect those of CoinDesk, Inc. or its owners and affiliates.

Picture of CoinDesk author Lukas Abegg