¿Qué es Blockchain?
Desde el problema bizantino de los generales hasta el consenso, este artículo explica qué es blockchain y cómo funciona.
En los términos más sencillos, una cadena de bloques es un grupo de ordenadores que trabajan juntos para procesar y registrar datos, garantizando la autenticidad y seguridad de las transacciones de datos. Desde una perspectiva más abstracta y previsora, es el futuro potencial de las transacciones financieras, que no está vinculado a la ubicación global ni depende de terceros intermediarios.
¿Qué es Blockchain?
Una de las principales características de blockchain es la forma en que registra los datos, que es:
- Inmutable
- Transparente
- Descentralizado
Inmutable significa que ninguna entidad puede modificar los registros de transacciones.
Transparente implica que cualquiera puede ver y verificar las transacciones en una cadena de bloques a través de Internet.
Descentralizada significa que ninguna entidad puede gobernar toda la red.
Bitcoin fue la primera aplicación que utilizó la tecnología de cadena de bloques (irónicamente, el término “cadena de bloques” se introdujo después de Bitcoin). La tecnología se utiliza ahora en otros proyectos de criptomoneda y aplicaciones empresariales, como la financiación del comercio, las remesas y el comercio electrónico.
Sistemas distribuidos
Blockchain es un sistema distribuido, en el que componentes de hardware o software ubicados en ordenadores conectados en red se comunican y coordinan sus acciones mediante el paso de mensajes. Muchos de los problemas a los que se enfrenta blockchain ya se han debatido o resuelto en un sistema distribuido.
Las características clave de un sistema distribuido son:
- Concurrencia
- Sin reloj global
- Fracaso independiente
Concurrencia
La concurrencia significa que se realizan múltiples cálculos simultáneamente en diferentes máquinas. Puede parecer intuitivo, pero surge la complejidad sobre cómo deben trabajar juntas numerosas máquinas (véase más adelante).
Sin reloj global
En un sistema distribuido, cada participante, o máquina, tiene el mismo peso a la hora de decidir lo que está bien o mal. En un sistema distribuido no existe una única fuente de verdad. Por ejemplo, la Máquina A puede creer que ahora son las 11:13 a.m., mientras que la Máquina B puede creer que son las 11:14 a.m.
Como el retardo de la red puede complicar aún más la situación, aunque dos máquinas tengan la misma hora localmente, no sabrán cuánto ha tardado la red en transferir los datos. Siempre hay ruido potencial cuando una máquina tiene que confirmar la hora de su vecina.
Fracaso independiente
El fracaso independiente se explica mejor como una situación hipotética. Por ejemplo, la Máquina A puede necesitar datos de la Máquina B para continuar su trabajo, por lo que necesita comunicarse con la Máquina B y esperar una respuesta.
Sin embargo, la máquina B puede fallar (por ejemplo, apagarse por sobrecalentamiento), y la red puede retrasarse arbitrariamente o incluso desconectarse. El diseñador del sistema debe tener en cuenta la comunicación y las respuestas a los fallos para garantizar que el sistema se mantenga intacto.
Blockchain y el problema de los generales bizantinos
Blockchain se inventó para resolver el Problema de los Generales Bizantinos, que resulta especialmente problemático en los sistemas informáticos distribuidos, en los que los componentes pueden fallar y existe información imperfecta sobre si un componente ha fallado.
Para ilustrar claramente el problema, empecemos con una historia:
Un grupo de generales, cada uno al mando de una parte del ejército bizantino, rodea una ciudad. Deben decidir si atacan o se retiran. Pero decidan lo que decidan, lo más importante es que lleguen a un consenso. Pero el consenso es difícil de alcanzar porque los generales no conocen las decisiones de los demás generales.
Piensa en lo siguiente:
- Hay tres generales: A, B y C.
- Los generales deben atacar a su enemigo al mismo tiempo; de lo contrario, corren el riesgo de fracasar.
- Los generales no disponen de ningún medio eficaz de comunicación instantánea.
- Por lo tanto, necesitan enviar un mensajero a otros para transmitir su mensaje.
- Deben confirmar que los otros generales atacarán al mismo tiempo.
- Por lo tanto, los generales deben transmitir mensajes y confirmaciones entre cada uno de ellos antes de lanzar un ataque.
El problema se complica cuando consideramos que pueden existir traidores. No tenemos forma de garantizar que todos los mensajeros sean dignos de confianza; además, un mensajero podría ser capturado y obligado a entregar un mensaje falsificado.
De la historia anterior, en relación con blockchain, podemos deducir que:
Los generales bizantinos representan nodos de una cadena.
Cada consenso está formado por un grupo de generales que representan un bloque (es decir, un conjunto de transacciones válidas). Todos los generales deben confirmar la decisión de los demás para llegar a un consenso antes de lanzar un ataque coordinado. Del mismo modo, en una cadena de bloques, todos los nodos deben ponerse de acuerdo sobre el siguiente bloque que se confirmará.
Los nodos están sujetos a fallos.
Si uno de los nodos, por ejemplo, comparte información incoherente (lo que se conoce como nodo malicioso) o no responde, la red podría experimentar problemas.
Por eso cada uno debe reconocer la información que los demás conocen. Al mismo tiempo, todos deben conocer la información que tienen los demás; se crea un escenario en el que la información reconocida y conocida por la mayoría es la decisión final (es decir, el consenso).
Consenso en Blockchain
El problema de los generales bizantinos es un buen ejemplo de cómo entender el consenso. Requiere un acuerdo entre varios procesos (o agentes) para un único valor de datos. Los protocolos de consenso deben ser tolerantes a fallos o resilientes, ya que algunos de los procesos (agentes) pueden fallar o ser poco fiables por otros motivos. Los procesos deben exponer de algún modo sus valores candidatos, comunicarse entre sí y acordar un único valor consensuado.
Quienes participan en una red descentralizada lo hacen utilizando servidores descentralizados (nodos). Cada nodo necesita acordar un conjunto preconcebido de reglas (denominadas“mecanismos de consenso“) para participar en la red blockchain y llegar a un acuerdo. Utilizando estos mecanismos, podemos resolver el Problema de los Generales Bizantinos.
Más información sobre el consenso en blockchain: Cómo Consensuar: Diferentes tipos de consenso para blockchain .
Sistemas centralizados, descentralizados y distribuidos
Mientras que un sistema centralizado es fácil de entender, diferenciar un sistema descentralizado de uno distribuido suele ser confuso.
Un sistema distribuido almacena y procesa datos en diferentes ubicaciones u ordenadores; los datos suelen estar replicados. Un sistema descentralizado significa que ningún participante puede decidir por sí solo cómo se comporta el sistema. Debe agregar las respuestas de múltiples partes antes de tomar una decisión.
Un sistema descentralizado debe ser distribuido, mientras que un sistema distribuido puede o no ser descentralizado. En otras palabras, un sistema descentralizado es un subconjunto del sistema distribuido.
Para una inmersión más profunda, este artículo de Vitalik Buterin puede ayudar a entender la descentralización .
Alternativas a Blockchain
Desde la invención de Bitcoin, muchos han generalizado su tecnología y la han llamado “blockchain”. Sin embargo, el diseño original de Bitcoin no es el único que funciona.
Tecnología de libro mayor distribuido
La “tecnología de libro mayor distribuido” (DLT), como los grafos acíclicos dirigidos (DAG) o el entramado de bloques, es una estructura de datos alternativa a Bitcoin. La DLT cumple la visión de un sistema descentralizado como se deseaba en un principio, pero ya no podemos llamar a estas alternativas “blockchain”. De ahí que se inventara el término DLT para generalizar todos los sistemas similares que pretenden resolver problemas de consenso de forma descentralizada.
Últimas palabras sobre Blockchain
Los mecanismos que hay detrás de blockchain (o sistemas similares) -y la integración de mecanismos de seguridad en su proceso- nos han permitido pasar de un sistema de seguridad centralizado, como el de las instituciones financieras tradicionales, al mundo de las criptomonedas. Esto es sólo el principio, y el sistema mejorará aún más a medida que evolucione.
Lea cómo blockchain está ayudando ahora a mejorar los programas de IA.
Diligencia debida e investigación propia
Todos los ejemplos que figuran en este artículo son meramente informativos. No debe interpretar dicha información u otro material como asesoramiento jurídico, fiscal, de inversión, financiero o de otro tipo. Nada de lo aquí contenido constituirá una solicitud, recomendación, aprobación u oferta por parte de Crypto.com para invertir, comprar o vender monedas, tokens u otros criptoactivos. Los rendimientos de la compra y venta de criptoactivos pueden estar sujetos a impuestos, incluido el impuesto sobre plusvalías, en su jurisdicción.
Los resultados pasados no garantizan ni predicen los resultados futuros. El valor de los criptoactivos puede aumentar o disminuir, y usted podría perder la totalidad o una parte sustancial del precio de compra. Cuando evalúe un criptoactivo, es esencial que investigue y actúe con la diligencia debida para tomar la mejor decisión posible, ya que cualquier compra será de su exclusiva responsabilidad.
Compartir con amigos
¿Todo listo para comenzar tu viaje por el mundo de las criptomonedas?
Obtén tu guía paso a paso para abrir
una cuenta con Crypto.com
Al hacer clic en el botón Enviar, reconoces haber leído el aviso de privacidad de Crypto.com donde explicamos cómo usamos y protegemos tus datos personales.