Protocolo del deber: Comprendiendo el protocolo de la cadena de bloques

¿Dónde 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ía que tenía. Con ella llegaron una multitud de términos y conceptos que aún hoy permanecen sin explicación. Uno de esos términos es el protocolo de la cadena de bloques, un término que a menudo se utiliza indistintamente con las redes de blockchain, aunque no sea exactamente lo mismo.

En esta publicación, desglosaremos el concepto de protocolo de la cadena de bloques, sus diferencias con la cadena de bloques en sí misma, así como algunos de sus principales funcionamientos y aplicaciones.

¿Qué es una Red Blockchain?

Una cadena de bloques es la capa base de todo lo relacionado con las criptomonedas. Es una red descentralizada que permite transacciones rápidas, sin permisos, anónimas y seguras con un activo digital de igual a igual en todo el mundo. La red sirve como una base de datos distribuida: todas las transacciones realizadas en la cadena de bloques son abiertas, anónimas, almacenadas en bloques y pueden ser vistas por cualquier persona.

Una cadena de bloques es alimentada por una red distribuida de nodos: computadoras que se ejecutan para mantener la red en funcionamiento en todo el mundo. Los nodos generalmente funcionan como mineros (en redes de Prueba de Trabajo como Bitcoin) o validadores/delegadores (como en redes de Prueba de Participación como Ethereum o Cardano). Por sus esfuerzos, los mineros y validadores reciben una parte de las tarifas de transacción que ayudan a verificar.

Los mineros en redes de Prueba de Trabajo están encargados de descifrar el hash, un identificador criptográfico único, del próximo bloque de transacciones. Para eso, utilizan poder de cálculo bruto y compiten básicamente en velocidad de cálculo. En las redes de Prueba de Participación, esto se hace no mediante cálculo, sino mediante la retención de una gran cantidad de la moneda nativa de la red y, por lo tanto, teniendo voz en qué bloques aprobar a continuación.

La cadena de bloques en sí misma fue pionera de Bitcoin, al igual que BTC, la primera criptomoneda existente. Concebido por la entidad desconocida que se hace llamar Satoshi Nakamoto, la cadena de bloques de Bitcoin fue traída a la vida de manera bastante simbólica por un grupo descentralizado de entusiastas.

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

El blockchain de Ethereum se construyó sobre Bitcoin y amplió el arsenal del blockchain con contratos inteligentes. Los contratos inteligentes son algoritmos preprogramados que se ejecutan cuando se cumplen cierto conjunto de condiciones. Por ejemplo, enviar 200 ETH a la dirección (X) tan pronto como se reciba el número de token NFT (XYZ) de dicha dirección.

Los contratos inteligentes permiten una flexibilidad sin igual en la implementación de aplicaciones blockchain y son esencialmente la base de todas las DeFi actuales. Pionerizados por la red Ethereum, los contratos inteligentes se popularizaron e implementaron en la mayoría de los protocolos blockchain conocidos hoy en día.

Ahora que hemos establecido qué es una red blockchain, veamos qué es un protocolo blockchain.

Un protocolo blockchain es esencialmente las reglas que rigen cómo opera la red blockchain. NO es la red blockchain en sí misma, sino más bien un conjunto de reglas integradas en todos sus funcionamientos. Define cuándo, cómo y en qué medida diferentes elementos de la red pueden o no hacer ciertas cosas.

Blockchain Protocols and Their Working

La columna vertebral de cada blockchain es el conjunto de protocolos que gobiernan cada uno de sus movimientos. Estos protocolos son los pilares que sostienen la seguridad, conectividad y procedimientos de consenso de la red, asegurando que todo funcione como un reloj. Sin una autoridad central para supervisar las transacciones, estos protocolos son los principales actores en mantener una copia de libro mayor confiable y verificar transacciones a través de un método de consenso. Una vez validadas, se registran en bloques inalterables.

Protocolos Principales a Nuestro Alrededor

Donde hay sistemas, hay protocolos. Un protocolo es una capa fundamental de código que indica cómo funcionar. Por supuesto, los protocolos no son exclusivos de las criptomonedas. Son fundamentales para cómo funciona Internet, gobernando la transmisión de datos de una computadora a otra.

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

¿Qué hace diferente 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 marco distribuido de organismos de toma de decisiones, cada uno con más que hacer que simplemente seguir los algoritmos. Esto implica que el conjunto de reglas debe ser acordado, observado y verificado por todos los nodos que conforman la red.

Aquí es donde las cosas se complican un poco. De hecho, 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 otros, y los tres deben seguirse al pie de la letra para que las cosas funcionen sin problemas.

Protocolo de Red

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

Protocolo de Consenso

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

