Smart Contracts en EthereumEscrito por Emma Sanchez el 22/01/2019 a las 21:40:1910305
(Security Evaluator Engineer Applus) Los Smart Contracts, o contratos inteligentes, son códigos autoejecutables en una red blockchain, en este caso hablaremos de la red de Ethereum, que implementan los términos de un acuerdo entre dos o más partes y que se ejecutan automáticamente cuando se reúnen ciertas condiciones previamente definidas.
Dado que son códigos almacenados en una blockchain, su código esta replicado en todos los nodos que forman la red, pero solo los nodos involucrados en el acuerdo pueden ejecutarlo, por lo que la información que contienen es fiable, inmutable y trazable.
Precisamente esta inmutabilidad de los datos, puede generar un grave problema, y es que estos tipos de contrato no aceptan modificaciones, por lo que no se pueden corregir errores de redacción ni cambios en los términos del acuerdo.
En comparación a los contratos tradicionales, los contratos inteligentes aportan menores costes y más autonomía, dado que no se necesitan terceras partes que los gestionen, como notarios o abogados, más seguridad y confianza, dado que el código se almacena en una base de datos inmutable, y ofrece un backup, ya que todos los nodos de la red tienen una copia del contrato.
Para programar los contratos inteligentes, se usa un lenguaje llamado Solidity, que se podría definir como una mezcla entre Java y C. El código se compila, generando un bytecode que se despliega en las máquinas virtuales de Ethereum, llamadas EVM (del inglés, Ethereum Virtual Machine). Para que la interfaz del usuario sea más intuitiva, se generan las llamadas aplicaciones distribuidas, o Dapps, que normalmente son accesibles por HTML o Javascript a través de un navegador web o una aplicación móvil. De ahí surge un nuevo término, llamado Web 3, que se refiere a la web descentralizada.
En el caso concreto de la red Ethereum, las aplicaciones más conocidas son Golem, un superordenador cuya potencia sale de combinar la potencia de los ordenadores de sus usuarios; Augur, una plataforma de predicción de mercado descentralizada; Aragon, una herramienta que simplifica la burocracia para las empresas; Ascribe, que permite a los artistas registrar sus obras, con impresiones limitadas, y así poder venderlas bajo un control de numeración digital; UProov, que suministra sellos temporales para acuñar capturas de vídeo o fotografía para dar constancia de su realización y ser utilizada para pruebas periciales o judiciales; Warranteer, que gestiona las garantías de los productos adquiridos por consumidores; Peertracks, para que los artistas musicales puedan vender sus canciones, sin necesidad de pasar por una compañía discográfica. También podemos encontrar juegos, como CryptoKitties, que consiste en la compra y venta de gatitos virtuales, la moneda del juego, como si de un coleccionable se tratara.
Otros ejemplos de contratos inteligentes serían el pago automático de peajes, como ya ha desarrollado la empresa Tesla para sus primeros vehículos autónomos, o bien aplicaciones enfocadas al mundo de las aseguradores, donde se permite calcular un precio del seguro del coche o de vida mucho más ajustado, basándose en el comportamiento del cliente. También se pueden aplicar en ámbitos más cotidianos, como el seguimiento de salud del médico a su paciente, mediante el uso de dispositivos IoT o para hacer pagos periódicos, de manera que el contrato realice el ingreso automáticamente con la cantidad y periodo que se le haya estipulado.
Tal y como se puede observar, las redes blockchain y sus contratos inteligentes ofrecen un sinfín de posibilidades que en un futuro no muy lejano, harán mucho más fáciles las acciones más cotidianas de nuestro día a día, de manera más rápida, segura y sencilla. |