Share this article

Kailangan ng Mga Blockchain Smart Contract ng Bagong Uri ng Due Diligence

Dalawang eksperto sa batas ang nagtalo na kailangan namin ng pinahusay na angkop na pagsisikap bago isulat ang mga transaksyon sa smart contract sa "blockchain stone".

Mahigit 20 taon na ang nakalipas, iminungkahi ni Nick Szabo ang paggamit ng 'matalinong kontrata' para bawasan ang mga gastos sa pandaraya at pagpapatupad na nauugnay sa mga tradisyunal na kontrata sa papel. Ang kanyang matalinong kontrata ay ipapatupad bilang isang "computerized transaction protocol na nagpapatupad ng mga tuntunin ng isang kontrata" - sa madaling salita, isang computer program.

Tulad ng anumang iba pang software, ang isang 'smart contract' na computer program ay makakatanggap ng mga input, magpapatakbo ng isang serye ng mga hakbang sa programa, at magsusuplay ng mga output. Halimbawa, maaaring maghintay ang matalinong kontrata para sa isang paunang natukoy na kundisyon na mangyari (hal: naabot ng isang stock ang isang partikular na presyo), awtomatikong ituring ang mga tuntunin ng kontrata na natugunan, at mag-trigger ng isang paunang natukoy na serye ng mga hakbang sa pagganap (hal: isang pagbabayad) na awtomatikong isasagawa. Mahusay na maaga sa oras nito, ang ideya ay hindi nakuha.

STORY CONTINUES BELOW
Don't miss another story.Subscribe to the Crypto Long & Short Newsletter today. See all newsletters

Fast forward ngayon hanggang 2016. Dumarami ang mga Blockchain, at may panibagong interes sa mga smart contract, partikular na sa desentralisadong pagpapatupad ng kontrata: mga smart contract sa blockchain.

Ang Bitcoin blockchain ay tumatakbo mula noong 2009 ngunit, sa kabila ng iba't ibang mga pagsisikap, ay hindi lumilitaw na ipahiram ang sarili sa maginhawang pagpapatupad ng mga matalinong kontrata. Sa kabaligtaran, ang orihinal Ethereum blockchain, na inihayag noong 2014 at inilunsad noong 2015, ay partikular na idinisenyo upang payagan ang pagpapatupad ng mga matalinong kontrata.

Mga problema sa paraiso

Mula nang ilunsad, nagsimulang dumami ang mga smart contract sa Ethereum ecosystem. Gayunpaman, ang hindi nababagong hinaharap ng mga Ethereum smart contract ay hindi tiyak pagkatapos ng malawakang pagsasapubliko Ethereum "matigas na tinidor". Ang umiiral na ether ay epektibong naging “E[i]ther” – ether classic (ETC) at *new* ether (ETH) – na nag-iiwan sa mga puwersa ng merkado upang matukoy kung ang alinman, o pareho, ay mabubuhay.

Ang Ethereum system, tulad ng Bitcoin, ay iniuugnay ang pagmamay-ari ng pera (ether) sa isang address. Hindi tulad ng Bitcoin gayunpaman, ang Ethereum ay nagbibigay din ng address para sa executable contract code na tumatakbo sa blockchain. Kapag ang address ng kontrata ay nakatanggap ng angkop na mensahe mula sa isang user o ibang kontrata, ang code ay isasagawa. Ang mga Ethereum smart contract ay iniimbak sa blockchain at isinasagawa sa “Ethereum virtual machines” (EVMs) ng mga self-selected computer node, na karaniwang kilala bilang “miners”. Ginagawa ng mga node na iyon ang pagpoproseso na kinakailangan upang maisagawa ang kaukulang mga hakbang ng programa. Para sa isang bayad, siyempre.

Ang bayad sa pagpoproseso para sa bawat Ethereum smart contract ay proporsyonal sa pagiging kumplikado at paggamit ng mga mapagkukunan ng computing. Sa pamamagitan ng pagsingil ng proporsyonal na bayad, hindi hinihikayat ang maling paggamit ng Ethereum system na masinsinang mapagkukunan.

Ngunit ang sobrang paggamit ng mga mapagkukunan ng Ethereum ay hindi lamang ang uri ng maling paggamit na posible. Nabanggit ng isang kamakailang papel na kabilang sa humigit-kumulang 19,000 Ethereum smart contract na pinag-aralan, 44% ay naglalaman ng mga kahinaan. Habang paulit-ulit na kinopya ang smart contract code, at paulit-ulit ang mga maling diskarte sa pag-draft, pinalaganap ang code na puno ng error. Ang luma at may depektong code ay tila naging hindi matatag na pundasyon para sa matataas na bagong matalinong kontrata.

Dahil alam nating lahat, ang mga bug sa software at mga kahinaan ng system ay hindi bago. Ang pinakasikat na operating system at application software ay madalas na "na-update". At higit pang mga bug ang matatagpuan sa lahat ng oras. Kasama sa karaniwang kasunduan sa lisensya ng software ang mga taon ng "libre" na pag-update.