Así que, cuando un nodo envía un nuevo bloque para ser agregado a la red, no envía solo ese bloque; en realidad, envía toda su copia de la cadena de bloques hasta la fecha. Y es el trabajo de cada nodo en la red escanear, evaluar y (in)validar cada copia de la red presentada por todos los demás nodos. En redes de prueba de trabajo como Bitcoin, solo la cadena más larga de bloques se valida, lo que significa que la mayoría de los nodos están de acuerdo con su validez. Como puedes imaginar, es un montón de trabajo y requiere una gran cantidad de potencia informática.

En una red de prueba de participación, los validadores son seleccionados al azar por las redes de entre los nodos que poseen grandes cantidades de las monedas nativas de la red en sus billeteras. Algunos pueden equiparar este enfoque con el monopolio capitalista, pero la posibilidad de monopolizar la red ha sido abordada preventivamente. Esto incluye limitar la cantidad que se permite a cada nodo apostar, el número de transacciones que se le permite verificar, la frecuencia de esas verificaciones, etc. Sea cual sea el caso, los límites y restricciones están todos establecidos en el protocolo.

Función de Transición de Estado

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

El estado esencialmente es lo que la red «piensa» que es el caso en cualquier momento dado. Las «ubicaciones» actuales, las relaciones entre ellas y los movimientos de todos los nodos, transacciones y bloques, todo constituye el estado de la red.

El cambio de estado de la red con el tiempo, al igual que el conjunto y el equilibrio de los elementos dentro de él. La transición de estado necesita registrarse de una manera particular, y el protocolo de la red también se encarga de eso. A medida que los nodos entran y salen de la red, intercambian información y alteran la estructura 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 cualquier momento dado. Si se cumplen las condiciones A y B, entonces la red puede hacer X e Y no más. 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 las operaciones de la red.

A blockchain protocol need to be followed by all the nodes of the network

Cada parte descrita anteriormente sirve como una pieza de un rompecabezas triuno 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, luego pasa a los protocolos de consenso, que sirven como el guardián. Permite que los datos entren en el estado de la red si los datos coinciden con los de otros nodos.

Si se acepta, los datos luego se pasan a la función de transición de estado, donde luego se convierten en el nuevo Estado Verificado de la red. El Estado Verificado es la frontera práctica que define lo que realmente ‘sucede’ después de que se agrega el bloque a la cadena. Esto puede incluir cambiar el saldo de una billetera específica o lanzar un contrato inteligente.

¿Puede un Nodo Apartarse del Protocolo?

¿Puede un nodo desobedecer el protocolo y, si es así, qué sucede? Como se mencionó antes, validar bloques requiere que todos los nodos verifiquen todos los datos enviados por todos los demás nodos en línea. Para hacer eso, el protocolo de la cadena de bloques debe seguirse al pie de la letra. Si un nodo no obedece, simplemente no podrá cooperar con otros nodos y, por lo tanto, no podrá obtener las 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 de manera forzada o deliberada en dos partes, lo que se llama un tenedor. El tenedor ocurre precisamente porque algunos nodos envían datos que entran en conflicto con los del resto del libro mayor distribuido.

A blockchain only keeps blocks agreed upon by all nodes of the network

Bajo condiciones de funcionamiento normales, la red no se molestará en averiguar las razones por las cuales los datos son defectuosos; simplemente cortará el nodo del resto de la red, dejándolo en el aire. De esta manera, los nodos potencialmente maliciosos quedan inhabilitados para afectar la red. Es posible que la mayoría de todas las copias «incorrectas» de cada cadena de bloques aún se mantengan en algún lugar en este momento.

Sin embargo, los forks también pueden ser algo bueno. Una red de blockchain no puede simplemente «actualizar» su estado actual. Cada nuevo estado verificado es una nueva copia completa de la red.

A blockchain network can split into two, sometimes creating new networks along the way

Puede que hayas escuchado que cada actualización importante de una cadena de bloques se llama Fork. Así, cuando las cadenas de bloques necesitan ser actualizadas, los desarrolladores las bifurcan deliberadamente en una nueva copia. La versión previa a la actualización se mantiene como legado, mientras que la recién bifurcada se convierte en la verdadera.

Entendiendo el Protocolo de Bitcoin

Profundicemos un poco más en qué cosas gobierna un protocolo de cadena de bloques. Como ejemplo, tomemos la red de Bitcoin.

Los bitcoins no se entregan como lingotes de oro. Cuando envías y recibes BTC, en realidad no estás ‘recibiendo’ o ‘dando’ bitcoins. Lo que realmente sucede 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. Por lo tanto, cada transacción está asegurada por una prueba criptográfica, que no puede ser alterada o falsificada.

The structure of transaction in the Bitcoin blockchain

