Posted by q3it on lunes, febrero 22, 2021 in Blockchain

Es un Programa informático que se programa para que ejecute de forma automática acuerdos que hayan determinado dos o más partes. El Contrato queda ajustado a la consecución de un término (la llegada de un día exacto) o una condición (que suceda determinado hecho), en el caso de que alguno de ellos se presenta, el Contrato se ejecuta sin necesidad de que un juez o una autoridad exija su cumplimiento.
¿Para Qué Sirven los Smart Contracts?
Un Smart Contract le permite a cualquier persona en cualquier lugar del mundo tener la confianza suficiente de hacer un intercambio, sabiendo y conociendo que hay un compromiso de por medio.
Objetivos de los Smart Contracts
Los objetivos fundamentales de los Smart Contracts son:
- Poder contar con un sistema de seguridad mucho mayor a la de un contrato tradicional.
- Reducción de costes.
- Ahorrar el tiempo que normalmente implican este tipo de interacciones.
- Evitar fraudes es de los grandes beneficios de este novedoso sistema de contratos.
Usos
En las siguientes líneas hay un resumen de todos los usos que se le da a estos contratos inteligentes hoy en día.
Servicios de Salud
Historiales médicos electrónicos: estos smart contracts permitirán que médicos y proveedores tengan un sencillo acceso a los expedientes médicos de los pacientes, luego de llegar a ese acuerdo entre las partes.
Acceso a información sanitaria de la población: muchas organizaciones de investigación sanitaria podrán conocer datos personales de pacientes a quienes, a través del contrato, se le realizarán micropagos.
Seguimiento del estado de salud: se puede realizar un seguimiento de las acciones realizadas a los pacientes en torno a su salud a través de Internet of Things; mientras, los contratos generan recompensas que están basadas en hechos.
Servicios Financieros
Cancelación de cupones y bonos: estos contratos hacen el cálculo y cancelan de forma automática los cupones, y hacen una devolución del dinero en cuestión de bonos.
Préstamos: de no cancelar el dinero en el tiempo acordado, el contrato inteligente ejecutaría el retiro de las garantías.
Liquidación de operaciones: el contrato calcula los importes y les cancela a todos de la forma automática.
Herencias: una vez que el contrato comprueba el fallecimiento se encarga de repartir los bienes de manera automática a todos los herederos.
Microseguros: se hace un cálculo y se cancelan micropagos al basarse en el uso de un dispositivo conectado a la red.
Depósito en garantía en el registro de la propiedad: el contrato hace una verificación de la información externa al Blockchain; una vez transferida la propiedad del vendedor al comprador, el contrato le da de manera automática los fondos al primero.
Automatización de donaciones: se puede llegar a acuerdos de donaciones en determinados períodos de tiempo.
Servicios de Propiedad Intelectual
Pagos de royalties: el contrato se encarga de distribuir el dinero de royalties a artistas y otras partes, de acuerdo a los términos acordados.
Servicios del Sector Público
Apuestas: dos partes pueden realizar apuestas contando con la seguridad de un contrato para la cancelación del dinero acordado sin necesidad de intermediarios.
Votaciones: el contrato realiza una validación de los criterios del votante, registra el voto e inicia las acciones acordadas, como determinar cuál fue el voto mayoritario.
Propiedades inteligentes: casas, autos, celulares, etc., todo lo que pueda ser conectado a internet se considera una propiedad inteligente y pueden ser vendidos o alquilados de manera automática con la ayuda de un Smart Contract.
Servicios Energéticos
Estaciones autónomas de recarga para vehículos eléctricos: se hace el procedimiento de un depósito, hace disponible la estación de recarga y devuelve los fondos restantes una vez llevados a cabo.
¿Cómo Funcionan?
Para entender mejor el funcionamiento de los smart contracts, lo mejor es colocar un ejemplo: imagina una máquina expendedora de comida, de esas que puedes encontrar fácilmente en aeropuertos. Dicha máquina se encuentra programada para que después de que introduzcas una cierta cantidad de dinero y un código, puedas obtener la comida o bebida que has seleccionado, ¿cierto?
Por otro lado, esta máquina también está configurada para devolverte dinero en caso de que hayas introducido de más y para avisarte si el producto que has seleccionado se encuentra agotado.
Por ende, esta configuración de la máquina sería el Smart Contract y las partes implicadas serían la máquina y tú.
Las condiciones de este contrato serían las que hemos mencionado: dar dinero, darte comida, devolver dinero, etc. Acciones que deben desencadenar otras y hacer cumplir el contrato automáticamente.
Para el lenguaje automático, esto funciona con una sentencia llamada en inglés “if… then”, que en español viene a ser: “Si… entonces”, y quiere decir que si se cumple una acción o acuerdo, entonces se dará la condición.
¿Qué sucede con el Intermediario en los Smart Contacts?
Ahora pensarás que el ejemplo de las máquinas expendedoras es algo que lleva años funcionando y que no es nada novedoso; pero lo novedoso acá es la eliminación del intermediario.
Con Smart Contracts la máquina misma avisaría cuándo se está quedando sin algún producto. Por ende, el proveedor no tendría que estar vigilando si la máquina se encuentra abastecida.
Así que: ahorro de dinero y reducción de tiempo, haciendo que un proceso sea mucho más simple, es la manera que funcionan los Smart Contracts.
Otro ejemplo es si alguien desea comprar una casa llegando a un acuerdo de compra de un pago en cuotas mensuales; las condiciones del contrato serían:
- Una cantidad específica de dinero mensual.
- Cumplimiento de pago el día del mes.
- Cantidad total de la propiedad a cancelar.
Además, se cumplirán otras reglas importantes, como si la persona no paga a tiempo no podrá ingresar a la propiedad hasta hacerlo; o que una vez cancelado el total de propiedad, el antiguo dueño no podrá volver a ingresar.
Resumiendo, un Smart Contract funciona de la siguiente manera:
- Las partes programan los términos del contrato.
- Estos términos son almacenados.
- Cuando se dan las condiciones, el sistema ejecuta el contrato.
- Se dan lugar las consecuencias establecidas.
Solidity
Los contratos inteligentes no se escriben igual a los contratos tradicionales. Los primeros son programados mediante computadoras y, por ende, el código o lenguaje usado para desarrollarlos se denomina Solidity.
Solidity es el lenguaje de programación para crear Smart Contracts cuya sintaxis es parecida a otros lenguajes de programación más populares como JavaScript. Dicho lenguaje está diseñado y desarrollado bajo un código de bytes llamado Bytecode, este es capaz de desarrollar contratos inteligentes que trabajen en la Máquina Virtual Ethereum, o como se le conoce por su siglas en inglés, la EVM.
También se refiere a un programa de lenguaje informático que permite resolver problemas complejos y tiene la posibilidad de llevar a cabo ciertas tareas partiendo de instrucciones específicas.
Estos códigos han sido nombrados como lenguaje completo de turing, pues está desarrollado para procedimientos con un alto poder informático.
Ethereum
En 2015, el lanzamiento de Ethereum hizo que la tecnología blockchain fuera más accesible que nunca.
Antes de Ethereum, los usuarios tenían que bifurcar el código fuente de una cadena de bloques existente o desarrollar un nuevo protocolo de cadena de bloques desde cero para implementar la tecnología. Ambas tareas son extremadamente difíciles, largas y caras.
Ethereum resolvió estos problemas con la introducción de EVM (Ethereum Virtual Machine), lo que permitió la adopción de la tecnología blockchain sin la necesidad de bifurcar o crear una blockchain.
En pocas palabras, el EVM es un método descentralizado para procesar código. Cualquier desarrollador puede enviar el código al EVM y, suponiendo que el desarrollador paga las tarifas requeridas, la red ejecutará ese código según las instrucciones.
Estos bits de código enviados al EVM se conocen como contratos inteligentes.
Si bien los contratos inteligentes se pueden programar para realizar cualquier número de funciones, el concepto subyacente es el mismo para todos ellos: envía el código y las tarifas requeridas; luego, el EVM procesará el contrato exactamente como fue diseñado.
Remix
Remix es una poderosa herramienta de código abierto que te ayuda a escribir contratos de Solidity directamente desde el navegador. Escrito en JavaScript, Remix admite el uso en el navegador y localmente.
Remix es fundamental para empezar a desarrollar código con solidity.