Guía simple sobre Blockchain y Contratos Inteligentes

En esta guía vamos a intentar explicar de la manera más sencilla, algunos conceptos sobre la tecnología Blockchain. Intentaremos explicar su significado y cómo es su funcionamiento. También desarrollaremos cómo se utiliza esta tecnología para los Contratos Inteligentes o Smart Contracts, mediante la blockchain Ethereum. Dada esta breve presentación, comencemos!

¿Qué es Blockchain?

Suele explicarse la Blockchain como un gigantesco libro de cuentas, en dónde los registros (los bloques) están enlazados y cifrados para proteger la seguridad y privacidad de las transacciones. Es una base de datos distribuida y segura (gracias al cifrado) que se puede aplicar a todo tipo de transacciones que no tienen por qué ser necesariamente económicas.

También podemos decir que es una manera de almacenar información en bloques en función del tiempo. A medida que va pasando el tiempo, se emite un nuevo bloque, y este nuevo bloque guarda las operaciones desde el bloque anterior al bloque nuevo.

Esa cadena de bloques tiene un requisito importante: debe haber varios usuarios (nodos) que se encarguen de verificar esas transacciones para validarlas. En cada bloque hay un gran número variable de transacciones.

¿Cómo se compone un bloque?

Cada bloque tiene 3 características específicas:

  1. Hash: es un identificador único de cada bloque. Este se genera a través de un algoritmo.
  2. Información: las operaciones que se realizarán en este tiempo.
  3. Hash Bloque Anterior: se enlaza con el bloque anterior.

¿Qué es un nodo?

Los nodos son computadoras, conectadas a internet, que guardan una copia entera de la cadena de bloques (Blockchain). Cada nodo se encarga de aceptar o rechazar nuevos bloques.

Cualquier computadora en el mundo puede ser un nodo, si una persona quiere puede transformar la suya en un nodo de Blockchain para ayudar a la cadena. Un nodo Bitcoin puede tardar en instalarse y bajar toda la cadena entre 3 a 4 días.

¿Por qué decimos que Blockchain es un sistema de Conexión Bilateral?

blockchain conexión bilateral

Lo explicaremos con ejemplos, para hacerlo más simple. Primero debemos mencionar qué es un sistema de Conexión Unilateral, con Google como principal ejemplo. Google es el servidor central donde se guarda toda la información y todos los usuarios que utilizan la plataforma somos clientes.

Por el contrario, un ejemplo de Conexión Bilateral es la Blockchain Etherum. Etherum es una plataforma Open Source descentralizada que permite la creación de contratos inteligentes entre pares. Cada nodo es servidor y cliente al mismo tiempo.

¿Porque Blockchain es Inhackeable?

Hay dos razones para demostrar esto:

  • La primera razón es el Hash. El resultado del Hash (es decir el valor), va a depender de la información que contenga el bloque. Si alguien quiere cambiar el contenido, también cambiará el hash. Esto haría que el bloque posterior rechace automáticamente al bloque. Entonces para que se hackee un bloque, se debe vulnerar no solo un bloque sino todos los que le siguen hasta llegar al actual. Esto, vuelve a la tecnología prácticamente invulnerable.
  • La segunda razón son los nodos. Existe una inmensa cantidad de nodos que están todo el tiempo comparando automáticamente que cada uno tenga la misma cadena de bloques que el resto. Si se detecta una modificación del Blockchain en un nodo, los otros nodos detectarán esto y lo expulsarán de la cadena.

¿Qué es la minería en el Blockchain?

Es el acto de verificar transacciones de criptomonedas dentro de una blockchain. Esto es llevado a cabo por ordenadores/chips dedicados que aportan poder computacional a la red.
Los mineros deben usar sus potentes equipos informáticos para competir entre ellos y encontrar la solución de complejos problemas matemáticos antes que el resto.
El que logra encontrar dicha solución habrá resuelto el problema, siendo las transacciones verificadas y añadidas a la cadena de bloques.
Estas acciones conllevan un gran gasto de tiempo y electricidad. Pero como recompensa, reciben una cantidad concreta de la criptomoneda que estén minando.
Esto se lleva a cabo a través de algoritmos informáticos, protocolos de consenso llamados PoW y PoS.

¿Qué es Proof Of Work (POW) o Prueba de Trabajo?

La prueba de trabajo, es un algoritmo informático, utilizado para llegar a un acuerdo descentralizado, que determina cuál de los bloques se agregara a la cadena después de minado. Este protocolo tiene como objetivo, evitar los ciberataques como los de denegación de servicio (DDoS). Estos ataques pretenden agotar los recursos de un sistema informático, mediante el envío de múltiples solicitudes falsas.

Por ejemplo, la red de blockchain de Bitcoin depende de los mineros para desbloquear el siguiente bloque. Al resolver con éxito una serie de acertijos criptográficos, se los recompensa en forma de fichas de bitcoins. Sin embargo, al hacerlo, los costos de funcionamiento para los mineros son sustanciales. La solución de estos acertijos digitales requiere una gran cantidad de poder de cálculo e igual cantidad de costosa electricidad.

¿Qué es Proof Of Stake (POS) o Prueba de Participación?

