Skip to content

Latest commit

 

History

History
506 lines (284 loc) · 106 KB

Nervos Positioning Paper Spanish.md

File metadata and controls

506 lines (284 loc) · 106 KB

RFC 0001: Documento de Posicionamiento de la red Nervos

Alejandro Ruiz

Alejandro Ruiz·Follow

62 min read·Jun 7, 2022

1. Propósito de este documento La red de Nervos se compone de una serie de protocolos e innovaciones. Es importante tener documentación y especificaciones técnicas claras sobre el diseño y las implementaciones de protocolos clave, y para ello se utiliza un proceso de RFC (request for comments/solicitud de comentarios). Sin embargo, creemos que es igualmente importante que ayudemos a nuestras comunidades a comprender lo que tratamos de lograr, las concesiones que hemos hecho y cómo hemos llegado a nuestras decisiones de diseño actuales.

Comenzamos este documento con un examen detallado de los problemas que enfrentan hoy en día las cadenas de bloques públicas sin permiso y las soluciones existentes que intentan resolverlos. Esperamos que esto proporcione el contexto necesario para que nuestros lectores comprendan nuestra propia lógica sobre la mejor manera de abordar estos desafíos y nuestras decisiones de diseño subyacentes. Luego proporcionamos un recorrido de alto nivel de todas las partes de la red de Nervos, con un enfoque en cómo funcionan juntas para respaldar la visión general de la red.

**2. Fondo ** La escalabilidad, la sostenibilidad y la interoperabilidad se encuentran entre los mayores desafíos que enfrentan las cadenas de bloques públicas sin permiso en la actualidad. Si bien muchos proyectos afirman tener soluciones a estos problemas, es importante comprender de dónde provienen estos problemas y ubicar las soluciones en el contexto de posibles compensaciones.

**2.1 Escalabilidad ** Bitcoin[1] fue la primera cadena de bloques pública sin permiso, diseñada para usarse como efectivo electrónico entre pares. Ethereum[2] hizo posibles más casos de uso y creó una plataforma informática descentralizada de propósito general. Sin embargo, ambas plataformas imponen limitaciones en sus capacidades de transacción: Bitcoin limita el tamaño de su bloque y Ethereum limita el gas por bloque. Estos son pasos necesarios para garantizar la descentralización a largo plazo, sin embargo, también limitan las capacidades de ambas plataformas.

La comunidad blockchain ha propuesto muchas soluciones de escalabilidad en los últimos años. En general, podemos dividir estas soluciones en dos categorías: escalar dentro de la cadena y escalar fuera de la cadena.

Las soluciones de escalado en cadena tienen como objetivo expandir el rendimiento del proceso de consenso y crear cadenas de bloques con un rendimiento nativo que compita con los sistemas centralizados. Las soluciones de escalado fuera de la cadena solo usan la cadena de bloques como una plataforma segura de liquidación de activos, mientras que mueven casi todas las transacciones a las capas superiores.

2.1.1 Escalado en cadena con una sola cadena de bloques La forma más sencilla de aumentar el rendimiento de una cadena de bloques es aumentar la cantidad de espacio en los bloques. Con espacio de bloque adicional, más transacciones pueden fluir a través de la red y procesarse. El aumento de la oferta de espacio en bloque en respuesta a una mayor demanda de transacciones también permite que las tarifas de transacción se mantengan bajas.

Bitcoin Cash (BCH) adopta este enfoque para escalar su red de pago entre pares. El protocolo de Bitcoin Cash comenzó con un tamaño de bloque máximo de 8 MB, que luego se incrementó a 32 MB, y que continuará incrementándose indefinidamente a medida que aumente la demanda de transacciones. Como referencia, luego de la implementación de Segregated Witness de Bitcoin (BTC) en agosto de 2017, el protocolo Bitcoin ahora permite un tamaño de bloque promedio de alrededor de 2 MB.

En el ámbito de un centro de datos, las matemáticas lo son todo. Si 7500 millones de personas crean cada una 2 transacciones en cadena por día, la red requerirá la producción de bloques de 26 GB cada 10 minutos, lo que conducirá a una tasa de crecimiento de blockchain de 3,75 TB por día o 1,37 PB por año[3]. Estos requisitos de almacenamiento y ancho de banda son razonables para cualquier servicio en la nube hoy en día.

Sin embargo, restringir la operación del nodo a un entorno de centro de datos conduce a una única topología de red viable y obliga a comprometer la seguridad (la tasa de bifurcación de la cadena de bloques aumentará a medida que aumenten los requisitos de transmisión de datos a través de la red), así como la descentralización (el recuento total de nodos se reducirá a medida que aumenta el costo de la participación en el consenso).

Desde un punto de vista económico, un tamaño de bloque cada vez mayor alivia la presión de las tarifas que sienten los usuarios. El análisis de la red de Bitcoin ha demostrado que las tarifas se mantienen estables hasta que un bloque está lleno en un 80 % y luego aumentan exponencialmente[4].

Si bien colocar la carga de los costos de una red en crecimiento sobre sus operadores puede parecer una decisión razonable, podría ser miope por dos razones:

  • La supresión de las tarifas de transacción obliga a los mineros a depender predominantemente de la compensación por emisión de nuevas monedas (recompensas en bloque). A menos que la inflación sea una parte permanente del protocolo, la emisión de nuevas monedas finalmente se detendrá (cuando se alcance el límite máximo total de la moneda) y los mineros no recibirán recompensas en bloque ni tarifas de transacción significativas. El impacto económico de esto comprometerá severamente el modelo de seguridad de la red.
  • El costo de ejecutar un nodo completo se vuelve prohibitivo. Esto elimina la capacidad de los usuarios habituales de verificar de forma independiente el historial y las transacciones de una cadena de bloques, lo que obliga a depender de los proveedores de servicios, como los intercambios y los procesadores de pagos, para garantizar la integridad de la cadena de bloques. Este requisito de confianza niega la propuesta de valor central de las cadenas de bloques públicas sin permiso como sistemas distribuidos de igual a igual y sin confianza.

Las plataformas optimizadas de costos de transacción, como Bitcoin Cash, enfrentan una competencia significativa de otras cadenas de bloques (autorizadas y sin permiso), así como de los sistemas de pago tradicionales. Las decisiones de diseño que mejoran la seguridad o la resistencia a la censura incurrirán en costos asociados y, a su vez, aumentarán el costo de uso de la plataforma. Teniendo en cuenta un panorama competitivo, así como los objetivos declarados de la red, es probable que los costos más bajos sean el objetivo principal de la red, a expensas de cualquier otra consideración.

Este objetivo es consistente con nuestras observaciones del uso de la red transaccional. Los usuarios de estos sistemas son indiferentes a las compensaciones significativas a largo plazo porque solo utilizarán la red por un corto tiempo. Una vez que se han recibido sus bienes o servicios y se ha liquidado su pago, estos usuarios ya no tienen ninguna preocupación por el funcionamiento efectivo de la red. La aceptación de estas compensaciones es evidente en el uso generalizado de intercambios centralizados de activos criptográficos, así como de cadenas de bloques más centralizadas. Estos sistemas son populares principalmente por su conveniencia y eficiencia transaccional.

Algunas plataformas de contratos inteligentes han adoptado enfoques similares para escalar el rendimiento de la cadena de bloques, lo que permite que solo un conjunto limitado de validadores de “supercomputadoras” participen en el proceso de consenso y validen la cadena de bloques de forma independiente.

Aunque los compromisos con respecto a la descentralización y la seguridad de la red permiten transacciones más baratas y pueden ser convenientes para un conjunto de usuarios, el modelo de seguridad a largo plazo es comprometido, la barrera de costos para verificar transacciones de forma independiente y la probable concentración y atrincheramiento de los operadores de nodos nos llevan a cree que este no es un enfoque adecuado para escalar cadenas de bloques públicas.

2.1.2 Escalado en cadena a través de múltiples cadenas El escalado en cadena a través de múltiples cadenas se puede lograr mediante fragmentación, como se ve en Ethereum 2.0, o cadenas de aplicaciones, como se ve en Polkadot. Estos diseños dividen efectivamente el estado global y las transacciones de la red en múltiples cadenas, lo que permite que cada cadena alcance rápidamente el consenso local y, más tarde, la red entera alcance el consenso global a través del consenso de “Beacon Chain” o la “Relay Chain”.

Estos diseños permiten que las múltiples cadenas utilicen un modelo de seguridad compartido, al tiempo que permiten un alto rendimiento y transacciones rápidas dentro de fragmentos (Ethereum) o parachains (Polkadot). Aunque cada uno de estos sistemas es una red de cadenas de bloques interconectadas, difieren en cuanto a los protocolos que se ejecutan en cada cadena. En Ethereum 2.0, cada fragmento ejecuta el mismo protocolo, mientras que en Polkadot, cada parachain puede ejecutar un protocolo personalizado, creado a través del marco Substrate.

En estas arquitecturas multicadena, cada dApp (o instancia de una dApp) solo reside en una sola cadena. Aunque los desarrolladores de hoy están acostumbrados a la capacidad de crear dApps que interactúan sin problemas con cualquier otra dApp en la cadena de bloques, los patrones de diseño deberán adaptarse a las nuevas arquitecturas de múltiples cadenas. Si una dApp se divide en diferentes fragmentos, se requerirán mecanismos para mantener el estado sincronizado en diferentes instancias de la dApp (que residen en diferentes fragmentos). Además, aunque se pueden implementar mecanismos de capa 2 para una comunicación rápida entre fragmentos, las transacciones entre fragmentos requerirán un consenso global e introducirán latencia de confirmación.

Con estas transacciones asincrónicas, surge el infame problema del “tren y el hotel”. Cuando dos transacciones deben ser atómicas (por ejemplo, reservar un boleto de tren y una habitación de hotel en dos fragmentos diferentes), se requieren nuevas soluciones. Ethereum presenta el contrato “yanking”, en el que se elimina un contrato dependiente en un fragmento, se crea en un segundo fragmento (que contiene el otro contrato dependiente) y ambas transacciones se ejecutan en el segundo fragmento. Sin embargo, el contrato retirado no estaría disponible en el fragmento original, lo que presentaría problemas de usabilidad y nuevamente requeriría nuevos patrones de diseño.

El sharding tiene sus propias ventajas y desafíos. Si los fragmentos pueden ser verdaderamente independientes y las necesidades de fragmentos cruzados son mínimas, una cadena de bloques puede escalar linealmente su rendimiento aumentando la cantidad de fragmentos. Esto es más adecuado para aplicaciones autónomas que no requieren un estado externo o colaboración con otras aplicaciones.

Una arquitectura fragmentada puede ser problemática para las aplicaciones que se desarrollan mediante la composición de aplicaciones de “bloques de construcción” (esto se conoce como el “problema de compatibilidad”). La componibilidad es especialmente relevante en el espacio de las finanzas descentralizadas (DeFi), donde los productos más avanzados tienden a construirse sobre otros productos básicos.

En una nota más técnica, la fragmentación generalmente requiere una topología “1 + N”, en la que N cadenas se conectan a una metacadena, introduciendo un límite superior en la cantidad de fragmentos que una metacadena puede admitir sin tener problemas de escalabilidad.

Observamos un valor significativo en un estado global unificado, lo que permite que surja un ecosistema de aplicaciones interdependientes y que los desarrolladores innoven en los bordes, similar al uso de bibliotecas por parte de los desarrolladores web para preocupaciones de nivel inferior y API abiertas para la integración de servicios. Se habilita una experiencia de desarrollo mucho más simple cuando los desarrolladores no tienen que considerar la sincronicidad (en la transferencia de activos entre fragmentos o el paso de mensajes), así como una experiencia de usuario superior, como resultado de la coherencia en las preocupaciones arquitectónicas de las interacciones de blockchain.

Reconocemos que la fragmentación es una solución de escalabilidad prometedora (en particular para aplicaciones menos interdependientes), sin embargo, creemos que es beneficioso tener un diseño que concentre el estado más valioso en una sola cadena de bloques, lo que permite la componibilidad. Con este diseño, se utilizan enfoques de escalado fuera de la cadena para permitir un mayor rendimiento.

