Ano ang Mga Smart Contract?
Talaan ng Nilalaman
Panimula
Paano gumagana ang mga ito?
Mga pangunahing tampok
Mga benepisyo at use case
Mga limitasyon
Kritisismo
Mga pangwakas na pananaw
Ano ang Mga Smart Contract?
Home
Mga Artikulo
Ano ang Mga Smart Contract?

Ano ang Mga Smart Contract?

Intermediya
Na-publish Sep 16, 2019Na-update Sep 23, 2022
8m

Panimula

Unang inilarawan ni Nick Szabo ang mga smart contract noong dekada '90. Noon, inilarawan niya ang smart contract bilang isang tool na nagfo-formalize at nagse-secure ng mga computer network sa pamamagitan ng pagsasama ng mga protocol at mga user interface.

Tinalakay ni Szabo ang potensyal na gamit ng mga smart contract sa iba't ibang larangang gumagamit ng mga kasunduan ayon sa kontrata - gaya ng mga sistema ng credit, pagpoproseso ng pagbabayad, at pamamahala ng mga karapatan sa content.

Sa mundo ng mga cryptocurrency, puwede nating ilarawan ang smart contract bilang isang application o program na gumagana sa isang blockchain. Karaniwang gumagana ang mga ito bilang digital na kasunduan na ipinapatupad ng isang partikular na hanay ng mga panuntunan. Paunang tinutukoy ang mga panuntunang ito gamit ang computer code, na kinokopya at ipinapatupad ng lahat ng node ng network.

Nagbibigay-daan ang mga smart contract sa blockchain sa paggawa ng mga protocol na hindi nangangailangan ng tiwala. Ibig sabihin nito, puwedeng mangako ang dalawang partido sa pamamagitan ng blockchain, nang hindi kinakailangang makilala o pagkatiwalaan ang isa't isa. Makakatiyak sila na kung hindi matutugunan ang mga kondisyon, hindi ipapatupad ang kontrata. Maliban doon, gamit ang mga smart contract, hindi na mangangailangan ng mga tagapamagitan, na malaki ang maibabawas sa gastusin sa pagpapatakbo.

Bagama't maraming taon nang sinusuportahan ng protocol ng Bitcoin ang mga smart contract, pinasikat ito ng creator at co-founder ng Ethereum na si Vitalik Buterin. Gayunpaman, mahalagang banggitin na bawat blockchain ay posibleng magpakita ng ibang paraan ng pagpapatupad ng mga smart contract. 

Nakatuon ang artikulong ito sa mga smart contract na pinapatakbo ng Ethereum Virtual Machine (EVM), isang mahalagang bahagi ng Ethereum blockchain.


Paano gumagana ang mga ito?

Kung gagamit ng simpleng salita, nagsisilbi ang smart contracts bilang isang deterministic na programa. Nagsasagawa ito ng isang partikular na tungkulin kapag nasunod ang mga itinakdang kondisyon. Dahil dito, ang sistema ng smart contract ay sumusunod sa mga pahayag na "kapag…samakatuwid…". Ngunit sa kabila ng popular na terminolohiya, hindi legal at hindi matalinong kontrata ang mga smart contract. Mga piraso lamang ito ng mga code na tumatakbo sa isang distributed na sistema (blockchain).

Sa Ethereum network, tungkulin ng mga smart contract na ipatupad at pangasiwaan ang operasyon ng blockchain na nagaganap kapag may interaksyon ang mga user (mga address). Tinatawag na externally owned account (EOA) ang anumang address na hindi isang smart contract. Samakatuwid, kontrolado ng computer code ang mga smart contract, at kontrolado naman ng mga user ang mga EOA.

Binubuo ang mga Ethereum smart contract ng isang contract code at dalawang public key. Nagmumula ang unang public key sa gumawa ng kontrata. Ang isa namang key ay kumakatawan sa mismong kontrata at nagsisilbi bilang isang digital na identifier na natatangi sa bawat smart contract.

Ginagawa sa pamamagitan ng isang transaksyon sa blockchain ang anumang smart contract, at maaari lamang silang ma-activate kapag sinabi ng isang EOA (o ng ibang smart contract). Ganunpaman, ang unang tugon ay laging dulot ng isang EOA (user).


Mga pangunahing tampok

Madalas ipinapakita ng Ethereum smart contract ang mga sumusunod na katangian:

Distributed. Ginagaya at ipinakakalat ang mga smart contract sa lahat ng node sa Ethereum network. Isa ito sa mga malaking pagkakaiba sa ibang solusyon na nakabase sa mga centralized server.

Deterministic. Magagawa lamang ng mga smart contract ang mga aksyong dinisenyo para sa kanila kapag nasunod ang mga kondisyon. Bukod pa rito, laging pareho ang kahihinatnan nito kahit sino pa ang nagsagawa.