La principal preocupación entre compradores y vendedores en línea es que, en algún momento, podrían ser aprovechados y caer presa del fraude financiero. Esto puede manifestarse en forma de phishing o transacciones falsas directas. 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 de seguridad de las transacciones recaen completamente en 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. Por lo tanto, el protocolo de Bitcoin solo permite validar bloques que tengan una prueba criptográfica que coincida con la presente en otros nodos.

Servidor de Marca de Tiempo y Sistema de Prueba de Trabajo

El doble gasto es un problema masivo en la cadena de bloques. 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, lo que potencialmente facilita la replicación o copia de la moneda sin detección.

Supongamos que un usuario tiene 1 BTC e intenta gastarlo dos veces enviándolo a dos direcciones diferentes. 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 previamente.

A timestamp is attached to each block

Para garantizar esto, el protocolo de Bitcoin implementó un servidor de marca de tiempo que coloca una etiqueta de tiempo única en el hash de cada transacción. El sistema de prueba de trabajo toma nota de cada marca de tiempo y rechaza cualquier transacción con un hash que coincida con los ya registrados en el sistema.

Cada nuevo bloque forjado en una red de Bitcoin tiene un prueba de trabajo adjunta. La prueba también se llama Nonce o Número Generado Único. Sirve como prueba criptográfica de que un minero ha dedicado cierta potencia informática para verificar el bloque y ha tenido éxito.

Sin embargo, existen bloques incorrectos que contienen datos que contradicen lo que fue minado por otros nodos. En caso de detectarse un bloque incorrecto, se retira y se evalúa más a fondo en busca de cualquier inconsistencia. Si se encuentra válido, el bloque se agregará a la red como de costumbre. Si no lo es, se descarta.

Grandes Protocolos Hasta Ahora

Dicho esto, cada red importante sigue su propio protocolo, diseñado específicamente para su mecanismo de consenso. La red de Bitcoin opera en el protocolo de Bitcoin, Ethereum – en el protocolo de Ethereum, etc.

A continuación se presentan los protocolos de cadena de bloques más prominentes hasta la fecha:

Name
Polkadot (DOT)
Avalanche (AVAX)
Polygon (MATIC)
Solana (SOL)
Binance Smart Chain (BSC)

Polkadot (DOT)

Polkadot es un protocolo de cadena de bloques innovador que ha revolucionado la interoperabilidad entre diferentes cadenas de bloques, permitiendo una comunicación y un intercambio de datos sin problemas con la ayuda de contratos inteligentes. Su único mecanismo de consenso Nominated Proof of Stake (NPoS) ofrece una plataforma altamente segura y escalable con un tiempo de bloque promedio ultra rápido de solo 6 segundos y tarifas de transacción de bajo costo que oscilan entre $0.10 y $0.20.

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

Avalanche (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 en todo el mundo. Su innovador mecanismo de consenso Avalanche permite un alto rendimiento y una finalidad rápida, lo que lo convierte en una de las blockchains más escalables y rápidas del mercado. Avalanche cuenta con un tiempo promedio de bloque de 2 segundos y tarifas de transacción que en promedio son inferiores a $1.

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

Polygon (MATIC)

Polygon es una solución de escalado de próxima generación en Layer-2 que está transformando la escalabilidad y los problemas de tarifas de transacción de Ethereum. Su mecanismo de consenso de Prueba de Participación (PoS) valida las transacciones financieras rápidamente, con un tiempo promedio de bloque de 2-3 segundos, mucho más rápido que Ethereum. Con una tarifa promedio de transacción de $0.002, Polygon es una opción ideal para los desarrolladores que buscan construir aplicaciones descentralizadas rentables.

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

Solana (SOL)

Solana es una plataforma blockchain de alto rendimiento que ha causado sensación en la industria blockchain gracias a su mecanismo de consenso de Prueba de Historia (PoH). La alta capacidad de procesamiento y la rápida finalidad de Solana, con un tiempo promedio de bloque de 0.4-0.8 segundos y una tarifa promedio de transacción de $0.00025, la convierten en una plataforma blockchain increíblemente rápida y asequible.

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

Binance Smart Chain (BSC)

Binance Smart Chain es una plataforma blockchain 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, Spartan Protocol, BakerySwap, Autofarm

Dónde buscar soluciones de desarrollo de blockchain

En ICODA, contamos con una amplia experiencia de varios años en servicios de desarrollo de blockchain y en la creación de productos de blockchain que funcionan. Si tienes un proyecto de desarrollo de software de blockchain, estamos aquí para ayudarte. Ya sea que necesites lanzar un token o una DApp, un DEX o un mercado de NFT, o simplemente estés tratando de entender cómo las soluciones de desarrollo de blockchain pueden beneficiar a tu negocio, has llegado al lugar correcto. Contáctanos ahora para obtener un plan breve y comenzar a trabajar pronto.