2.1.3 Escalado fuera de la cadena a través de la capa 2 En los protocolos de capa 2, la cadena de bloques de la capa base actúa como una capa de liquidación (o compromiso), mientras que una red de segunda capa enruta las pruebas criptográficas que permiten a los participantes “recibir” la criptomoneda. Todas las actividades de la segunda capa están protegidas criptográficamente por la cadena de bloques subyacente y la capa base solo se usa para liquidar las cantidades que ingresan o salen de la red de la segunda capa y para la resolución de disputas. Estos diseños funcionan sin delegación de custodia (o riesgo de pérdida) de fondos y permiten transacciones instantáneas y casi gratuitas.

Estas tecnologías demuestran cómo una red de almacenamiento de valor como Bitcoin podría usarse para los pagos diarios. El ejemplo más típico de una solución de capa 2 en la práctica es un canal de pago entre un cliente y una cafetería. Supongamos que Alice visita la cafetería Bitcoin todas las mañanas. A principios de mes, deposita fondos en un canal de pago Lightning que abrió con la cafetería. Mientras visita cada día, firma criptográficamente el derecho de la cafetería a tomar parte de los fondos, a cambio de su café. Estas transacciones ocurren instantáneamente y son completamente peer-to-peer, “fuera de la cadena”, lo que permite una experiencia fluida para el cliente. El canal Lightning es sin confianza de terceros, Alice o la cafetería pueden cerrar el canal en cualquier momento, tomando los fondos que se les deben en ese momento.

Las tecnologías de canales de pago como Lightning son solo un ejemplo de una técnica de escalado fuera de la cadena; hay muchas tecnologías maduras que pueden escalar de manera segura el rendimiento de blockchain de esta manera. Mientras que los canales de pago incluyen acuerdos fuera de la cadena para canalizar los saldos entre dos partes, los canales estatales incluyen acuerdos fuera de la cadena para el estado arbitrario entre los participantes del canal. Esta generalización puede ser la base de aplicaciones escalables, sin confianza y descentralizadas. Múltiples aplicaciones pueden incluso utilizar un solo canal de estado, lo que permite una eficiencia aún mayor. Cuando una de las partes está lista para salir del canal, puede enviar la prueba criptográfica acordada a la cadena de bloques, que luego ejecutará las transiciones de estado acordadas.

Una cadena lateral es otra construcción que permite un mayor rendimiento, aunque a través de operadores de cadena de bloques de terceros confiables. Con una vinculación bidireccional a una cadena de bloques con un consenso confiable y sin confianza de terceros, los fondos se pueden mover de un lado a otro entre la cadena principal y la cadena lateral. Esto permite un alto volumen de transacciones confiables en la cadena lateral, con liquidación neta posterior en la cadena principal. Las transacciones de cadena lateral tienen tarifas mínimas, confirmación rápida y alto rendimiento. Aunque las side-chains ofrecen una experiencia superior en algunos aspectos, comprometen la seguridad. Sin embargo, existe una gran cantidad de investigación sobre side-chains sin confianza, que pueden proporcionar las mismas mejoras de rendimiento sin comprometer la seguridad.

Un ejemplo de una tecnología de cadena lateral sin confianza es Plasma (cubierto en 5.4), una arquitectura de cadena lateral que aprovecha una raíz de confianza en una cadena de bloques con un amplio consenso global. Las cadenas de plasma ofrecen las mismas mejoras de rendimiento que las side-chains centralizadas, sin embargo, ofrecen garantías de seguridad. En caso de que un operador de la cadena de plasma sea malicioso o funcione mal, los usuarios cuentan con un mecanismo que les permite retirar de manera segura sus activos de la cadena lateral a la cadena principal. Esto se hace sin la cooperación del operador de la cadena Plasma, ofreciendo a los usuarios la comodidad de las transacciones de la cadena lateral, así como la seguridad de una cadena de bloques de capa 1.

El escalado fuera de la cadena permite la descentralización, la seguridad y la escalabilidad. Al mover todo, excepto las transacciones de liquidación y las disputas fuera de la cadena, el consenso global limitado de una cadena de bloques pública se utiliza de manera eficiente. Se pueden implementar diversos protocolos de capa 2 en función de los requisitos de la aplicación, lo que brinda flexibilidad a los desarrolladores y usuarios. A medida que se agregan más participantes a la red, el rendimiento no se ve afectado y todas las partes pueden compartir las garantías de seguridad que ofrece el consenso de capa 1.

2.2 Sostenibilidad Mantener la operación a largo plazo de una cadena de bloques pública autónoma y sin propietario presenta todo un desafío. Los incentivos deben equilibrarse entre las diversas partes interesadas y el sistema debe diseñarse de manera que permita una operación de nodo completo generalizado y verificación pública. Los requisitos de hardware deben seguir siendo razonables, al mismo tiempo que respaldan una red global abierta.

Además, una vez que una cadena de bloques pública está en funcionamiento, es muy difícil cambiar las reglas subyacentes que rigen el protocolo. Desde el principio, el sistema debe estar diseñado para ser sostenible. En este interés, hemos realizado un inventario completo de los desafíos en la construcción de cadenas de bloques sostenibles y sin permisos.

2.2.1 Descentralización Una de las mayores amenazas a largo plazo que enfrentan las cadenas de bloques públicas es una barrera cada vez mayor de participación independiente y verificación de transacciones, que se refleja en el costo de la operación completa del nodo. Los nodos completos permiten a los participantes de la cadena de bloques verificar de forma independiente el estado/historial de la cadena y responsabilizar a los mineros o validadores de la red al negarse a enrutar bloques no válidos. A medida que aumenta el costo de los nodos completos y disminuye su número, los participantes en la red se ven cada vez más obligados a depender de operadores de servicios profesionales para proporcionar tanto el historial como el estado actual, lo que erosiona el modelo de confianza fundamental de las cadenas de bloques abiertas y sin permisos.

Para que un nodo completo se mantenga al día con la progresión de la cadena de bloques, debe tener un rendimiento computacional adecuado para validar transacciones, rendimiento de ancho de banda para recibir transacciones y capacidad de almacenamiento para almacenar todo el estado global. Para controlar el costo operativo de un nodo completo, el protocolo debe tomar medidas para limitar el rendimiento o el crecimiento de la capacidad de estos tres recursos. La mayoría de los protocolos de blockchain limitan su rendimiento computacional o de ancho de banda, pero muy pocos limitan el crecimiento del estado global. A medida que estas cadenas crezcan en tamaño y duración de operación, los costos de operación de nodos completos aumentarán irreversiblemente.

2.2.2 Modelos económicos Si bien ha habido mucha investigación sobre los protocolos de consenso en los últimos años, creemos que la criptoeconomía es un campo poco estudiado. En términos generales, los modelos criptoeconómicos actuales para los protocolos de capa 1 se centran principalmente en incentivos y castigos para garantizar el consenso de la red, y los tokens nativos se utilizan principalmente para pagar tarifas de transacción o para satisfacer los requisitos de participación que brindan resistencia ante ataque Sybil.

Creemos que un modelo económico bien diseñado debe ir más allá del proceso de consenso y garantizar también la sostenibilidad a largo plazo del protocolo. En particular, el modelo económico debe diseñarse con los siguientes objetivos:

  • La red debe tener una forma sostenible de compensar a los proveedores de servicios (típicamente mineros o validadores), asegurando que la red permanezca segura de forma sostenible.
  • La red debe tener una forma sostenible de mantener una barrera baja para la participación, asegurando que la red permanezca descentralizada a lo largo del tiempo.
  • Los recursos de la red pública deben asignarse de manera eficiente y justa.
  • El token nativo de la cadena de bloques debe tener un valor intrínseco.

2.2.3 Análisis del modelo económico de Bitcoin El protocolo Bitcoin limita el tamaño de los bloques y aplica un tiempo de bloque fijo. Esto hace que el rendimiento del ancho de banda de la red sea un recurso escaso por el que los usuarios deben pujar a través de tarifas de transacción. Bitcoin Script no permite bucles, lo que hace que la longitud del script sea una buena aproximación de su complejidad computacional. En general, una mayor demanda de espacio en bloque se traduce en tarifas de transacción más altas para los usuarios. Además, cuantas más entradas, salidas o pasos computacionales estén involucrados en una transacción, más pagará un usuario en tarifas de transacción.

El valor intrínseco de Bitcoin proviene casi en su totalidad de su prima monetaria (la voluntad de la sociedad de tratarlo como dinero) y, en particular, la voluntad de mantenerlo como una reserva de valor. Debido a que los ingresos de los mineros están denominados en BTC, esta percepción debe mantenerse para que el modelo económico de Bitcoin sea sostenible. En otras palabras, el modelo de seguridad de Bitcoin es circular: depende de la creencia colectiva de que la red es sosteniblemente segura y, por lo tanto, puede usarse como una reserva de valor monetario.

El límite de tamaño de bloque de Bitcoin establece efectivamente la barrera para la participación en la red: cuanto menor sea el límite de tamaño de bloque, más fácil será para los no profesionales ejecutar nodos completos. El estado global de Bitcoin es su conjunto UTXO, con su tasa de crecimiento también efectivamente limitada por el límite de tamaño de bloque. Se incentiva a los usuarios para que creen y utilicen UTXO de manera eficiente; crear más UTXO se traduce en tarifas de transacción más altas. Sin embargo, no se proporcionan incentivos para alentar la combinación de UTXO y la reducción del tamaño del estado global; una vez que se crea un UTXO, ocupará el estado global de forma gratuita hasta que se gaste.

El modelo económico basado en tarifas de transacción de Bitcoin es un modelo justo para asignar su rendimiento de ancho de banda, el recurso escaso impuesto por el protocolo. Es un modelo económico adecuado para un sistema de pago entre pares, pero es una mala elección para una verdadera plataforma de almacenamiento de valor. Los usuarios de Bitcoin que utilizan la cadena de bloques para almacenar valor pagan tarifas de transacción solo una vez, pero luego pueden ocupar el estado para siempre, disfrutando de la seguridad continua proporcionada por los mineros, quienes deben realizar inversiones continuas en recursos.

Bitcoin tiene un límite máximo de suministro total y su nueva emisión a través de recompensas en bloque eventualmente se reducirá a cero. Esto podría causar dos problemas:

En primer lugar, si Bitcoin continúa teniendo éxito como reserva de valor, el valor unitario de BTC seguirá aumentando y el valor total que asegura la red también aumentará (a medida que más valor monetario pase a la red). Una plataforma de almacenamiento de valor debe poder aumentar su presupuesto de seguridad a medida que el valor que protege aumenta con el tiempo; de lo contrario, invita a los atacantes a gastar el doble y robar los activos de la red.

Cuando el costo de romper la seguridad del protocolo es menor que la ganancia que pueden obtener actuando honestamente, los atacantes siempre atacarán. Esto es análogo a una ciudad que tiene que aumentar su gasto militar a medida que aumenta la riqueza dentro de la ciudad. Sin esta inversión, tarde o temprano la ciudad será atacada y saqueada.

Con la existencia de recompensas en bloque, Bitcoin puede escalar la seguridad al valor agregado que almacena: si el precio de Bitcoin se duplica, los ingresos que los mineros reciben de las recompensas en bloque también se duplicarán, por lo tanto, pueden permitirse producir el doble de la tasa de hash, lo que hace que el red dos veces más cara de atacar.

Sin embargo, esto cambia cuando las recompensas de bloque predecibles caen a cero. Los mineros tendrán que depender completamente de las tarifas de transacción; sus ingresos ya no se ajustarán al valor del activo de Bitcoin, sino que estarán determinados por la demanda de transacciones de la red. Si la demanda de transacciones no es lo suficientemente alta como para llenar el espacio de bloque disponible, las tarifas totales de transacción serán minúsculas. Dado que las tarifas de transacción son estrictamente una función de la demanda de espacio en bloque e independientes del precio de Bitcoin, esto tendrá un profundo impacto en el modelo de seguridad de Bitcoin. Para que Bitcoin siga siendo seguro, tendríamos que asumir una demanda de transacciones constante y con exceso de capacidad, que también se adapta al precio de Bitcoin. Estas son suposiciones muy fuertes.

