Autor: Wuyue, geek web3

Editor: Fausto

Desde que la narrativa AA se hizo popular en la comunidad Ethereum en 2022, el concepto de abstracción de cuentas se ha vuelto popular en la comunidad Web3. En realidad, es un concepto de diseño para el sistema de cuentas, cuyo objetivo es establecer estándares a un nivel superior y mejorar la funcionalidad de la cuenta. En las cadenas de bloques convencionales como Ethereum, debido a las limitaciones de las reglas fijas, la flexibilidad y versatilidad del sistema de cuentas son muy pobres, por ejemplo:

  1. Debe tener tokens de gas como ETH en su cuenta con anticipación; de lo contrario, no podrá iniciar transacciones, lo que obviamente es muy hostil para las cuentas nuevas;

  2. Las cadenas públicas representadas por el sistema EVM solo admiten un sistema de cuenta única, y otras cadenas públicas o usuarios de Web2 necesitan usar nuevas herramientas y entradas de cuentas.

Se consideró que la propuesta EIP-4337, que anteriormente era popular en la comunidad Ethereum, podía resolver los problemas anteriores. Sin embargo, debido a factores como su modelo técnico, bagaje histórico, desarrollo ecológico y cognición de los desarrolladores, el EIP-. El plan de parches 4337 se parece más a un parche, en lugar de resolver fundamentalmente el problema; se considera que EIP-3074, que intenta agregar nuevos códigos de operación al EVM, tiene riesgos de seguridad. Si bien resuelve problemas antiguos, trae nuevos problemas. La viabilidad es muy controvertida.

Debido a varias razones, el equipo fundador de Ethereum no consideró completamente el sistema de cuentas cuando se lanzó la red principal, lo que dejó mucho equipaje, como por ejemplo: las cuentas EOA y las cuentas de contrato están separadas, no se admiten transacciones de gas y no se admiten varias cuentas. primitivas de cifrado compatibles, etc. Este bagaje histórico ha causado obstáculos obvios para la implementación de la hoja de ruta AA de Ethereum. Incluso se puede decir que el plan AA de Ethereum no permite que su sistema de cuentas supere las nuevas cadenas públicas posteriores, sino que solo cierra la brecha entre las dos. Si una cadena pública considera plenamente el diseño de la cuenta cuando se diseña inicialmente, no habrá necesidad de tomar desvíos como Ethereum.

A diferencia de las cadenas públicas EVM, Nervos ha considerado profundamente el problema del sistema de cuentas al comienzo del diseño. Después de realizar una investigación, creemos que el sistema de cuentas de Nervos está más sesgado hacia la capa inferior y la esencia de su modelo de cuenta UTXO. y el soporte para múltiples OmniLock, un método de verificación, es profundamente consistente con los objetivos de AA de principio a fin y no tiene bagaje histórico. Naturalmente, admite los sistemas de cuentas de otras cadenas públicas como BTC, ETH e incluso Solana.

Además, para el recientemente popular BTCFi, dado que introduce Defi y otros escenarios para activos nativos de Bitcoin, para que los titulares de Bitcoin obtengan una experiencia de producto perfecta, es necesario ser compatible con las carteras de Bitcoin convencionales y otras instalaciones periféricas de CKB. La solución AA nativa logra esto naturalmente, creando las condiciones necesarias para la adopción a gran escala de BTCFi.

A continuación interpretaremos el sistema de abstracción de cuentas de Nervos desde múltiples perspectivas, como el concepto de diseño, la arquitectura del sistema, la aplicación y la ecología.

Bitcoin UTXO y el modelo celular de Nervos

La mayoría de la gente sabe que la estructura de almacenamiento de datos de una cadena pública basada en el modelo UTXO no se basa en el sistema de "saldo de cuenta", sino que adopta una forma única. Específicamente, los UTXO se pueden fundir o acuñar como oro. Con cada transacción, los UTXO antiguos se destruyen y nacen nuevos UTXO. Además, los datos UTXO no se almacenan en una dirección centralizada, sino que se almacenan de forma dispersa en la transacción que generó el UTXO y solo se pueden encontrar leyendo los registros de bloques anteriores.

