MetaMask Snaps é o roteiro para tornar a MetaMask a carteira mais extensível do mundo. Como desenvolvedor, você pode trazer seus recursos e APIs para a MetaMask de formas totalmente novas. Os desenvolvedores Web3 são o núcleo desse crescimento, e esta série tem como objetivo destacar os novos MetaMask Snaps sendo criados hoje.
ZK Nullifier Snap
Repositório do Snap: https://github.com/piotr-roslaniec/ethbogota-2022
Por que você o criou?
Queremos viabilizar a próxima geração de aplicativos pseudônimos que exigem unicidade, como ZK airdrops, fóruns de mensagens ZK e votação ZK. Para isso, precisamos de uma integração estreita com a carteira, começando com um MetaMask Snap.
Você pode nos guiar pela implementação técnica?
Criamos um script de snap genérico que nos permite executar WASM arbitrário dentro do snap. Em seguida, adicionamos bindings WASM ao código de assinatura Rust existente e o conectamos à chamada do MetaMask Snaps para a chave privada. Por fim, geramos todos os sinais apropriados para que o usuário insira em um ZK-SNARK para verificar o determinismo da assinatura.
Para saber mais sobre como isso nos permite criar identificadores únicos e anônimos eficazes, ou nullifiers anônimos, confira nossa publicação completa no blog.
Quais são os próximos passos caso você implemente isso?
Queremos integrá-lo de ponta a ponta com as provas ZK necessárias, que atualmente estão sendo escritas em Circom e, em breve, em uma linguagem baseada em PLONK. Também esperamos que alguns aplicativos como heyanon e stealthdrop o integrem após o lançamento, e esperamos que mais pessoas o utilizem!
Também queremos escrever um ERC para padronizar o que descobrimos, para que carteiras como MetaMask e Ledger possam integrá-lo em suas bibliotecas principais.
Pode nos contar um pouco sobre você e sua equipe?
yush_g está explorando identidade ZK de próxima geração com o Personae Labs e ajudou a escrever o artigo original, enquanto Piotr é um engenheiro talentoso com paixão por novos primitivos de carteira e avanços de ponta em zero knowledge.
Quando você foi apresentado ao MetaMask Snaps pela primeira vez e como foi sua experiência?
Piotr conheceu o MetaMask Snaps inicialmente na Devcon de Osaka e trabalha com ele desde então. Aayush foi apresentado ao MetaMask Snaps nesta Devcon pelo próprio Piotr.
O que diferencia o MetaMask Snaps de outras carteiras?
WASM arbitrário dentro de uma carteira ainda é algo bastante incipiente, e estamos animados em poder experimentá-lo.
Como é para você e sua equipe desenvolver MetaMask Snaps com a MetaMask?
O desenvolvimento é bastante fluido e eficiente. Ainda existem algumas dificuldades com a implantação, já que os usuários precisam desativar sua MetaMask regular para conseguir usar o MetaMask Snaps.
O que o MetaMask Snaps significa para você?
O MetaMask Snaps é um novo primitivo de carteira interessante e é ótimo para prototipagem rápida de novas ideias criptográficas.
Que oportunidades você enxerga no MetaMask Snaps e nas possibilidades que ele abre para o espaço Web3?
Acreditamos que a capacidade de implementar sua própria criptografia é poderosa: por exemplo, nosso projeto, que implanta assinaturas deterministicamente verificáveis no Ethereum, vai possibilitar coisas como votar de forma única dentro de qualquer conjunto de anonimato que você possa imaginar, airdrops anônimos para contas desvinculadas ou threads onde você pode publicar repetidamente sob o mesmo nome anônimo.
Algum conselho que gostaria de compartilhar com desenvolvedores interessados em experimentar o MetaMask Snaps?
Projetamos nosso snap para executar WASM arbitrário para que pudéssemos simplesmente conectar nosso código Rust existente — recomendamos dar uma olhada em nosso código se você tiver interesse em fazer o mesmo!
Desenvolvendo com MetaMask Snaps
Para começar com o MetaMask Snaps:
Confira a documentação para desenvolvedores
Instale o MetaMask Flask
Confira um guia do MetaMask Snaps
Fique conectado conosco no Twitter, nas discussões do GitHub e no Discord
Fique de olho em nossa equipe no próximo hackathon perto de você! Bom BUIDL ⚒️
Aviso legal: Os MetaMask Snaps são geralmente desenvolvidos por terceiros que não a Consensys Software. O uso de MetaMask Snaps desenvolvidos por terceiros é feito a seu próprio critério e risco, com o entendimento de que você será o único responsável por qualquer perda ou dano resultante de tais atividades. A Consensys não oferece nenhuma garantia expressa ou implícita, seja verbal ou escrita, em relação a MetaMask Snaps desenvolvidos por terceiros, e se isenta de toda responsabilidade por MetaMask Snaps desenvolvidos por terceiros. O uso de softwares relacionados a blockchain envolve riscos, e você os assume integralmente ao utilizar o MetaMask Snaps.