Knowledge base
Volver
alejandroRbit·
12 mins
282 views
Common Knowledge Base (CKB): el Sueño de un Desarrollador de Cadena de Bloques

La cadena de bloques de Capa 1 de Nervos, Common Knowledge Base, permite a los desarrolladores implementar su propia criptografía y crear aplicaciones descentralizadas con UX superior y primitivas financieras que no son posibles en ninguna otra cadena.

cover

Cualquier posible desarrollador de blockchain que haya intentado crear aplicaciones descentralizadas se ha dado cuenta rápidamente de que las cadenas de bloques actuales ofrecen entornos de desarrollo bastante inflexibles. La creación de aplicaciones o primitivas financieras con una experiencia de usuario superior y comparable a la de las aplicaciones Web 2 es casi imposible hoy en día, y en gran parte es debido a dos razones principales. La primera razón es la inflexibilidad social de algunas comunidades blockchain específicas, que a menudo estigmatizan a potenciales constructores poco ortodoxos, mientras que la segunda tiene que ver con las limitaciones técnicas inherentes que afectan a la mayoría de las cadenas de bloques.

Por estas razones, experimentar o desarrollar en Bitcoin hoy en día es prácticamente impensable. Sus limitaciones técnicas o la falta de capacidades para contratos inteligentes hacen imposible el desarrollo de aplicaciones descentralizadas más complejas. Más allá de eso, y quizás más importante, sus desarrollades principales y la comunidad de inversores en general ven el protocolo de una manera muy anquilosada, dejando poco espacio para la experimentación para los posibles desarrolladores de sistemas. Por otro lado, la comunidad de Ethereum es excepcionalmente acogedora para los desarrolladores, pero sus limitaciones técnicas (y, en realidad, todas las demás Capas 1) limitan significativamente el alcance de las aplicaciones que los desarrolladores pueden crear.

Al darse cuenta de que la incorporación de los próximos mil millones de usuarios a Web3 depende de la eliminación de estas restricciones técnicas, la blockchain de Capa 1 de la red Nervos, Common Knowledge Base (CKB), se ha creado para ser lo más flexible y de bajo nivel posible. En CKB, los desarrolladores pueden experimentar y construir libremente aplicaciones Web3 que compiten o incluso superan la experiencia de usuario de sus contrapartes Web2. En lugar de adherirse a las estrictas condiciones impuestas por todas las demás cadenas, los desarrolladores pueden traer sus propias primitivas criptográficas a CKB y crear aplicaciones innovadoras que no son posibles en otros lugares.

Para comprender cómo es posible y qué significa en términos más prácticos, primero es necesario observar la diferencia fundamental entre CKB y todas las demás cadenas de bloques.

Common Knowledge Base Frente a Cadenas de Bloques Anteriores

La diferencia clave entre CKB y todas las demás cadenas de bloques es que estas últimas incluyen primitivas criptográficas en la capa de consenso, mientras que CKB las incorpora en la capa de contrato inteligente. Y si bien esta diferencia puede parecer trivial a primera vista, es la noche y el día en términos de las posibilidades de desarrollo que abre a los constructores.

Tomando Bitcoin y Ethereum como ejemplos, crear cuentas de usuario en estas cadenas de bloques requiere administrar un conjunto de pares de claves. Por ejemplo, una dirección de Bitcoin se deriva tomando una clave privada como entrada, haciendo una derivación de curva elíptica unidireccional usando el estándar Secp256k1 para obtener la clave pública, y codificando esa clave pública usando las funciones hash SHA-256 y RIPEMD-160 para obtener la dirección de Bitcoin y luego usar el algoritmo de codificación de verificación Base58 para presentar la dirección de una forma más concisa. De manera similar, una dirección de Ethereum se deriva tomando una clave privada, haciendo una derivación de curva elíptica usando el estándar Secp256k1 para obtener una clave pública, luego codificando esa clave pública usando la función hash Keccak-256, y luego tomando los últimos 20 bytes de la salida hash para obtener la dirección.