En segundo lugar, cuando las recompensas por bloque predecibles se detienen, la variación en los ingresos por bloque para los mineros aumenta y proporciona incentivos para que los mineros se bifurquen, en lugar de hacer avanzar la cadena de bloques. En el caso extremo, cuando el mempool de un minero está vacío y recibe un bloque cargado de tarifas, su incentivo es bifurcar la cadena y robar las tarifas, en lugar de hacer avanzar la cadena y producir un bloque sin ingresos potenciales[5]. Esto se conoce como el desafío de los “francotiradores” en la comunidad de Bitcoin, para el cual aún no se ha encontrado una solución satisfactoria, sin eliminar el límite máximo de Bitcoin.

2.2.4 Análisis del Modelo Económico de las Plataformas de Contratos Inteligentes El modelo económico típico de las plataformas de contratos inteligentes enfrenta aún más desafíos. Usemos Ethereum como ejemplo. Las secuencias de comandos de Ethereum permiten bucles, por lo tanto, la longitud de una secuencia de comandos no refleja la complejidad computacional de la secuencia de comandos. Esta es la razón por la que Ethereum no limita el tamaño del bloque o el rendimiento del ancho de banda, sino el rendimiento computacional (expresado en el límite de gas del bloque).

Para que sus transacciones se registren en la cadena de bloques de Ethereum, los usuarios pujan por el costo de cómputo que están dispuestos a pagar en tarifas de transacción. Ethereum utiliza el concepto de “gas” como medida del costo computacional cotizado en ETH, y el control de tarifa del “precio del gas” garantiza que el costo por paso de cómputo sea independiente de los movimientos de precios del token nativo. El valor intrínseco del token ETH proviene de su posición como token de pago de la plataforma de computación descentralizada; es la única moneda que se puede usar para pagar el cálculo en Ethereum.

El estado global de Ethereum se representa con el estado de EVM, la estructura de datos que contiene los saldos y el estado interno de todas las cuentas. Cuando se crean nuevas cuentas o valores de contrato, el tamaño del estado global se expande. Ethereum cobra cantidades fijas de gas por la inserción de nuevos valores en su almacenamiento estatal y ofrece un “estipendio de gas” fijo que compensa los costos de gas de una transacción cuando se eliminan los valores.

Un modelo de almacenamiento de “paga una vez, ocupa para siempre” no coincide con la estructura de costos en curso de los mineros y los nodos completos, y el modelo no brinda incentivos para que los usuarios eliminen el estado voluntariamente o lo eliminen antes. Como resultado, Ethereum ha experimentado un rápido crecimiento del tamaño de su estado. Un tamaño de estado más grande ralentiza el procesamiento de transacciones y aumenta el costo operativo de los nodos completos. Sin fuertes incentivos para limpiar el estado, esta es una tendencia que seguramente continuará.

Al igual que Bitcoin, el precio del gas basado en la demanda de Ethereum es un modelo justo para asignar su rendimiento computacional, el recurso escaso de la plataforma. El modelo también cumple el propósito de Ethereum como un sistema de computación descentralizado. Sin embargo, su modelo de tarifa de almacenamiento estatal no coincide con su propuesta potencial como plataforma de almacenamiento de activos o estado descentralizado. Sin un costo para el almacenamiento estatal a largo plazo, siempre estará en el interés de los usuarios ocupar el estado para siempre de forma gratuita. Sin escasez de capacidad de almacenamiento estatal no se puede establecer un mercado, ni una dinámica de oferta y demanda.

A diferencia de Bitcoin, que especifica el límite de tamaño de bloque en su protocolo central, Ethereum permite a los mineros ajustar dinámicamente el límite de gas del bloque cuando producen bloques. Los mineros con hardware avanzado y un ancho de banda significativo pueden producir más bloques, dominando efectivamente este proceso de votación. Su interés es ajustar hacia arriba el límite de gas del bloque, elevar el nivel de participación y obligar a los mineros más pequeños a salir de la competencia. Este es otro factor que contribuye al rápido aumento del costo de la operación de nodo completo.

Las plataformas de contratos inteligentes como Ethereum son plataformas de activos múltiples. Admiten la emisión y las transacciones de todo tipo de criptoactivos, normalmente representados como “tokens”. También brindan seguridad no solo a sus propios tokens nativos, sino también al valor de todos los criptoactivos en la plataforma. “Almacén de valor” en un contexto de múltiples activos, por lo tanto, se refiere a la propiedad de preservación del valor que beneficia tanto a los tokens nativos de la plataforma como a los criptoactivos almacenados en la plataforma.

Con sus recompensas en bloque, Bitcoin tiene un excelente modelo económico de “reserva de valor”. A los mineros se les paga una recompensa de bloque fijo denominada en BTC y, por lo tanto, sus ingresos aumentan junto con el precio de BTC. Por lo tanto, la plataforma tiene la capacidad de aumentar los ingresos de los mineros para aumentar la seguridad (medida por el costo del ataque) mientras mantiene un modelo económico sostenible.

Para las plataformas de múltiples activos, se vuelve mucho más desafiante cumplir con este requisito, porque el “valor” se puede expresar con criptoactivos más allá del token nativo. Si el valor de los criptoactivos asegurados por la plataforma aumenta, pero la seguridad de la red no, se vuelve más rentable atacar el proceso de consenso de la plataforma para duplicar el gasto de los criptoactivos almacenados en la plataforma.

Para que una plataforma de contrato inteligente de activos múltiples funcione como un depósito de valor, se deben implementar los incentivos adecuados para alinear el crecimiento del valor de los activos de una red con su seguridad subyacente. O dicho de otra manera, el token nativo de la plataforma debe ser una buena captura de valor del valor agregado de los activos de la plataforma. Si el valor intrínseco del token nativo de una plataforma se limita al pago de la tarifa de transacción, su valor estaría determinado únicamente por la demanda de transacción, en lugar de la demanda de almacenamiento de activos.

Las plataformas de contratos inteligentes que no están diseñadas para funcionar como una reserva de valor tienen que depender de la prima monetaria del token nativo (la voluntad de las personas de mantener los tokens más allá de su valor intrínseco) para respaldar su seguridad continua. Esto solo es factible si una plataforma domina con características únicas que no se pueden encontrar en ningún otro lugar, o supera a otras al ofrecer el costo de transacciones más bajo posible.

Ethereum actualmente disfruta de tal dominio y, por lo tanto, puede mantener su prima monetaria. Sin embargo, con el auge de las plataformas competidoras, muchas diseñadas para un TPS más alto y que brindan una funcionalidad similar, es una pregunta abierta si la dependencia de una prima monetaria por sí sola puede mantener la seguridad de una plataforma de cadena de bloques, especialmente si los tokens nativos no están explícitamente diseñados o creídos. ser dinero. Además, incluso si una plataforma puede proporcionar características únicas, la interfaz de usuario puede abstraer su prima monetaria a través de intercambios eficientes (muy probablemente cuando finalmente llegue la adopción masiva de blockchain). Los usuarios mantendrían activos con los que están más familiarizados, como Bitcoin o monedas estables, y adquirirían tokens de plataforma justo a tiempo para pagar las tarifas de transacción. En cualquier caso, la base de la criptoeconomía de una plataforma colapsaría.

Las plataformas de activos múltiples de capa 1 deben proporcionar seguridad sostenible para todos los activos criptográficos que protegen. En otras palabras, tienen que tener un modelo económico diseñado para una reserva de valor.

2.2.5 Financiación del desarrollo del protocolo central Las cadenas de bloques públicas sin permiso son infraestructuras públicas. El desarrollo inicial de estos sistemas requiere una gran cantidad de fondos y, una vez que están en funcionamiento, requieren mantenimiento y actualizaciones continuas. Sin personas dedicadas a mantener estos sistemas, corren el riesgo de errores catastróficos y un funcionamiento subóptimo. Los protocolos de Bitcoin y Ethereum no proporcionan un mecanismo nativo para garantizar la financiación del desarrollo continuo, por lo que dependen de la participación continua de empresas con intereses alineados y comunidades altruistas de código abierto.

Dash fue el primer proyecto en utilizar una tesorería para garantizar que el desarrollo en curso se financiara en el protocolo. Si bien respalda de manera sostenible el desarrollo del protocolo, este diseño hace un compromiso con respecto a la sostenibilidad del valor de la criptomoneda. Como la mayoría de las tesorerías de blockchain, este modelo se basa en la financiación basada en la inflación, lo que erosiona el valor de las tenencias a largo plazo.

La red Nervos utiliza un modelo de tesorería que proporciona financiación sostenible para el desarrollo central. Los fondos del Tesoro provienen de la inflación objetivo de los holders de tokens a corto plazo, mientras que los efectos de esta inflación se mitigan para los tenedores a largo plazo. Más información sobre este mecanismo se describe en (4.6).

2.3 Interoperabilidad La interoperabilidad entre cadenas de bloques es un tema que se discute a menudo y se han propuesto muchos proyectos específicamente para abordar este desafío. Con transacciones confiables a través de cadenas de bloques, se pueden lograr verdaderos efectos de red en la economía descentralizada.

El primer ejemplo de interoperabilidad de blockchain fueron los intercambios atómicos entre Bitcoin y Litecoin. El intercambio sin confianza de Bitcoin por Litecoin y viceversa no es posible a través de mecanismos dentro del protocolo, sino a través de un estándar criptográfico compartido (específicamente el uso de la función hash SHA2–256).

De manera similar, el diseño de Ethereum 2.0 permite la interconexión de muchas cadenas de fragmentos, todas ejecutando el mismo protocolo y utilizando las mismas primitivas criptográficas. Esta uniformidad será valiosa al personalizar el protocolo para la comunicación entre fragmentos, sin embargo, Ethereum 2.0 no será interoperable con otras cadenas de bloques que no utilicen las mismas primitivas criptográficas.

Las redes de cadenas de bloques como Polkadot o Cosmos van un paso más allá y permiten que las cadenas de bloques construidas con el mismo marco (Cosmos SDK para Cosmos y Substrate para Polkadot) se comuniquen e interactúen entre sí. Estos marcos brindan a los desarrolladores cierta flexibilidad para crear sus propios protocolos y garantizan la disponibilidad de primitivas criptográficas idénticas, lo que permite que cada cadena analice los bloques de los demás y realice una validación cruzada de las transacciones. Sin embargo, ambos protocolos se basan en puentes o “zonas de vinculación” para conectarse a cadenas de bloques que no están construidas con sus propios marcos, lo que introduce una capa adicional de confianza. Para demostrarlo: aunque Cosmos y Polkadot permiten “redes de cadenas de bloques”, las redes de Cosmos y Polkadot no están diseñadas para ser interoperables entre sí.

La criptoeconomía de las redes de cadenas cruzadas también puede necesitar más estudio. Tanto para Cosmos como para Polkadot, los tokens nativos se utilizan para el staking, el gobierno y las tarifas de transacción. Dejando de lado la dinámica criptoeconómica introducida por el staking, que por sí solo no puede otorgar un valor intrínseco a un token nativo (discutido en 4.2.4), la dependencia de las transacciones entre cadenas para capturar el valor del ecosistema puede ser un modelo débil. En particular, las transacciones entre cadenas son una debilidad, no una fortaleza de las redes de múltiples cadenas, al igual que las transacciones entre fragmentos son una debilidad de las bases de datos fragmentadas. Introducen latencia, así como la pérdida de atomicidad y composición. Existe una tendencia natural de que las aplicaciones que necesitan interactuar entre sí pasen a residir en la misma cadena de bloques para reducir la sobrecarga entre cadenas, lo que reduce la demanda de transacciones entre cadenas y, por lo tanto, la demanda del token nativo.

Las redes entre cadenas se benefician de los efectos de red: cuantas más cadenas interconectadas haya en una red, más valiosa será la red y más atractiva será para los posibles nuevos participantes en la red. Idealmente, dicho valor sería capturado por el token nativo y utilizado para fomentar aún más el crecimiento de la red. Sin embargo, en una red de seguridad agrupada como Polkadot, el mayor costo de participación en la red se convierte en un impedimento para que la red acumule más valor. En una red débilmente conectada como Cosmos, si asumimos la misma demanda y tarifas de transacciones entre cadenas, el mayor costo de participación en el staking reduce el rendimiento esperado para los validadores, lo que desalienta una mayor participación en el staking.

