comparte

Protocolo del Deber: Comprender el Protocolo Blockchain

Donde hay sistemas, hay protocolos

La tecnología Blockchain surgió como la solución innovadora que la gente no sabía que necesitaba para problemas que no sabían que tenían. Con ella llegó una plétora de términos y conceptos que siguen sin explicarse a día de hoy. Uno de ellos es el protocolo blockchain, un término que a menudo se utiliza indistintamente con redes blockchain, aunque no es exactamente lo mismo.

En este post, desglosaremos el concepto de protocolo de cadena de bloques, sus diferencias con la cadena de bloques per se, así como algunos de sus funcionamientos y aplicaciones clave.

¿Qué es una red Blockchain?

Una cadena de bloques es la base de todas las criptomonedas. Es una red descentralizada que permite realizar transacciones rápidas, sin permisos, anónimas y seguras con un activo digital entre iguales en todo el mundo. La red funciona como una base de datos distribuida: todas las transacciones realizadas en la cadena de bloques son abiertas, anónimas, se almacenan en bloques y cualquiera puede verlas.

Una cadena de bloques se alimenta de una red distribuida de nodos, ordenadores que funcionan para mantener la red en funcionamiento en todo el mundo. Los nodos suelen trabajar como mineros (en redes Proof of Work como Bitcoin) o como stakers/delegadores (como en redes Proof of Stake como Ethereum o Cardano). Por sus esfuerzos, los mineros y los stakers obtienen una parte de las comisiones de las transacciones que ayudan a verificar.

Los mineros de las redes Proof-of-Work se encargan de descifrar el hash -un identificador criptográfico único- del siguiente bloque de transacciones. Para ello, utilizan potencias de cálculo brutas y compiten esencialmente en velocidad de cálculo. En las redes Proof-of-Stake, esto no se hace computando, sino poseyendo una gran cantidad de la moneda nativa de la red y, por tanto, teniendo voz y voto sobre qué bloques aprobar a continuación.

El pionero de la cadena de bloques fue Bitcoin, al igual que BTC, la primera criptomoneda existente. Concebida por la entidad desconocida que responde al nombre de Satoshi Nakamoto, la cadena de bloques Bitcoin cobró vida de forma bastante simbólica gracias a un grupo descentralizado de entusiastas.

La criptomoneda Bitcoin sirve de combustible para la red, ya que los usuarios pagan una parte de sus transacciones como tarifa de transferencia.

La cadena de bloques Ethereum se construyó sobre Bitcoin y amplió el arsenal de la cadena de bloques con contratos inteligentes. Los contratos inteligentes son algoritmos precodificados que se ejecutan a sí mismos cuando se cumple un conjunto determinado de condiciones. Por ejemplo, envía 200 ETH a la dirección (X) en cuanto se reciba el número de ficha NFT (XYZ) de dicha dirección.

Los contratos inteligentes permiten una flexibilidad sin precedentes en el despliegue de aplicaciones de blockchain y son esencialmente el tejido de todas las DeFi actuales. Iniciados por la red Ethereum, los contratos inteligentes se pusieron de moda y fueron implementados por la mayoría de los protocolos de cadena de bloques conocidos hoy en día.

Ahora que hemos establecido qué es una red blockchain, vamos a averiguar qué es un protocolo blockchain.

Un protocolo blockchain son esencialmente las normas que rigen el funcionamiento de la red blockchain. NO es la red blockchain en sí misma, sino un conjunto de normas incorporadas a todo su funcionamiento. Define cuándo, cómo y hasta qué punto los distintos elementos de la red pueden o no hacer determinadas cosas.

Protocolos Blockchain y su funcionamiento

La columna vertebral de toda cadena de bloques es el conjunto de protocolos que rigen todos sus movimientos. Estos protocolos son los pilares que sostienen la seguridad, la conectividad y los procedimientos de consenso de la red, garantizando que todo funcione como un reloj. Al no haber una autoridad central que supervise las transacciones, estos protocolos son los actores clave en el mantenimiento de una copia del libro mayor de confianza y en la verificación de las transacciones mediante un método de consenso. Una vez validados, se graban en bloques inalterables.

Principales protocolos que nos rodean

Donde hay sistemas, hay protocolos. Un protocolo es una capa fundamental de código que indica a algo cómo funcionar. Por supuesto, los protocolos no son exclusivos de las criptomonedas. Son fundamentales para el funcionamiento de Internet, ya que regulan la transmisión de datos de un ordenador a otro.

