Introdução:
Este artigo fornece uma introdução proativa a um paradigma de design de infraestrutura Web3 um tanto não convencional: o Paradigma de Consenso Baseado em Armazenamento (SCP). Esse modelo de design diverge significativamente das soluções de blockchain modular mainstream como Ethereum Rollups na teoria. No entanto, ele demonstra alta viabilidade em termos de simplicidade na implementação e integração com plataformas Web2. SCP não pretende se limitar a um caminho estreito de realização como Rollups. Em vez disso, ele visa adotar uma estrutura mais ampla e aberta para mesclar plataformas Web2 com infraestrutura Web3. Essa abordagem pode ser vista como altamente imaginativa e inovadora.

Vamos imaginar uma solução de dimensionamento de blockchain público com as seguintes características:
Tem velocidades comparáveis às aplicações ou exchanges tradicionais da Web2, superando em muito qualquer blockchain público, Layer 2 (L2), rollups, sidechains, etc.
Não há taxas de gás, e o custo de uso é quase zero.
Alta segurança financeira, superando instalações centralizadas como exchanges, inferior a Rollups mas maior ou igual a sidechains.
Uma experiência de usuário idêntica à Web2, sem exigir qualquer conhecimento de chaves públicas e privadas de blockchain, carteiras, infraestrutura, etc.
Uma solução assim é realmente muito empolgante: por um lado, ela essencialmente alcançou o ápice em termos de escalabilidade; por outro lado, ela lança uma base sólida para a adoção em massa do Web3, essencialmente preenchendo a lacuna entre as experiências dos usuários do Web2 e Web3. No entanto, parece que temos poucas soluções abrangentes como esta, já que as discussões e práticas mainstream são realmente muito poucas.
Usamos o conhecido tópico de escalabilidade como introdução acima, mas o SCP não se limita aos casos de uso de escalabilidade. Sua inspiração de design realmente vem das soluções de escalabilidade e discussões da comunidade de blockchains públicos como Bitcoin e Ethereum. Sua visão e aplicação prática é construir uma nova geração de infraestrutura sem confiança, até mesmo plataformas computacionais não baseadas em estruturas de blockchain.
Camada de Disponibilidade de Dados: Gerida por uma blockchain pública amplamente reconhecida e bem testada, ou por instalações de armazenamento que funcionam como a camada de disponibilidade de dados, como Ethereum, Arweave, Celestia, etc.
Camada de Execução: Um servidor, usado para receber transações de usuários e executá-las, enquanto também envia em lote os dados de transações assinadas para a camada DA, semelhante aos sequenciadores em Rollups. No entanto, a camada de execução não precisa necessariamente de uma estrutura de cadeia estilo blockchain; pode ser inteiramente um sistema de banco de dados + computação Web2, mas todo o sistema de computação deve ser de código aberto, com transparência.
Camada de Consenso: Composta por um grupo de nós que puxam os dados submetidos à camada DA pela camada de execução e usam o mesmo algoritmo que a camada de execução para processar esses dados, confirmando se a saída da camada de execução está correta e pode servir como uma redundância de recuperação de desastres para a camada de execução. Os usuários também podem ler os dados retornados pelos nós da camada de consenso para garantir que não haja comportamento fraudulento na camada de execução.
Camada de Liquidação: Composta por um grupo de nós e contratos ou endereços em outras cadeias, responsável por lidar com depósitos de usuários no SCP, ou saques do SCP, algo semelhante à operação de pontes entre cadeias. Os nós da camada de liquidação controlam a função de saque do endereço de depósito por meio de contratos multisig ou endereços baseados em TSS. Para depósitos, os usuários transferem ativos para um endereço designado em sua cadeia; para saques, eles enviam uma solicitação, e depois que os nós da camada de liquidação leem os dados, eles liberam os ativos por meio de multisig ou TSS. O nível de segurança da camada de liquidação depende do mecanismo entre cadeias usado.


Podemos gritar este slogan: 'A próxima geração de infraestrutura sem confiança não precisa necessariamente depender de protocolos de consenso, mas deve ser um sistema de código aberto com uma rede de nós Peer-to-Peer (P2P).' A intenção original de inventar e usar blockchain era alcançar a descentralização, consistência de livro-razão, imutabilidade e rastreabilidade, conforme explicitamente declarado no whitepaper do Bitcoin. No entanto, pós-Ethereum, quer se trate de soluções de expansão da antiga cadeia pública, Rollups ou blockchains modulares, houve uma mentalidade fixa: o que estamos criando deve ser ou uma blockchain (composta por protocolos de consenso de nós) ou algo como Rollup (que parece ser uma cadeia com estruturas de dados de blockchain, mas sem trocas diretas de mensagens de consenso entre nós). Agora, sob o framework baseado no SCP (Protocolo de Consenso Stellar), é evidente que mesmo sem ser uma blockchain, é possível alcançar descentralização, consistência de livro-razão, imutabilidade e rastreabilidade, desde que haja mais detalhes de implementação explícitos.
Exchanges. Usando SCP, pode-se construir uma troca pública e transparente com altas taxas de Transações Por Segundo (TPS), combinando as características rápidas e sem custos de uma Centralized Exchange (CEX) e a descentralização de uma Decentralized Exchange (DEX). Aqui, a distinção entre CEX e DEX se torna turva.
Redes de pagamento. Semelhante ao Alipay, PayPal, etc.
Máquinas Virtuais/Blockchains Suportando Programas/Contratos Carregáveis. Qualquer desenvolvedor pode implantar qualquer aplicativo nele, compartilhando todos os dados do usuário com outros programas e operando de acordo com as instruções do usuário.
O padrão de design do SCP, que suporta qualquer ambiente de execução, tem suas vantagens únicas: não há necessidade de depender de componentes com bagagem histórica, especialmente conceitos como a “abstração de conta” única para a comunidade Ethereum. Para o SCP, o conceito de abstração de conta é inherentemente desnecessário. Na arquitetura do SCP, não há conceito de abstração de conta — você pode adotar livremente contas padrão Web2 e contas blockchain, etc. Sob essa perspectiva, muitos casos de uso maduros do Web2 não precisam ser repensados e reconstruídos para serem diretamente aplicáveis ao SCP. Este aspecto pode ser onde o SCP tem uma vantagem sobre os Rollups.