Con su enfoque en capas, Nervos Network es también una red multicadena. Arquitectónicamente, Nervos usa el modelo celular y una máquina virtual de bajo nivel para admitir una verdadera personalización y primitivas criptográficas creadas por el usuario, lo que permite la interoperabilidad entre cadenas de bloques heterogéneas (cubierto en 4.4.1). Desde el punto de vista criptoeconómico, Nervos Network concentra valor (en lugar de pasar mensajes) en su cadena raíz. Este mecanismo aumenta el presupuesto de seguridad de la red a medida que aumenta el valor agregado asegurado por la red. Esto se trata en detalle en (4.4).

3. Principios Básicos de la red Nervos Nervos es una red en capas creada para respaldar las necesidades de la economía descentralizada. Hay varias razones por las que creemos que un enfoque en capas es la forma correcta de construir una red de cadena de bloques. Hay muchas ventajas y desventajas bien conocidas en la construcción de sistemas de cadena de bloques, como descentralización frente a escalabilidad, neutralidad frente a cumplimiento, privacidad frente a apertura, depósito de valor frente a costo de transacción y solidez criptográfica frente a experiencia de usuario. Creemos que todos estos conflictos surgen debido a los intentos de abordar preocupaciones completamente opuestas con una sola cadena de bloques.

Creemos que la mejor manera de construir un sistema no es construir una sola capa que lo abarque todo, sino separar las preocupaciones y abordarlas en diferentes capas. Al hacer esto, la cadena de bloques de capa 1 puede centrarse en ser una infraestructura pública segura, neutral, descentralizada y abierta, mientras que las redes de capa 2 más pequeñas pueden diseñarse especialmente para adaptarse mejor al contexto de su uso.

En Nervos Network, el protocolo de capa 1 (Common Knowledge Base) es la capa de preservación de valor de toda la red. Está inspirado filosóficamente en Bitcoin y es una cadena de bloques abierta, pública y de prueba de trabajo, diseñada para ser máximamente segura y resistente a la censura, para servir como un custodio descentralizado de valor y criptoactivos. Los protocolos de capa 2 aprovechan la seguridad de la cadena de bloques de capa 1 para proporcionar escalabilidad ilimitada y tarifas de transacción mínimas, y también permiten compensaciones específicas de la aplicación con respecto a los modelos de confianza, la privacidad y la finalidad.

Estos son los principios básicos que llevaron al diseño de la red Nervos:

  • Una cadena de bloques de capa 1 sostenible y con múltiples activos debe diseñarse de forma criptoeconómica para ser una reserva de valor.
  • La capa 2 ofrece las mejores opciones de escalado, brindando capacidades transaccionales casi ilimitadas, costos de transacción mínimos y una experiencia de usuario mejorada. Las cadenas de bloques de capa 1 deben diseñarse para complementar, no competir con las soluciones de capa 2.
  • La prueba de trabajo como método de resistencia a ataque Sybil es esencial para las cadenas de bloques de capa 1.
  • La cadena de bloques de capa 1 debe proporcionar un modelo de programación genérico para los protocolos interactivos y la interoperabilidad de la cadena de bloques, y permitir que el protocolo sea máximamente personalizable y fácil de actualizar.
  • Para asignar mejor los recursos y evitar la “tragedia de los bienes comunes”, el almacenamiento estatal debe tener un modelo de propiedad claro y detallado.
  • Para brindar recompensas constantes a largo plazo a los mineros (independientemente de la demanda de transacciones), la ocupación estatal debe tener un costo continuo.

4. La base de conocimiento común (Common Knowledge Base) de Nervos 4.1 Resumen El “conocimiento común” se define como el conocimiento conocido por todos o casi todos, generalmente con referencia a la comunidad en la que se usa el término. En el contexto de las cadenas de bloques en general, y de la red Nervos en particular, el “conocimiento común” se refiere al estado verificado por consenso global y aceptado por todos en la red.

Las propiedades del conocimiento común nos permiten tratar colectivamente la criptomoneda almacenada en cadenas de bloques públicas como dinero. Por ejemplo, los saldos y el historial de todas las direcciones en Bitcoin son de conocimiento común para los usuarios de Bitcoin, porque pueden replicar de forma independiente el libro mayor compartido, verificar el estado global desde el bloque de génesis y saber que cualquier otra persona puede hacer lo mismo. Este conocimiento común permite a las personas realizar transacciones completamente entre pares sin confiar en ningún tercero.

La base de conocimiento común (Common Knowledge Base) de Nervos (CKB) está diseñada para almacenar todo tipo de conocimiento común, sin limitarse al dinero. Por ejemplo, CKB podría almacenar criptoactivos definidos por el usuario, como tokens fungibles y no fungibles, así como valiosas pruebas criptográficas que brindan seguridad para protocolos de capas superiores, como canales de pago (5.2) y commit-chains (5.4).

Tanto Bitcoin como Nervos CKB son sistemas de verificación y almacenamiento de conocimiento común. Bitcoin almacena su estado global como el conjunto UTXO y verifica las transiciones de estado a través de reglas codificadas y scripts integrados en las transacciones. Nervos CKB generaliza la estructura de datos y las capacidades de secuencias de comandos de Bitcoin, almacena el estado global como el conjunto de Cells programables activas y verifica las transiciones de estado a través de secuencias de comandos completas de Turing definidas por el usuario que se ejecutan en una máquina virtual.

Si bien Nervos CKB tiene capacidades completas de contrato inteligente como las de Ethereum y otras plataformas, su modelo económico está diseñado para la preservación del conocimiento común, en lugar del pago por computación descentralizada.

4.2 Consenso El Consenso de Nakamoto (NC) de Bitcoin es bien recibido debido a su simplicidad y baja sobrecarga de comunicación. Sin embargo, NC tiene dos inconvenientes: 1) su rendimiento de procesamiento de transacciones dista mucho de ser satisfactorio y 2) es vulnerable a los ataques de minería egoísta, en los que los atacantes pueden obtener recompensas de bloques adicionales al desviarse del comportamiento prescrito por el protocolo.

El protocolo de consenso CKB es una variante de NC que eleva su límite de rendimiento y resistencia a la minería egoísta mientras mantiene sus méritos. Al identificar y eliminar el cuello de botella en la latencia de propagación de bloques de NC, nuestro protocolo admite intervalos de bloque muy cortos sin sacrificar la seguridad. Un intervalo de bloque más corto no solo aumenta el rendimiento, sino que también reduce la latencia de confirmación de transacciones. Al incorporar todos los bloques válidos en el cálculo del ajuste de dificultad, la minería egoísta ya no es rentable en nuestro protocolo.

4.2.1 Aumento del rendimiento Nervos CKB aumenta el rendimiento del consenso PoW con un algoritmo de consenso derivado del Consenso de Nakamoto. El algoritmo utiliza la tasa de huérfanos de la cadena de bloques (el porcentaje de bloques válidos que no forman parte de la cadena canónica) como medida de la conectividad en la red.

El protocolo apunta a una tasa fija de huérfanos. En respuesta a una tasa de huérfanos baja, la dificultad objetivo se reduce (aumentando la tasa de producción de bloques) y cuando la tasa de huérfanos cruza un umbral definido, la dificultad objetivo aumenta (disminuyendo la tasa de producción de bloques).

Esto permite la utilización de todas las capacidades de ancho de banda de la red. Una tasa baja de huérfanos indica que la red está bien conectada y puede manejar una mayor transmisión de datos; el protocolo luego aumenta el rendimiento bajo estas condiciones.

4.2.2 Eliminación del cuello de botella de propagación de bloques El cuello de botella en cualquier red blockchain es la propagación de bloques. El protocolo de consenso Nervos CKB elimina el cuello de botella de la propagación de bloques al modificar la confirmación de la transacción en un proceso de dos pasos: 1) proponer y 2) confirmar.

Primero se debe proponer una transacción en la “zona de propuestas” de un bloque (o uno de sus Uncle). Luego, la transacción se confirmará si aparece en la “zona de compromiso” de un bloque dentro de una ventana definida después de su propuesta. Este diseño elimina el cuello de botella de propagación de bloques, ya que todos los nodos ya habrán recibido y verificado las transacciones confirmadas de un nuevo bloque cuando se propongan.

4.2.3 Mitigación de los ataques de minería egoísta Uno de los ataques más fundamentales al Consenso de Nakamoto es la minería egoísta. En este ataque, los mineros malintencionados obtienen recompensas de bloque injustas al dejar huérfanos deliberadamente los bloques extraídos por otros.

Los investigadores observan que la oportunidad injusta de obtener ganancias tiene sus raíces en el mecanismo de ajuste de dificultad del Consenso de Nakamoto, que ignora los bloques huérfanos al estimar la potencia informática de la red. Esto conduce a una menor dificultad de minería y mayores recompensas de bloque promediadas en el tiempo.

El protocolo de consenso Nervos CKB incorpora bloques Uncle en el cálculo del ajuste de dificultad, lo que hace que la minería egoísta ya no sea rentable. Esto se mantiene independientemente de la estrategia o la duración del ataque; un minero no puede obtener recompensas injustas mediante ninguna combinación de minería honesta y egoísta.

Nuestro análisis muestra que con un proceso de confirmación de transacciones de dos pasos, la minería egoísta de facto también se elimina a través de una ventana de tiempo de ataque limitada.

4.2.4 Prueba de trabajo frente a prueba de participación Los sistemas de prueba de trabajo (PoW) y prueba de participación (PoS) son vulnerables a las concentraciones de poder, sin embargo, las cualidades de los sistemas proporcionan realidades operativas muy diferentes para quienes están en el poder.

La minería PoW incurre en gastos del mundo real que pueden exceder las ganancias de la minería sin una supervisión de costos diligente. Los que están en el poder deben seguir siendo innovadores, seguir estrategias comerciales sólidas y continuar invirtiendo en infraestructura para seguir siendo dominantes. Los equipos de minería, las operaciones de pools de minería y el acceso a energía barata están todos sujetos a cambios debido a la innovación tecnológica. Es difícil mantener la monopolización de los tres durante largos períodos de tiempo.

Por el contrario, los creadores de bloques en los sistemas PoS son recompensados de forma determinista, en función de la cantidad apostada, con requisitos de capital operativo muy bajos. A medida que el sistema crezca, crecerá el impacto de las ventajas naturales proporcionadas a las empresas y personas que se mudan primero. En un sistema PoS, es posible que el poder se concentre en manos de unos pocos interesados. Aunque los sistemas PoW tienen un problema similar con la concentración minera, el costo de permanecer en el poder en un sistema PoS es significativamente menor.

Además, los validadores PoS tienen un poder único: el control del conjunto de validadores. La aceptación de una transacción que permite que un validador se una al grupo de consenso está en manos de los validadores existentes. Los esfuerzos en connivencia para influir en el conjunto de validadores a través de la censura de transacciones y la manipulación de pedidos serían difíciles de detectar, así como difíciles de castigar. Por el contrario, la participación por consenso en los sistemas PoW es verdaderamente abierta y no está sujeta a la estructura de poder actual. No se otorgan ventajas a los primeros participantes del sistema.

Con respecto a la economía de tokens, si bien se cree que el staking puede atraer capital que busca obtener rendimiento (y, por lo tanto, aumentar la demanda de tokens nativos), este no es el panorama completo. Todos los proyectos de PoS eventualmente verán estabilizada su tasa de participación, y el capital que ingresa y sale del grupo de capital en participación sería aproximadamente el mismo. El mecanismo de staking por sí solo no aumentará la demanda del token nativo. En otras palabras, aunque la introducción del staking genera demanda del token nativo en la fase inicial de un proyecto (a medida que aumenta la tasa de staking), el staking por sí solo no puede proporcionar una demanda a largo plazo del token nativo y, por lo tanto, no puede ser el único valor intrínseco de un token nativo.