Muchas cosas que ahora damos por sentadas han sido habilitadas y gobernadas por protocolos de red. Los más destacados son el TCP/IP: Protocolo de Control de Transmisión/Protocolo de Internet, utilizado para conectar dispositivos a través de la Web, y el HTTP/HTTPS: Protocolo de Transferencia de Hipertexto (HTTP), utilizado para transferir datos entre servidores web y clientes.

¿Qué hace diferentes a los protocolos Blockchain?

Sin embargo, hay una diferencia cuando se trata de protocolos blockchain. Se vuelve más interesante y complejo que la transferencia de datos tradicional. Una red blockchain es un entramado distribuido de organismos de toma de decisiones, cada uno de los cuales tiene algo más que hacer que limitarse a seguir los algoritmos. Esto implica que el conjunto de reglas tiene que ser acordado, observado y verificado por todos los nodos que componen la red.

Aquí es donde las cosas se complican un poco. En realidad, existen 3 tipos de protocolos blockchain:

  • Protocolo de red
  • Protocolo de consenso
  • Función de transición de estado

Cada tipo es tan importante como los demás, y los tres deben seguirse al pie de la letra para que las cosas funcionen bien.

Protocolo de red

El protocolo de red establece las reglas por las que los nodos de la red pueden (y no pueden) comunicarse. Esto incluye cómo los nodos se descubren y reconocen entre sí, intercambian información sobre bloques, transacciones y otras cosas corrientes. Contiene la sintaxis que define cómo deben descifrar los nodos los mensajes de los demás.

Protocolo de consenso

El protocolo de consenso describe cómo los nodos se ponen de acuerdo sobre qué transacciones considerar válidas o inválidas. Como probablemente sepas, cada nodo guarda una copia completa de toda la red en sus discos duros. La copia incluye todos y cada uno de los datos registrados en la red. Cada copia se actualiza en tiempo real a medida que se falsifican nuevos bloques y se validan nuevas transacciones.

Así, cuando un nodo envía un nuevo bloque para añadirlo a la red, no envía sólo ese bloque: en realidad envía toda su copia de la cadena de bloques hasta la fecha. Y es tarea de cada uno de los nodos de la red escanear, evaluar y (in)validar cada una de las copias de la red enviadas por todos los demás nodos. En las redes Proof-of-Work como Bitcoin, sólo se valida la cadena de bloques más larga, lo que significa que la mayoría de los nodos están de acuerdo en su validez. Como puedes imaginar, es muchísimo trabajo y requiere casi la misma potencia de cálculo.

En una red de prueba de apuesta, los validadores son seleccionados al azar por la red entre los nodos que tienen en sus carteras grandes cantidades de monedas nativas de la red. Algunos pueden equiparar este enfoque al monopolio capitalista, pero la perspectiva de monopolizar la red se ha abordado de forma preventiva. Esto incluye limitar la cantidad que cada nodo puede apostar, el número de transacciones que puede verificar, la frecuencia de esas verificaciones, etc. En cualquier caso, todos los límites y restricciones están establecidos en el protocolo.

Función de transición de estado

Aquí es donde las cosas se ponen realmente técnicas.

El estado es esencialmente lo que la red "cree" que es el caso en un momento dado. Las "ubicaciones" actuales, las relaciones entre todos los nodos, transacciones y bloques, y sus movimientos, constituyen el estado de la red.

El Estado de la red cambia con el tiempo, al igual que el conjunto y el equilibrio de los elementos que la componen. La transición de estado debe registrarse de una forma determinada, y el protocolo de red también se encarga de ello. A medida que los nodos entran y salen de la red, intercambian información y alteran el tejido de la cadena de bloques, surgen nuevas posibilidades, junto con nuevas complicaciones.

El estado encapsula todo lo que la red puede y no puede hacer en un momento dado. Si se cumplen las condiciones A y B, la red no puede hacer más que X e Y. Si el estado está definido por las condiciones C y D, entonces las únicas acciones posibles son W y Z. Este cambio de lógica es crucial para el funcionamiento de la red.

Todos los nodos de la red deben seguir un protocolo blockchain

Cada una de las partes descritas anteriormente sirve como pieza de un rompecabezas trino llamado Estado Verificado. A medida que la información sobre las transacciones entra en el protocolo de Red, se valida o se descarta allí. Si se verifica, pasa a los protocolos de Consenso, que actúan como guardianes. Permite que los datos entren en el estado de la red si coinciden con los de otros nodos.

Si se aceptan, los datos pasan a la función de Transición de Estado, donde se convierten en el nuevo Estado Verificado de la red. El Estado Verificado es la frontera práctica que define lo que realmente "ocurre" después de añadir el bloque a la cadena. Esto puede incluir cambiar el saldo de un determinado monedero o lanzar un contrato inteligente.

