Introducción:
Este artículo proporciona una introducción prospectiva a un paradigma de diseño de infraestructura Web3 algo no convencional: el Paradigma de Consenso Basado en Almacenamiento (SCP). Este modelo de diseño diverge significativamente de soluciones de blockchain modular de corriente principal como los Rollups de Ethereum en teoría. Sin embargo, demuestra una alta viabilidad en términos de simplicidad en la implementación e integración con plataformas Web2. SCP no pretende limitarse a un camino estrecho de realización como los Rollups. En cambio, tiene como objetivo adoptar un marco más amplio y abierto para fusionar plataformas Web2 con la infraestructura Web3. Este enfoque se puede ver como altamente imaginativo e innovador.
Imaginemos una solución de escalabilidad de blockchain público con las siguientes características:
Tiene velocidades comparables a las aplicaciones o intercambios tradicionales de Web2, superando con creces cualquier blockchain pública, Capa 2 (L2), rollups, sidechains, etc.
No hay tarifas de gas y el costo de uso es casi cero.
Alta seguridad financiera, superando a las instalaciones centralizadas como intercambios, inferior a Rollups pero mayor o igual a sidechains.
Una experiencia de usuario idéntica a Web2, sin necesidad de conocimientos sobre claves públicas y privadas de blockchain, monederos, infraestructura, etc.
Una solución así es realmente emocionante: por un lado, ha alcanzado esencialmente la cima en cuanto a escalabilidad; por otro lado, sienta una base sólida para la adopción masiva de Web3, en esencia cerrando la brecha entre las experiencias de usuario de Web2 y Web3. Sin embargo, parece que tenemos pocas soluciones integrales como esta, ya que las discusiones y prácticas principales son realmente demasiado pocas.
Utilizamos el conocido tema de la escalabilidad como introducción anteriormente, pero SCP no se limita a los casos de uso de escalabilidad. Su inspiración de diseño realmente proviene de las soluciones de escalabilidad y las discusiones comunitarias de blockchains públicos como Bitcoin y Ethereum. Su visión y aplicación práctica es construir una nueva generación de infraestructura sin confianza, incluso plataformas computacionales que no se basan en estructuras de blockchain.
En general, SCP, como el "blockchain modular" mencionado por las comunidades de Ethereum y Celestia, tiene varios módulos como una capa de disponibilidad de datos, capa de ejecución, capa de consenso y capa de liquidación.
Capa de Disponibilidad de Datos: Manejada por una cadena de bloques pública ampliamente reconocida y bien probada, o instalaciones de almacenamiento que sirven como capa de disponibilidad de datos, como Ethereum, Arweave, Celestia, etc.
Capa de ejecución: Un servidor, utilizado para recibir transacciones de usuarios y ejecutarlas, mientras también envía por lotes los datos de transacciones firmados a la capa DA, similar a los secuenciadores en Rollups. Sin embargo, la capa de ejecución no necesita necesariamente una estructura de cadena estilo blockchain; puede ser completamente un sistema de base de datos + computación Web2, pero todo el sistema de computación debe ser de código abierto, con transparencia.
Capa de consenso: Compuesta por un grupo de nodos que extraen datos enviados a la capa DA por la capa de ejecución y utilizan el mismo algoritmo que la capa de ejecución para procesar estos datos, confirmando si la salida de la capa de ejecución es correcta y puede servir como redundancia de recuperación de desastres para la capa de ejecución. Los usuarios también pueden leer los datos devueltos por los nodos de la capa de consenso para asegurarse de que no haya comportamiento fraudulento en la capa de ejecución.
Capa de Liquidación: Compuesta por un grupo de nodos y contratos o direcciones en otras cadenas, responsable de manejar los depósitos de usuarios en SCP, o retiros de SCP, algo similar a la operación de puentes entre cadenas. Los nodos de la capa de liquidación controlan la función de retiro de la dirección de depósito a través de contratos multisig o direcciones basadas en TSS. Para los depósitos, los usuarios transfieren activos a una dirección designada en su cadena; para los retiros, envían una solicitud, y después de que los nodos de la capa de liquidación lean los datos, liberan los activos a través de multisig o TSS. El nivel de seguridad de la capa de liquidación depende del mecanismo entre cadenas utilizado.
Podemos entender el paradigma de SC a través del siguiente marco. Un producto que cumple con el marco de SC puede tener características principales como depósito, transferencia, retiro, intercambio, etc., y puede expandirse aún más. A continuación se muestra un diagrama esquemático de dicho producto:
Podemos ver que el consenso logrado por todo el sistema es completamente fuera de la cadena, que es el núcleo del paradigma de consenso de almacenamiento. Abandona el sistema de consenso de nodos típico de las blockchains, liberando la capa de ejecución de los pesados procesos de comunicación y confirmación de consenso. Esto le permite funcionar de manera eficiente como un solo servidor, logrando así casi ilimitadas TPS y rentabilidad. Este aspecto es muy similar a los Rollups, pero SCP (Paradigma de Consenso de Almacenamiento) toma un camino diferente a los Rollups. SCP intenta hacer la transición de un caso de uso específico de escalabilidad a un nuevo modo de transición de Web2 a Web3. El Coordinador mencionado anteriormente es un servidor, pero esto no significa que el Coordinador pueda actuar arbitrariamente. Similar al secuenciador en los Rollups, después de enviar por lotes los datos originales de los usuarios en Arweave, cualquiera puede ejecutar el programa Detector para verificarlo y compararlo con el estado devuelto por el Coordinador. En ciertos aspectos, esto se asemeja al enfoque de las aplicaciones de tipo inscripción. En esta arquitectura, un servidor o base de datos centralizada no representa un desafío fundamental. Este es otro punto del paradigma de SCP: desacopla los conceptos de “centralización” y “entidad única” — en un sistema sin confianza, puede haber componentes centralizados, incluso un componente central, sin afectar la falta de confianza general del sistema.
Podemos gritar este lema: 'La próxima generación de infraestructura sin confianza no necesariamente tiene que depender de protocolos de consenso, pero debería ser un sistema de código abierto con una red de nodos Peer-to-Peer (P2P).' La intención original de inventar y usar blockchain era lograr la descentralización, la consistencia del libro mayor, la inmutabilidad y la trazabilidad, como se establece explícitamente en el libro blanco de Bitcoin. Sin embargo, después de Ethereum, ya sea las soluciones de expansión de las antiguas cadenas públicas, Rollups o blockchains modulares, ha existido una mentalidad fija: lo que estamos creando debe ser o bien una blockchain (compuesta por protocolos de consenso de nodos) o algo como Rollup (que parece ser una cadena con estructuras de datos de blockchain, pero sin intercambios directos de mensajes de consenso entre nodos). Ahora, bajo el marco basado en el SCP (Protocolo de Consenso Estelar), es evidente que incluso sin ser una blockchain, es posible lograr la descentralización, la consistencia del libro mayor, la inmutabilidad y la trazabilidad, siempre que haya más detalles de implementación explícitos.
La capa de ejecución es crucial en todo el sistema, ya que se encarga de los procesos computacionales del sistema y determina los tipos de aplicaciones que pueden ejecutarse en el sistema.
Teóricamente, el entorno de ejecución en la capa de ejecución puede tomar cualquier forma, con posibilidades infinitas, dependiendo de cómo los desarrolladores del proyecto posicionen su proyecto:
Intercambios. Utilizando SCP, se puede construir un intercambio público y transparente con altas tasas de Transacciones Por Segundo (TPS), combinando las características rápidas y sin costos de un Intercambio Centralizado (CEX) y la descentralización de un Intercambio Descentralizado (DEX). Aquí, la distinción entre CEX y DEX se vuelve borrosa.
Redes de pago. Similar a Alipay, PayPal, etc.
Máquinas virtuales/Cadenas de bloques que admiten programas/contratos cargables. Cualquier desarrollador puede implementar cualquier aplicación en ella, compartiendo todos los datos de usuario con otros programas y operando según las instrucciones del usuario.
El patrón de diseño de SCP, que admite cualquier entorno de ejecución, tiene sus ventajas únicas: no es necesario depender de componentes con carga histórica, especialmente conceptos como la "abstracción de cuentas" única en la comunidad de Ethereum. Para SCP, el concepto de abstracción de cuentas es inherentemente innecesario. En la arquitectura de SCP, no hay concepto de abstracción de cuentas, se pueden adoptar libremente cuentas estándar de Web2 y cuentas de blockchain, etc. Desde esta perspectiva, muchos casos de uso maduros de Web2 no necesitan ser repensados y reconstruidos para ser directamente aplicables a SCP. Este aspecto podría ser donde SCP tiene ventaja sobre Rollups.
El sistema de cuentas se mencionó anteriormente, y los lectores perceptivos podrían haber notado que mientras el SCP (Protocolo de Consenso Estelar) puede utilizar el sistema de cuentas Web2, usarlo tal como está parece problemático. ¡Esto se debe a que todo el sistema es completamente transparente! Emplear directamente el modelo de interacción usuario-servidor de Web2 conlleva serios problemas de seguridad, lo que hace que el sistema sea completamente inseguro. Revisemos cómo funciona el modelo tradicional de servidor-usuario:
Inicio de sesión de usuario: Los usuarios ingresan su nombre de usuario y contraseña en el formulario de inicio de sesión. El sistema compara el hash de la contraseña procesada con el hash almacenado en la base de datos. Si los dos hashes coinciden, indica que el usuario ha proporcionado la contraseña correcta y el proceso de inicio de sesión continúa.
Autenticación de operaciones : Después de la verificación exitosa del inicio de sesión, el sistema crea una sesión para el usuario. Por lo general, la información de la sesión se almacena en el servidor, y el servidor envía un identificador (como una cookie o token) al navegador o la aplicación del usuario. Durante operaciones posteriores, los usuarios ya no necesitan volver a ingresar su nombre de usuario y contraseña repetidamente: el navegador o la aplicación guarda el identificador de la cookie y lo incluye en cada solicitud, indicando que tienen el permiso del servidor asociado con la cookie.
Registro de cuenta: En realidad, no hay un proceso de registro de cuenta ni un sistema de usuario y contraseña. Las cuentas (direcciones) no necesitan ser registradas; existen inherentemente y quien controle la clave privada controla la cuenta. La clave privada se genera de forma aleatoria localmente por la cartera y no implica un proceso en línea.
Inicio de sesión del usuario: Usar la cadena de bloques no requiere iniciar sesión. La mayoría de las dApps no tienen un proceso de inicio de sesión, sino que se conectan a una billetera en su lugar. Algunas dApps, después de conectarse a una billetera, pueden requerir que los usuarios firmen una verificación para asegurarse de que realmente poseen la clave privada, en lugar de simplemente haber enviado una dirección de billetera al frontend.
Autenticación de operaciones: Los usuarios envían directamente los datos firmados a los nodos. Después de la validación, los nodos difunden la transacción a toda la red blockchain. Una vez que la operación es confirmada por el consenso de la red blockchain, se finaliza.
La diferencia entre estos dos modos es causada por factores simétricos y asimétricos. En una arquitectura servidor-usuario, ambas partes poseen el mismo secreto. En una arquitectura blockchain-usuario, solo el usuario posee el secreto. Aunque la capa de ejecución de SCP (Plataforma de Contratos Inteligentes) puede no ser una cadena de bloques, todos los datos deben sincronizarse con una capa de DA (Disponibilidad de Datos) públicamente visible. Por lo tanto, los métodos de inicio de sesión y verificación de operaciones de SCP deben ser asimétricos. Sin embargo, para evitar acciones engorrosas como administrar claves privadas y usar billeteras, que podrían obstaculizar la adopción generalizada debido a una mala experiencia del usuario, hay una fuerte demanda de identificaciones tradicionales y contraseñas o inicios de sesión de autenticación de terceros de OAuth en aplicaciones construidas en SCP. Entonces, ¿cómo combinamos los dos? Debido a la naturaleza asimétrica de la criptografía y las pruebas de conocimiento cero, visualizo dos posibles soluciones:
Independientemente del método utilizado, ambos son más costosos en términos de desarrollo y operación que los métodos tradicionales, pero este es un precio necesario a pagar por la descentralización. Por supuesto, si el proyecto no considera la descentralización extrema necesaria, o tiene hitos diferentes en diferentes etapas de desarrollo, es posible proceder sin estos diseños, ya que la descentralización no es blanco y negro, sino que existe en un área gris.
Los problemas de transparencia mencionados anteriormente no solo afectan el paradigma de interacción del usuario, sino que también impactan en los datos del usuario. Los datos del usuario se exponen directamente. Si bien esto no es un problema en la cadena de bloques, es inaceptable en algunas aplicaciones. Por lo tanto, los desarrolladores también pueden construir sistemas de transacciones privadas.
Cómo cobra comisiones la capa de ejecución es otro punto de interés. Enviar datos a la capa de Disponibilidad de Datos (DA) también conlleva costos, incluida la operación de sus propios servidores. El propósito principal de cobrar comisiones de gas en blockchains tradicionales es evitar que los usuarios saturen la red con numerosas transacciones redundantes, siendo secundario el ordenamiento de transacciones basado en comisiones de gas. En Web2, no existen preocupaciones similares, solo conceptos básicos como inundaciones y ataques DDoS. La capa de ejecución puede personalizar diversas estrategias de cobro, como ser completamente gratuitas o parcialmente cargadas, o beneficiarse de otras actividades como el Valor Extraíble Máximo (MEV), que ya es muy maduro en secuenciadores y actividades de mercado.
La capa de ejecución no posee resistencia a la censura y teóricamente puede rechazar las transacciones de los usuarios indefinidamente. En los Rollups, la resistencia a la censura puede garantizarse mediante la función de agregación obligatoria del contrato L1, mientras que las cadenas laterales o cadenas públicas son redes blockchain distribuidas completas, lo que dificulta la censura. Actualmente, no hay una solución clara para abordar el problema de la resistencia a la censura, que es un problema en el paradigma SCP.
Esta capa consiste en nodos conectados de forma laxa que no forman activamente una red, por lo que no es estrictamente una capa de consenso, sino que simplemente confirma el estado actual de la capa de ejecución al mundo exterior (como los usuarios). Por ejemplo, si duda del estado operativo de estos nodos, puede descargar su cliente detector, que ejecuta el mismo código de programa que el coordinador. Sin embargo, similar a los Rollups, dado que los datos se envían en lotes, el estado devuelto por la capa de ejecución a los usuarios siempre está más actualizado que el de la capa DA. Esto implica el problema de la preconfirmación: la capa de ejecución proporciona a los usuarios preconfirmaciones, resultados de finalidad suave, ya que aún no se han enviado a la capa DA; mientras que la capa de consenso proporciona finalidad sólida. Es posible que a los usuarios no les preocupe especialmente esto, pero para aplicaciones como puentes entre cadenas, es necesario adherirse a la finalización sólida. Por ejemplo, el sistema de depósito y retiro de intercambios no confía en los datos transmitidos fuera de la cadena por los secuenciadores de Rollup; esperan a que estos datos estén en Ethereum antes de aceptarlos. Además de confirmar resultados, la capa de consenso también desempeña un papel crucial como redundancia en caso de desastres para la capa de ejecución. Si la capa de ejecución deja de funcionar permanentemente o actúa maliciosamente, teóricamente cualquier capa de consenso puede hacerse cargo del trabajo de la capa de ejecución y aceptar las solicitudes de los usuarios. Si ocurre una situación tan grave, la comunidad debería elegir nodos estables y confiables como servidores de la capa de ejecución.
Dado que SCP no es Rollup, no puede lograr retiros sin confianza como la capa de liquidación de retiros de Rollup, que se basa enteramente en la criptografía y el código de contrato inteligente sin intervención manual. El nivel de seguridad de los puentes cruzados de SCP es el mismo que el de los puentes cruzados de cadena lateral o de testigo de terceros, que dependen de gerentes autorizados de firma múltiple para liberar activos, conocido como el modo de testigo.
Hacer que el puente de testigos sea lo más descentralizado posible es un tema de investigación para muchos puentes entre cadenas. Debido a limitaciones de espacio, esto no se elaborará aquí. Una plataforma SCP bien diseñada en la práctica también debe tener socios de firma múltiple de puente descentralizado de buena reputación. Algunos podrían preguntarse por qué SCP no utiliza una cadena con contratos inteligentes como capa DA. Esto permitiría capas de liquidación sin confianza basadas en contratos. A largo plazo, superando algunas dificultades técnicas, si la capa DA se coloca en Ethereum u otras capas DA habilitadas para contrato y se pueden construir contratos de verificación correspondientes, SCP también puede lograr la misma seguridad de liquidación que Rollup, sin necesidad de firmas múltiples.
Ethereum no está específicamente diseñado para el almacenamiento de datos, y en comparación con las blockchains dedicadas únicamente al almacenamiento de datos, es bastante caro. Para el paradigma de SCP, un costo de almacenamiento suficientemente bajo o fijo es crucial. Solo así puede admitir el rendimiento del nivel Web2.
Desarrollar sistemas de prueba es extremadamente difícil porque, en SCP, uno puede simular no solo EVM (Ethereum Virtual Machine) sino también implementar cualquier lógica. Teniendo en cuenta el estado actual de proyectos como Optimism, donde sus pruebas de fraude aún no se han lanzado, y la complejidad de desarrollar zkEVM (máquina virtual Ethereum de conocimiento cero), uno puede imaginar la inmensa dificultad de implementar varios sistemas de prueba en Ethereum.
Por lo tanto, la solución Rollup solo es más viable en circunstancias específicas. Si planea implementar un sistema más amplio y abierto, alejándose del marco EVM para integrar más características de Web2, entonces el enfoque de Rollup de Ethereum no es adecuado. SCP no es solo un plan de expansión para cierta cadena de bloques pública, sino una arquitectura de plataforma informática Web3 más grande. Por lo tanto, claramente no necesita seguir el enfoque de Capa 2 de Ethereum.
Introducción:
Este artículo proporciona una introducción prospectiva a un paradigma de diseño de infraestructura Web3 algo no convencional: el Paradigma de Consenso Basado en Almacenamiento (SCP). Este modelo de diseño diverge significativamente de soluciones de blockchain modular de corriente principal como los Rollups de Ethereum en teoría. Sin embargo, demuestra una alta viabilidad en términos de simplicidad en la implementación e integración con plataformas Web2. SCP no pretende limitarse a un camino estrecho de realización como los Rollups. En cambio, tiene como objetivo adoptar un marco más amplio y abierto para fusionar plataformas Web2 con la infraestructura Web3. Este enfoque se puede ver como altamente imaginativo e innovador.
Imaginemos una solución de escalabilidad de blockchain público con las siguientes características:
Tiene velocidades comparables a las aplicaciones o intercambios tradicionales de Web2, superando con creces cualquier blockchain pública, Capa 2 (L2), rollups, sidechains, etc.
No hay tarifas de gas y el costo de uso es casi cero.
Alta seguridad financiera, superando a las instalaciones centralizadas como intercambios, inferior a Rollups pero mayor o igual a sidechains.
Una experiencia de usuario idéntica a Web2, sin necesidad de conocimientos sobre claves públicas y privadas de blockchain, monederos, infraestructura, etc.
Una solución así es realmente emocionante: por un lado, ha alcanzado esencialmente la cima en cuanto a escalabilidad; por otro lado, sienta una base sólida para la adopción masiva de Web3, en esencia cerrando la brecha entre las experiencias de usuario de Web2 y Web3. Sin embargo, parece que tenemos pocas soluciones integrales como esta, ya que las discusiones y prácticas principales son realmente demasiado pocas.
Utilizamos el conocido tema de la escalabilidad como introducción anteriormente, pero SCP no se limita a los casos de uso de escalabilidad. Su inspiración de diseño realmente proviene de las soluciones de escalabilidad y las discusiones comunitarias de blockchains públicos como Bitcoin y Ethereum. Su visión y aplicación práctica es construir una nueva generación de infraestructura sin confianza, incluso plataformas computacionales que no se basan en estructuras de blockchain.
En general, SCP, como el "blockchain modular" mencionado por las comunidades de Ethereum y Celestia, tiene varios módulos como una capa de disponibilidad de datos, capa de ejecución, capa de consenso y capa de liquidación.
Capa de Disponibilidad de Datos: Manejada por una cadena de bloques pública ampliamente reconocida y bien probada, o instalaciones de almacenamiento que sirven como capa de disponibilidad de datos, como Ethereum, Arweave, Celestia, etc.
Capa de ejecución: Un servidor, utilizado para recibir transacciones de usuarios y ejecutarlas, mientras también envía por lotes los datos de transacciones firmados a la capa DA, similar a los secuenciadores en Rollups. Sin embargo, la capa de ejecución no necesita necesariamente una estructura de cadena estilo blockchain; puede ser completamente un sistema de base de datos + computación Web2, pero todo el sistema de computación debe ser de código abierto, con transparencia.
Capa de consenso: Compuesta por un grupo de nodos que extraen datos enviados a la capa DA por la capa de ejecución y utilizan el mismo algoritmo que la capa de ejecución para procesar estos datos, confirmando si la salida de la capa de ejecución es correcta y puede servir como redundancia de recuperación de desastres para la capa de ejecución. Los usuarios también pueden leer los datos devueltos por los nodos de la capa de consenso para asegurarse de que no haya comportamiento fraudulento en la capa de ejecución.
Capa de Liquidación: Compuesta por un grupo de nodos y contratos o direcciones en otras cadenas, responsable de manejar los depósitos de usuarios en SCP, o retiros de SCP, algo similar a la operación de puentes entre cadenas. Los nodos de la capa de liquidación controlan la función de retiro de la dirección de depósito a través de contratos multisig o direcciones basadas en TSS. Para los depósitos, los usuarios transfieren activos a una dirección designada en su cadena; para los retiros, envían una solicitud, y después de que los nodos de la capa de liquidación lean los datos, liberan los activos a través de multisig o TSS. El nivel de seguridad de la capa de liquidación depende del mecanismo entre cadenas utilizado.
Podemos entender el paradigma de SC a través del siguiente marco. Un producto que cumple con el marco de SC puede tener características principales como depósito, transferencia, retiro, intercambio, etc., y puede expandirse aún más. A continuación se muestra un diagrama esquemático de dicho producto:
Podemos ver que el consenso logrado por todo el sistema es completamente fuera de la cadena, que es el núcleo del paradigma de consenso de almacenamiento. Abandona el sistema de consenso de nodos típico de las blockchains, liberando la capa de ejecución de los pesados procesos de comunicación y confirmación de consenso. Esto le permite funcionar de manera eficiente como un solo servidor, logrando así casi ilimitadas TPS y rentabilidad. Este aspecto es muy similar a los Rollups, pero SCP (Paradigma de Consenso de Almacenamiento) toma un camino diferente a los Rollups. SCP intenta hacer la transición de un caso de uso específico de escalabilidad a un nuevo modo de transición de Web2 a Web3. El Coordinador mencionado anteriormente es un servidor, pero esto no significa que el Coordinador pueda actuar arbitrariamente. Similar al secuenciador en los Rollups, después de enviar por lotes los datos originales de los usuarios en Arweave, cualquiera puede ejecutar el programa Detector para verificarlo y compararlo con el estado devuelto por el Coordinador. En ciertos aspectos, esto se asemeja al enfoque de las aplicaciones de tipo inscripción. En esta arquitectura, un servidor o base de datos centralizada no representa un desafío fundamental. Este es otro punto del paradigma de SCP: desacopla los conceptos de “centralización” y “entidad única” — en un sistema sin confianza, puede haber componentes centralizados, incluso un componente central, sin afectar la falta de confianza general del sistema.
Podemos gritar este lema: 'La próxima generación de infraestructura sin confianza no necesariamente tiene que depender de protocolos de consenso, pero debería ser un sistema de código abierto con una red de nodos Peer-to-Peer (P2P).' La intención original de inventar y usar blockchain era lograr la descentralización, la consistencia del libro mayor, la inmutabilidad y la trazabilidad, como se establece explícitamente en el libro blanco de Bitcoin. Sin embargo, después de Ethereum, ya sea las soluciones de expansión de las antiguas cadenas públicas, Rollups o blockchains modulares, ha existido una mentalidad fija: lo que estamos creando debe ser o bien una blockchain (compuesta por protocolos de consenso de nodos) o algo como Rollup (que parece ser una cadena con estructuras de datos de blockchain, pero sin intercambios directos de mensajes de consenso entre nodos). Ahora, bajo el marco basado en el SCP (Protocolo de Consenso Estelar), es evidente que incluso sin ser una blockchain, es posible lograr la descentralización, la consistencia del libro mayor, la inmutabilidad y la trazabilidad, siempre que haya más detalles de implementación explícitos.
La capa de ejecución es crucial en todo el sistema, ya que se encarga de los procesos computacionales del sistema y determina los tipos de aplicaciones que pueden ejecutarse en el sistema.
Teóricamente, el entorno de ejecución en la capa de ejecución puede tomar cualquier forma, con posibilidades infinitas, dependiendo de cómo los desarrolladores del proyecto posicionen su proyecto:
Intercambios. Utilizando SCP, se puede construir un intercambio público y transparente con altas tasas de Transacciones Por Segundo (TPS), combinando las características rápidas y sin costos de un Intercambio Centralizado (CEX) y la descentralización de un Intercambio Descentralizado (DEX). Aquí, la distinción entre CEX y DEX se vuelve borrosa.
Redes de pago. Similar a Alipay, PayPal, etc.
Máquinas virtuales/Cadenas de bloques que admiten programas/contratos cargables. Cualquier desarrollador puede implementar cualquier aplicación en ella, compartiendo todos los datos de usuario con otros programas y operando según las instrucciones del usuario.
El patrón de diseño de SCP, que admite cualquier entorno de ejecución, tiene sus ventajas únicas: no es necesario depender de componentes con carga histórica, especialmente conceptos como la "abstracción de cuentas" única en la comunidad de Ethereum. Para SCP, el concepto de abstracción de cuentas es inherentemente innecesario. En la arquitectura de SCP, no hay concepto de abstracción de cuentas, se pueden adoptar libremente cuentas estándar de Web2 y cuentas de blockchain, etc. Desde esta perspectiva, muchos casos de uso maduros de Web2 no necesitan ser repensados y reconstruidos para ser directamente aplicables a SCP. Este aspecto podría ser donde SCP tiene ventaja sobre Rollups.
El sistema de cuentas se mencionó anteriormente, y los lectores perceptivos podrían haber notado que mientras el SCP (Protocolo de Consenso Estelar) puede utilizar el sistema de cuentas Web2, usarlo tal como está parece problemático. ¡Esto se debe a que todo el sistema es completamente transparente! Emplear directamente el modelo de interacción usuario-servidor de Web2 conlleva serios problemas de seguridad, lo que hace que el sistema sea completamente inseguro. Revisemos cómo funciona el modelo tradicional de servidor-usuario:
Inicio de sesión de usuario: Los usuarios ingresan su nombre de usuario y contraseña en el formulario de inicio de sesión. El sistema compara el hash de la contraseña procesada con el hash almacenado en la base de datos. Si los dos hashes coinciden, indica que el usuario ha proporcionado la contraseña correcta y el proceso de inicio de sesión continúa.
Autenticación de operaciones : Después de la verificación exitosa del inicio de sesión, el sistema crea una sesión para el usuario. Por lo general, la información de la sesión se almacena en el servidor, y el servidor envía un identificador (como una cookie o token) al navegador o la aplicación del usuario. Durante operaciones posteriores, los usuarios ya no necesitan volver a ingresar su nombre de usuario y contraseña repetidamente: el navegador o la aplicación guarda el identificador de la cookie y lo incluye en cada solicitud, indicando que tienen el permiso del servidor asociado con la cookie.
Registro de cuenta: En realidad, no hay un proceso de registro de cuenta ni un sistema de usuario y contraseña. Las cuentas (direcciones) no necesitan ser registradas; existen inherentemente y quien controle la clave privada controla la cuenta. La clave privada se genera de forma aleatoria localmente por la cartera y no implica un proceso en línea.
Inicio de sesión del usuario: Usar la cadena de bloques no requiere iniciar sesión. La mayoría de las dApps no tienen un proceso de inicio de sesión, sino que se conectan a una billetera en su lugar. Algunas dApps, después de conectarse a una billetera, pueden requerir que los usuarios firmen una verificación para asegurarse de que realmente poseen la clave privada, en lugar de simplemente haber enviado una dirección de billetera al frontend.
Autenticación de operaciones: Los usuarios envían directamente los datos firmados a los nodos. Después de la validación, los nodos difunden la transacción a toda la red blockchain. Una vez que la operación es confirmada por el consenso de la red blockchain, se finaliza.
La diferencia entre estos dos modos es causada por factores simétricos y asimétricos. En una arquitectura servidor-usuario, ambas partes poseen el mismo secreto. En una arquitectura blockchain-usuario, solo el usuario posee el secreto. Aunque la capa de ejecución de SCP (Plataforma de Contratos Inteligentes) puede no ser una cadena de bloques, todos los datos deben sincronizarse con una capa de DA (Disponibilidad de Datos) públicamente visible. Por lo tanto, los métodos de inicio de sesión y verificación de operaciones de SCP deben ser asimétricos. Sin embargo, para evitar acciones engorrosas como administrar claves privadas y usar billeteras, que podrían obstaculizar la adopción generalizada debido a una mala experiencia del usuario, hay una fuerte demanda de identificaciones tradicionales y contraseñas o inicios de sesión de autenticación de terceros de OAuth en aplicaciones construidas en SCP. Entonces, ¿cómo combinamos los dos? Debido a la naturaleza asimétrica de la criptografía y las pruebas de conocimiento cero, visualizo dos posibles soluciones:
Independientemente del método utilizado, ambos son más costosos en términos de desarrollo y operación que los métodos tradicionales, pero este es un precio necesario a pagar por la descentralización. Por supuesto, si el proyecto no considera la descentralización extrema necesaria, o tiene hitos diferentes en diferentes etapas de desarrollo, es posible proceder sin estos diseños, ya que la descentralización no es blanco y negro, sino que existe en un área gris.
Los problemas de transparencia mencionados anteriormente no solo afectan el paradigma de interacción del usuario, sino que también impactan en los datos del usuario. Los datos del usuario se exponen directamente. Si bien esto no es un problema en la cadena de bloques, es inaceptable en algunas aplicaciones. Por lo tanto, los desarrolladores también pueden construir sistemas de transacciones privadas.
Cómo cobra comisiones la capa de ejecución es otro punto de interés. Enviar datos a la capa de Disponibilidad de Datos (DA) también conlleva costos, incluida la operación de sus propios servidores. El propósito principal de cobrar comisiones de gas en blockchains tradicionales es evitar que los usuarios saturen la red con numerosas transacciones redundantes, siendo secundario el ordenamiento de transacciones basado en comisiones de gas. En Web2, no existen preocupaciones similares, solo conceptos básicos como inundaciones y ataques DDoS. La capa de ejecución puede personalizar diversas estrategias de cobro, como ser completamente gratuitas o parcialmente cargadas, o beneficiarse de otras actividades como el Valor Extraíble Máximo (MEV), que ya es muy maduro en secuenciadores y actividades de mercado.
La capa de ejecución no posee resistencia a la censura y teóricamente puede rechazar las transacciones de los usuarios indefinidamente. En los Rollups, la resistencia a la censura puede garantizarse mediante la función de agregación obligatoria del contrato L1, mientras que las cadenas laterales o cadenas públicas son redes blockchain distribuidas completas, lo que dificulta la censura. Actualmente, no hay una solución clara para abordar el problema de la resistencia a la censura, que es un problema en el paradigma SCP.
Esta capa consiste en nodos conectados de forma laxa que no forman activamente una red, por lo que no es estrictamente una capa de consenso, sino que simplemente confirma el estado actual de la capa de ejecución al mundo exterior (como los usuarios). Por ejemplo, si duda del estado operativo de estos nodos, puede descargar su cliente detector, que ejecuta el mismo código de programa que el coordinador. Sin embargo, similar a los Rollups, dado que los datos se envían en lotes, el estado devuelto por la capa de ejecución a los usuarios siempre está más actualizado que el de la capa DA. Esto implica el problema de la preconfirmación: la capa de ejecución proporciona a los usuarios preconfirmaciones, resultados de finalidad suave, ya que aún no se han enviado a la capa DA; mientras que la capa de consenso proporciona finalidad sólida. Es posible que a los usuarios no les preocupe especialmente esto, pero para aplicaciones como puentes entre cadenas, es necesario adherirse a la finalización sólida. Por ejemplo, el sistema de depósito y retiro de intercambios no confía en los datos transmitidos fuera de la cadena por los secuenciadores de Rollup; esperan a que estos datos estén en Ethereum antes de aceptarlos. Además de confirmar resultados, la capa de consenso también desempeña un papel crucial como redundancia en caso de desastres para la capa de ejecución. Si la capa de ejecución deja de funcionar permanentemente o actúa maliciosamente, teóricamente cualquier capa de consenso puede hacerse cargo del trabajo de la capa de ejecución y aceptar las solicitudes de los usuarios. Si ocurre una situación tan grave, la comunidad debería elegir nodos estables y confiables como servidores de la capa de ejecución.
Dado que SCP no es Rollup, no puede lograr retiros sin confianza como la capa de liquidación de retiros de Rollup, que se basa enteramente en la criptografía y el código de contrato inteligente sin intervención manual. El nivel de seguridad de los puentes cruzados de SCP es el mismo que el de los puentes cruzados de cadena lateral o de testigo de terceros, que dependen de gerentes autorizados de firma múltiple para liberar activos, conocido como el modo de testigo.
Hacer que el puente de testigos sea lo más descentralizado posible es un tema de investigación para muchos puentes entre cadenas. Debido a limitaciones de espacio, esto no se elaborará aquí. Una plataforma SCP bien diseñada en la práctica también debe tener socios de firma múltiple de puente descentralizado de buena reputación. Algunos podrían preguntarse por qué SCP no utiliza una cadena con contratos inteligentes como capa DA. Esto permitiría capas de liquidación sin confianza basadas en contratos. A largo plazo, superando algunas dificultades técnicas, si la capa DA se coloca en Ethereum u otras capas DA habilitadas para contrato y se pueden construir contratos de verificación correspondientes, SCP también puede lograr la misma seguridad de liquidación que Rollup, sin necesidad de firmas múltiples.
Ethereum no está específicamente diseñado para el almacenamiento de datos, y en comparación con las blockchains dedicadas únicamente al almacenamiento de datos, es bastante caro. Para el paradigma de SCP, un costo de almacenamiento suficientemente bajo o fijo es crucial. Solo así puede admitir el rendimiento del nivel Web2.
Desarrollar sistemas de prueba es extremadamente difícil porque, en SCP, uno puede simular no solo EVM (Ethereum Virtual Machine) sino también implementar cualquier lógica. Teniendo en cuenta el estado actual de proyectos como Optimism, donde sus pruebas de fraude aún no se han lanzado, y la complejidad de desarrollar zkEVM (máquina virtual Ethereum de conocimiento cero), uno puede imaginar la inmensa dificultad de implementar varios sistemas de prueba en Ethereum.
Por lo tanto, la solución Rollup solo es más viable en circunstancias específicas. Si planea implementar un sistema más amplio y abierto, alejándose del marco EVM para integrar más características de Web2, entonces el enfoque de Rollup de Ethereum no es adecuado. SCP no es solo un plan de expansión para cierta cadena de bloques pública, sino una arquitectura de plataforma informática Web3 más grande. Por lo tanto, claramente no necesita seguir el enfoque de Capa 2 de Ethereum.