Autonomous. Kayang i-automate ng mga smart contract ang lahat ng uri ng tungkulin at kumikilos tulad ng isang self-executing na programa. Ganunpaman, kadalasang nananatiing “dormant” at hindi kumikilos ang smart contract kapag hindi na-trigger.

Immutable. Kapag nadeploy na ang mga smart contract, hindi na sila maaaring mabago. Maaari lamang silang "ma-delete" kapag naimplementa na ang isang partikular na function. Samakatuwid, maaaring sabihin na makapagbibigay ng hindi napapakialamang code ang mga smart contract.

Nako-customize. Bago i-deploy ang mga smart contract, puwedeng i-code ang mga ito sa maraming iba't ibang paraan. Kaya naman, puwedeng gamitin ang mga ito para gumawa ng maraming uri ng mga desentralisadong application (DApp). Nauugnay ito sa katotohanan na ang Ethereum ay isang Turing complete blockchain.

Trustless. Maaaring magkaroon ng interaksyon ang dalawa o higit pang mga partido nang hindi kinikilala o pinagkakatiwalaan ang isa’t isa. Dagdag pa rito, tinitiyak ng teknolohiyang blockchain na tama ang mga datos.

Transparent. Dahil nakabase ang mga smart contract sa pampublikong blockchain, hindi lamang immutable kundi nakikita rin ng sinuman ang kanilang mga source code.


Maaari ko bang baguhin o tanggalin ang isang smart contract?

Imposibleng magdagdag ng mga bagong function sa isang smart contract sa Ethereum pagkatapos nitong ma-deploy. Gayunpaman, kung magsasama ang creator nito ng isang function na tinatawag na SELFDESTRUCT sa code, "made-delete" nila ang smart contract sa hinaharap - at mapapalitan nila ito ng bago. Gayunpaman, sa kabaliktaran, kung hindi pa kasama ang function sa code, hindi nila ito made-delete.

Mahalagang tandaan na pinapayagan ng mga tinatawag na upgradeable smart contract ang mga developer na mas magkaroon ng flexibility sa immutability ng mga kontrata. Maraming paraang para makagawa ng mga upgradeable smart contract na may iba-ibang antas ng pagiging kumplikado.

Bilang isang simpleng halimbawa, ipagpalagay natin na hinati sa ilang mas maliliit na kontrata ang isang smart contract. Dinisenyo ang ilan sa mga ito para maging immutable, habang gumagana ang 'delete' function ng iba. Nangangahulugan ito na maaaring tanggalin at palitan ang bahagi ng code (smart contracts), habang nananatiling buo ang ibang functionality.


Mga benepisyo at use case

Bilang isang programmable code, maaaring i-customize ang mga smart contract at i-disenyo sa maraming magkakaibang paraan, kaya’t nakakapag-alok ng maraming uri ng serbisyo at solusyon.

Bilang mga decentralized at self-executing na mga programa, maaaring magbigay ng karagdagang transparency at mas mababang gastos sa pagpapatakbo ang mga smart contract. Depende sa implementasyon, maaari rin itong makadagdag sa kahusayan at makapagpababa ng bureaucratic expenses.

Partikular na kapaki-pakinabang ang mga smart contract sa mga sitwasyong may kaugnayan sa paglipat o palitan ng mga pondo sa pagitan ng dalawa o higit pang partido.

Sa madaling salita, puwedeng idisenyo ang mga smart contract para sa maraming iba't ibang paggagamitan. Kasama sa ilang halimbawa ang paggawa ng mga tokenized asset, sistema ng pagboto, crypto wallet, desentralisadong palitan, laro, at mobile application. Puwede ring i-deploy ang mga ito kasama ng iba pang solusyon sa blockchain na nangangasiwa sa mga larangan ng pangangalaga sa kalusugan, kawanggawa, supply chain, pamamahala, at decentralized finance (DeFi).


ERC-20

Ang mga token na inisyu sa blockchain ng Ethereum ay sumusunod sa isang pamantayang kilala bilang ERC-20. Inilalarawan ng pamantayan ang mga pangunahing function ng lahat ng token na nakabatay sa Ethereum. Dahil dito, madalas na tinutukoy ang mga digital asset na ito bilang mga ERC-20 token, at kumakatawan ang mga ito sa malaking porsyento ng mga kasalukuyang cryptocurrency.
Maraming kumpanya at startup ng blockchain ang nag-deploy ng mga smart contract para maisyu ang kanilang mga digital token sa network ng Ethereum. Pagkatapos maisyu, ipinamahagi ng karamihan ng mga kumpanyang ito ang kanilang mga ERC-20 token sa pamamagitan ng mga event ng Initial Coin Offering (ICO). Kadalasan, nagbigay-daan ang paggamit ng mga smart contract sa palitan ng mga pondo, at pamamahagi ng mga token, sa paraang hindi nangangailangan ng tiwala at epektibo.


