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.
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 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.
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.

Registro de cuentas: Los usuarios introducen un nombre de usuario y una contraseña en la página de registro de la aplicación. Para proteger la contraseña del usuario, el servidor la procesa a través de una función hash al recibirla. Para aumentar la complejidad del hash y defenderse contra ataques de tablas arcoíris, una cadena generada aleatoriamente (conocida como 'salt') suele añadirse a la contraseña de cada usuario antes de hacer el hash. El nombre de usuario, el salt y el hash se almacenan en texto plano en la base de datos del proveedor de servicios y no se hacen públicos. Sin embargo, aun así, el salting y el procesamiento seguro son necesarios para prevenir amenazas internas y ataques.
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.
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.
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.### En la práctica, esto puede que no sea la mejor elección:- 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.
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.