En cualquier caso, las primitivas criptográficas SHA-256, RIPEMD-160, Secp256k1 y Keccak-256 están integradas en las capas de consenso de estas cadenas. Si alguien quiere cambiar esto, es decir, reemplazar los algoritmos hash Keccak-256 o SHA-256 de las claves públicas de Ethereum y Bitcoin, por ejemplo, o usar una curva elíptica diferente para derivar la clave pública, entonces la única forma es enviar una propuesta de mejora de Bitcoin o Ethereum (BIP/EIP) y esperar que la propuesta finalmente se considere e implemente en las cadenas de bloques respectivas a través de una bifurcación dura. Naturalmente, y por muy buenas razones, cambiar las reglas de los protocolos de blockchain a través de bifurcaciones duras es un proceso muy polémico y exhaustivo que a menudo puede tardar años en materializarse, lo que hace que el uso potencial de primitivas criptográficas sin soporte sea prácticamente inviable.

Por supuesto, Ethereum ha agregado con el tiempo algoritmos criptográficos de uso más común, pero solo a través del método de precompilación. Es decir, EIP-196 y EIP-197 se introdujeron porque zk-SNARK, una técnica de mejora de la privacidad que permite verificar los datos sin revelar los datos en sí, necesitaba ser más eficiente en Ethereum. Verificar las pruebas de zk-SNARK requiere mucha potencia informática, lo que sería muy costoso si se hiciera directamente en la capa de contrato inteligente. Para que este proceso sea más económico y eficiente, los componentes básicos de los algoritmos criptográficos zk-SNARK (como la suma de curvas elípticas, la multiplicación y la verificación de emparejamiento) se agregaron como precompilaciones a la máquina virtual Ethereum (EVM) a través de una bifurcación dura. Esto significa que estas primitivas son ejecutadas directamente por los nodos en lugar de como parte de un contrato inteligente en la cadena de bloques, lo que reduce el costo de los cálculos. Sin embargo, también demuestra que el uso de algoritmos criptográficos que no sean los precompilados (que se incluyeron desde el principio o se agregaron más tarde a través de bifurcaciones duras) es imposible en la práctica.

Esta solidificación de cómo se usa la criptografía en estas cadenas de bloques crea limitaciones significativas para los desarrolladores. En la mayoría de los casos, los desarrolladores de aplicaciones no pueden escapar de estas limitaciones y, cuando lo hacen, el proceso requiere hacer concesiones que eventualmente terminan limitando la experiencia del usuario de una forma u otra. Por ejemplo, Ethereum implementó recientemente ERC-4337, una actualización compatible con versiones anteriores que permite la creación de billeteras de contratos inteligentes que pueden definir su propia lógica de ejecución y verificación de transacciones y, en consecuencia, aprovechar varios esquemas de firma, curvas elípticas y protocolos de firma. Sin embargo, ERC-4337 solo permite la abstracción de cuentas a nivel de aplicación que mantiene cuentas o billeteras de contratos inteligentes como ciudadanos de segunda clase.

Incluso con la actualización ERC-4337, el único tipo de cuenta que puede iniciar transacciones en Ethereum sigue siendo la cuenta de propiedad externa (EOA), que está encadenada a las reglas codificadas de EVM y solo puede usar las primitivas criptográficas precompiladas.

Se puede argumentar que la abstracción de cuentas es, por definición, algo que debe implementarse en la capa de protocolo. Si bien ERC-4337 proporciona métodos de recuperación social y pagos de gas sin permiso y descentralizados por parte de terceros, no alcanza lo que podría esperarse de una verdadera abstracción de cuenta, en la que las transacciones pueden iniciarse a partir de diferentes tipos de políticas, como la transición de estado de un zk-SNARK e introduce una nueva complejidad y sobrecarga con repetidores, pagadores y un mempool alternativo para estas transacciones.