No es exagerado decir que Bitcoin ha creado un paradigma de almacenamiento que es diferente del sistema de "información de cuenta" de la plataforma Web2 tradicional, que puede resolver los problemas de explosión estatal, baja eficiencia de lectura y escritura de datos y propiedad borrosa. Según el modelo UTXO, la ubicación de almacenamiento y la propiedad de los datos de activos de diferentes personas son muy claras, y es compatible con el paralelismo/concurrencia. También es fácil admitir funciones como el arrendamiento de almacenamiento y puede evitar muchos errores de las cuentas tradicionales. sistema.

El sistema de cuentas de la cadena pública Nervos absorbió completamente las ventajas de Bitcoin UTXO desde el comienzo de su diseño. Su modelo Cell es en realidad una versión mejorada de Bitcoin UTXO, que proporciona una programabilidad completa de Turing. Además, tanto CKB como otros activos son activos de primera clase y no tratan los activos nativos de manera diferente a ERC-20 como la cadena pública EVM.

El mecanismo operativo de Cell de CKB es aproximadamente el mismo que el de Bitcoin UTXO: ambos son controlados por "scripts de bloqueo" y "scripts de desbloqueo". Cuando se genera cada UTXO/Cell, habrá un "script de bloqueo", como un contraseña de bloqueo; y el "script de desbloqueo" es la clave correspondiente, que puede desbloquear el "script de bloqueo". Siempre que puedas enviar la "clave" correspondiente al "bloqueo", su UTXO asociado estará a tu disposición.

Pero a diferencia de Bitcoin UTXO, Cell agrega un campo "TypeScript" encima del script de bloqueo. Si LockScript es un autenticador de identidad que determina si está calificado para reescribir esta Célula, entonces TypeScript es el contrato inteligente adjunto a la Célula. Los códigos de DEX y los protocolos de préstamo se pueden implementar en TypeScript.

Si los desarrolladores desean implementar un fondo de liquidez similar a AMM en CKB, solo necesitan escribir el código de contrato en TypeScript de una celda dedicada y luego almacenar la información de estado del fondo de liquidez (como en el grupo) en el campo Datos. de esta Celda. Varios saldos de activos), y luego el usuario puede interactuar con el código en TypeScript.

Este diseño de CKB amplía escenarios más ricos además del modelo Bitcoin UTXO y es mucho más programable. Además, debido a que el propio CKB utiliza la máquina virtual RISC-V, admite programas escritos en múltiples lenguajes de programación y puede admitir varias lógicas. más poderoso que Bitcoin.

En cuanto al script de bloqueo LockScript de Cell, está directamente relacionado con nuestro tema central AA de hoy. Porque una de las características defendidas por AA es permitir que las cuentas de la cadena admitan métodos de autenticación diversos y flexibles. Para UTXO, para lograr esta función, es necesario trabajar en el LockScript que actúa como autenticador. Para ello, CKB lanzó el script OmniLock que admite específicamente múltiples esquemas de autenticación.

Echemos un vistazo al diseño específico de OmniLock.

OmniLock y abstracción de cuentas

Mencionamos antes que los permisos de uso de Cell de CKB y Bitcoin UTXO están definidos por el script de bloqueo. LockScript determinará quién puede reescribir Cell, lo que desempeña un papel en la verificación de identidad. Para admitir múltiples métodos de autenticación, CKB proporciona un script de bloqueo universal llamado OmniLock, que es compatible con múltiples algoritmos de firma y mecanismos de verificación.

OmniLock modulariza diferentes lógicas de verificación Siempre que se establezcan diferentes parámetros, se pueden configurar de manera flexible diferentes algoritmos de verificación. Los usuarios pueden manipular directamente los activos en la cadena CKB utilizando cuentas, billeteras/métodos de autenticación como BTC, ETH e incluso WebAuthn.