Paano itama ang isang hindi nababagong sistema?

Bilang isang consumer ng software, ang iyong "kaupat na pagsusumikap" ay medyo tapat dahil ang isang proseso ng pagwawasto ng error ay binuo sa lisensya ng software. Kapag (at hindi kung) nagkamali, mayroon kang pag-asa na may nagsisikap na lutasin ang problema.

Ngunit ang mga matalinong kontrata ay hindi ordinaryong software. Ang isang matalinong kontrata ay dapat na awtomatikong magpapatupad ng isang kontrata sa totoong buhay: isang aktwal na kasunduan sa pagitan ng dalawa (o higit pa) na partido. Matapos sumang-ayon ang mga partido sa pakikipag-ayos sa mga tuntunin ng isang deal, ang mga tuntuning iyon ay mako-convert sa isang matalinong kontrata – hal: ibinigay sa isang computer programmer upang lumikha ng smart contract code. Kaya paano malalaman ng mga partido kung ang mga tuntuning napagkasunduan ay wastong na-program?

Bukod dito, kung ang isang matalinong kontrata ay naka-imbak sa isang hindi nababagong blockchain kung gayon, sa kahulugan, ang nakaimbak na code ng programa nito ay hindi nagbabago. Ang katiyakan na nagreresulta mula sa naturang pananatili ay nagiging isang mahalagang feature. Ngunit ang katiyakang iyon ay nangangahulugan din na ang mga hindi nababagong smart na kontrata ay kulang sa tradisyonal na kakayahan sa pagwawasto ng error. Ang code ng programa na nagpapatupad ng matalinong kontrata ay hindi madaling ma-debug pagkatapos na maimbak sa isang hindi nababagong blockchain. Ang anumang mga error o kahinaan ay nakatakda sa 'blockchain stone'.

Ang isang matalinong kontrata ay kailangang walang error, mapagparaya sa error o, sa kahit anong paraan, natatama. Ang pag-asa sa "form" na mga kontrata ay hindi garantiya ng kaligtasan - lalo na hindi para sa mga matalinong kontrata. Ang luma at maraming surot na software ay tiyak na maaaring mapagsamantalahan at nagkaroon ng malaking epekto. tignan mo Ang DAO hack. Isang iniulat na $50m-plus ng ether ang na-divert dahil sa kahinaan ng smart contract.

Kailangang magkaroon ng bagong uri ng angkop na pagsusumikap para sa bagong uri ng kontratang ito. Pinagsasama ng mga smart contract ang batas at computer science. Ang angkop na pagsusumikap sa mga matalinong kontrata ay dapat na gawin ang parehong.

Due diligence sa edad ng blockchain

Anong due diligence ang kailangan para sa isang matalinong kontrata?

Ang isang tradisyunal na pagsusuri ng iminungkahing transaksyon at ang mga napagkasunduang tuntunin sa kontrata ay dapat matukoy ang mga praktikal at legal na isyu. Dapat matukoy ng isang source code analysis ang mga bahid sa pagprograma ng smart contract bago ito i-compile.

Bilang karagdagan, ang iminungkahing smart contract ay dapat patakbuhin sa isang simulator upang makita kung paano ito gumagana bilang tugon sa mga inaasahan at hindi inaasahang mensahe mula sa mga user at iba pang mga kontrata. Ang parehong mga legal na isyu at ang mga isyu sa programming ay maaaring matugunan nang magkasama. Ang mga inaasahan at hindi inaasahang pangyayari ay maaaring matukoy, masuri, at mapagaan.

Sa pagkabalisa ng ilan, ang paggamit ng mga matalinong kontrata sa isang blockchain ay T mag-aalis ng pangangailangan para sa mga abogado. Mas malamang na mababago lang nito ang kailangang gawin ng mga abogado.

Hinuhulaan namin ang bagong uri ng due diligence na ito ay magsasama-sama ng mga dalubhasang transactional na abogado na maaaring magrepaso sa mga tuntunin ng isang partikular na deal, mga eksperto sa software na maaaring magsuri ng smart contract program code at ang operasyon nito sa blockchain, at 'smart contract' na mga abogado na maaaring tulay ang agwat sa pagitan ng dalawa.

Malinaw, ang due diligence team ay dapat makipag-ugnayan nang mabuti bago maidagdag ang isang matalinong kontrata sa blockchain – bago pa man mapag-usapan ang pinagbabatayan na deal – upang makatulong na maiwasan ang mga nakikinitaang pagkakamali. Sa pamamagitan ng pagsasagawa ng bagong uri ng angkop na pagsusumikap na ito kasama ang wastong koponan, ang matalinong mga partido sa pagkontrata ay maaaring magkaroon ng higit na kumpiyansa sa pagkamit ng kanilang mga inaasahang resulta.

Ang mas mahigpit na matalinong kontrata dahil sa pagsusumikap ay maaaring magdulot ng kapayapaan ng isip.

Pag-audit larawan 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 Ted Mlynar and Ira Schaefer