¿Puede un Nodo Desviarse del Protocolo?

¿Puede un nodo desobedecer el protocolo y, en caso afirmativo, qué ocurre? Como ya se ha dicho, la validación de bloques requiere que todos los nodos comprueben en línea todos los datos enviados por los demás nodos. Para ello, hay que seguir al pie de la letra el protocolo de la cadena de bloques. Si un nodo no obedece, no podrá cooperar con otros nodos y, por tanto, no podrá obtener recompensas. Esto significa que no hay lugar para el desacuerdo en una cadena de bloques, lo que hace que su estado sea esencialmente totalitario.

Sin embargo, a veces una cadena de bloques se divide a la fuerza o deliberadamente en dos partes, lo que se denomina bifurcación. La bifurcación se produce precisamente porque algunos nodos envían datos que entran en conflicto con los del resto del libro mayor distribuido.

Una cadena de bloques sólo conserva los bloques acordados por todos los nodos de la red

En condiciones normales de trabajo, la red no se molestará en averiguar las razones por las que los datos son defectuosos: simplemente aislará el nodo del resto de la red, dejándolo en la estacada. Así, se impide que los nodos potencialmente maliciosos afecten a la red. Es posible que la mayoría de las copias "erróneas" de cada blockchain sigan guardadas en algún lugar mientras hablamos.

Sin embargo, las horquillas también pueden ser algo bueno. Una red blockchain no puede simplemente "actualizar" su estado actual. Cada nuevo estado verificado es una copia totalmente nueva de la red.

Una red blockchain puede dividirse en dos, a veces creando nuevas redes por el camino

Puede que hayas oído que cada actualización importante de la cadena de bloques se denomina bifurcación. Así, cuando las blockchains necesitan actualizarse, sus desarrolladores las bifurcan deliberadamente en una nueva copia. La versión anterior a la actualización se mantiene como legado, mientras que la recién actualizada se convierte en la auténtica.

Comprender el Protocolo Bitcoin

Profundicemos un poco más en qué cosas rige un protocolo blockchain. Tomemos como ejemplo la red Bitcoin.

Los bitcoins no se reparten como trozos de oro. Cuando envías y recibes BTC, en realidad no estás "recibiendo" ni "dando" bitcoins. Lo que realmente ocurre es que cada nueva transacción registra una firma digital. La firma contiene un hash -el identificador criptográfico único de la transacción anterior- y la clave pública del destinatario. Así, cada transacción está asegurada por una prueba criptográfica, que no puede alterarse ni falsificarse.

La estructura de la transacción en la cadena de bloques de Bitcoin

La principal preocupación de los compradores y vendedores en Internet es que, en algún momento, se aprovechen de ellos y sean presa de un fraude financiero. Esto puede ocurrir en forma de phishing o de transacciones falsas. También está el problema del doble gasto, así como la mera manipulación del sistema en busca de beneficios injustos. Como una cadena de bloques no está gobernada por una entidad central, todas las preocupaciones sobre la seguridad de las transacciones recaen enteramente sobre los hombros del protocolo.

Los desarrolladores de Bitcoin abordaron esas preocupaciones e introdujeron mecanismos como las firmas digitales y la prueba criptográfica para mitigarlas. Así, el protocolo Bitcoin sólo permite validar bloques que tengan una prueba criptográfica que coincida con la presente en otros nodos.

Servidor de Marcas de Tiempo y Sistema de Prueba de Trabajo

El doble gasto es un problema enorme en blockchain. Es un escenario en el que un usuario intenta gastar la misma moneda digital dos veces. Esto puede ocurrir debido a la naturaleza digital de la moneda, que facilita potencialmente su réplica o copia sin ser detectada.

Supón que un usuario tiene 1 BTC e intenta gastarlo dos veces enviándolo a dos direcciones distintas. En un sistema de pago tradicional, el sistema detectaría el intento de doble gasto y rechazaría la transacción. Sin embargo, en una red de cadena de bloques descentralizada, esto se evita mediante el sistema de prueba de trabajo y el algoritmo de consenso, que garantiza que cada transacción sea válida y no se haya gastado ya.

Se adjunta una marca de tiempo a cada bloque

Para garantizarlo, el protocolo Bitcoin implementó un servidor de marcas de tiempo que pega una etiqueta de tiempo única al hash de cada transacción. El sistema de prueba de trabajo toma nota de cada marca de tiempo y rechaza cualquier transacción cuyo hash coincida con las ya registradas en el sistema.