La prueba de participación, es una alternativa al mecanismo anterior. Se busca de igual forma lograr un consenso descentralizado para validar las transacciones entre los participantes de la red. Su creación fue el resultado de considerar el mecanismo de prueba de trabajo como un desperdicio de recursos. Como hemos comentado, el POW tiene altos costos de consumo eléctrico y de los equipos necesarios para realizar la minería. Los cálculos no llevan tanta dificultad como en el protocolo anterior, basta con demostrar la posesión de un determinado porcentaje en las criptomonedas establecidas.

Entonces, en lugar de dejar que cada usuario conectado tenga la oportunidad de resolver el próximo bloque, PoS opta por un método que se asemeja bastante a un proceso de selección aleatoria. Aunque influye mucho el peso que el participante tenga en la red, se puede seleccionar cualquier nodo para validar el siguiente bloque.

Esa apuesta sería un depósito de fichas de su propia billetera. Al aumentar la cantidad que un validador pone en juego, aumentan las posibilidades de ser seleccionado para forjar el siguiente bloque. El proceso no es completamente aleatorio cuando decide al próximo validador seleccionado, pero aún permite una correlación lineal entre probabilidad y apuesta. Esto resulta en un mejor modelo de oportunidad de recompensa que PoW, digamos que algo más equilibrado.

Explicación de las 8 ventajas que suelen atribuirle a la Blockchain

  1. Desintermediación: Todas las operaciones se realizan entre personas, con lo cual no existen intermediarios. Las comisiones son mínimas.
  2. Resistencia a la censura: Al ser las operaciones entre pares (P2P), es muy difícil censurarlo.
  3. Descentralización: La Blockchain no tiene dueño, ni pertenece a ninguna institución, es la comunidad la que define el futuro de la misma.
  4. Inmutabilidad: No se puede modificar ninguna operación.
  5. Irreversibilidad: Tampoco se puede deshacer ninguna operación.
  6. Criptografía y seguridad: La Blockchain está cifrada con categoría a nivel militar.
  7. Carácter público: Cualquier persona puede operar con la red.
  8. Privacidad y trasparencia: Las transacciones no requieren identificación, y además son públicas para todo el mundo.

¿Qué es Etherum?

Ethereum es una Blockchain que se basó en Bitcoin y agregó lo que se llama Turing completo: una capa más en el protocolo que le permite ejecutar contratos inteligentes o Smart Contracts.

Esto permite a los desarrolladores crear mercados, almacenar registros de deudas o promesas o mover fondos de acuerdo con instrucciones estipuladas. Puede crease un testamento o un contrato de futuros, entre tantas otras cosas aún no desarrolladas. Todo esto sin intermediarios o riesgo de contraparte.

¿Qué son los Contratos Inteligentes (Smart Contracts)?

Son programas (codificados en SOLIDITY) o reglas visibles para todos, que van a cumplirse según ciertas condiciones previamente definidas. Eliminan la posibilidad de censura, fraude o interferencia de terceros.

En el caso de Ethereum un usuario puede programar un contrato de este tipo. Si se cumple determinada condición (input) el programa ejecuta una tarea (output).

Un contrato inteligente garantiza su cumplimiento mediante métodos criptográficos. La clave reside en que son programas que se ejecutan exactamente como fueron programados por sus creadores.

¿Qué es el Ether?

Ether es la criptomoneda de ethereum, el combustible que impulsa esta plataforma de aplicaciones distribuidas. Es una criptomoneda utilizada por los clientes de la plataforma ethereum para realizar pagos a otras personas o a máquinas que ejecutan operaciones solicitadas. Es decir, ether es el incentivo que asegura que los desarrolladores escriban aplicaciones de calidad (la codificación innecesaria cuesta más) y que la red permanezca saludable (la gente es recompensada por los recursos aportados).

¿Qué es el Gas?

Con el fin de evitar bucles infinitos accidentales, hostiles, u otro desperdicio computacional en el código, cada transacción es obligada a establecer un límite al número de pasos computacionales de ejecución de código.
El Gas es el coste que tiene el realizar una operación o un conjunto de operaciones en la red Ethereum. Estas operaciones pueden ser varias: desde realizar una transacción hasta ejecutar un contrato inteligente o crear una aplicación descentralizada.

Al igual que en el mundo físico, en Ethereum también hay trabajos que cuestan más que otros. Si la operación que queremos realizar requiere un mayor uso de recursos por parte de los nodos que forman la plataforma, esto hará que el Gas aumente también.

Por ejemplo, si ejecutamos un contrato inteligente con diez instrucciones diferentes, éste tendrá un coste computacional -en Gas- mayor que un contrato inteligente con una sola instrucción.
También podemos decir que, si una instrucción es más compleja de realizar que otra dentro de un contrato inteligente, esa más compleja requerirá un numero de Gas mayor.

¿Conocés nuestra plataforma de Smart Contracts?

Dtecdeal es la plataforma de contratos inteligentes que va a revolucionar la forma de hacer contratos. Actualmente en fase de desarrollo, estamos creando distintos tipos de contratos que vas a poder utilizar siendo parte de la comunidad. Si estás interesado o tenés dudas hacenos tu consulta y seguinos en nuestras Redes Sociales.

Author: Juan Manuel Mombiela
Developer Front-End orientado al diseño UI/UX en Dtecdeal. Entusiasta de la tecnología Blockchain y SmartContract.

Dtecdeal - plataforma de Smart Contracts

¿Tenés alguna duda? Contactamos y te daremos la información que necesitamos.

¿Tenés alguna duda? Contactanos y te daremos la información que necesitas.