
Se você não estiver familiarizado com rollups, deve primeiro aprender sobre os conceitos básicos de rollups e, em seguida, ler sobre ZK rollups e Optimistic rollups antes de aprender sobre o zkSync
Introdução
O zkSync é um ZK rollup, um protocolo sem confiança que usa provas de validade criptográfica para fornecer transações escaláveis e de baixo custo na Ethereum. No zkSync, os cálculos são realizados fora da cadeia principal e a maioria dos dados é armazenada fora da cadeia principal também. Como todas as transações são comprovadas na cadeia principal da Ethereum, os usuários desfrutam do mesmo nível de segurança que na Ethereum.
O zkSync Era foi criado para parecer e funcionar como a Ethereum, mas com taxas mais baixas. Assim como na Ethereum, os contratos inteligentes são escritos em Solidity / Vyper e podem ser chamados usando os mesmos clientes que as outras cadeias compatíveis com EVM.
Você não precisa registrar uma chave privada separada antes de usar; o zkSync suporta carteiras Ethereum existentes imediatamente. Neste momento, o zkSync é executado e operado exclusivamente pelos servidores da equipe do zkSync e, portanto, é centralizado. No entanto, isso será transitado para um sistema descentralizado em breve.
Visão geral do zkSync
O fluxo geral de rollup é o seguinte:
- Os usuários podem receber, depositar e transferir ativos entre si.
- Os usuários podem retirar ativos sob seu controle para um endereço L1.
A operação de rollup requer a assistência de um operador, que agrupa transações, calcula uma prova de validade criptográfica da transição correta de estado e afeta a transição de estado interagindo com o contrato rollup. Para entender o design, precisamos examinar como as transações de rollup do zkSync funcionam.
As operações do zkSync são divididas em transações de rollup (iniciadas dentro do rollup por uma conta de rollup) e operações prioritárias (iniciadas na mainchain por uma conta Ethereum).
Os ciclos de vida da operação de rollup do zkSync são os seguintes:
- Um usuário cria uma transação ou uma operação prioritária.
- Após processar esta solicitação, o operador cria uma operação de rollup e a adiciona ao bloco.
- Assim que o bloco estiver completo, o operador o envia para o contrato inteligente do zkSync como um compromisso de bloco. Parte da lógica de algumas operações de rollup é verificada pelo contrato inteligente.
- A prova para o bloco é enviada para o contrato inteligente do zkSync como verificação de bloco. Se a verificação for bem-sucedida, o novo estado será considerado final.
Além disso, no zkSync, cada bloco L2 progride pelos seguintes quatro estágios até que seja final.
- Pendente: A transação foi recebida pelo operador, mas ainda não foi processada.
- Processada: A transação é processada pelo operador e é confirmada como incluída no próximo bloco.
- Cometido (Commited): Isso indica que os dados da transação deste bloco foram postados no Ethereum. Isso não prova que foi executado de maneira válida, mas garante a disponibilidade dos dados do bloco.
- Finalizada: Isso indica que a prova de validade SNARK para a transação foi enviada e verificada pelo contrato inteligente. Após esta etapa, a transação é considerada final.
O tempo típico para que uma transação passe de Processada para Finalizada é de algumas horas no estágio atual.
Observe que, para conveniência do desenvolvedor, geralmente tratamos os estados Processada e Cometido (commited) como um único estágio chamado Comprometida, pois não há diferença do ponto de vista do UX/DexEx.
O Estado do zkSync
A versão atual do zkSync Era atende às necessidades da maioria das aplicações na Ethereum, e com mais recursos planejados para serem lançados em breve, o zkSync Era fornecerá aos desenvolvedores um espaço de design para experimentar aplicativos que atualmente não são possíveis na Ethereum. Com este lançamento, estamos oferecendo suporte aos seguintes recursos:
- Suporte nativo a assinaturas ECDSA: Ao contrário da primeira versão do zkSync e da maioria dos ZK rollups, nenhuma operação especial é necessária para registrar a chave privada do usuário. Qualquer conta pode ser gerenciada na L2 com a mesma chave privada usada para a L1.
- Suporte Solidity 0.8.x: Implante sua base de código existente com poucas ou nenhuma alteração necessária.
- Com pequenas exceções, nossa API Web3 é totalmente compatível com Ethereum. Isso permite integração perfeita com indexadores, exploradores entre outros existentes.
- Suporte a primitivas criptográficas Ethereum: O zkSync oferece suporte nativo a keccak256, sha256 e ecrecover por meio de pré-compilados.
- Plugin Hardhat: permite fácil teste e desenvolvimento de contratos inteligentes no zkSync.
- Mensagens de contrato inteligente L1 → L2: Permite que os desenvolvedores passem dados da Ethereum para contratos inteligentes no zkSync, fornecendo as informações necessárias para executar vários contratos inteligentes.
Alguns recursos não estão incluídos em nossa rede de testes atual que pretendemos disponibilizar em futuras atualizações, isso inclui:
- zkPorter: um dos recursos mais importantes e grandes, o zkPorter permitirá aos usuários escolher entre uma conta zkRollup apresentando a maior segurança e uma redução de taxa de 20x em comparação com a Ethereum, ou uma conta zkPorter apresentando taxas de transação estáveis de apenas alguns centavos em um modelo de segurança diferente (muito mais alto do que o de uma sidechain). Ambas as contas zkPorter e zkRollup poderão interagir perfeitamente juntas sob o capô (hood) .
Comparação com outras soluções
O zkSync se destaca significativamente em segurança e usabilidade em comparação com outras soluções de escalonamento de L2 existentes.
Graças à combinação de criptografia de ponta e disponibilidade de dados on-chain, os rollups ZK (a rede central do zkSync) são a única solução de escalonamento de L2 que não requer nenhuma atividade operacional para manter os fundos seguros. Por exemplo, os usuários podem ficar offline e ainda ser capazes de retirar seus ativos com segurança quando voltarem, mesmo que os validadores do ZK rollup não estejam mais disponíveis.
E...
Até meu próximo post.
Que será sobre... zkSync.
Essa é uma forte candidata a um futuro Airdrop.
;D