Smart Contract-ak
Smart contract-ak blockchain batean automatikoki exekutatzen diren programa informatikoak dira, aurrez ezarritako zenbait baldintza betetzen badira. Era horretan, transakzioak eta akordioak modu automatizatuan egin ditzaketen aplikazio deszentralizatuak (dApp-ak) eta zentralizatuak sor daitezke.
Smart contract-ak blockchain industrian garapen garrantzitsuenetako bat izan dira azken urteetan.
Hasiera batean Ethereum-erako sortu baziren ere, smart contract-ak tresna baliotsua izatera iritsi dira blockchain askorentzat.
Adibidez, ordainketa elektroniko bat automatikoki abian jartzeko erabil daitezke, aldez aurretik programatutako gertaera determinagarri bat bete eta gero. Modu horretan, exekuzioa errazten da.
Nola funtzionatzen du smart contract batek?
Smart contract-ek modu autonomoan jardun dezakete, sareak horretarako aukera ematen baitu; gainera, transakzioaren segurtasuna blockchain teknologiaren bidez bermatzen da. Programa informatikoari adierazi behar zaio zein den espero den emaitza eta zein izango den emaitza hori eragingo duen gertaera. Horrelako zerbait litzateke: Xen kasuan, orduan Y.
Programa hedatu aurretik, ezarritako arauak eta exekutatuko diren urratsak ezagutu eta onartu behar dira; izan ere, behin hori gertatuta, programatutako arauak ezingo dira aldatu. Hori gertatzen da kode-lerro bakoitza blockchain-ean erregistratuta geratzen delako, eta, beraz, aldaezina delako.
Atzera bota ezin den transakzio baten adibide argigarri bat salmenta-makinak dira. Horiek produktuak ematen dituzte diru-kopuru zuzena sartu eta dagokion botoia sakatzen dugunean. Saldutako artikuluak nahiz jasotako dirua makinaren barruan gordetzen dira, eta “kanpoko erasoetatik” babesten ditu.
Smart contract-en abantailak
Abantaila nagusietako bat da smart contract-ek alderdiei segurtasuna eskaintzen dietela, programatuta zegoena automatikoki betetzeari dagokionean.
Izaera automatiko horrek berak gizakiaren edozein akats ere ezabatzen du (kodea idaztearen errore posibleetatik haratago), eta, aldi berean, smart contract-ak sortzea bultzatzen du, praktikan, ia aldaezinak direnak. Automatikoak direnez, kostuak eta arazoak murrizten dira, eta gauzatzeko prozesua ere errazten da.
Gainera, smart contract-ek aukera ematen dute sare baten barruan token berriak sortzeko, ERC-20 estandarra jarraitzen duten token-en edo ERC-721 estandarra jarraitzen duten NFTen kasuan bezala. Token horiek jaulkipen smart contract batetik sortzen dira, estandar horiek jarraitzen dituzte, eta Ethereum sarean edo horretarako aukera ematen duten beste batzuetan zabaltzen dira. Beraz, Ethereumen liburu nagusian token horiekin egindako transakzioen azpikontabilitatea burutu daiteke, kontu-unitate propioa izanda. Hori guztia ether saldoak edo beste token batzuk aipatu token-arekin nahastu gabe egin behar da, eta Ethereum sarean ematen dituen gardentasuna, trazabilitatea eta segurtasuna bermatuta.
Smart contract-en arazoakHala ere, smart contract-ak kalteberak ere badira arrisku eta legezko arazo batzuen aurrean.
- Arazo horietako bat emaitzen gaineko kontrola galtzea litzateke, smart contract-en izaera automatizagarri eta programagarriaren ondorio zuzena. Smart contract eragiten duten gertaerak gertatutakoan, kodeak berehala egingo ditu aldaketak. Kontua da, duen izaerarengatik, ezin direla smart contract-aren emaitzak testuingurura edo exekuzioaren gorabeheretara egokitu, eta, beraz, ezin zaiela aurrea hartu ezustekoei.
- Arrisku operatiboak ere eragin ditzakete. Esate baterako, kodea okerra bada, konpontzen oso zaila den arazoa sor daiteke, eragiketa guztiak blockchain-ean lotuta eta integratuta baitaude eta automatikoki exekutatzen baitira. Modu horretan, okerreko kode batek baliteke asmoa zehatz-mehatz ez islatzea eta arrisku operatibo bat sortzea.
- Gainera, smart contract baten emaitza gehienak kanpoko informazioaren mende daude (kriptoaktiboen kotizazioak, aktiboen prezioak, etab). Horrek esan nahi du exekuzioa informazio okerraren aurrean kaltebera izan daitekeela, eta horrek autonomiarako eta autosufizientziarako gaitasuna zalantzan jartzen du. Halaber, smart contract-ak eguneratzea konplexua izan daiteke, aldaezintasun-propietatea izateagatik. Kanpoko datuak blockchain batean integratzeko erabiltzen diren informazio-iturriei (adibidez, ekintza jakin baten kotizazioa) orakulu deitzen zaie.
Smart Contract-ak eta Ethereum Virtual MachineSmart contract-en eta Ethereumen Makina Birtualaren edo Ethereum Virtual Machineren (EVM) arteko harremana estua eta funtsezkoa da. EVM softwarea Ethereum sareko nodo bakoitzean exekutatzen da, eta smart contract-ak gauzatzeko aukera ematen duen oinarrizko sistema eragilea altxatzen du.
Beste era batera esanda, smart contract-ak makina birtual horiekin bateragarria den programazio-hizkuntzan programatzen dira, Solidity izenekoan; gero, EVMn kargatzen dira, eta hor exekutatzen dira.
EVM Turing makina birtual oso bat da; alegia, edozein programa informatiko exekutatu dezake, betiere Ethereum sareko adostasun-arauak betetzen baditu. Halaber, EVM arduratzen da smart contract-en egoeren erregistroa mantentzeaz eta transakzio bakoitzaren ondoren eguneratzeaz.
Smart contract-ak eta EVM Ethereumen programagarritasunaren gakoa dira, eta blockchain-ean aplikazio deszentralizatu (dApp-ak) mordoa sortzea ahalbidetu dute.