Entonces, ¿cómo se implementa y utiliza OmniLock? De hecho, para explicarlo de manera simple, OmniLock es un fragmento de código que Nervos organizó oficialmente directamente en la cadena CKB. Este código está escrito en una celda específica y puede ser utilizado por otras celdas, al igual que el "contrato del sistema". en la cadena pública EVM "Lo mismo. Si una celda quiere utilizar OmniLock, puede declarar una referencia a OmniLock en su propio script de bloqueo.

A continuación podemos comprender el principio de funcionamiento del script de bloqueo y OmniLock a través de un pseudocódigo.

El script de bloqueo de CKB contiene tres campos: hash de código, tipo de hash y argumentos. Dado que el hash de código y el tipo de hash tienen poca relevancia para el contenido de esta sección, no se explicarán aquí. A continuación nos centramos en el campo Args. Al configurar Args de forma flexible, puede utilizar diferentes algoritmos de verificación definidos en OmniLock.

El contenido correspondiente al campo Args se puede dividir en dos partes. Una parte es autenticación, que se utiliza específicamente para la autenticación. Su longitud es de 21 bytes, incluido un identificador de bandera de 1 byte y 20 bytes de datos de autenticación. Los datos de autenticación de autenticación contienen un hash de clave pública preestablecido. Solo el propietario de la clave pública correspondiente al hash de clave pública puede pasar la verificación de identidad y ser elegible para reescribir los datos en la celda.

El indicador en Auth es un identificador que se utiliza para seleccionar diferentes métodos de autenticación. El método de autenticación mencionado aquí no solo se refiere a la verificación de firma criptográfica, sino que también incluye el procesamiento de información y otros procesos integrales: si el indicador es 0x01, representa el método de autenticación externo de Ethereum. mensajes. Además de Ethereum, OmniLock también admite formularios de verificación de mensajes enriquecidos como Bitcoin, Dogecoin, Tron y firmas múltiples.

La otra parte de Args se llama Omnilock args. Es como un botón que le permite elegir entre los modos de función preestablecidos de OmniLock, como el modo de administrador (como la función de congelación del administrador de USDT), cualquiera para el modo de micropagos. (para pequeñas donaciones), modo de bloqueo de tiempo, etc. De todos modos, siempre que ajuste los argumentos de Omnilock, podrá utilizar las diferentes funciones preescritas en OmniLock.

En resumen, podemos ingresar diferentes parámetros en los campos de argumentos Auth y Omnilock del script de bloqueo celular para seleccionar métodos de autenticación para diferentes cadenas o plataformas públicas e introducir una variedad de métodos de autenticación en CKB. Por supuesto, además de los diversos métodos de autenticación predefinidos en OmniLock, los desarrolladores también pueden definir sus propios esquemas de autenticación.

Ecosistema abstracto de la cuenta Nervos: CCC, Mobit y JoyID

Ya sabemos anteriormente que OmniLock es la base para que Nervos logre la abstracción de cuentas, y las billeteras basadas en OmniLock como Mobit, .bit, Omiga y el middleware CCC (Common Chains Connector) constituyen el rico ecosistema de abstracción de cuentas BTCFi de Nervos, además de Did. .id, una plataforma DID que proporciona protección segura de la privacidad y servicios de gestión de identidades, y Dobby, una plataforma descentralizada de comercio de activos de Dobs.

Las buenas características de AA también aportan una gran comodidad a las aplicaciones ecológicas BTCFi, permitiendo que los proyectos en el ecosistema CKB admitan directamente la interacción con la billetera BTC, reduciendo el umbral de uso. A continuación, utilizaremos un caso específico para examinar el ecosistema AA de CKB.

Conector de cadenas comunes (CCC)

Primero, tomemos CCC como ejemplo. Este es un middleware de conexión de billetera que proporciona específicamente a billeteras y dApps la operatividad de varias cadenas públicas en CKB.