Los titulares de tokens a largo plazo en un sistema PoS tienen 3 opciones: pueden 1) administrar la infraestructura y ejecutar un nodo de validación por su cuenta para recibir una nueva emisión, 2) delegar sus tokens a un tercero y confiar en su integridad e infraestructura, o 3 ) tienen el valor de sus tokens diluido por la emisión en curso. Ninguna de estas opciones es particularmente atractiva para los poseedores de tokens orientados a la reserva de valor a largo plazo.

Creemos que la participación sin permiso de PoW es un requisito para la infraestructura en la base de la actividad económica global. El objetivo principal de la capa 1 es garantizar que la cadena de bloques sea lo más descentralizada, segura y neutral posible. Si bien los sistemas PoS tienen un papel que desempeñar en la economía descentralizada, en nuestra opinión, no cumplen con los requisitos de una capa 1 verdaderamente abierta y descentralizada.

4.2.5 Función de prueba de trabajo Cualquier nodo puede proponer bloques CKB de Nervos, siempre que 1) el bloque sea válido; y 2) el proponente ha resuelto un rompecabezas computacionalmente difícil llamado prueba de trabajo. El rompecabezas de prueba de trabajo se define en términos del bloque que se propone; esto garantiza que la solución del rompecabezas identifique de forma única un bloque.

La prueba de trabajo de Bitcoin requiere encontrar un *nonce (*un número aleatorio o semialeatorio que se genera para un uso específico) válido de modo que el resultado de aplicar una función hash en el encabezado del bloque satisfaga un cierto nivel de dificultad. Para Bitcoin, la función hash tiene dos iteraciones SHA2–256. Si bien SHA2 fue una buena opción para Bitcoin, no ocurre lo mismo con las criptomonedas que vienen después. Se ha desarrollado una gran cantidad de hardware dedicado para minar Bitcoin, gran parte del cual permanece inactivo, ya que quedó obsoleto debido a las mejoras de eficiencia.

Una nueva criptomoneda que utilice el mismo rompecabezas de prueba de trabajo haría que este hardware obsoleto fuera útil una vez más. Incluso el hardware actualizado se puede alquilar y reutilizar para extraer una nueva moneda. La distribución del poder de extracción para una moneda basada en SHA2 sería muy difícil de predecir y susceptible a cambios repentinos y grandes. Este argumento también se aplica a las optimizaciones algorítmicas adaptadas a SHA2, que se han desarrollado para abaratar también el cálculo de software de la función.

Para una nueva criptomoneda, tiene sentido definir el rompecabezas de prueba de trabajo en términos de una función que aún no ha sido utilizada por otras criptomonedas. Para Nervos CKB, fuimos un paso más allá y elegimos definirlo en términos de una función de prueba de trabajo que no podría haber sido objeto de una optimización prematura, porque es nueva.

Sin embargo, la indisponibilidad prevista del hardware de minería es solo el caso inicialmente. A largo plazo, las implementaciones de hardware de minería dedicado son beneficiosas, lo que aumenta significativamente los desafíos de atacar la red. Por lo tanto, además de ser nueva, una función de prueba de trabajo ideal para una nueva criptomoneda también es simple, lo que reduce significativamente la barrera para el desarrollo de hardware.

La seguridad es el tercer objetivo de diseño obvio. Mientras que una vulnerabilidad conocida podría ser explotada por todos los mineros por igual, y simplemente daría como resultado una mayor dificultad, una vulnerabilidad no revelada podría conducir a una optimización minera que proporcione a los descubridores una ventaja superior a su participación en el poder minero aportado. La mejor manera de evitar esta situación es hacer un fuerte argumento a favor de la invulnerabilidad.

4.2.6 Eaglesong Eaglesong es una nueva función hash desarrollada específicamente para la prueba de trabajo CKB de Nervos, pero también es adecuada en otros casos de uso en los que se necesita una función hash segura. Los criterios de diseño fueron exactamente los enumerados anteriormente: novedad, simplicidad y seguridad. Queríamos un diseño que fuera simultáneamente lo suficientemente novedoso como para constituir un pequeño paso adelante para la ciencia, así como lo suficientemente cercano a los diseños existentes para presentar un fuerte argumento de seguridad.

Con este fin, elegimos crear una instancia en estructura esponja (como se usa en Keccak/SHA3) con una permutación construida a partir de operaciones ARX (suma, rotación y xor); el argumento de su seguridad se basa en la estrategia de sendero amplio (el mismo argumento subyacente a AES).

Hasta donde sabemos, Eaglesong es la primera función hash (o función, para el caso) que combina con éxito los tres principios de diseño.

4.3 Modelo Cell Nervos CKB utiliza el modelo de Cell, una nueva construcción que puede proporcionar muchos de los beneficios del modelo de cuenta (utilizado en Ethereum), al tiempo que conserva la propiedad de activos y las propiedades de verificación basadas en pruebas del modelo UTXO (utilizado en Bitcoin).

El modelo celular se centra en el estado. Las Cells contienen datos arbitrarios, que pueden ser simples, como la cantidad de un token y un propietario, o más complejos, como un código que especifica las condiciones de verificación para una transferencia de token. La máquina de estado de CKB ejecuta scripts asociados con Cells para garantizar la integridad de una transición de estado.

Además de almacenar datos propios, las Cells pueden hacer referencia a datos en otras Cells. Esto permite separar los activos propiedad del usuario y la lógica que los rige. Esto contrasta con las plataformas de contratos inteligentes basadas en cuentas, en las que el estado es propiedad interna de un contrato inteligente y se debe acceder a través de interfaces de contratos inteligentes. En Nervos CKB, las Cells son objetos de estado independientes que son propiedad y pueden ser referenciados y pasados directamente. Las Cells pueden expresar verdaderos “activos soportables”, que pertenecen a sus propietarios (al igual que los UTXO son activos soportables para los propietarios de Bitcoin), al tiempo que hacen referencia a una Cell que contiene lógica que garantiza la integridad de las transiciones de estado.

Las transacciones del modelo celular también son pruebas de transición de estado. Las Cells de entrada de una transacción se eliminan del conjunto de Cells activas y las Cells de salida se agregan al conjunto. Las Cells activas comprenden el estado global de Nervos CKB y son inmutables: una vez que se han creado las Cells, no se pueden cambiar.

El modelo Cell está diseñado para ser adaptable, sostenible y flexible. Se puede describir como un modelo UTXO generalizado y puede admitir tokens definidos por el usuario, contratos inteligentes y diversos protocolos de capa 2.

4.4 Máquina virtual Si bien muchos proyectos de cadena de bloques de nueva generación utilizan WebAssembly como la base de una máquina virtual de cadena de bloques, Nervos CKB incluye la opción de diseño única de una máquina virtual (CKB-VM) basada en el conjunto de instrucciones RISC-V.

RISC-V es una arquitectura de conjunto de instrucciones RISC de código abierto que se creó en 2010 para facilitar el desarrollo de nuevo hardware y software, y es un conjunto de instrucciones libre de regalías, ampliamente entendido y ampliamente auditado.

Hemos encontrado numerosas ventajas en el uso de RISC-V en un contexto de cadena de bloques:

  • Estabilidad: el conjunto de instrucciones básicas de RISC-V se ha finalizado y congelado, así como también se ha implementado y probado ampliamente. El conjunto de instrucciones básico de RISC-V es fijo y nunca requerirá una actualización.
  • Abierto y compatible: RISC-V se proporciona bajo una licencia BSD y es compatible con compiladores como GCC y LLVM, con implementaciones de lenguaje Rust y Go en desarrollo. La Fundación RISC-V incluye más de 235 organizaciones miembro que fomentan el desarrollo y el soporte del conjunto de instrucciones.
  • Simplicidad y extensibilidad: el conjunto de instrucciones RISC-V es simple. Con soporte para enteros de 64 bits, el conjunto contiene solo 102 instrucciones. RISC-V también proporciona un mecanismo modular para conjuntos de instrucciones extendidos, lo que permite la posibilidad de computación vectorial o enteros de 256 bits para algoritmos criptográficos de alto rendimiento.
  • Precios precisos de los recursos: el conjunto de instrucciones RISC-V se puede ejecutar en una CPU física, lo que proporciona una estimación precisa de los ciclos de la máquina necesarios para ejecutar cada instrucción e informa el precio de los recursos de la máquina virtual.

CKB-VM es una máquina virtual RISC-V de bajo nivel que permite un cálculo flexible y completo de Turing. Mediante el uso del formato ELF ampliamente implementado, los scripts CKB-VM se pueden desarrollar con cualquier lenguaje que se pueda compilar en instrucciones RISC-V.

4.4.1 CKB-VM y el modelo Cell Una vez implementadas, las cadenas de bloques públicas existentes son más o menos fijas. La actualización de elementos fundamentales, como las primitivas criptográficas, implica tareas de varios años o simplemente no es posible.

CKB-VM da un paso atrás y mueve las primitivas previamente integradas en máquinas virtuales personalizadas a Cells en la parte superior de la máquina virtual. Aunque los scripts de CKB son de nivel más bajo que los contratos inteligentes en Ethereum, tienen el beneficio significativo de la flexibilidad, lo que permite una plataforma receptiva y una base para la economía descentralizada en progreso.

Las Cells pueden almacenar código ejecutable y hacer referencia a otras Cells como dependencias. Casi todos los algoritmos y estructuras de datos se implementan como scripts CKB almacenados en Cells. Al mantener la VM lo más simple posible y descargar el almacenamiento del programa en las Cells, actualizar los algoritmos clave es tan simple como cargar el algoritmo en una nueva Cell y actualizar las referencias existentes.

4.4.2 Ejecución de otras máquinas virtuales en CKB-VM Gracias a la naturaleza de bajo nivel de la CKB-VM y la disponibilidad de herramientas en la comunidad RISC-V, es fácil compilar otras VM (como la EVM de Ethereum) directamente en la CKB-VM. Esto tiene varias ventajas:

  • Los contratos inteligentes escritos en lenguajes especializados que se ejecutan en otras máquinas virtuales se pueden portar fácilmente para que se ejecuten en CKB-VM. (Estrictamente hablando, estarían ejecutándose en su propia VM compilada para ejecutarse dentro de CKB-VM).
  • CKB puede verificar las transiciones de estado de resolución de disputas de las transacciones de la capa 2, incluso si las reglas de las transiciones de estado están escritas para ejecutarse en una máquina virtual que no sea CKB-VM. Este es uno de los requisitos clave para admitir side-chains de uso general de capa 2 sin confianza.

4.5 Modelo económico El token nativo de Nervos CKB es el “Common Knowledge Byte”, o CKByte para abreviar. Los CKBytes dan derecho al titular de un token a ocupar parte del almacenamiento estatal total de la cadena de bloques. Por ejemplo, al tener 1000 CKBytes, un usuario puede crear una Cell de 1000 bytes de capacidad o varias Cells que suman hasta 1000 bytes de capacidad.

El uso de CKBytes para almacenar datos en CKB crea un costo de oportunidad para los propietarios de CKByte; no podrán depositar CKBytes ocupados en NervosDAO para recibir una parte de la emisión secundaria. Los CKBytes tienen un precio de mercado y, por lo tanto, se proporciona un incentivo económico para que los usuarios liberen voluntariamente el almacenamiento estatal para satisfacer la gran demanda del estado en expansión. Después de que un usuario libere el almacenamiento de estado, recibirá una cantidad de CKBytes equivalente al tamaño del estado (en bytes) que ocupaban sus datos.

El modelo económico del CKB permite la emisión del token nativo para acotar el crecimiento del estado, manteniendo una baja barrera de participación y asegurando la descentralización. A medida que los CKBytes se convierten en un recurso escaso, se les puede asignar un precio y asignarlos de manera más eficiente.

El bloque de génesis de la red Nervos contendrá 33.600 millones de CKBytes, de los cuales 8.400 millones se quemarán inmediatamente. La nueva emisión de CKBytes incluye dos partes: emisión base y emisión secundaria. La emisión base está limitada a un suministro total finito (33,600 millones de CKBytes), con un calendario de emisión similar al de Bitcoin. La recompensa en bloque se reduce a la mitad aproximadamente cada 4 años, hasta llegar a 0 nuevas emisiones. Toda la emisión base se otorga a los mineros como incentivos para proteger la red. La emisión secundaria tiene una tasa de emisión constante de 1344 millones de CKBytes por año y está diseñada para imponer un costo de oportunidad para la ocupación del almacenamiento estatal. Después de que cese la emisión base, solo habrá emisión secundaria.

