Enfrentando Desafios no Blockchain Através do Protocolo Synchro
O protocolo Synchro busca melhorar a eficiência e a segurança da blockchain com papéis inovadores.
― 6 min ler
Índice
A tecnologia de blockchain ganhou popularidade por seu potencial em criar sistemas descentralizados. Mas, blockchains tradicionais têm dificuldade em lidar com a mesma quantidade de transações que plataformas populares como Twitter ou Facebook. Esses serviços de rede social conseguem processar centenas de milhares de transações por segundo, enquanto blockchains como o Ethereum gerenciam apenas uma pequena fração disso.
Pra melhorar a velocidade e eficiência das transações, propuseram um método chamado state sharding. Esse método divide a blockchain em seções menores, permitindo que diferentes partes processem transações ao mesmo tempo. Embora essa abordagem pareça promissora, ainda existem desafios, especialmente quando as transações atravessam seções diferentes, conhecidas como transações cross-shard.
Desafios com Transações Cross-Shard
No state sharding, nem todas as transações ficam restritas a um único shard. Quando uma transação cross-shard acontece, pode gerar inconsistências no estado da blockchain. Um sistema de commit em duas fases (2PC) foi usado pra processar essas transações. Mas esse método pode criar problemas. Se uma parte de uma transação é aprovada, mas a outra não, isso gera confusão sobre o estado da blockchain.
Quando surgem inconsistências, uma solução é retroceder a blockchain para um estado anterior pra desfazer os erros. Isso pode criar vulnerabilidades que atacantes podem explorar, causando interrupções na geração de novos blocos.
O Ataque de Negação de Serviço
Um tipo específico de ataque pode interferir continuamente na criação de novos blocos explorando rollbacks. Esse ataque acontece quando alguém realiza repetidamente transações cross-shard que geram inconsistências. Cada vez que isso acontece, pode resultar em um rollback, dificultando a geração rápida de novos blocos. No final, isso pode parar totalmente as transações, afetando todos os usuários.
Proposta de um Novo Protocolo
Pra resolver esses problemas, foi proposto um novo protocolo de geração de blocos chamado Synchro. O principal objetivo do Synchro é garantir que todas as mudanças das transações cross-shard sejam registradas no mesmo bloco. Isso evitaria inconsistências e eliminaria a necessidade de rollbacks, tornando o sistema mais robusto contra ataques.
Principais Recursos do Synchro
Validador Global: O Synchro introduz um novo papel chamado validador global. Esse cara não pertence a um shard específico e não mantém seu próprio estado. Em vez disso, o validador global verifica todos os pedaços criados por diferentes produtores pra garantir que sejam válidos e que todas as mudanças necessárias de estado estejam incluídas no mesmo bloco.
Provas de Conhecimento Zero: Pra ajudar o validador global a verificar as mudanças sem precisar armazenar todos os estados, são utilizadas provas de conhecimento zero. Isso significa que os produtores podem provar que seus pedaços são válidos sem que o validador global precise saber todos os detalhes sobre o estado.
Papel de Coordenador: Outra nova função é a do coordenador, que trabalha pra limitar o número de combinações de pedaços. O coordenador recebe transações dos usuários e gera blocos, garantindo que todos os recibos necessários sejam criados e armazenados corretamente.
Como Funciona o Synchro
A operação do Synchro pode ser dividida em várias etapas:
Envio de Transações: Os usuários enviam suas transações pra todos os coordenadores disponíveis no sistema.
Criação de Blocos: Cada coordenador coleta transações e cria blocos de forma independente. Pra ajudar o validador global, os coordenadores também incluem um hash do bloco em seus pedaços.
Processo de Verificação: Os produtores então verificam os pedaços recebidos dos coordenadores. Se forem válidos, eles criam provas de conhecimento zero que confirmam a validade antes de enviar essa informação pro validador global.
Validação Final: O validador global recebe todas essas informações e pode agora combinar os pedaços de forma precisa, garantindo que todas as transações sejam incluídas e verificadas em um único bloco.
Abordando Problemas Potenciais
Embora a introdução de papéis adicionais possa complicar um sistema, o Synchro tem precauções pra evitar problemas:
Prevenindo Ações Maliciosas: Cada papel tem incentivos pra agir de maneira honesta, já que receberão tokens pelas suas contribuições. Esse sistema incentiva todos a seguir o protocolo em vez de tentar trapacear.
Múltiplos Coordenadores: Se um coordenador tentar ignorar certas transações, outros coordenadores ainda podem gravar as transações. Essa redundância garante que as transações dos usuários não sejam bloqueadas pelas ações de uma única entidade.
Checagens e Equilíbrios: O papel do validador global garante que todas as mudanças sejam válidas, prevenindo problemas como tokens perdidos ou pagamentos duplicados por conta de blocos defeituosos.
Escalabilidade e Desenvolvimentos Futuros
O Synchro tem potencial pra escalar de forma eficaz, assim como os métodos de state sharding existentes. Ao simplificar o processo através dos papéis de produtores, coordenadores e do validador global, o sistema pode lidar com mais transações do que os métodos tradicionais.
Mas, pra alcançar as velocidades de transação vistas em plataformas como Twitter, refinamentos adicionais são necessários. Inovações em técnicas de provas de conhecimento zero podem ajudar nesse sentido, permitindo que o sistema mantenha alta taxa de transferência enquanto garante segurança e consistência.
Conclusão
Resumindo, o mundo da tecnologia de blockchain enfrenta desafios significativos, especialmente em relação à capacidade de transações e consistência de estado. O protocolo Synchro proposto visa abordar essas questões ao introduzir novos papéis e técnicas que podem resolver as fraquezas presentes nos sistemas tradicionais de state sharding.
Ao focar na verificação colaborativa e incorporar recursos como provas de conhecimento zero, o Synchro representa um passo promissor em direção à criação de um ambiente de blockchain mais eficiente e seguro. À medida que a tecnologia avança e novos desenvolvimentos são feitos, essas soluções podem abrir caminho pra adoção generalizada de sistemas descentralizados que rivalizem com as plataformas centralizadas atuais.
Título: Synchro: Block-generation Protocol to Synchronously Process Cross-shard Transactions in State Sharding
Resumo: Traditional blockchains cannot achieve the same transaction throughput as Web2, so their use cases are limited. Therefore, state sharding has been proposed to improve transaction throughput by dividing the blockchain network and managing states and transactions in parallel. However, Nightshade in the NEAR Protocol, a type of state sharding, provides a rollback protocol to cancel the generation of blocks containing inconsistent transaction results because processing cross-shard transactions (CSTXs) in a 2-phase commit may cause state inconsistency. We present a new attack that interferes with the generation of new blocks by repeatedly executing CSTXs that certainly causes state inconsistency, causing continuous rollback. We also propose a block-generation protocol called Synchro to incorporate all the state changes of each CSTX into the same block by coordinating the block prior to approving transactions in each shard. Synchro eliminates the occurrence of the state inconsistency caused by the CSTXs and the necessity of the rollback protocol. We use zero-knowledge proof to make Synchro scalable in the global validation phase. Although the actual overhead of the zero-knowledge proof has not yet been evaluated, we show that Synchro could achieve the same transaction throughput as Nightshade theoretically, depending on the future innovations in zero-knowledge proof techniques.
Autores: Takaki Asanuma, Takeshi Miyamae, Yuji Yamaoka
Última atualização: 2023-09-03 00:00:00
Idioma: English
Fonte URL: https://arxiv.org/abs/2309.01332
Fonte PDF: https://arxiv.org/pdf/2309.01332
Licença: https://creativecommons.org/licenses/by-sa/4.0/
Alterações: Este resumo foi elaborado com a assistência da AI e pode conter imprecisões. Para obter informações exactas, consulte os documentos originais ligados aqui.
Obrigado ao arxiv pela utilização da sua interoperabilidade de acesso aberto.