CKB es un Lienzo en Blanco

Mientras que otras cadenas, como Ethereum, se asemejan a plantillas predibujadas donde los desarrolladores de aplicaciones solo pueden colorear dentro de límites precompilados, CKB es un lienzo en blanco que otorga a los desarrolladores la máxima libertad.

La máquina virtual de CKB, CKB-VM, no tiene precompilaciones, lo que significa que las funciones hash y los esquemas de firma no se integran en ella, sino que se ejecutan a nivel de aplicación o en el mismo entorno que los contratos inteligentes creados por los desarrolladores de aplicaciones. El modelo contable de CKB, denominado modelo Cell, es una versión más generalizada del modelo UTXO de Bitcoin. No se aplica ninguna estructura interna a los datos almacenados en las celdas, y el diseño se deja completamente en manos de los desarrolladores. Tiene las mismas capacidades de programación o contrato inteligente (y mejores capacidades de escalado) que el modelo de cuenta de Ethereum, pero sin ninguna de sus limitaciones.

alt_text

Las ventajas de la máquina virtual basada en RISC-V de CKB y el modelo Cell son numerosas. Por un lado, su naturaleza extremadamente generalizada o abstracta brinda a los desarrolladores opciones mucho mayores en términos de las aplicaciones que pueden construir. CKB-VM puede ejecutar máquinas virtuales basadas en CosmWasm o EVM con relativa facilidad, lo que permite a los desarrolladores crear aplicaciones descentralizadas interoperables en entornos con los que ya están familiarizados. Además, CKB es compatible con todos los lenguajes de programación, lo que significa que los desarrolladores pueden codificar usando cualquier lenguaje que ya dominen. Por ejemplo, los desarrolladores detrás de CKB recientemente integraron Lua 5.4 en CKB-VM, lo que permite a los desarrolladores ejecutar un intérprete Lua independiente en CKB o incrustar código Lua en los contratos principales de CKB, lo que reduce en gran medida la barrera del desarrollo de contratos en la cadena.

En términos más directos, la flexibilidad inigualable de la máquina virtual y el modelo de contabilidad de CKB significa que los desarrolladores de aplicaciones pueden crear aplicaciones descentralizadas y primitivas financieras que brindan una experiencia de usuario muy superior a las aplicaciones en otras cadenas. En lugar de limitarse a usar solo las primitivas criptográficas precompiladas existentes o esperar a que se compilen otras nuevas a nivel de protocolo a través de bifurcaciones duras, los desarrolladores de CKB pueden traer sus propias primitivas criptográficas e instalarlas como si fueran meros complementos sin necesidad de cualquier cambio en la capa de consenso. Por ejemplo, los desarrolladores podrían implementar la función hash Keccak-256 de Ethereum en una celda (similar a implementar un contrato inteligente en Ethereum), implementar la biblioteca criptográfica que lo admite y luego crear una aplicación descentralizada que pueda verificar las firmas de Ethereum en CKB. De hecho, eso es lo que hizo el equipo de Lay2 con las bibliotecas Secp256k1 y Keccak-256 en 2020, y miles de titulares de CKB usan la billetera ckb.pw con sus direcciones de Ethereum.

Los mejores ejemplos actuales de aplicaciones descentralizadas que aprovechan la flexibilidad y la interoperabilidad inigualables de CKB son .bit y JoyID.

.Bit

Una de las aplicaciones más innovadoras creadas en CKB es el protocolo .bit, que muestra el verdadero potencial de la flexibilidad y compatibilidad entre cadenas de CKB. .bit es un protocolo de identidad digital Web3 de cadena cruzada que permite a los usuarios asignar nombres legibles por humanos, como "Nervos.bit", a identificadores legibles por máquina, como direcciones de cadena de bloques.