La siguiente imagen es la ventana de conexión de CCC. Aquí tomamos MetaMask como ejemplo. Si tiene una cuenta Ethereum, cómo operar la cuenta correspondiente en la cadena CKB.

Cuando se utiliza CCC para realizar transacciones en la cadena CKB, la demostración llamará al método personal_sign de la billetera MetaMask para firmar. Este método se utiliza para firmar un mensaje de texto que no se carga directamente en la cadena.

Podemos ver que esta información contiene una serie de códigos hexadecimales para la transacción CKB. Los mensajes firmados por MetaMask se enviarán a la cadena Nervos CKB y se verificarán mediante mecanismos como OmniLock.

Como mencionamos antes, el propio Nervos admite la verificación del formato de mensaje de Ethereum. Se puede decir que CKB ha considerado conectarse con otros ecosistemas de cadenas públicas de abajo hacia arriba. Para los usuarios, pueden ingresar al ecosistema CKB a través de entradas y herramientas existentes y familiares;

Para los desarrolladores, Nervos definió el estándar OmniLock en el nivel inferior y abstrajo los detalles de implementación de billeteras multicadena a través de CCC, lo que reduce en gran medida la dificultad de desarrollo y permite a los desarrolladores de aplicaciones de la capa superior centrarse mejor en el desarrollo de la capa superior. lógica empresarial. No se centre demasiado en los detalles de bajo nivel.

móvil

Mobit es una plataforma de gestión de activos y DID basada en Nervos. Si usa una metáfora, Mobit es como una puerta para que el mundo exterior ingrese al ecosistema de Nervors, y el umbral para esta puerta es muy bajo. Con Mobit, los usuarios casi no requieren conocimientos previos y solo necesitan algunas operaciones simples para completar interacciones en el ecosistema Nervos utilizando cuentas de otras cadenas públicas.

La siguiente imagen es la ventana de conexión de Mobit. Se puede ver que Mobit actualmente admite sistemas de cuentas de múltiples cadenas públicas principales, y esta lista continúa ampliándose.

Sigo tomando como ejemplo la billetera Metamask. La interfaz conectada también puede ver la dirección EVM y CKB del usuario, y mostrar los activos de Token y DOB que contiene la dirección en la cadena CKB.

Hablemos aquí de los DOB, que son exclusivos del ecosistema Nervos y son similares a los activos NFT, pero los DOB son fundamentalmente diferentes de los NFT. En primer lugar, los datos de DOB se almacenan completamente en la cadena, lo que puede considerarse como un "NFT de cadena completa", mientras que los datos de muchos NFT de Ethereum no se almacenan completamente en la cadena;

Además, cada DOB se puede configurar con un Chatbot, que puede llevar a cabo escenarios interactivos como el diálogo con el titular. Con diferentes rutas de desarrollo de diferentes titulares, cada DOB tendrá beneficios más significativos en comparación con las NFT tradicionales.

En cuanto a Omiga, que es la plataforma comercial para DOB en el ecosistema Nervos, los usuarios pueden acceder directamente a ella en la interfaz de Mobit Apps con un solo clic.

Omiga también aprovecha las capacidades de abstracción de cuentas de Nervos.

El funcionamiento sencillo y las funciones completas de Mobit facilitarán la interacción con BTCFi. La esencia de los productos BTCFi es brindar una experiencia Defi diversa para los activos nativos de Bitcoin. La compatibilidad con las billeteras Bitcoin convencionales será un factor importante a considerar para las instalaciones periféricas de BTCFi, y CKB está actualmente listo.

Adopción de WebAuthn

WebAuthn es un estándar de red desarrollado conjuntamente por el World Wide Web Consortium (W3C) y la Alianza FIDO (Fast IDentity Online). El objetivo es mejorar la seguridad de la autenticación de usuarios, simplificar el proceso de inicio de sesión y reducir la dependencia de contraseñas tradicionales o privadas. llaves.

