¿Qué son los contratos inteligentes y las ÐApps?
Un contrato inteligente no es más que una frase utilizada para describir un código de programación que facilita el intercambio de dinero, contenidos, propiedades o cualquier cosa de valor. Es un contrato que se ejecuta automáticamente dentro de la cadena de bloques cuando se cumplen una serie de condiciones, y por eso se le llama inteligente, porque actúa por sí mismo.
Una ÐApp es una aplicación descentralizada diferente de las aplicaciones tradicionales, puesto que los datos de las ÐApps quedan registrados permanentemente dentro de la blockchain.
La Máquina Virtual Ethereum (EVM)
Ethereum es una cadena de bloques programables que además de permitir a los usuarios hacer operaciones predefinidas, permite a las personas crear operaciones con el nivel de complejidad que deseen. Su misión es servir como plataforma para diferentes tipos de aplicaciones descentralizadas dentro de la blockchain, incluyendo las criptomonedas pero sin limitarse solo a estas.
El corazón de todo esto es la Máquina Virtual Ethereum (EVM, por sus siglas en inglés) que permite ejecutar códigos de complejidad algorítmica arbitraria; en términos de las ciencias computacionales, es un sistema “Turing completo”.
Ethereum quiere ser una computadora mundial que permita la descentralización del modelo actual cliente-servidor. Esta plataforma reemplaza los servidores y nubes por miles de nodos, es decir, por miles de voluntarios alrededor del mundo. Gracias a esto, cualquier persona puede ofrecer sus servicios dentro de esta infraestructura.
La idea principal es dejar de lado aquellas aplicaciones manejadas por terceros, donde los datos son almacenados en sistemas centralizados que pueden manipular la información e incluso censurarla.
¿Cómo funciona Ethereum?
Como se dijo anteriormente, el protocolo de Ethereum a pesar de guardar parecidos al de Bitcoin, se diferencia en que está ajustado para que cualquier tipo de aplicación sea compatible, no solo las aplicaciones de dinero. La única similitud es que ambos almacenan el historial completo de transacciones.
Lo que sucede con Ethereum es que además del historial de transacciones, necesita descargar a cada nodo de la red el contrato inteligente más reciente, el saldo de cada usuario y todo el código del contrato inteligente, incluyendo dónde se almacena. Se podría decir que Ethereum es una máquina de estados basada en transacciones.
Una máquina de estados es un modelo de sistemas que tiene un comportamiento de entradas y salidas que es capaz de leerlas y hacer una transición a un nuevo estado basado en ellas. Cuando las transacciones son ejecutadas, la máquina cambia a otro estado.
Cada estado de Ethereum está compuesto por millones de transacciones y esas transacciones se agrupan para formar bloques. Cada bloque se va uniendo al anterior, formando una cadena. Antes de que la transacción pueda ser agregada al libro mayor, necesita ser validada por un proceso conocido como minería.
La minería es un proceso en el que los nodos utilizan el poder de sus computadores para resolver un acertijo matemático (Prueba de Trabajo), y posteriormente garantizar la validez del bloque.
Los mineros de todo el mundo compiten por resolver estos acertijos matemáticos. Ya que no solo validan transacciones, sino que al mismo tiempo generan y les son otorgados tokens de Ether. Los mineros son la base de la red de Ethereum.