Os Smart Contracts
Os smart contracts son programas informáticos que se executan automaticamente nunha blockchain cando se cumpren certas condicións predefinidas. Isto permite a creación de aplicacións descentralizadas (dApps) e centralizadas que poden realizar transaccións e acordos de maneira automatizada.
Os smart contracts foron un dos desenvolvementos máis importantes na industria blockchain nos últimos anos.
Aínda que foron creados orixinalmente para Ethereum, os smart contracts convertéronse rapidamente nunha ferramenta valiosa para moitas blockchains.
Por exemplo, pódense usar para desencadear un pago electrónico automaticamente, unha vez que se produce un determinado evento predeterminado, que foi programado previamente. Isto facilita a execución.
Como funciona un smart contract?
Os smart contracts poden funcionar de forma autónoma porque a rede na que se despregan o permite e a seguridade da transacción está garantida pola tecnoloxía blockchain. Só é necesario indicarlle ao programa informático cal é o resultado esperado e que evento desencadeará ese resultado. Sería algo así: se X, entón Y.
As regras e os procedementos establecidos deben ser comprendidos e aceptados antes de despregar o programa, xa que unha vez despregado, será imposible cambiar as regras programadas. Isto débese a que cada liña de código está rexistrada na blockchain e, polo tanto, é inmutable.
Un bo exemplo dunha transacción irrevocable é unha máquina expendedora. Estas máquinas só dispensan produtos cando se introduce a cantidade correcta de diñeiro e se preme o botón correspondente. Tanto os artigos vendidos como o diñeiro recibido almacénanse dentro da máquina, o que os protexe de «ameazas externas».
Vantaxes dos smart contracts
Unha das principais vantaxes é que os smart contracts ofrecen seguridade ás partes con respecto ao cumprimento automático do que se programou.
Esta mesma natureza automatizada elimina tamén calquera posible erro humano (máis alá dos posibles erros de escritura do código), ao tempo que facilita a creación de smart contracts que, na práctica, son case inmutables. Ao estar automatizados, redúcense custos e problemas, simplificando tamén o proceso de execución .
Os smart contracts tamén permiten a creación de novos tokens dentro dunha rede, como os tokens xa mencionados que seguen o estándar ERC-20, ou NFT, que seguen o estándar ERC-721. Estes tokens créanse a partir dun smart contract de emisión, que se axustan a estes estándares e se despregan na rede Ethereum ou noutras que o permiten, de forma que é posible levar un subrexistro das transaccións realizadas con estes tokens no libro principal de Ethereum, utilizando a súa propia unidade de conta. Todo isto faise sen mesturar os saldos de ether ou outros tokens cos do token en cuestión, garantindo a transparencia, a trazabilidade e a seguridade que proporciona a rede Ethereum.
Problemas dos smart contractsNon obstante, os smart contracts tamén son vulnerables a certos riscos ou problemas legais.
- Un destes problemas sería a perda de control sobre os resultados, consecuencia directa da natureza automatizable e programable dos smart contracts. En canto se producen os eventos que desencadean o smart contract, o código fará os cambios inmediatamente. O problema é que, pola súa propia natureza, non é posible axustar os resultados do smart contract ao contexto ou ás circunstancias que rodean a súa execución, polo que non é posible anticipar acontecementos imprevistos.
- Tamén poden dar lugar a riscos operativos. Por exemplo, se o código é incorrecto, pode causar un problema moi difícil de resolver, xa que todas as operacións están vinculadas e integradas na blockchain e execútanse automaticamente. Polo tanto, un código erróneo pode non reflectir con precisión o seu propósito previsto e resultar nun risco operativo.
- Ademais, unha gran parte dos resultados dun smart contract dependen de información externa (cotizacións de criptoactivos, prezos de activos, etc.), o que significa que a súa execución pode ser vulnerable a información errónea, o que pon en cuestión a súa autonomía e autosuficiencia. Ademais, a actualización dos smart contract pode ser complicada debido á súa inmutabilidade. As fontes de información empregadas para integrar datos externos a unha blockchain (por exemplo, o prezo dunha acción en particular) chámanse oráculos.
Smart Contracts e a Ethereum Virtual Machine
A relación entre os smart contracts e a Máquina Virtual de Ethereum ou Ethereum Virtual Machine (EVM) é estreita e fundamental. A EVM é un software que se executa en cada nodo da rede Ethereum, levantando un sistema operativo básico que permite a execución de smart contracts.
Noutras palabras, os smart contracts prográmanse na linguaxe de programación compatible con estas máquinas virtuais, como Solidity , e despois cárganse na EVM, que é onde se executan.
A EVM é unha máquina virtual Turing-completa, o que significa que pode executar calquera tipo de programa informático, sempre que cumpra as regras de consenso da rede Ethereum. A EVM tamén é responsable de manter o rexistro dos estados dos smart contracts e actualizalos despois de cada transacción.
Os smart contracts e a EVM son a clave da programabilidade en Ethereum e permitiron a creación dun gran número de aplicacións descentralizadas (dApps) na súa blockchain.