Nervos CKB incluye un contrato inteligente especial llamado NervosDAO, que funciona como un “refugio contra la inflación” contra los efectos de la emisión secundaria. Los propietarios de CKByte pueden depositar sus tokens en NervosDAO y recibir una parte de la emisión secundaria que compensa exactamente los efectos inflacionarios de la emisión secundaria. Para los poseedores de tokens a largo plazo, siempre que bloqueen sus tokens en NervosDAO, el efecto inflacionario de la emisión secundaria es solo nominal. Con los efectos de la emisión secundaria mitigados, estos usuarios tienen efectivamente tokens con emisión máxima igual que Bitcoin.

Si bien los CKBytes se usan para almacenar el estado, no se pueden usar para obtener recompensas de emisión secundaria a través de NervosDAO. Esto convierte a la emisión secundaria en un impuesto de inflación constante, o “renta estatal” sobre la ocupación de almacenamiento estatal. Este modelo económico impone tarifas estatales de almacenamiento proporcionales tanto al espacio como al tiempo de ocupación. Es más sostenible que el modelo de “paga una vez, ocupa para siempre” utilizado por otras plataformas, y es más factible y fácil de usar que otras soluciones de alquiler estatal que requieren pagos explícitos.

Los mineros son compensados con recompensas en bloque y tarifas de transacción. Para las recompensas de bloque, cuando un minero extrae un bloque, recibiría la recompensa de emisión base completa del bloque y una parte de la emisión secundaria. La porción se basa en la ocupación del estado, por ejemplo: si la mitad de todos los tokens nativos se usan para almacenar el estado, un minero recibiría la mitad de la recompensa de emisión secundaria por el bloque. En la siguiente sección (4.6) se incluye información adicional sobre la distribución de la emisión secundaria. A largo plazo, cuando se detenga la emisión base, los mineros seguirán recibiendo ingresos de “renta estatal” que son independientes de las transacciones, pero están vinculados a la adopción de la base de conocimiento común de Nervos.

En una analogía, CKBytes se puede considerar como tierra, mientras que los activos criptográficos almacenados en CKB se pueden considerar como casas. Se requiere tierra para construir una casa y se requieren CKBytes para almacenar activos en Nervos CKB. A medida que aumenta la demanda de almacenamiento de activos en CKB, también aumenta la demanda de CKBytes. A medida que aumenta el valor de los activos almacenados, también aumenta el valor de CKBytes.

Nervos CKB está diseñado para traducir la demanda de una multitud de activos en demanda de un solo activo y usarlo para compensar a los mineros para asegurar la red.

**4.6 Tesorería ** La parte de la emisión secundaria que no se destina a 1) mineros o 2) holders a largo plazo con tokens bloqueados en NervosDAO, se destinará a un fondo de tesorería. Para demostrar: si el 60 % de los CKBytes emitidos se utilizan para almacenar estado y el 30 % de los CKBytes se depositan en NervosDAO, los mineros recibirán el 60 % de la emisión secundaria, los depositantes en NervosDAO (titulares a largo plazo) recibirán el 30 % de la emisión secundaria, y el 10% de la emisión secundaria se destinará a la tesorería.

El fondo de tesorería se utilizará para financiar la investigación y el desarrollo en curso del protocolo, así como para construir el ecosistema de la red Nervos. El uso de los fondos del tesoro será abierto, transparente y en cadena para que todos lo vean. En comparación con un modelo de financiación del tesoro basado en la inflación, este modelo no diluye a los titulares de tokens a largo plazo (que han depositado sus tokens en NervosDAO). La financiación del desarrollo del protocolo se deriva estrictamente del costo de oportunidad para los poseedores de tokens a corto plazo.

La tesorería no se activará inmediatamente después del lanzamiento de la red principal de Nervos CKB. Con la aprobación de la comunidad, se activará con un hard-fork más tarde, solo después de que la Fundación Nervos haya agotado el Fondo del Ecosistema, incluido en el bloque Génesis. Antes de la activación de la tesorería, esta parte de la emisión secundaria se quemará.

4.7 Gobernanza La gobernanza es cómo la sociedad o los grupos dentro de ella se organizan para tomar decisiones. Todas las partes relevantes con un interés en el sistema deben participar en este proceso. En lo que respecta a una cadena de bloques, esto debe incluir no solo a los usuarios, titulares, mineros, investigadores y desarrolladores, sino también a los proveedores de servicios, como billeteras, intercambios y grupos de minería. Varios grupos de partes interesadas tienen intereses diversos y es casi imposible alinear los incentivos de todos. Esta es la razón por la cual la gobernanza de blockchain es un tema complicado y controvertido. Si consideramos una cadena de bloques como un gran experimento social, la gobernanza requiere un diseño más sofisticado que cualquier otra parte del sistema. Después de diez años de evolución, todavía no hemos identificado mejores prácticas generales o procesos sostenibles para la gobernanza de blockchain.

Algunos proyectos llevan a cabo el gobierno a través de un “dictador benévolo de por vida” (como Linus Torvalds para Linux). Reconocemos que esto hace que un proyecto sea altamente eficiente, cohesionado y también encantador: la gente ama a los héroes; sin embargo, esto es contradictorio con la descentralización, el valor central de blockchain.

Algunos proyectos confían a un distinguido comité fuera de la cadena un poder de decisión de gran alcance, como el ECAF (EOSIO Core Arbitration Forum) sobre EOS. Sin embargo, estos comités carecen del poder esencial para garantizar que los participantes acaten sus decisiones, lo que podría haber influido en la decisión de cerrar el ECAF a principios de este año.

Algunos proyectos, como Tezos, van más allá e implementan la gobernanza en cadena para garantizar que todos los participantes cumplan con las decisiones votadas. Esto también evita cualquier impacto de discordia entre desarrolladores y mineros (o usuarios de nodos completos). Tenga en cuenta que el gobierno en cadena es diferente de un simple voto en cadena, si una característica o parche propuesto ha obtenido suficientes votos a través del gobierno en cadena, el código de la cadena se actualizará automáticamente, los mineros o los nodos completos no tienen ningún medio de controlar este cambio. Polkadot adopta un enfoque aún más sofisticado para la gobernanza en cadena, utilizando un consejo electo, un proceso de referéndum para la votación ponderada y mecanismos de sesgo positivo/negativo para dar cuenta de la participación electoral.

Sin embargo, a pesar de su sencillez, la gobernanza en cadena en la práctica no es tan elegante como se presenta. En primer lugar, los votos solo reflejan el interés de los poseedores de fichas, mientras que simplemente ignoran a todas las demás partes. En segundo lugar, una tasa de votación baja es un gran problema tanto en el mundo blockchain como en el mundo real. ¿Cómo pueden los resultados estar en el mejor interés de la mayoría si sólo vota una minoría? Por último, pero lo más importante, una bifurcación dura siempre debe considerarse como el recurso final para todas las partes interesadas. Dada la excelente disponibilidad de datos proporcionada por la amplia replicación de una cadena de bloques sin permisos, la bifurcación de la cadena existente con la preservación completa de los datos y sin interrupción siempre debería ser una opción. Una bifurcación dura nunca podría implementarse a través de la gobernanza en cadena.

Todavía no hay respuestas viables a las cuestiones de gobernanza, por lo que para Nervos Network adoptaremos un enfoque en evolución. Esperamos que la comunidad se desarrolle orgánicamente en los primeros días y con el tiempo, a medida que se extraen más tokens, la minería se distribuye más y se involucran más desarrolladores, las responsabilidades de gobierno se descentralizarán gradualmente. A largo plazo, la gobernanza basada en la comunidad gestionará el proceso de actualización del protocolo y la asignación de recursos de la tesorería.

Nervos CKB está diseñado para ser una infraestructura autónoma descentralizada que podría durar cientos de años, lo que significa que hay ciertas cosas que exigen nuestro mejor esfuerzo como comunidad para mantenerse, sin importar cómo evolucione esta red. Los 3 invariantes centrales son:

  • El modelo de emisión es completamente fijo, por lo que nunca cambiará.
  • El estado/los datos almacenados en las Cells no se manipularán.
  • No se cambiará la semántica de los scripts existentes.

La gobernanza basada en la comunidad para blockchains es un campo muy nuevo y hay muchos experimentos valiosos en curso. Reconocemos que este no es un tema trivial, y se requiere tiempo para estudiar, observar e iterar completamente para llegar a un enfoque óptimo. Estamos adoptando un enfoque conservador hacia la gobernanza basada en la comunidad en el corto plazo, sin dejar de estar totalmente comprometidos con esta dirección en el largo plazo.

5. Descripción general de las soluciones de capa 2 5.1 ¿Qué es la Capa 2? La capa 1 de una red blockchain está definida por restricciones. Una cadena de bloques de capa 1 ideal no compromete la seguridad, la descentralización y la sostenibilidad, sin embargo, esto crea desafíos relacionados con la escalabilidad y los costos de transacción. Las soluciones de capa 2 se construyen sobre los protocolos de capa 1, lo que permite que la computación se mueva fuera de la cadena con mecanismos para establecerse de manera segura en la cadena de bloques de capa 1.

Esto es similar a la liquidación neta en el sistema bancario actual o las presentaciones regulatorias exigidas por la SEC. Al reducir la cantidad de datos que requieren consenso global, la red puede servir a más participantes y facilitar más actividad económica de lo que hubiera sido posible de otra manera, manteniendo las propiedades de la descentralización.

Los usuarios de la capa 2 dependen de la seguridad proporcionada por la cadena de bloques de la capa 1 y utilizan esta seguridad cuando mueven activos entre capas o resuelven una disputa. Esta función es similar a un sistema judicial: el tribunal no tiene que monitorear y validar todas las transacciones, sino que solo sirve como un lugar para registrar evidencia clave y resolver disputas. De manera similar, en un contexto de cadena de bloques, la cadena de bloques de capa 1 permite a los participantes realizar transacciones fuera de la cadena y, en caso de desacuerdo, les brinda la capacidad de llevar evidencia criptográfica a la cadena de bloques y penalizar la deshonestidad.

5.2 Canales de Pago y Estatales Los canales de pago se crean entre dos partes que realizan transacciones con frecuencia. Proporcionan una experiencia de pago inmediata y de baja latencia que las transacciones realizadas directamente en una cadena de bloques global nunca podrían proporcionar. Los canales de pago funcionan de manera similar a una cuenta de barra: puede abrir una cuenta con un cantinero y seguir pidiendo bebidas, pero solo liquidar la cuenta y pagar el monto final cuando esté listo para abandonar la barra. En la operación de un canal de pago, los participantes intercambian mensajes que contienen compromisos criptográficos con sus saldos y pueden actualizar estos saldos un número ilimitado de veces fuera de la cadena, antes de que estén listos para cerrar el canal y liquidar saldos en la cadena de bloques.

Los canales de pago pueden ser unidireccionales o bidireccionales. Los canales de pago unidireccionales fluyen de la Parte A a la Parte B, de forma similar al ejemplo de la barra de pestañas anterior. La Parte A deposita la cantidad máxima que podría gastar en la Parte B y luego transfiere lentamente los fondos a medida que recibe bienes o servicios.

Los canales de pago bidireccionales son más complicados, pero comienzan a mostrar el alcance de las posibilidades de las tecnologías de capa 2. En estos canales de pago, los fondos fluyen de un lado a otro entre las partes. Esto permite el “reequilibrio” de los canales de pago y abre la posibilidad de pagos a través de canales a través de una contraparte compartida. Esto habilita redes de canales de pago, como Lightning Network de Bitcoin. Los fondos pueden transferirse de la Parte A a la Parte B sin un canal directo entre ellos, siempre que la Parte A pueda encontrar un camino a través de un intermediario con conexiones abiertas para ambas partes.

