¿Cómo se realiza un smart contract?

Cómo cualquier contrato, los Smart Contracts gestionan dinero. En este caso activos digitales sujetos a un determinado valor económico. Para evitar la pérdida de los activos, es necesaria su correcta programación, sin fallos surgidos de una mala programación o con errores de seguridad a la hora de su ejecución. A pesar de las advertencias, ocurre con relativa frecuencia.

Debe de existir un proceso completamente seguro para que se garantice una transacción fiable, en la que su ejecución sea posible sin la necesidad de confianza mutua entre ambas partes. En Bitcoin se utiliza un sistema descentralizado para hacer cumplir los acuerdos, sin la necesidad de terceros y evitando el riesgo que pudiera surgir a raíz de esta interacción.

Para realizar un Smart Contract existen varios pasos seguros. En el siguiente ejemplo se entregan bitcoins en un pago a través de página web.

  1. Tanto el usuario que realiza el pago como su responsable se envían mutuamente una clave pública generada exclusivamente para el intercambio.
  2. El usuario crea la primera transacción sin ejecutarla aun. Por ejemplo, 5 bitcoins en un output (salida, monedero del receptor) que necesita de la firma de ambas partes para validarla.
  3. El usuario envía el hash (algoritmo con función unidireccional y que contiene la información) de la primera transacción a la página web.
  4. El portal crea una segunda transacción correspondiente al contrato. En esta segunda transacción se gasta la primera transacción y se devuelve al usuario a través de la dirección que proporcionó en el primer paso, pero como la primera transacción requería dos firmas (usuario y página web) esta operación todavía no estaría completa. Aquí es dónde toma importancia un nuevo parámetro: nLockTime. Este se puede añadir en una transacción de bitcoin estableciendo una fecha futura de por ejemplo 6 meses. Antes de esta fecha, esos fondos no se podrían incorporar en ninguna otra transacción. El Sequence Number del input (entrada, monedero del usuario) también se pone a 0.
  5. Luego, la transacción sin firmar por completo se devolvería al usuario. Este comprobaría que todo está correcto y que las monedas volverían a su posesión. Eso sí, tras los 6 meses que se estipularon con nLockTime. Al tener el Sequence Number en 0, este contrato podría ser modificado en un futuro si ambas partes así lo creen conveniente. Pero claro… si los administradores de la página web desaparecen, ¿cómo podría el usuario recuperar los fondos?
  6. Hay que tener en cuenta que el script del input (instrucciones grabadas en cada transacción) todavía no ha finalizado. El espacio reservado para la firma del usuario todavía está formado por un conjunto de ceros después de que el portal creará la segunda transacción. Ahora tan sólo faltaría la firma del usuario en dicho contrato.
  7. A partir de aquí, tras los 6 meses que se delimitaron sí se transmitirían tanto la primera como la segunda transacción y los 5 BTC de la primera transacción, se devolverían al usuario en cuestión.

Todas estas las características de los contratos inteligentes facilitan nuevas herramientas financieras y nuevas posibilidades de innovación.

→ Los millonarios del Bitcoin son reales

Existen multiples personas que se han hecho millonarios en los últimos años y diciembre de 2018 apunta como el momento en que la población mundial va comprar bitcoin de forma masiva.

Call Now ButtonLLámanos