Registro de Conta: Os usuários inserem um nome de usuário e senha na página de registro do aplicativo. Para proteger a senha do usuário, o servidor a processa através de uma função de hash ao recebê-la. Para aumentar a complexidade do hash e se defender contra ataques de tabelas arco-íris, uma sequência gerada aleatoriamente (conhecida como "salt") geralmente é anexada a cada senha do usuário antes do hash. O nome de usuário, o salt e o hash são armazenados em texto simples no banco de dados do provedor de serviços e não são tornados públicos. No entanto, mesmo assim, o uso de salt e o processamento seguro são necessários para prevenir ameaças internas e ataques.
Login do usuário: Os usuários inserem seu nome de usuário e senha no formulário de login. O sistema compara o hash da senha processada com o hash armazenado no banco de dados. Se os dois hashes corresponderem, isso indica que o usuário forneceu a senha correta e o processo de login continua.
Autenticação da Operação : Após a verificação bem-sucedida do login, o sistema cria uma sessão para o usuário. Tipicamente, as informações da sessão são armazenadas no servidor, e o servidor envia um identificador (como um cookie ou token) para o navegador ou aplicativo do usuário. Durante operações subsequentes, os usuários não precisam mais inserir repetidamente seu nome de usuário e senha: o navegador ou aplicativo salva o identificador do cookie e o inclui em cada solicitação, indicando que possuem a permissão do servidor associada ao cookie.
Login do usuário: Usar o blockchain não requer login. A maioria dos dApps não possui um processo de login, mas se conectam a uma carteira. Alguns dApps, após se conectarem a uma carteira, podem exigir que os usuários assinem uma verificação para garantir que realmente possuem a chave privada, em vez de apenas terem enviado um endereço de carteira para o frontend.
Autenticação da Operação: Os usuários enviam diretamente os dados assinados para os nós. Após validação, os nós transmitem a transação para toda a rede blockchain. Uma vez que a operação é confirmada pelo consenso da rede blockchain, ela é finalizada.
A diferença entre esses dois modos é causada por fatores simétricos e assimétricos. Em uma arquitetura de servidor-usuário, ambas as partes possuem o mesmo segredo. Em uma arquitetura de blockchain-usuário, apenas o usuário possui o segredo. Embora a camada de execução do SCP (Plataforma de Contrato Inteligente) possa não ser uma blockchain, todos os dados precisam ser sincronizados com uma camada de DA (Disponibilidade de Dados) publicamente visível. Portanto, os métodos de verificação de login e operação do SCP devem ser assimétricos. No entanto, para evitar ações complicadas como gerenciar chaves privadas e usar carteiras, que podem dificultar a adoção generalizada devido a uma experiência ruim do usuário, há uma forte demanda por logins de autenticação de terceiros tradicionais ID-senha ou OAuth em aplicativos construídos no SCP. Então, como combinamos os dois? Devido à natureza assimétrica da criptografia e das provas de conhecimento zero, vislumbro duas soluções possíveis:

Independentemente do método utilizado, ambos são mais caros em termos de desenvolvimento e operação do que os métodos tradicionais, mas este é um preço necessário a pagar pela descentralização. Claro, se o projeto não considerar a descentralização extrema necessária, ou tiver marcos diferentes em diferentes estágios de desenvolvimento, é possível prosseguir sem esses designs, pois a descentralização não é preto e branco, mas existe em uma área cinzenta.
Tornar a ponte de testemunha tão descentralizada quanto possível é um tópico de pesquisa para muitas pontes entre cadeias. Devido a limitações de espaço, isso não será elaborado aqui. Uma plataforma SCP bem projetada na prática também deve ter parceiros de assinatura múltipla descentralizados e respeitáveis. Alguns podem perguntar por que o SCP não usa uma cadeia com contratos inteligentes como a camada DA? Isso permitiria camadas de liquidação sem confiança com base em contratos. A longo prazo, superando algumas dificuldades técnicas, se a camada DA for colocada no Ethereum ou em outras camadas DA habilitadas para contratos e os contratos de verificação correspondentes puderem ser construídos, o SCP também pode alcançar a mesma segurança de liquidação que o Rollup, sem a necessidade de múltiplas assinaturas.### Na prática, essa pode não ser a melhor escolha:- O Ethereum não é especificamente projetado para armazenamento de dados e, comparado a blockchains dedicados exclusivamente ao armazenamento de dados, é bastante caro. Para o paradigma SCP, um custo de armazenamento suficientemente baixo ou fixo é crucial. Somente assim ele pode suportar a taxa de transferência do nível Web2.
Portanto, a solução Rollup é apenas mais viável na prática em circunstâncias específicas. Se você planeja implementar um sistema mais amplo e aberto, afastando-se do framework EVM para integrar mais recursos da Web2, então a abordagem Rollup do Ethereum não é adequada. O SCP não é apenas um plano de expansão para uma determinada blockchain pública, mas uma arquitetura de plataforma de computação Web3 mais ampla. Portanto, claramente não precisa seguir a abordagem da Camada 2 do Ethereum.