Así como los canales de pago pueden escalar los pagos en cadena, los canales estatales pueden escalar cualquier transacción en cadena. Mientras que un canal de pago se limita a la gestión de saldos entre dos partes, un canal estatal es un acuerdo sobre un estado arbitrario, que permite todo, desde un juego de ajedrez sin confianza hasta aplicaciones descentralizadas escalables.

Similar a un canal de pago, las partes abren un canal, intercambian firmas criptográficas a lo largo del tiempo y envían un estado (o resultado) final a un contrato inteligente en cadena. Luego, el contrato inteligente se ejecutará en función de esta entrada, liquidando la transacción de acuerdo con las reglas codificadas en el contrato.

Un “canal de estado generalizado” es una poderosa construcción, que permite que un solo canal de estado admita transiciones de estado a través de múltiples contratos inteligentes. Esto reduce la sobrecarga de estado inherente a una arquitectura de “un canal por aplicación” y también permite una fácil incorporación, con la capacidad de utilizar canales de estado que los usuarios ya tienen abiertos.

5.3 Side-chains Una cadena lateral es una cadena de bloques separada que está unida a una cadena de bloques sin confianza (cadena principal) con una conexión bidireccional. Para utilizar la cadena lateral, un usuario enviaría fondos a una dirección específica en la cadena principal, bloqueando estos fondos bajo el control de los operadores de la cadena lateral. Una vez que se confirma esta transacción y ha pasado un período de seguridad, se puede comunicar una prueba a los operadores de la cadena lateral que detalla el depósito de fondos. Luego, los operadores crearán una transacción en la cadena lateral, distribuyendo los fondos apropiados. Luego, estos fondos se pueden gastar en la cadena lateral con tarifas bajas, confirmación rápida y alto rendimiento.

El principal inconveniente de las side-chains es que requieren mecanismos de seguridad adicionales y supuestos de seguridad. La construcción de cadena lateral más simple, una cadena lateral federada, confía en un grupo de operadores de múltiples firmas. En las plataformas de contratos inteligentes, los modelos de seguridad se pueden ajustar con incentivos simbólicos o juegos económicos de enlazar/desafíar/castigar.

En comparación con otras soluciones de escalado de propósito general fuera de la cadena, las side-chains son más fáciles de entender e implementar. Para los tipos de aplicaciones que permiten la creación de un modelo de confianza aceptable para sus usuarios, las side-chains pueden ser una solución práctica.

5.4 Commit-chains En las commit-chains[6], como Plasma[7], se construye una cadena de capa 2 que aprovecha una raíz de confianza en una cadena de bloques de capa 1 (cadena raíz) con un amplio consenso global. Estas commit-chains son seguras; en caso de que un operador de cadena sea malicioso o disfuncional, los usuarios siempre pueden retirar sus activos a través de un mecanismo en la cadena raíz.

Se confía en un operador de cadena de confirmación para ejecutar transacciones correctamente y publicar actualizaciones periódicas en la cadena raíz. En todas las condiciones, a excepción de un ataque de censura prolongado en la cadena raíz, los activos en las cadenas de compromiso permanecerán seguros. Al igual que las side-chains federadas, los diseños de cadena de compromiso ofrecen una experiencia de usuario superior en comparación con las cadenas de bloques sin confianza. Sin embargo, lo hacen manteniendo mayores garantías de seguridad.

La cadena de confirmación está protegida por un conjunto de contratos inteligentes que se ejecutan en la cadena raíz. Los usuarios depositan activos en este contrato y el operador de la cadena de compromiso les proporciona activos en la cadena de compromiso. El operador publicará periódicamente los compromisos con la cadena raíz, que los usuarios pueden utilizar más tarde para demostrar la propiedad de los activos a través de las pruebas de Merkle, una “salida”, en la que los activos de la cadena de compromiso se retiran a la cadena raíz.

Esto describe la noción general de diseños de commit-chains, la base de una familia emergente de protocolos que incluye Plasma. El libro blanco de Plasma[7] publicado por Vitalik Buterin y Joseph Poon en 2017 presenta una visión ambiciosa. Aunque todas las cadenas de Plasma actualmente se basan en activos y solo pueden almacenar la propiedad (y transferencias) de tokens fungibles y no fungibles, la ejecución de código sin confianza (o contratos inteligentes) es un área activa de investigación.

5.5 Cálculos fuera de la cadena verificables La criptografía proporciona una herramienta aparentemente adaptada a la dinámica de la costosa verificación en cadena y la computación económica fuera de la cadena: sistemas de prueba interactivos. Un sistema de prueba interactivo es un protocolo con dos participantes, el probador y el verificador. Al enviar mensajes de ida y vuelta, el Probador proporcionará información para convencer al Verificador de que cierta afirmación es verdadera, mientras que el Verificador examinará lo que se proporciona y rechazará las afirmaciones falsas. Las afirmaciones que el Verificador no puede rechazar se aceptan como verdaderas.

La razón principal por la que el Verificador no verifica simplemente el reclamo ingenuamente por sí mismo es la eficiencia: al interactuar con un Probador, el Verificador puede verificar reclamos que de otro modo sería prohibitivamente costoso verificar. Esta brecha de complejidad puede provenir de una variedad de fuentes: 1) el Verificador puede estar ejecutando hardware liviano que solo puede admitir cálculos limitados en el espacio o en el tiempo (o ambos), 2) la verificación ingenua puede requerir acceso a una larga secuencia de opciones no-deterministas, 3) la verificación ingenua puede ser imposible porque el Verificador no posee cierta información secreta.

Si bien el secreto de la información importante es sin duda un factor limitante relevante en el contexto de las criptomonedas, un factor limitante más relevante en el contexto de la escalabilidad es el costo de la verificación en la cadena, especialmente en contraste con el cálculo fuera de la cadena relativamente económico.

En el contexto de las criptomonedas, se ha prestado mucha atención a los zk-SNARK (conocimiento cero, argumentos de conocimiento sucintos y no interactivos). Esta familia de sistemas de prueba no interactivos gira en torno al circuito aritmético, que codifica un cálculo arbitrario como un circuito de sumas y multiplicaciones sobre un campo finito. Por ejemplo, el circuito aritmético puede codificar “Conozco una hoja en este árbol de Merkle”.

Las pruebas de zk-SNARK son de tamaño constante (cientos de bytes) y verificables en tiempo constante, aunque esta eficiencia del Verificador tiene un costo: se requiere una configuración confiable y una cadena de referencia estructurada, además de aritmética basada en emparejamiento (de cuya dureza criptográfica concreta sigue siendo un objeto de preocupación).

Los sistemas de prueba alternativos proporcionan diferentes compensaciones. Por ejemplo, Bulletproofs no tiene una configuración confiable y se basa en la suposición de logaritmo discreto mucho más común, sin embargo, tiene pruebas de tamaño logarítmico (aunque todavía bastante pequeñas) y Verificadores de tiempo lineal. Los zk-STARK brindan una alternativa a los zk-SNARK en términos de escalabilidad, sin una configuración confiable y se basan solo en suposiciones criptográficas sólidas como una roca, aunque la prueba producida es de tamaño logarítmico (y bastante grande: cientos de kilobytes).

En el contexto de un ecosistema de criptomonedas de múltiples capas como Nervos Network, las pruebas interactivas ofrecen la capacidad de descargar cálculos costosos del lado del proveedor a la capa 2 mientras que solo requieren un trabajo modesto del lado del Verificador de la capa 1. Esta intuición se captura, por ejemplo, en el protocolo ZK Rollup de Vitalik Buterin[8]: un repetidor sin permiso recopila transacciones fuera de la cadena y actualiza periódicamente una raíz de Merkle almacenada en la cadena. Cada actualización raíz de este tipo va acompañada de un zk-SNARK que muestra que solo se acumularon transacciones válidas en el nuevo árbol de Merkle. Un contrato inteligente verifica la prueba y permite que la raíz de Merkle se actualice solo si la prueba es válida.

La construcción descrita anteriormente debería poder admitir transiciones de estado más complejas más allá de las transacciones simples, incluidos DEX, tokens múltiples y cómputo de preservación de la privacidad.

5.6 Modelo Económico de Soluciones de Capa 2 Si bien las soluciones de capa 2 brindan una escalabilidad impresionante, la economía simbólica de estos sistemas puede plantear desafíos de diseño.

La economía de tokens de capa 2 puede implicar una compensación por la infraestructura crítica (como validadores y torres de vigilancia), así como el diseño de incentivos específicos de la aplicación. La infraestructura crítica de capa 2 tiende a funcionar mejor con un modelo de suscripción basado en la duración. En Nervos Network, esta estructura de precios se puede implementar fácilmente a través del método de pago basado en el costo de oportunidad de CKB. Los proveedores de servicios pueden cobrar tarifas sobre los “depósitos” de sus usuarios a través de NervosDAO. Los desarrolladores de la capa 2 pueden luego enfocar los modelos económicos de tokens en incentivos específicos para sus aplicaciones.

En cierto modo, este modelo de precios es exactamente cómo los usuarios pagan por el almacenamiento estatal en CKB también. Básicamente, están pagando una tarifa de suscripción a los mineros con la distribución de sus recompensas de inflación emitidas por NervosDAO.

6. La red de Nervos 6.1 Capa 1 como una plataforma de almacenamiento de valor de activos múltiples Creemos que se debe construir una cadena de bloques de capa 1 como una reserva de valor. Para maximizar la descentralización a largo plazo, debe basarse en el consenso de prueba de trabajo con un modelo económico diseñado en torno a la ocupación del almacenamiento estatal, en lugar de las tarifas de transacción. La base de conocimiento común (Common Knowledge Base) (CKB) es una cadena de bloques basada en prueba de trabajo, almacenamiento de valor y con múltiples activos, con una programación y modelos económicos diseñados en torno al estado.

CKB es la capa base de la red Nervos, con la máxima seguridad y el mayor grado de descentralización. Poseer y realizar transacciones de activos en el CKB conlleva el costo más alto, sin embargo, proporciona el almacenamiento de activos más seguro y accesible en la red y permite la máxima componibilidad. CKB es el más adecuado para activos de alto valor y preservación de activos a largo plazo.

Common Knowledge Base es la primera cadena de bloques de capa 1 creada específicamente para admitir protocolos de capa 2:

  • CKB está diseñado para complementar los protocolos de la capa 2, centrándose en la seguridad y la descentralización, en lugar de superponer las prioridades de la capa 2, como la escalabilidad.
  • CKB modela su libro mayor en torno al estado, en lugar de las cuentas. Las Cells son esencialmente objetos de estado autónomos a los que las transacciones pueden hacer referencia y pasar entre capas. Esto es ideal para una arquitectura en capas, donde los objetos a los que se hace referencia y se pasan entre capas son piezas de estado, en lugar de cuentas.
  • CKB está diseñado como una máquina de verificación generalizada, en lugar de un motor de cómputo. Esto permite que el CKB sirva como un tribunal criptográfico que verifica las transiciones de estado fuera de la cadena.
  • CKB permite a los desarrolladores agregar fácilmente primitivas criptográficas personalizadas. Esto prepara a CKB para el futuro, lo que permite la verificación de las pruebas generadas por una variedad de soluciones de capa 2.

Common Knowledge Base tiene como objetivo ser la infraestructura para almacenar el conocimiento común más valioso del mundo, con el mejor ecosistema de capa 2 de su clase que proporciona las transacciones de blockchain más escalables y eficientes.

6.2 Escalar con soluciones de capa 2 Con su arquitectura en capas, Nervos Network puede escalar en la capa 2 a cualquier número de participantes, mientras mantiene las propiedades vitales de descentralización y preservación de activos. Los protocolos de capa 2 pueden hacer uso de cualquier tipo de compromiso de capa 1 o primitiva criptográfica, lo que permite una gran flexibilidad y creatividad en el diseño de sistemas transaccionales para admitir una base de usuarios de capa 2 en crecimiento. Los desarrolladores de capa 2 pueden elegir sus propias ventajas y desventajas con respecto al rendimiento, la finalidad, la privacidad y los modelos de confianza que funcionan mejor en el contexto de sus aplicaciones y usuarios.