Cada nuevo bloque forjado en una red Bitcoin tiene una prueba de trabajo adjunta. La prueba también se llama Nonce o Número Generado Sólo Una Vez. Sirve como prueba criptográfica de que un minero ha empleado cierta potencia de cálculo para verificar el bloque y ha tenido éxito.

Sin embargo, hay bloques malos que contienen datos que contradicen lo minado por otros nodos. Si se detecta un bloque defectuoso, se extrae y se evalúa para detectar posibles incoherencias. Si se considera válido, el bloque se añadirá a la red como de costumbre. Si no, se descarta.

Los grandes del protocolo hasta ahora

Dicho esto, cada red importante sigue su propio protocolo, elaborado específicamente para su mecanismo de consenso. La red Bitcoin funciona con el protocolo Bitcoin, Ethereum - con el protocolo Ethereum, etc.

A continuación se presentan los protocolos blockchain más destacados hasta la fecha:

Nombre
Polkadot (PUNTO)
Avalancha (AVAX)
Polígono (MATIC)
Solana (SOL)
Cadena Inteligente Binance (BSC)

Polkadot (PUNTO)

Polkadot es un protocolo de cadena de bloques pionero que ha revolucionado la interoperabilidad entre distintas cadenas de bloques, permitiendo una comunicación y un intercambio de datos sin fisuras con la ayuda de contratos inteligentes. Su exclusivo mecanismo de consenso Nominated Proof of Stake (NPoS) ofrece una plataforma altamente segura y escalable, con un tiempo medio de bloque ultrarrápido de sólo 6 segundos y unas comisiones por transacción de bajo peso, con una media de 0,10-0,20 $.

Proyectos destacados: Kusama, ChainX, Moonbeam, Chainlink, Reef Finance

Avalancha (AVAX)

Avalanche es una plataforma de código abierto que ha surgido como un faro de esperanza para los entusiastas de las finanzas descentralizadas (DeFi) y los desarrolladores de blockchain de todo el mundo. Su vanguardista mecanismo de consenso Avalanche permite un alto rendimiento y una rápida finalidad, lo que la convierte en una de las cadenas de bloques más escalables y rápidas del mercado. Avalanche presume de un tiempo medio de bloqueo de 2 segundos y de unas comisiones por transacción inferiores a 1 $ de media.

Proyectos destacados: Pangolin, Trader Joe, Benqi, Lydian Lion, SushiSwap

Polígono (MATIC)

Polygon es una solución de escalado de Capa 2 de nueva generación que está transformando los problemas de escalabilidad y comisiones por transacción de Ethereum. Su mecanismo de consenso Proof-of-Stake (PoS) valida rápidamente las transacciones financieras, con un tiempo medio de bloque de 2-3 segundos, mucho más rápido que Ethereum. Con una comisión media por transacción de 0,002 $, Polygon es una opción ideal para los desarrolladores que quieran crear aplicaciones descentralizadas rentables.

Proyectos destacados: Aave, Quickswap, Curve Finance, Polymarket, Zapper

Solana (SOL)

Solana es una plataforma blockchain de alto rendimiento que ha arrasado en la industria blockchain gracias a su mecanismo de consenso Proof-of-History (PoH). El alto rendimiento y la rápida finalidad de Solana, con un tiempo medio de bloque de 0,4-0,8 segundos y una comisión media por transacción de 0,00025 $, la convierten en una plataforma de cadena de bloques increíblemente rápida y asequible.

Proyectos destacados: Raydium, Serum, Mango Markets, Audius, Bonfida

Cadena Inteligente Binance (BSC)

Binance Smart Chain es una plataforma de cadena de bloques que ha cambiado el juego con su compatibilidad con la Máquina Virtual Ethereum (EVM) y su capacidad para ejecutar aplicaciones descentralizadas. Su compatibilidad también la convierte en una opción atractiva para los desarrolladores que buscan migrar sus aplicaciones de Ethereum a una plataforma más eficiente y rentable.

Proyectos destacados: PancakeSwap, Venus, Protocolo Espartano, BakerySwap, Autofarm

Dónde buscar soluciones de desarrollo de Blockchain

En ICODA, tenemos años de experiencia en servicios de desarrollo de blockchain y en desarrollar productos de blockchain que funcionen. Si tienes un proyecto de desarrollo de software blockchain, estamos aquí para ayudarte. Si necesitas poner en marcha un token o una DApp, un DEX o un mercado NFT, o simplemente intentas averiguar cómo pueden beneficiar a tu negocio las soluciones de desarrollo de blockchain, has llegado al lugar adecuado. Ponte en contacto con nosotros ahora para obtener un breve plan y empezar a trabajar pronto.