Mga limitasyon

Binubuo ang mga smart contract ng computer code na isinulat ng mga tao. Nagdadala ito ng maraming panganib dahil ang code ay napapasailalim sa maraming kahinaan at bugs. Mas maganda sana kung isinulat at idineploy ang mga ito ng mga programmer na may karanasan, lalong-lalo na kung may kaugnayan sa sensitibong impormasyon o malaking halaga ng pera.

Maliban doon, iginigiit ng iba na maibibigay ng mga sentralisadong system ang karamihan ng mga solusyon at functionality na iniaalok ng mga smart contract. Ang pangunahing pagkakaiba ay gumagana ang mga smart contract sa isang distributed P2P network, sa halip na sa sentralisadong server. At dahil nakabatay ang mga ito sa isang system ng blockchain, malamang na immutable o napakahirap baguhin ang mga ito.

Puwedeng maging mahusay ang maging immutable sa ilang sitwasyon, pero napakasama nito sa iba. Halimbawa, noong may Decentralized Autonomous Organization (DAO) na tinatawag na "The DAO" na na-hack noong 2016, milyon-milyong ether (ETH) ang nanakaw dahil sa mga problema sa code ng smart contract nito.

Dahil immutable ang smart contract nito, hindi naayos ng mga developer ang code. Sa paglaon, humantong ito sa isang hard fork, na bumuo ng pangalawang Ethereum chain. Sa madaling salita, "ni-revert" ng isang chain ang hack at isinauli nito ang mga pondo sa mga karapat-dapat na may-ari (bahagi ito ng kasalukuyang blockchain ng Ethereum). Nagpasya ang isa pang chain na huwag makialam sa hack, at isinaad nito na hinding-hindi dapat baguhin ang mga bagay na nangyayari sa isang blockchain (tinatawag na ngayong Ethereum Classic ang chain na ito).

Mahalagang tandaan na hindi nanggaling ang problema sa Ethereum blockchain. Sa halip, dulot ito ng palyadong implementasyon ng smart contract.

Kaugnay naman sa hindi tiyak na legal nitong estado ang isa pang limitasyon ng smart contracts. Hindi lamang dahil sa nasa alanganin ito sa maraming bansa, kundi dahil hindi naaayon ang mga smart contract sa mga kasalukuyang balangkas ng batas.

Halimbawa, maraming kontrata ang nangangailangan ng parehong partido na maayos na matukoy at lagpas sa 18 taong gulang. Ang pagkakaroon ng palayaw na pinahihintulutan ng teknolohiyang blockchain, kasama ng kakulangan sa tagapamagitan, ay banta sa mga requirement na nabanggit. Bagamat may mga potensyal na solusyon dito, malaking pagsubok ang legalidad ng mga smart contract - lalo na pagdating sa mga borderless at distributed na network.


Kritisismo

Ilang sa mga tumatangkilik ng blockchain ay nakikitang solusyon ang mga smart contract at balang araw ay papalit at gagawing awtomatiko ang malaking bahagi ng ating komersyal at bureaucratic na mga sistema. Bagamat posible itong maging realidad, malamang ay matagal pa bago ito maging bahaging normal.

Tunay na kawili-wiling uri ng teknolohiya ang mga smart contract. Ngunit dahil sa pagiging distributed, deterministic, transparent, at tila immutable nito, maaaring hindi ito maging kanais-nais sa ibang sitwasyon.

Kung susumahin, nakasandal ang kritisismo sa katotohanan na hindi nababagay na solusyon ang smart contracts sa maraming problema sa mundo. Ang totoo rito, karamihan sa mga organisasyon ay mas mabuting gumagamit na lamang ng mga kombensyonal na server-based na mga alternatibo. 

Kung ikukumpara sa smart contracts, mas madali at mas murang panatilihin ang mga centralized na server, at mas may posibilidad itong magpakita ng mas mataas na kahusayan pagdating sa bilis at cross-network communication (interopability).


Mga pangwakas na pananaw

Walang duda na malaki ang epekto ng smart contracts sa mundo ng mga cryptocurrency, at tiyak na nabago nito nang malaki ang espasyo ng blockchain. Bagamat maaaring hindi direkta ang interaksyon ng mga end-user sa smart contracts, may tiyansa ang mga ito na palakasin ang maraming uri ng mga application sa hinaharap, mula sa mga serbisyong pinansyal hanggang sa pangangasiwa ng supply chain.

Kung sama-sama, may potensyal ang mga smart contract at blockchain na guluhin ang halos lahat ng aspeto ng ating lipunan. Pero panahon lang ang makakapagsabi kung malalampasan ng mga makabagong teknolohiyang ito ang maraming hadlang sa malawakang paggamit.