En la red Nervos, la capa 1 (CKB) se usa para la verificación del estado, mientras que la capa 2 es responsable de la generación del estado. Los canales de estado y las side-chains son ejemplos de generación de estado; sin embargo, se admite cualquier tipo de patrón de generación y verificación, como un clúster de generación de prueba de conocimiento cero. Las billeteras también operan en la capa 2, ejecutando una lógica arbitraria, generando un nuevo estado y enviando transiciones de estado a CKB para su validación. Las billeteras en la red Nervos son muy poderosas porque son generadores de estado, con control total sobre las transiciones de estado.

Las side-chains son amigables para los desarrolladores y brindan una buena experiencia de usuario. Sin embargo, confían en la honestidad de sus validadores. Si los validadores se comportan maliciosamente, los usuarios corren el peligro de perder sus activos. Nervos Network proporciona una pila de cadena lateral de código abierto y fácil de usar para lanzar side-chains en el CKB, que consta de un marco de cadena de bloques de prueba de participación llamado “Muta” y una solución de cadena lateral basada en él llamada “Axón”.

Muta es un marco de blockchain altamente personalizable y de alto rendimiento diseñado para admitir la prueba de participación, consenso BFT y contratos inteligentes. Cuenta con “Overlord” como consenso BFT de alto rendimiento y baja latencia, y es compatible con varias máquinas virtuales, incluidas CKB-VM, EVM y WASM. Se pueden usar diferentes máquinas virtuales en una sola cadena de bloques de Muta simultáneamente, con interoperabilidad entre máquinas virtuales. Muta reduce en gran medida la barrera para que los desarrolladores construyan cadenas de bloques de alto rendimiento, al tiempo que permite la máxima flexibilidad para personalizar sus protocolos.

Axon es una solución completa creada a partir de Muta para proporcionar a los desarrolladores una cadena lateral llave en mano sobre Nervos CKB, con un modelo económico y de seguridad prácticos. La solucion de Axon usa CKB para la custodia segura de activos y usan un mecanismo de gobierno basado en tokens para administrar los validadores de la cadena lateral. También se incorporarán protocolos de cadena cruzada para interacciones entre una cadena lateral Axon y CKB, así como entre side-chains. Con Axon, los desarrolladores pueden concentrarse en crear aplicaciones, en lugar de crear infraestructura y protocolos entre cadenas.

Los protocolos de capa 2 son un área floreciente de investigación y desarrollo. Prevemos un futuro en el que todos los protocolos de capa 2 estén estandarizados e interoperen sin problemas. Sin embargo, reconocemos que las soluciones de capa 2 todavía están madurando y, a menudo, todavía estamos ampliando los límites de lo que pueden hacer, además de encontrar compensaciones aceptables. Hemos visto soluciones tempranas prometedoras, pero aún queda mucho por investigar sobre temas como la interoperabilidad, la seguridad y los modelos económicos en los diseños de capa 2.

6.3 Sostenibilidad En aras de la sostenibilidad a largo plazo, Nervos CKB limita el estado, impone un costo al almacenamiento en cadena y proporciona incentivos para que los usuarios limpien su almacenamiento de estado. Un estado acotado mantiene bajos los requisitos para la participación total del nodo, lo que garantiza que los nodos se puedan ejecutar en hardware de bajo costo. La participación sólida de nodos completos aumenta la descentralización y, a su vez, la seguridad.

Al imponer un costo de “alquiler estatal” proporcional al tiempo de uso del almacenamiento estatal, la base de conocimiento común (Common Knowledge Base) de Nervos mitiga la tragedia de los bienes comunes que enfrentan muchas cadenas de bloques en un paradigma de “paga una vez, almacena para siempre”. Implementado a través de la “inflación dirigida”, este mecanismo de alquiler estatal brinda una experiencia de usuario fluida al tiempo que impone un costo en el almacenamiento estatal.

Este costo de inflación puede ser objetivo porque los usuarios son dueños del espacio de consenso que ocupan sus datos. Este modelo también incluye un mecanismo nativo para que los usuarios eliminen su estado del espacio de consenso. Junto con los incentivos económicos de la renta estatal, esto asegura que el tamaño del estado siempre se moverá hacia la cantidad mínima de datos requerida por los participantes de la red.

El estado de propiedad individual también reduce significativamente los costos de los desarrolladores. En lugar de tener que comprar CKBytes para los requisitos estatales de todos sus usuarios, los desarrolladores solo tienen que comprar suficientes CKBytes para almacenar el código de verificación requerido por su aplicación. Cada usuario usaría sus propias Cells para almacenar sus tokens y sería totalmente responsable de sus activos.

Finalmente, la renta estatal brinda una recompensa continua a los mineros a través de la emisión de nuevos tokens. Este ingreso predecible incentiva a los mineros a avanzar en la cadena de bloques, en lugar de bifurcar bloques rentables para cobrar las tarifas de transacción.

6.4 Incentivos alineados El modelo económico de Common Knowledge Base está diseñado para alinear incentivos para todos los participantes en el ecosistema.

La base de conocimiento común (Common Knowledge Base) de Nervos está construida explícitamente para la preservación segura del valor, en lugar de tarifas de transacción baratas. Este posicionamiento crítico atraerá usuarios de almacenamiento de valor, similar a la comunidad de usuarios de Bitcoin, en lugar de usuarios de medios de intercambio.

Los casos de uso de medios de intercambio tienden a empujar siempre una red blockchain hacia la centralización, en busca de una mayor eficiencia y tarifas bajas. Sin ingresos por tarifas significativos para los operadores de infraestructura que aseguran la red (mineros o validadores), la seguridad debe financiarse a través de la inflación monetaria, o simplemente no está financiada. La inflación monetaria es perjudicial para los titulares a largo plazo, y la seguridad con fondos insuficientes es perjudicial para cualquier parte interesada de la red.

Sin embargo, los usuarios de la reserva de valor tienen fuertes demandas de resistencia a la censura y seguridad de los activos. Dependen de los mineros para proporcionar esto y, a su vez, los compensan por su papel. En una red de almacenamiento de valor, estas partes tienen intereses alineados.

Al alinear los incentivos de todos los participantes, una comunidad unida de Nervos puede crecer, y también se espera que el sistema económico alineado de la red sea resistente a las bifurcaciones.

6.5 Captura de valor y generación de valor Para que cualquier cadena de bloques permanezca segura a medida que aumenta el valor de los activos asegurados por la plataforma, el sistema debe tener un mecanismo para capturar valor a medida que crece el valor de los activos asegurados. Al delimitar el estado, CKB hace del espacio estatal un recurso escaso y con precio de mercado. A medida que aumenta la demanda de almacenamiento de activos en la red, se espera que el sistema compense mejor a los mineros por asegurar dichos activos.

Como plataforma que preserva el valor, el valor intrínseco de CKB como plataforma está determinado por la cantidad de seguridad que brinda a los activos que preserva. A medida que aumenta el valor de los activos asegurados, el mecanismo de captura de valor del modelo económico de CKB puede aumentar automáticamente el presupuesto de seguridad de CKB para atraer más recursos mineros, lo que hace que la plataforma sea más segura. Esto no solo es importante para hacer que la plataforma sea sostenible, sino que también proporciona un camino de crecimiento para el valor intrínseco de la plataforma: a medida que la plataforma se vuelve más segura, también se vuelve más atractiva para los activos de mayor valor, lo que genera más demanda. Obviamente, esto está limitado por el valor agregado general que eventualmente se moverá al espacio de la cadena de bloques.

Con el tiempo, esperamos que aumente la densidad económica de CKB. Los CKBytes se utilizarán para el almacenamiento de activos de alto valor y los activos de bajo valor se trasladarán a cadenas de bloques conectadas a CKB, como las side-chains de capa 2. En lugar de proteger directamente los activos, CKB se puede utilizar como una raíz de confianza para proteger todo el ecosistema de una cadena lateral mediante, por ejemplo, unos pocos cientos de bytes de pruebas criptográficas. La densidad económica de tales pruebas es extraordinariamente alta, lo que respalda aún más la curva de demanda de espacio de almacenamiento: similar a una pequeña parcela de tierra que aumenta significativamente su densidad económica al soportar un rascacielos.

Finalmente, a través del diseño de NervosDAO y su función de “refugio contra la inflación”, los holders de tokens a largo plazo siempre retendrán un porcentaje fijo de la emisión total, lo que convierte al token nativo en sí mismo en una sólida reserva de valor.

6.6 Cerrar la brecha regulatoria Las cadenas de bloques sin permiso permiten la descentralización total en la emisión y transacción de activos. Esto es lo que los hace valiosos, pero también es la razón por la que no son compatibles con los sistemas judiciales y financieros del mundo real.

El surgimiento de una arquitectura en capas brinda la oportunidad de crear partes que cumplan con las normas de una cadena de bloques sin permisos y sin regulaciones. Por ejemplo, los usuarios pueden almacenar sus activos descentralizados en la capa 1, disfrutar de la propiedad absoluta de estos activos y también pueden procesar negocios del mundo real en la capa 2, donde están sujetos a restricciones legales y reglamentarias.

Tomemos, por ejemplo, los intercambios de criptomonedas: países como Japón y Singapur han emitido licencias para los intercambios y han creado requisitos reglamentarios. Un intercambio compatible o una sucursal de un intercambio global podría construir una cadena comercial de capa 2, importar identidades y activos de usuarios y luego realizar negocios legales de acuerdo con los requisitos normativos locales.

La emisión y transacción de activos del mundo real se vuelven posibles dentro de una construcción de cadena de bloques en capas. Los activos del mundo real pueden fluir al ecosistema de la cadena de bloques a través de una cadena lateral regulada de capa 2 a la cadena de bloques de capa 1 sin permisos, lo que permite que estos activos accedan al ecosistema más grande de servicios financieros descentralizados.

En el futuro, se espera que Nervos Network también utilice side-chains y aplicaciones de capa 2 como base para la adopción de usuarios a gran escala, en cooperación con empresas líderes en este espacio.

Referencias:

[1] Satoshi Nakamoto. “Bitcoin: A Peer-to-Peer Electronic Cash System”. 31 Oct 2008, https://bitcoin.org/bitcoin.pdf

[2] Vitalik Buterin. “Ethereum White Paper: A Next Generation Smart Contract & Decentralized Application Platform”. Nov 2013 http://blockchainlab.com/pdf/Ethereum_white_paper-a_next_generation_smart_contract_and_decentralized_application_platform-vitalik-buterin.pdf

[3] With an average Bitcoin transaction size of 250 bytes: (2 * 250 * 7,500,000,000) / (24 * 6) = 26,041,666,666 byte blocks (every 10 minutes); 26,041,666,666 * (24 * 6) = 3,750,000,000,000 bytes (blockchain growth each day); 3,750,000,000,000 * 365.25 = 1,369,687,500,000,000 bytes (blockchain growth each year)

[4] Gur Huberman, Jacob Leshno, Ciamac C. Moallemi. “Monopoly Without a Monopolist: An Economic Analysis of the Bitcoin Payment System”. Bank of Finland Research Discussion Paper №27/2017. 6 Sep 2017, https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3032375

[5] Miles Carlsten, Harry Kalodner, S. Matthew Weinberg, Arvind Narayanan. “On the Instabiliity of Bitcoin Without the Block Reward”. Oct 2016, https://www.cs.princeton.edu/~smattw/CKWN-CCS16.pdf

[6] Lewis Gudgeon, Perdo Moreno-Sanchez, Stefanie Roos, Patrick McCorry, Arthur Gervais. “SoK: Off The Chain Transactions”. 17 Apr 2019, https://eprint.iacr.org/2019/360.pdf

[7] Joseph Poon, Vitalik Buterin. “Plasma: Scalable Autonomous Smart Contracts”. 11 Aug 2017, https://plasma.io/plasma.pdf

[8] Vitalik Buterin. “On-chain scaling to potentially ~500 tx/sec through mass tx validation”. 22 Sep 2018, https://ethresear.ch/t/on-chain-scaling-to-potentially-500-tx-sec-through-mass-tx-validation/3477

Artículo original en ingles aquí.

Únete a nuestra Comunidad: Telegram

Nervos Network

Tokenomics

Blockchain

Modular

White Papers