Comprender las capas de la blockchain
Si te has interesado por las criptomonedas o la blockchain, probablemente te hayas topado con términos como protocolos de capa uno y capa dos. ¿Sientes curiosidad por saber qué son estas capas y por qué existen? Analizaremos en este artículo la arquitectura de las capas de blockchain.
La tecnología blockchain es una mezcla única de varias tecnologías actuales (criptografía, teoría de juegos, etc.) con una amplia gama de posibles aplicaciones, como las criptomonedas. La codificación y descodificación de datos es una disciplina matemática y computacional conocida como criptografía. El estudio de los modelos matemáticos de interacción estratégica entre decisores racionales se conoce como teoría de juegos. Blockchain elimina intermediarios, reduce costes y mejora la eficiencia aportando transparencia y seguridad.
Sin la supervisión de una autoridad central, la tecnología de libro mayor distribuido (DLT) mantiene la información verificada mediante criptografía entre un grupo de usuarios que se han puesto de acuerdo a través de un protocolo de red predeterminado. La combinación de estas tecnologías fomenta la confianza entre personas o partes que de otro modo no tendrían motivos para hacerlo. Hacen posible que las redes blockchain intercambien valor y datos entre usuarios de forma segura.
Debido a la falta de una autoridad centralizada, las blockchains deben ser muy seguras. También deben ser extremadamente escalables para gestionar el aumento de usuarios, transacciones y otros datos. Las capas nacieron del requisito de escalabilidad concurrente con la preservación de una seguridad de primera categoría.
¿Qué es la escalabilidad de blockchain?
La expresión "escalado" en la tecnología blockchain se refiere a un aumento de la tasa de rendimiento del sistema, que se mide en transacciones por segundo. Con la adopción generalizada de las criptomonedas en la vida cotidiana, ahora se requieren capas de blockchain para mejorar la seguridad de la red, el mantenimiento de registros y otras funciones.
El número de transacciones gestionadas por un sistema por segundo se denomina "rendimiento". Si bien la red de pagos electrónicos VisaNet de Visa puede procesar más de 20,000 transacciones por segundo, la cadena principal de Bitcoin (BTC) no puede gestionar más de siete transacciones por segundo.
La blockchain es la primera capa de un ecosistema descentralizado. La capa dos es una integración de terceros que se utiliza junto con la capa uno para aumentar el número de nodos y, en consecuencia, el rendimiento del sistema. Actualmente se están implantando muchas tecnologías blockchain de capa dos. En estas soluciones se utilizan contratos inteligentes para automatizar las transacciones.
Los desarrolladores de blockchain están intentando ampliar el alcance de la gestión de blockchain a medida que bitcoin se convierte en una fuerza más significativa en el mundo comercial. Esperan reducir los tiempos de procesamiento y aumentar el TPS desarrollando capas de blockchain y optimizando la escalabilidad de la capa dos.
El trilema de la cadena de bloques
El trilema de la blockchain se refiere a la noción común de que, en términos de descentralización, seguridad y escalabilidad, las redes descentralizadas sólo pueden proporcionar dos de los tres beneficios en un momento dado.
Los informáticos idearon el teorema de consistencia, disponibilidad y tolerancia a la partición (CAP) en la década de 1980 para expresar la que posiblemente es la más significativa de estas dificultades. El teorema CAP afirma que el almacenamiento descentralizado de datos, como blockchain, sólo puede satisfacer simultáneamente dos de las tres garantías mencionadas.
Este teorema ha evolucionado hasta convertirse en el trilema de blockchain en el contexto de las redes distribuidas actuales. La noción generalizada es que la infraestructura pública de blockchain debe sacrificar la seguridad, la descentralización o la escalabilidad.
Como resultado, el santo grial de la tecnología blockchain es crear una red con una seguridad impenetrable en una red ampliamente descentralizada y, al mismo tiempo, gestionar el rendimiento transaccional a escala de Internet.
Antes de profundizar en la dinámica del trilema, definamos la escalabilidad, la seguridad y la descentralización en términos generales:
-
La escalabilidad de la cadena de bloques se refiere a su capacidad para gestionar un mayor volumen de transacciones.
-
La seguridad se refiere a la capacidad de proteger los datos de la blockchain frente a diversos tipos de ataques y a la defensa de la cadena de bloques frente al doble gasto.
-
La descentralización es un tipo de redundancia de red que garantiza que la red no esté controlada por pocas entidades.
La interacción entre escalabilidad, seguridad y descentralización
Para liquidar una transacción, la red debe primero ponerse de acuerdo sobre su validez. El acuerdo puede llevar cierto tiempo si el sistema tiene un gran número de miembros. Como resultado, podemos demostrar que la escalabilidad es inversamente proporcional a la descentralización cuando los parámetros de seguridad son idénticos.
Supongamos ahora que dos blockchains proof-of-work tienen el mismo grado de descentralización y consideremos que la seguridad es la tasa de hash de la blockchain. El tiempo de confirmación disminuye a medida que aumenta la tasa de hash, y la escalabilidad aumenta a medida que mejora la seguridad. Como resultado, la escalabilidad y la seguridad son proporcionales a una descentralización constante.
Como resultado, una cadena de bloques no puede optimizar las tres características deseadas simultáneamente, lo que la obliga a hacer concesiones. Ethereum es el ejemplo más reciente del trilema en acción. La plataforma Ethereum ha experimentado un auge en su uso debido al crecimiento de las aplicaciones financieras descentralizadas (DeFi). Ethereum sólo puede crecer hasta cierto punto.
Debido al aumento de la demanda, las tarifas de transacción han subido hasta el punto de que algunas personas no pueden comprometerse con la blockchain. El aumento de las tarifas de Ethereum es un ejemplo del trilema, ya que podemos ver que Ethereum no escaló sin sacrificar la seguridad o la descentralización.
Ethereum se centró en la descentralización y la seguridad, limitando el número de transacciones por segundo (escalabilidad). Para animar a los mineros a dar prioridad a sus transacciones, los usuarios pagaban tarifas más elevadas. Del mismo modo, la descentralización y la seguridad han primado sobre la escalabilidad en Bitcoin.
No es ningún secreto que la escalabilidad de blockchains como Bitcoin y Ethereum actualmente es limitada. Por ello, una comunidad global de start-ups, empresas y tecnólogos trabaja frenéticamente en soluciones de capa uno y capa dos para resolver el trilema de las cadenas de bloques.
Las redes blockchain de capa uno están diseñadas para la velocidad, la seguridad y la expansión. La capa dos se refiere a las mejoras tecnológicas y los productos que pueden utilizarse para ampliar la escalabilidad de las redes blockchain existentes. Conseguir el equilibrio perfecto entre las dos capas podría cambiar la adopción de la cadena de bloques y la expansión de las redes descentralizadas.
Los desarrolladores están abordando la cuestión desde diversas perspectivas. El aumento del tamaño de los bloques en Bitcoin Cash (BCH) fue un intento de mejorar la escalabilidad de Bitcoin. Sin embargo, no hay pruebas de que esté ganando popularidad.
Bitcoin pretende abordar el problema añadiendo una capa a la capa de blockchain existente. Las soluciones de capa dos agruparán numerosas transacciones y sólo consultarán la blockchain de la capa base de vez en cuando, según la idea que subyace a las soluciones de escalado. Ethereum está adoptando un enfoque híbrido, en el que la fragmentación amplía la cadena de bloques de la capa base y la comunidad prevé varias soluciones de capa dos para aumentar aún más el rendimiento.
La estructura en capas de la arquitectura blockchain
En el caso de la red distribuida de la arquitectura blockchain, cada participante en la red mantiene, autoriza y actualiza las nuevas entradas. Una colección de bloques con transacciones en un orden específico representa la estructura de la tecnología blockchain. Estas listas pueden guardarse como un archivo plano (en formato txt) o una simple base de datos. La arquitectura blockchain puede adoptar formas públicas, privadas o de consorcio.
La arquitectura por capas de blockchain se clasifica en seis capas.
Capa de infraestructura de hardware
El contenido de la blockchain se almacena en un servidor situado en un centro de datos en algún lugar del planeta. Los clientes solicitan contenidos o datos a los servidores de aplicaciones mientras navegan por Internet o utilizan cualquier aplicación, lo que se conoce como arquitectura cliente-servidor.
Los clientes pueden conectarse con otros clientes y compartir datos. Una red peer-to-peer (P2P) es un gran grupo de ordenadores que comparten datos. Blockchain es una red peer-to-peer de ordenadores que computa, valida y registra transacciones de forma ordenada en un libro de contabilidad compartido. Como resultado, se crea una base de datos distribuida que almacena todos los datos, transacciones y otros datos pertinentes. Un nodo es un ordenador de una red P2P.
Capa de datos
La estructura de datos de una cadena de bloques se expresa como una lista enlazada de bloques en la que se ordenan las transacciones. La estructura de datos de la blockchain consta de dos elementos fundamentales: punteros y una lista enlazada. Una lista enlazada es una lista de bloques encadenados con datos y punteros al bloque anterior.
Los punteros son variables que hacen referencia a la posición de otra variable, y una lista enlazada es una lista de bloques encadenados con datos y punteros al bloque anterior. El árbol de Merkle es un árbol binario de hashes. Cada bloque contiene el hash raíz del árbol Merkle e información como el hash del bloque anterior, la marca de tiempo, el nonce, el número de versión del bloque y el objetivo de dificultad actual.
Para los sistemas de cadena de bloques, un árbol de Merkle proporciona seguridad, integridad e irrefutabilidad. El sistema blockchain se basa en árboles de Merkle, criptografía y algoritmos de consenso. Dado que es el primero de la cadena, el bloque génesis, es decir, el primer bloque, no contiene el puntero.
Para proteger la seguridad e integridad de los datos contenidos en la blockchain, las transacciones se firman digitalmente. Se utiliza una clave privada para firmar las transacciones, y cualquiera que tenga la clave pública puede verificar al firmante. La firma digital detecta la manipulación de la información. Dado que los datos que se cifran también se firman, las firmas digitales garantizan la unidad. En consecuencia, cualquier manipulación invalidará la firma.
Los datos no pueden ser descubiertos porque están encriptados. No se puede volver a manipular, aunque se descubra. La identidad del remitente o propietario también está protegida por una firma digital. Como resultado, una firma está legalmente vinculada a su propietario y no puede ser ignorada.
Capa de red
La capa de red, comúnmente denominada capa P2P, es responsable de la comunicación entre nodos. La capa de red se encarga del descubrimiento, las transacciones y la propagación de bloques. La capa de propagación es otro nombre para esta capa.
Esta capa P2P garantiza que los nodos puedan encontrarse entre sí e interactuar, difundir y sincronizar para mantener la red blockchain en un estado legítimo. Una red P2P es una red informática en la que los nodos están distribuidos y comparten la carga de trabajo de la red para lograr un propósito común. Los nodos realizan las transacciones de la blockchain.
Capa de consenso
La capa de consenso es esencial para que existan las plataformas blockchain. La capa de consenso es la más necesaria y crítica en cualquier blockchain, ya sea Ethereum, Hyperledger u otra. La capa de consenso se encarga de validar los bloques, ordenarlos y garantizar que todo el mundo está de acuerdo.
Capa de aplicación
Los contratos inteligentes, el chaincode y aplicaciones descentralizadas (DApps) conforman la capa de aplicación. Los protocolos de la capa de aplicación se subdividen a su vez en las capas de aplicación y ejecución. La capa de aplicación comprende los programas que los usuarios finales utilizan para comunicarse con la red blockchain. Los scripts, las interfaces de programación de aplicaciones (API), las interfaces de usuario y los marcos forman parte de ella.
La red blockchain sirve de tecnología back-end para estas aplicaciones, que se comunican con ella a través de API. Los contratos inteligentes, las reglas subyacentes y el chaincode forman parte de la capa de ejecución.
Aunque una transacción pasa de la capa de aplicación a la capa de ejecución, se valida y ejecuta en la capa semántica. Las aplicaciones dan instrucciones a la capa de ejecución, que ejecuta las transacciones y garantiza la naturaleza determinista de la cadena de bloques.
Explicación de las capas de las blockchains
Capa 0
La capa cero de las blockchains está formada por componentes que ayudan a que la blockchain sea una realidad. Es la tecnología que permite que Bitcoin, Ethereum y otras redes blockchain funcionen. Los componentes de la capa 0 incluyen Internet, el hardware y las conexiones que permitirán que la capa uno funcione sin problemas.
Capa 1
Esta es la capa base, y su seguridad se basa en su inmutabilidad. La red Ethereum, o capa uno, es a lo que la gente alude cuando dice Ethereum. Esta capa se encarga de los procesos de consenso, los lenguajes de programación, el tiempo de bloque, la resolución de disputas y las reglas y parámetros que mantienen la funcionalidad básica de una red blockchain. También se conoce como capa de implementación. Bitcoin es un ejemplo de blockchain de capa uno.
Los problemas con la capa uno
Estas soluciones de escalado aumentan el rendimiento de la red cuando se utilizan conjuntamente. Sin embargo, con el creciente número de usuarios de blockchain, la capa uno parece quedarse corta. El arcaico y torpe proceso de consenso proof-of-work sigue utilizándose en la capa uno de la cadena de bloques.
Aunque este enfoque es más seguro que otros, está limitado por su velocidad. Los mineros deben resolver algoritmos criptográficos utilizando potencia de cálculo. Como resultado, a largo plazo se requiere más potencia computacional y tiempo. Además, la carga de trabajo en la blockchain de capa uno ha aumentado a medida que crecía el número de usuarios. Como consecuencia, la velocidad y la capacidad de procesamiento han disminuido.
Posibles soluciones
Proof-of-stake es un consenso alternativo que adoptará Ethereum 2.0. Este enfoque de consenso certifica nuevos bloques de datos de transacciones basándose en la garantía de staking de los participantes de la red, lo que resulta en un procedimiento más eficiente.
El sharding es una solución de escala para la carga del problema de la cadena de bloques de capa uno. En pocas palabras, el sharding divide la tarea de validar y autenticar transacciones en partes más pequeñas y fáciles de gestionar. Como resultado, la carga de trabajo puede distribuirse por la red para utilizar la capacidad de cálculo de más nodos. Como la red procesa estos fragmentos en paralelo, pueden procesarse varias transacciones tanto secuencial como simultáneamente.
Capa dos
Las redes superpuestas que se sitúan sobre la capa base se conocen como soluciones L2. Los protocolos hacen uso de la capa dos para aumentar la escalabilidad eliminando algunas interacciones de la capa base. Como resultado, los contratos inteligentes en el protocolo blockchain primario sólo se ocupan de los depósitos y los retiros y garantizan que las transacciones fuera de la cadena sigan las normas. La Lightning Network de Bitcoin es un ejemplo de blockchain de capa dos.
Entonces, ¿cuál es la diferencia entre blockchain de capa uno y de capa dos? La cadena de bloques es la primera capa de un ecosistema descentralizado. La capa dos es una integración de terceros que se utiliza junto con la capa uno para aumentar el número de nodos y, en consecuencia, el rendimiento del sistema. En la actualidad se están aplicando muchas tecnologías de blockchain de capa dos.
Soluciones de escalado de capa dos
Los protocolos de capa dos han ganado popularidad en los últimos años, y están demostrando ser el enfoque más eficaz para resolver los problemas de escalado en redes PoW. A continuación se explican varias soluciones de escalado de capa dos.
Cadena de bloques anidada
Una blockchain de capa dos anidada se ejecuta sobre otra. En esencia, la capa uno establece la configuración, mientras que la capa dos lleva a cabo los procedimientos. En una única mainchain, puede haber varias capas de blockchain. Considéralo una estructura empresarial típica.
En lugar de que una persona (por ejemplo, el gerente) realice todo el trabajo, el gerente delega tareas a subordinados, que luego informan a la dirección cuando han terminado. Como resultado, se reduce la carga de trabajo del gestor y se mejora la escalabilidad. El OMG Plasma Project, por ejemplo, funciona como una blockchain de nivel dos para el protocolo de nivel uno de Ethereum, lo que permite transacciones más baratas y rápidas.
Canales de estado
Canales de estado
Un canal de estado mejora la capacidad y velocidad total de las transacciones al facilitar la comunicación bidireccional entre una cadena de bloques y los canales transaccionales fuera de la cadena a través de varios enfoques. Para validar una transacción a través de un canal de estado, no es necesario que el minero intervenga de inmediato.
En su lugar, se trata de un recurso adyacente a la red que está protegido mediante un mecanismo de firma múltiple o contrato inteligente. El "estado" final del "canal" y todas sus transiciones inherentes se publican en la blockchain subyacente cuando se completa una transacción o un lote de transacciones en un canal de estado.
Algunos ejemplos de canales de estado son la Lightning Network de Bitcoin y la Raiden Network de Ethereum. En el compromiso del trilema, los canales de estado renuncian a cierta descentralización a cambio de una mayor escalabilidad.
Sidechains
Una cadena lateral (o sidechain) es una cadena transaccional que se ejecuta junto a la cadena de bloques y se utiliza para transacciones masivas. Las cadenas laterales tienen su propio método de consenso, que puede ajustarse en función de la velocidad y la escalabilidad, y a menudo se utiliza un token de utilidad como parte del mecanismo de transferencia de datos entre las cadenas laterales y la principal. La función principal de la mainnet es proporcionar seguridad general y resolución de disputas.
Las sidechains difieren de los canales estatales en varios aspectos importantes. Para empezar, las transacciones de las sidechains no son privadas entre los participantes, sino que se publican abiertamente en el libro mayor. Además, los fallos de seguridad en las sidechains no afectan a la mainchain ni a otras sidechains. Construir una cadena lateral desde cero requiere mucho tiempo y trabajo.
Rollups
Los rollups son soluciones de escalado de blockchain de capa dos que realizan transacciones fuera de la red de capa uno y luego cargan los datos de las transacciones a la blockchain de capa dos. La capa uno puede mantener la seguridad de los rollups porque los datos están en la capa base.
Los usuarios se benefician de los rollups, ya que ayudan a aumentar el rendimiento de las transacciones, abren la participación y reducen los costes de gas.
Capa tres
La capa de aplicación suele denominarse capa tres o L3. Los proyectos L3 actúan como interfaz de usuario al tiempo que enmascaran los aspectos técnicos del canal de comunicación. Las aplicaciones L3 son las que dan a las blockchains su aplicabilidad en el mundo real, como se explica en la estructura en capas de la arquitectura de la cadena de bloques.
¿Puede resolverse el trilema de las cadenas de bloques?
Los problemas a los que se enfrentaba el almacenamiento distribuido de datos, que impulsaron la creación de las cadenas de bloques, pasaron a las cadenas de bloques. Para comprender mejor estas dificultades y los problemas relacionados, se acuñó el término "trilema de las blockchains" para agruparlos.
Aunque la palabra "trilema" se ha mantenido, el trilema de las blockchains no es más que una conjetura. Se sospecha que esta hipótesis es acertada basándose en los primeros datos, pero no se ha demostrado ni refutado. Hay que seguir investigando, aunque las soluciones de capa uno y capa dos ya han tenido cierto éxito.
Conclusión
Una de las razones por las que ahora es imposible la adopción generalizada de las criptomonedas en el negocio de las blockchains es la escalabilidad. A medida que crezca la demanda de criptomonedas, también lo hará la presión para ampliar los protocolos blockchain. Dado que ambos niveles de blockchain tienen su propio conjunto de restricciones, la solución final será desarrollar un sistema que pueda resolver el trilema de la escalabilidad.
La primera capa es fundamental, ya que sirve de base para los sistemas descentralizados. Los problemas de escalabilidad de la cadena de bloques subyacente se resuelven mediante protocolos de capa dos. Desgraciadamente, la mayoría de los protocolos de capa tres (DApps) se ejecutan actualmente sólo en la capa uno, saltándose la capa dos. No es de extrañar que estos sistemas no funcionen tan bien como quisiéramos.
Las aplicaciones de capa tres son esenciales porque ayudan a desarrollar casos de uso del mundo real para las cadenas de bloques. Sin embargo, no capturarán tanto valor como su blockchain de base, en contraste con las redes heredadas.