This article has been translated from English to Tagalog.
Ang Ethereum ay kilala bilang isang “smart contract platform“.
Ang isang platform (o computing platform) ay isang operating environment kung saan puwedeng patakbuhin o “i-execute” ang isang software tulad ng mga programa o applications.
Pero ano ba talaga ang smart contract?
Ano ang Smart Contract?
Ang smart contracts ay mga automated na computer programs na naka-host at na-eexecute sa isang blockchain.

Sa kabila ng pangalan nito, ang “smart contracts” ay hindi naman talaga matalino o legally binding.
Sana “automated” na lang instead of “smart” at “program” instead of “contract” ang tawag dito, pero hindi naman ako ang henyo na nakaisip nito!
Si Nick Szabo – na nag-coin ng term noong late 90’s – ay ikinumpara ang smart contracts sa isang vending machine.
Ilagay mo lang ang coins, at kung tama ang halaga, ang machine ay “self-executes” at ibibigay ang goods na gusto mo. Walang ibang involved kundi ikaw at ang vending machine. Walang kailangan na third-party. Kahit ang may-ari ng vending machine hindi na kailangan.
Ang interaction requires little to no trust: wala nang ibang choice ang vending machine kundi i-deliver ang goods pagkatanggap ng pera.

Ngayon, imagine mo na gumagawa ka ng agreements na ang terms ay kasing linaw at predictable gaya ng isang vending machine at gamit ang blockchain technology para automatic na ipatupad ang mga terms ng agreement sa pagitan ng mga parties.
’Yun ang ginagawa ng smart contract.
Sa Ethereum, ang smart contracts ay mga coded instructions na isinusumite sa blockchain para ang mga participants sa network ay puwedeng i-enforce at i-store ang mga contracts sa isang secure at trustless manner.
Sa mas technical na salita, ang smart contract ay isang koleksyon ng code at data na matatagpuan sa isang specific address sa Ethereum’s blockchain.
Ang smart contracts ay deterministic din kaya alam ng mga involved sa kontrata kung anong resulta ang aasahan pag na-execute na ang kontrata.
Isipin mo ang smart contract bilang isang software program sa blockchain na automatic na nag-eexecute pag na-meet ang predetermined conditions.
Ang mga predetermined conditions na ito, na direktang isinusulat sa mga linya ng code, ay katumbas ng “terms of agreement” sa isang tradisyunal na kontrata.
Ngayon na alam mo na kung ano ang smart contracts, ipakikilala ko naman ang dahilan kung bakit ang Ethereum ay isang smart contract platform.
Ano ang EVM?

Hindi, hindi ito bagong klase ng electronic music.
Kung ang smart contracts ay mga instructions na nakasulat sa code, ito ang Ethereum Virtual Machine (EVM) na nag-eexecute nito sa Ethereum blockchain.
Ang isang “virtual machine” ay isang software na kumikilos na parang totoong pisikal na computer na kayang magpatakbo ng programs at mag-deploy ng apps.
Basically, para itong software program sa isang pisikal na computer na kumikilos na parang hiwalay na computer sa loob ng main computer.
Bakit kailangan ng “hiwalay na computer” para mag-execute ng smart contracts (na mga computer programs lang din naman)?
Dahil hindi lahat ng Ethereum nodes (na mga computer lang din) ay gumagamit ng parehong hardware, operating system (OS), at iba pang settings, kailangan mo ng paraan para “i-abstract” lahat ito para ang code ng smart contract ay puwedeng mag-run nang hindi kailangan alalahanin ang iba’t-ibang uri ng computer configurations na may kanya-kanyang requirements.
Kundi, kailangan mong gumawa ng iba’t-ibang bersyon ng smart contract para sa bawat uri ng computer configuration! 👎
Ayaw ng smart contracts ng ganyang klaseng drama! Gusto nito ay device-agnostic at OS-agnostic.
Kung kaya’t nandiyan ang EVM. 💪
Nagbibigay ito ng execution environment para sa smart contracts, ibig sabihin pwede itong mag-execute (“run”) sa anumang environment (“anumang computer o operating system”).
Maaaring magsulat ang mga developers ng smart contract at makakasigurado na ito’y susunod sa software industry standard practice ng “Write once, run anywhere” (WORA), na kilala rin bilang “Write once, run everywhere” (WORE).
Basically, ang smart contract ay tatakbo sa anumang computer na may EVM, Cool ‘di ba?
Pero hindi lang ‘yan ang cool.
Dahil ang layunin ng EVM ay maging ang computation engine na naka-embed sa lahat ng full Ethereum nodes. ito ay Turing-complete.
Sa computer-speak, ang “Turing-complete” ay nangangahulugang kayang i-compute ng EVM ang kahit anong maisip mong i-compute.
So, sa teorya, ang anumang computer application ay pwedeng i-program at patakbuhin sa Ethereum platform!
Ang smart contracts ay isinusulat gamit ang high-level programming languages tulad ng Solidity, Vyper, o Serpent.
Ang code na ito ay kino-compile para maging “bytecode” ng EVM na sya namang dini-deploy sa Ethereum blockchain.
Salamat sa EVM, ang Ethereum blockchain ay kaya pang lampasan ang smart contracts at magamit sa pagbuo ng decentralized applications (dApps).
Sa susunod na lesson, mas lalo pa nating pag-aaralan ang tungkol sa decentralized apps (dApps).