El software de gestión de claves integrado en algunos sistemas operativos de escritorio o móviles convencionales, como iOS y Android, puede utilizar módulos de seguridad locales o almacenamiento en la nube para almacenar claves y realizar firmas. Actualmente, la práctica principal de WebAuthn generalmente admite P-256, P-384, P-521, etc. Dado que OmniLock de Nervos admite primitivas criptográficas personalizadas, estas también pueden cubrirse.

Estos son algunos de los clientes admitidos por WebAuthn:

  • Llavero de Apple:

  • Security Enclave: los dispositivos Apple utilizan Secure Enclave para manejar operaciones criptográficas críticas, incluido el almacenamiento y la firma de claves privadas.

  • iOS y macOS: los sistemas de Apple pueden utilizar la API Keychain para operaciones de autenticación y firma, así como la autenticación de usuarios a través de Face ID o Touch ID.

  • Hola de Windows:

  • TPM (Módulo de plataforma segura): los dispositivos Windows pueden utilizar TPM para generar claves privadas y firmar a través de Windows Hello.

  • Autenticación biométrica: Windows Hello admite el reconocimiento de huellas dactilares y el reconocimiento facial para verificar la identidad del usuario.

  • Almacén de claves de Android: los dispositivos Android pueden aprovechar los módulos de seguridad de hardware para el almacenamiento y la firma de claves, y la autenticación mediante datos biométricos como huellas dactilares o reconocimiento facial.

  • Claves de seguridad de Ubisoft: los dispositivos de hardware con claves de seguridad, como YubiKey, admiten operaciones de autenticación y firma seguras a través de USB o NFC.

La billetera ecológica CKB JoyID es una aplicación implementada con tecnología WebAuthn. Con JoyID, los usuarios pueden autenticarse directamente a través de datos biométricos como huellas dactilares o reconocimiento facial, lo que permite una gestión de identidad e inicio de sesión fluida y altamente segura.

.bit en el ecosistema Nervos también es un escenario en el que la implementación WebAuthn de Apple se utiliza para iniciar sesión y utilizar blockchain.

De los casos anteriores, podemos ver que la solución AA de CKB es inherentemente compatible con otras cadenas públicas y usuarios de Web2. Para la mayoría de los usuarios de Web2, el soporte de WebAuthn es crucial. Elimina la carga de la gestión de claves privadas y frases mnemotécnicas y reduce considerablemente el umbral de uso. Cuanto antes se esfuerce el ecosistema de la cadena pública en esta dirección, más ventajas tendrá en el futuro.

Resumir

Ethereum está limitado por su bagaje histórico. La solución AA existente básicamente trata los síntomas pero no la causa raíz, y no puede resolver el problema desde la causa raíz. Sin embargo, Nervos consideró completamente el diseño del sistema de cuentas al lanzar la red principal y lo proporcionó. La función OmniLock puede ser compatible con cualquier forma de método de autenticación.

El modelo Cell de Nervos es esencialmente una expansión funcional de Bitcoin UTXO. Su script de bloqueo puede admitir una variedad de algoritmos de verificación de firma. OmniLock admite que cualquier Cell sea llamado directamente en el script de bloqueo de manera similar al contrato del sistema, proporcionando una plataforma para los desarrolladores. Proporciona experiencia de nivel Web2 a los usuarios;

Actualmente, el ecosistema abstracto de cuentas Nervos ya cuenta con productos como CCC, Mobit y Joyid, que están básicamente completos;

La esencia de BTCFi es proporcionar una experiencia Defi diversa para los activos nativos de Bitcoin. Si es compatible con las billeteras de Bitcoin convencionales será un factor importante a considerar para las instalaciones periféricas de BTCFi. Como instalación importante en el ecosistema BTCFi, CKB adopta un enfoque inclusivo. El enfoque es crear las condiciones necesarias para la adopción masiva de BTCFi tanto por parte del desarrollador como del usuario tanto como sea posible.