Lo que diferencia a .bit de otros protocolos de identidad digital como ENS (Ethereum Name Service) de Ethereum es su amplia compatibilidad. Si bien ENS solo admite direcciones de Ethereum, .bit permite a los usuarios registrarse y administrar sus cuentas usando (teóricamente) cualquier dirección de cadena pública o incluso correo electrónico. Esto significa que los usuarios pueden crear y administrar cuentas .bit con su dirección Dogecoin, Bitcoin o cualquier otra dirección de cadena pública y usarlas sin problemas en varias cadenas. Más allá de administrar identidades digitales, los usuarios de .bit también pueden almacenar una amplia gama de información en sus cuentas de .bit, incluidas claves públicas PGP, esquemas URL Magnet, direcciones de contratos inteligentes, hashes MD5 y presentaciones personales.

Esencialmente, .bit es un contenedor de datos autónomo que los usuarios pueden usar como su cuenta Web3 que lo abarca todo. Debido a que CKB admite todas las primitivas criptográficas, se puede acceder a las cuentas .bit utilizando los pares de claves de todas las cadenas públicas u otros métodos de inicio de sesión típicos de las aplicaciones Web2 como FaceID, huellas dactilares, Apple Passkeys y otros.

JoyID

CKB es la única cadena de bloques de Capa 1 en la industria con abstracción de cuenta a nivel de protocolo, y JoyID es la mejor demostración de cómo se ve eso en la práctica. JoyID es una billetera criptográfica sin custodia, multiplataforma, libre de contraseñas y mnemónicos construida en CKB. Permite a los usuarios poseer y administrar criptomonedas sin crear ni guardar contraseñas o frases mnemotécnicas, lo que lleva a una experiencia de usuario mucho mejor que todas las demás billeteras criptográficas.

El diseño altamente generalizado o "abstracto" de CKB permite que JoyID aproveche el algoritmo de firma ampliamente implementado de WebAuthn Secp256r1 (P256), en lugar del típicamente codificado Secp256k1 . WebAuthn es una tecnología totalmente compatible con los principales sistemas operativos, incluidos MacOS, Windows, Linux, ChromeOS, iOS y Android. Permite que un sitio web cree un par de claves públicas y privadas en el entorno de ejecución confiable (TEE) en el dispositivo del usuario y utiliza la clave privada para firmar transacciones, con la garantía de que la clave privada nunca se filtrará. La autenticación local se realiza mediante identificación biométrica o verificación de código PIN durante el proceso de autorización de firma.

JoyID usa WebAuthn para convertir un dispositivo móvil normal en una billetera de almacenamiento en frío sin contraseña, creando una billetera criptográfica que es lo más segura y fácil de usar posible, algo que nunca antes se había hecho y que no es posible en ninguna otra cadena de Capa 1 aparte de CKB. Además, JoyID disfruta de todos los beneficios de la abstracción de cuenta a nivel de protocolo de CKB, incluida la posibilidad de recuperación social y cuentas de firmas múltiples.

Pensamientos Finales

Common Knowledge Base (CKB) ha demostrado ser revolucionario en la industria blockchain, ya que brinda a los desarrolladores una flexibilidad y libertad incomparables para crear aplicaciones descentralizadas que una vez se consideraron inalcanzables. Al mover las primitivas criptográficas a la capa de aplicación y ofrecer una máquina virtual y un modelo de contabilidad altamente generalizados, CKB abre un nuevo mundo de posibilidades para el desarrollo de aplicaciones Web3 con experiencias de usuario superiores.

Con su enfoque de visión de futuro y su compromiso de fomentar un ecosistema próspero para los desarrolladores, Nervos Common Knowledge Base está listo para desempeñar un papel fundamental en el impulso del futuro de la tecnología descentralizada y, en última instancia, empoderar a los próximos mil millones de usuarios para que aprovechen los beneficios de Web3.

With its forward-thinking approach and commitment to fostering a thriving ecosystem for developers, Nervos' Common Knowledge Base is poised to play a pivotal role in driving the future of decentralized technology and, ultimately, empowering the next billion users to embrace the benefits of Web3.

end