Ethereum: paano gumagana ang mga smart contract?

Ang mga matalinong kontrata ay ang pangunahing tampok na naging matagumpay sa Ethereum. 

Ano ang mga matalinong kontrata at para saan ang mga ito

Ang Bitcoin protocol ay hindi nagbibigay ng posibilidad ng paglikha ng tunay na kumplikadong mga matalinong kontrata, dahil ito ay karaniwang dinisenyo lamang upang paganahin ang mga transaksyon. 

Sa kabaligtaran, ang Ethereum, na ipinanganak 6 na taon pagkatapos ng Bitcoin, ay idinisenyo mula sa simula upang maging isang network na may kakayahang pagho-host at pagpapatupad ng mga matalinong kontrata

Noong 2014, co-founder ng Ethereum Vitalik Buterin tahasang isinulat sa whitepaper na ang network na kanyang dinidisenyo ay a susunod na henerasyong platform batay sa mga matalinong kontrata, at ang mga alternatibong aplikasyon sa Bitcoin batay sa teknolohiya ng blockchain ay kasama rin ang paggamit ng mga digital na asset upang kumatawan sa mga custom na pera at instrumento sa pananalapi, mga hindi magagamit na asset at mas kumplikadong mga aplikasyon. 

Sa partikular, ang huli, ibig sabihin, ang mga matalinong kontrata, ay tinukoy bilang mga application na kinasasangkutan ng direktang kontrol ng mga digital na asset sa pamamagitan ng isang code na nagpapatupad ng mga arbitraryong panuntunan, o mga desentralisadong autonomous na organisasyon batay sa blockchain, na tinatawag na Mga DAO.  

Sumulat si Vitalik: 

“Ang nilalayong ibigay ng Ethereum ay isang blockchain na may built-in na Turing-complete na programming language na maaaring magamit upang lumikha ng 'mga kontrata' na maaaring magamit upang i-encode ang mga arbitrary na state-transition function, na nagpapahintulot sa mga user na lumikha ng alinman sa mga system na inilarawan sa itaas – pati na rin ang marami pang iba na hindi pa natin naiisip – sa pamamagitan lamang ng pagsulat ng lohika sa ilang linya ng code”.

Kaya, ang mga matalinong kontrata sa Ethereum ay mga linya ng code kung saan posible programa ang awtomatikong pagpapatupad ng mga tagubilin sa pamamagitan ng network, kapag natugunan ang ilang mga kundisyon, nang hindi kinakailangang ipagkatiwala ang kanilang pagpapatupad sa isang tagapamagitan.

Sa katunayan, mismong si Buterin ang naglagay ng terminong "mga kontrata" sa mga panipi, dahil sa halip na mga tunay na kontrata sa pagitan ng mga partido, sila ay mga programa sa kompyuter na pinaandar ng isang desentralisado network. 

Mula sa isang pangkalahatang punto ng view, samakatuwid, ang kanilang operasyon ay hindi masyadong kumplikado. 

matalinong kontrata
Isinasagawa ang mga smart contract kapag na-verify na ang mga kundisyong nakapaloob dito

Pag-deploy ng mga matalinong kontrata sa Ethereum blockchain

Una sa lahat, ang isa o higit pang mga developer ay dapat na malinaw na lumikha ng matalinong kontrata sa pamamagitan ng pagsulat ng mga naaangkop na linya ng code, at pagkatapos ay dapat silang ipadala ito sa Ethereum network. 

Sa mga teknikal na termino, ang pag-publish nito sa Ethereum blockchain ay nangangahulugan ng paggawa ng lahat ng mga node sa network na matanggap at maisakatuparan ito. Kapag nai-publish na, ang lahat ng mga tagubilin dito ay palaging isasagawa ng lahat ng mga node sa eksaktong parehong paraan. 

Samakatuwid, hindi lamang ang publikasyon nito kundi pati na rin ang pagpapatupad ng mga tagubilin ay hindi maibabalik kapag na-publish na ito sa blockchain. 

Samakatuwid, ang talagang mahalaga ay ang mga tagubiling nilalaman nito - na maaaring ang pinaka-magkakaibang - at kung gaano karaming tao ang gumagamit nito. Sa katunayan, upang ang mga tagubilin ng isang matalinong kontrata ay aktwal na maisakatuparan, dapat mayroong isa o higit pang mga transaksyon na humihimok sa kanila

Dapat ding tandaan na ang mga tagubiling ito sa pangkalahatan ay nagsasangkot ng paggamit ng mga mapagkukunan, tulad ng data o mga token, upang ang mga ito ay aktwal na maisakatuparan, lahat ng mga kondisyong itinakda kung kinakailangan ay dapat matugunan. 

Minsan ang data na ito ay nagmumula sa labas, salamat sa tinatawag na mga orakulo, habang kung minsan ay nagmumula lamang ito sa mga transaksyon sa blockchain. 

Karaniwan, ang transaksyon na nagti-trigger sa pagpapatupad ng mga tagubiling nakapaloob sa isang matalinong kontrata nagsasangkot ng pagbabayad ng a bayad sa ETH, at sa maraming pagkakataon upang aktwal na ma-trigger ang pagpapatupad ay kinabibilangan din ng pagbabayad o pagpapadala ng mga token na partikular sa mismong smart contract, o iba pang mga smart contract. 

Sa teknikal, ang mga matalinong kontrata ay isang uri ng account sa Ethereum blockchain, "kinokontrol" ng network sa halip na isang sentral na entity. Maaari silang mag-imbak ng ETH o mga token, at maaari rin magpadala ng mga transaksyon sa network nang awtomatiko.

Paano makipag-ugnayan sa code at sa pangkalahatan sa dApps

Maaaring makipag-ugnayan ang mga user sa mga matalinong kontrata sa pamamagitan ng pagpapadala ng mga transaksyong iyon mag-trigger ng isa sa mga function na tinukoy sa loob ng kanilang code. 

Samakatuwid, ang paggana ng mga matalinong kontrata sa Ethereum sa pangkalahatan ay napaka-simple: magpadala lamang ng isang transaksyon ng isang tiyak na uri sa isang matalinong kontrata, at ito ay magti-trigger sa pagpapatupad ng mga node ng lahat ng mga tagubilin na nilalaman sa pag-andar ng matalinong kontrata na hinihimok ng ang mismong transaksyon. 

Malinaw, depende sa kung aling mga tagubilin ang nakapaloob sa function na ini-invoke, ibang mga kahihinatnan ang maaaring mabuo, na nag-iiba hindi lamang mula sa smart contract hanggang sa smart contract, kundi pati na rin mula sa function hanggang function. 

Ang napakalaking kumplikado ng mga matalinong kontrata samakatuwid ay eksaktong nakukuha mula sa kung ano ang ginagawa ng mga indibidwal na matalinong kontrata, at hindi sa pangkalahatan mula sa katotohanan na ang Ethereum network ay sumusuporta at nagpapatupad ng mga ito. Bukod dito, talagang imposibleng ilista kung paano gumagana ang lahat ng uri ng matalinong kontrata sa network. 


Pinagmulan: https://en.cryptonomist.ch/2022/06/11/ethereum-smart-contracts-3/