Llegamos a ustedes gracias a:



Reportajes y análisis

Cómo está evolucionando blockchain

[24/05/2022] La tecnología blockchain es bien conocida por haber habilitado las monedas digitales. Aunque las criptomonedas como Bitcoin tienen la mayor parte de la atención de los medios, existe otra posibilidad revolucionaria inherente a la tecnología blockchain: un procesamiento de datos seguro y descentralizado.

No deje que las palabras aburridas afecten su entusiasmo. Los sistemas de blockchain más nuevos proponen crear una máquina de Turing global y distribuida sobre la cual podría tener lugar una capa completamente nueva de interacción y procesamiento en Internet, esencialmente arrebatando el control centralizado de los datos por parte de las autoridades y devolviéndolo a los usuarios.

[Reciba lo último de CIO Perú suscribiéndose a nuestro newsletter semanal]

Esa es la esperanza y la promesa. Pero ¿cómo proponen estos ambiciosos proyectos llevarlo a cabo?

Mientras que blockchain y Bitcoin tienen su urtext en el documento técnico de Satoshi Nakamoto, la idea de construir sistemas de orden superior sobre una blockchain se expone más claramente en el documento técnico de Ethereum. (Este documento técnico sigue siendo una lectura esencial, a pesar de que el preámbulo señala que ya tiene varios años). Y aunque Ethereum (y su moneda asociada, Ether) pueden ser el sistema criptográfico de orden superior más destacado, la categoría también incluye Polkadot (una moneda con sistema de cadenas múltiples), Cosmos, Algorand y otros.

Es importante darse cuenta de que, debido a que Ethereum es esencialmente un ecosistema de cómputo, se construye una amplia gama de otros sistemas sobre él, incluidas monedas como Hex y Tether y sistemas como Uniswap y Amp. Ethereum también aparece en una patente presentada recientemente, otorgada a Microsoft.

Me referiré a la idea fundamental encapsulada por Ethereum y otros sistemas criptográficos de orden superior como una "blockchain de cómputo.

Cálculo de las Blockchains

El primer paso para comprender lo que queremos decir con una "blockchain de cómputo es comprender la propia blockchain. En particular, observe que la blockchain se ejecuta en una red de nodos colaboradores o pares. Estos nodos son administrados por individuos y organizaciones en todo el mundo. Los nodos en la red colaboran para confirmar la validez de la transacción, por una tarifa (así como la extracción de nuevas monedas). Si estos nodos también ejecutan trabajo computacional en colaboración (también por una tarifa), la red se convierte en una especie de máquina de estado descentralizada.

Una transacción convencional de blockchain solo puede realizar una cantidad limitada de acciones, relacionadas con cantidades crecientes y decrecientes, para soportar una moneda digital. Una vez que el nuevo estado se valida localmente, se propaga a la red para que se acepte como la verdad global en el futuro. En el caso de Ethereum, los fragmentos de código llamados "contratos o "contratos inteligentes" (también llamados dapps o aplicaciones distribuidas) se pueden instalar en los nodos. Estos contratos o dapps ejecutan una lógica más sofisticada. Incluso pueden llamar a otros nodos, que a su vez pueden crear cadenas de llamadas recursivas.

Cada contrato especifica cuánto "gas (especificado en el token Ethereum Ether) se requiere para ejecutar los pasos en la lógica, y las personas que llaman al contrato abastecen una cierta cantidad de gas Ether para ejecutar el contrato. Reglas claras dictan cómo se consume el gas y qué constituye un cambio exitoso en el estado de la máquina. Con esta configuración, los nodos de la blockchain representan tanto a los procesadores como a los pares de consenso que almacenan el estado global persistente.

Al igual que con otras máquinas virtuales, el propósito aquí es crear una capa de abstracción entre el sistema subyacente y el código de la aplicación en ejecución. Una máquina blockchain, como Ethereum, crea un contenedor estrictamente limitado para ejecutar código, sin acceso a la red o al sistema de archivos. En su lugar, el protocolo define las API para los contratos que permiten la alteración del estado compartido de la máquina, esencialmente haciendo que el estado de consenso de la blockchain sea la memoria persistente. Dicho de otra manera, la propia blockchain es la base de datos.

Programación de blockchain

Se han desarrollado varios lenguajes de orden superior para Ethereum, que soporta solo un lenguaje simple basado en stack listo para usar. El lenguaje estándar actual se llama Solidity, que soporta una sintaxis similar a C. El código de Solidity se compila hasta el bytecode para ejecutarse como un contrato inteligente. Ethereum proporciona un IDE en línea que puede usar para desarrollar aplicaciones de Solidity: Ethereum Remix. Un ejemplo simple de un contrato que permite incrementar y disminuir un contador se muestra en el Listado 1 (de Solidity by Example).

Listado 1. Contador de Solidity

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.3;
contract Counter {
  uint public count;
   // Function to get the current count
    function get() public view returns (uint) {
     return count;
    }
    // Function to increment count by 1
    function inc() public {
     count += 1;
    }
    // Function to decrement count by 1
    function dec() public {
     count -= 1;
    }
}

Cuando los nodos aceptan y ejecutan contratos, reciben una tarifa por ejecutar el código. Esto es similar a la tarifa que reciben los nodos de Bitcoin por validar transacciones de blockchain. Existe una variedad de formas en que un desarrollador puede monetizar dapps.

Un resultado interesante del sistema descrito es que cada nodo ejecuta todos los contratos. Esto se debe a que el estado global depende de una tendencia hacia el acuerdo en todas las transiciones de estado, lo que significa que cada nodo debe finalmente validar y ajustarse a las transacciones de cada contrato. Para obtener más detalles sobre el lenguaje Solidity, consulte esta descripción general.

Prueba de participación

Ethereum está trabajando activamente en una nueva versión, Eth2. Entre los hitos más importantes se encuentra la introducción de un modelo de prueba de participación (PoS, por sus siglas en inglés), frente al modelo de prueba de trabajo (PoW, por sus siglas en inglés) utilizado por Bitcoin y Eth1. Estos se conocen como algoritmos de consenso y se refieren a cómo la blockchain permite que los nodos demuestren que son operadores válidos. En los sistemas Bitcoin y PoW, los nodos realizan cálculos criptográficos difíciles, lo que demuestra que han realizado el trabajo computacional. En PoS, los nodos colocan tokens que tienen como una especie de garantía corriente.

El beneficio más fundamental de PoS es que se ahorra una gran cantidad de energía, al eliminar la necesidad de que los nodos realicen cálculos costosos para verificar las transacciones. Este es un gran ahorro de energía en forma de electricidad. Algo que, a su vez, reduce la barrera de entrada para los nodos, lo que significa que participan más nodos (y personas). El resultado debería ser una adaptabilidad de escala muy mejorada.

El modelo PoS también permite una especie de pago de dividendos por tener monedas que usted coloca como prueba de participación.

Entre los inconvenientes de PoS está el simple hecho de que está mucho menos probado que PoW. Estaremos observando cómo se expande la adopción de Eth2 y otras monedas PoS (como Tezos). Parece una apuesta segura que alguna forma de PoS (incluidos los modelos híbridos que usan mecanismos de consenso PoS y PoW) será parte del universo criptográfico en el futuro.

Ethereum está lejos de ser el único sistema criptográfico PoS que ha surgido. Existen muchos sistemas de prueba de participación, tanto modelos PoS puros como híbridos.

Fragmentación de blockchains

En un esfuerzo por mejorar la adaptación de escala y la adopción, algunas blockchains como Eth2 proponen usar fragmentación. Esto es análogo a la fragmentación de la base de datos, y aparte de la verificación de pago simplificada (SPV) y nodos ligeros, se encuentra entre los enfoques inteligentes para limitar la cantidad de datos que un nodo necesita para participar en la red.

La idea básica detrás de la fragmentación es dividir una sola blockchain en varias que cooperen. Los nodos (incluso los nodos completos) solo necesitan lidiar con los datos y el rendimiento de la subcadena a la que pertenecen, mientras que un metaprotocolo maneja la negociación entre las subcadenas. Esto se conoce como tecnología de "Capa 2. Existen funciones de Capa 2 en Eth1, incluida la capacidad de acumular paquetes de transacciones fuera de línea y luego enviarlos con prueba criptográfica a la red principal.

Intercambios de inversión y criptografía

Aunque la blockchain está inherentemente descentralizada, teniendo en cuenta todos los datos y el trabajo que se realiza en nodos independientes, debemos tomar nota del floreciente campo de los intercambios de cifrado centralizados. Compañías como Coinbase y Binance están a la vanguardia de esto, pero el campo está lleno de contendientes esperanzados.

Estos intercambios sirven como una especie de middleware, que ofrece servicios financieros adicionales (como interés por mantener tokens y la capacidad de negociar futuros y con margen) mediante la creación de un intercambio público de tokens criptográficos. Estas empresas almacenan la información de la blockchain en monederos remotos, pero siempre mantienen la capacidad de devolver las criptomonedas a los monederos privados de los usuarios.

Además de los servicios criptográficos, están disponibles varias conversiones a moneda fiduciaria (como el dólar americano). Esto, combinado con la creciente sofisticación de los instrumentos financieros, ha llamado la atención de los funcionarios gubernamentales, quienes regulan los mercados tradicionales (por supuesto, el IRS también tiene algo que decir respecto a estas ganancias).

Bajo cualquier circunstancia, pronosticar las tendencias tecnológicas es una propuesta difícil. En el caso de una tecnología radicalmente nueva, como blockchain, la dificultad de la predicción se vuelve imposible. Se requerirán algunos años más para determinar exactamente cómo evolucionará blockchain más allá de su uso para las monedas. Dicho esto, las tendencias identificadas aquí seguramente serán parte de la historia y serán factores importantes para comprender y observar.

Puede ver también:

Primer Contacto

Más »

Casos de éxito

Más »