A principal carteira cripto de autocustódia e portal para a Web3, desenvolvida pela Consensys.
Ler todos os artigosUm Snap do ETHBogota Hackathon

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 MetaMask Snaps inovadores que estão sendo criados hoje.
Repositório do Snap: https://github.com/s-a-malik/blackbelt
Por que você o criou?
Queríamos tornar as interações em blockchains mais seguras para os usuários finais. Especialmente para usuários novos e sem conhecimento técnico que têm medo de ser vítimas de golpes e exploits. Por isso, pensamos em uma forma de fornecer avaliação de riscos em tempo real para interações com contratos inteligentes.
Você pode nos explicar a implementação técnica?
A configuração técnica
O Blackbelt é composto por três elementos: nosso servidor, o snap da MetaMask e o front-end do nosso site. O servidor recupera dados e calcula as pontuações de risco dos contratos inteligentes. Tanto o snap da MetaMask quanto o nosso site chamam o servidor e fornecem o endereço específico do contrato na requisição https. A implementação completa do nosso projeto pode ser encontrada aqui.
O servidor
Nosso servidor consiste em um back-end Flask que retorna pontuações de segurança e metadados em formato json. Quando uma requisição GET é iniciada na rota /security_score, a função security_score() é chamada. Primeiro, todos os parâmetros fornecidos, como endereço do contrato, endereço do usuário, chain id e origem do chamador, são desempacotados e parcialmente analisados na função compute_security_score(contract_address, chain), que recupera dados on-chain e calcula pontuações de segurança para múltiplas variáveis (por exemplo, a idade do contrato). Para acelerar a recuperação de dados dentro do MetaMask Snaps, fornecemos resultados em cache quando disponíveis ao chamar o servidor via MetaMask Snaps (veja a variável is_snaps).
A função compute_security_score (no arquivo logic.py) calcula uma pontuação de risco heurística com base em dados on-chain das APIs da Coinbase Cloud, APIs do Etherscan e nosso próprio banco de dados curado pela comunidade de endereços maliciosos reportados. Alguns exemplos dos tipos de fatores usados para calcular a pontuação são mostrados no trecho abaixo. Por exemplo, verificamos se o contrato está declarado como verificado e auditado no Etherscan, e qual é a idade do contrato.
No futuro, planejamos integrar mais fontes de informação que possam ajudar a identificar contratos maliciosos (como ferramentas de verificação automatizada e bancos de dados de blacklist existentes), além de empregar cálculos mais sofisticados da pontuação de risco, por exemplo, utilizando métodos de machine learning.
O snap
Para o snap, utilizamos a API de insights de transações, que é acionada sempre que uma transação está ocorrendo. O snap consiste em quatro etapas. Primeiro, os detalhes principais da transação são recuperados da struct da transação. Segundo, os detalhes da transação são enviados ao nosso servidor e recuperamos a pontuação de segurança mais os metadados. Terceiro, verificamos o status da requisição e tratamos quaisquer erros. Quarto, retornamos a pontuação de segurança e os metadados como objeto json dentro do MetaMask Snaps.
O site
O site é escrito em React e é usado para testar rapidamente nosso recurso antes de adicioná-lo à MetaMask. Os usuários podem experimentar nosso recurso fornecendo um endereço de contrato e clicando em "Rate now". Se os usuários gostarem da nossa aplicação, podem adicioná-la à sua MetaMask clicando em "Add MetaMask Snap" no canto superior direito.
Quais são os próximos passos se você fosse implementar isso?
Os próximos passos seriam melhorar nosso backend e nossas capacidades analíticas para detectar contratos arriscados de forma mais confiável. Atualmente, nossa avaliação é baseada em heurísticas, como o número de DAU ou transações (quanto maior, melhor), mas gostaríamos de incluir técnicas mais avançadas, como machine learning, para calcular a pontuação de risco com maior precisão. Após melhorar as análises, focaríamos em acelerar todo o processo de avaliação de risco para tornar a experiência do usuário o mais fluida possível — isso poderia ser feito por meio de cache ou procedimentos mais rápidos de recuperação de dados.
Você pode nos contar um pouco sobre você e sua equipe?
Somos uma equipe composta por três doutorandos de Oxford e um graduado de Oxford. Somos afiliados à Oxford Blockchain Society e nos conhecemos durante o hackathon ETHBogota, onde formamos nossa equipe.
Lucas Schneider: Lucas é candidato a DPhil em Ciência da Computação na Universidade de Oxford, com foco em modelos computacionais e de machine learning para prever resultados de edição genética em sistemas CRISPR. Antes de iniciar seu DPhil, Lucas trabalhou como Analista no Barclays Investment Bank em Londres, no Grupo de Estruturação de Produtos Securitizados, onde participou de diversas transações de crédito estruturado e financiamentos de empréstimos inadimplentes e portfólios de imóveis comerciais. Ele possui MSc em Finanças pela London School of Economics and Political Science e BA em Economia com foco em métodos quantitativos pela Friedrich-Alexander University Erlangen-Nuremberg.
Shreshth Malik: Shreshth é candidato a DPhil em Machine Learning na Universidade de Oxford, com foco em tornar os métodos de deep learning mais robustos e confiáveis para viabilizar aplicações reais mais seguras. Ele também trabalhou em diversas startups de IA e em um fundo de venture capital em estágio seed com sede em Londres. Possui mestrado em Machine Learning (UCL) e em Ciências Naturais Físicas (Universidade de Cambridge).
Paweł Narkiewicz: Paweł é um empreendedor serial, cientista e entusiasta de tecnologia. Aos 18 anos, publicou seu primeiro artigo de pesquisa em teoria dos números junto com alguns dos mais brilhantes matemáticos de Stanford e Harvard. Um ano depois, fundou uma startup de edtech de sucesso para acelerar o desenvolvimento de habilidades tecnológicas na Polônia. O negócio tornou-se autossustentável após 3 meses. Simultaneamente, Paweł ingressou em uma startup de medtech como acionista operacional e engenheiro de ML para liderar o desenvolvimento de um dos recursos centrais da tecnologia da startup. Ele cooperou diretamente com os melhores pesquisadores de Oxford, Stanford e Harvard. A startup recebeu financiamento de US$ 770 mil em rodada pré-seed e £ 3,2 milhões em rodada seed. Ele possui bacharelado em Matemática e Ciência da Computação por Oxford.
Jessica Pointing: Jessica está cursando seu PhD em Física na Universidade de Oxford, com especialização em computação quântica, e anteriormente foi estudante de doutorado em Ciência da Computação na Universidade de Stanford como Knight-Hennessy Scholar. Ela obteve seu bacharelado em Física e Ciência da Computação na Universidade de Harvard com louvor como John Harvard Scholar, após ter sido estudante de graduação no MIT. Jessica foi selecionada para o Forbes 30 Under 30 em Ciência e escolhida como council fellow do Conselho Global do Futuro do Fórum Econômico Mundial sobre Aplicações Quânticas. Foi selecionada como palestrante TEDx e realizou palestras de abertura em conferências de tecnologia internacionalmente, incluindo a conferência Think da IBM e a Oracle Code One. Ela estagiou como pesquisadora quântica na KBR no NASA Ames Research Center, engenheira de software no Google, consultora de gestão na McKinsey and Company, banqueira de investimentos no Goldman Sachs e estrategista no Morgan Stanley. Jessica fundou a Stanford Quantum Computing Association e a Harvard College Quantum Computing Association. Ela venceu o IBM Q Quantum Computing Award ao ganhar, com uma equipe, o primeiro hackathon de computação quântica da IBM. Também foi premiada no hackathon de computação quântica do Creative Destruction Lab. Jessica participou do ETHAmsterdam, um hackathon Ethereum, e sua equipe conquistou o prêmio de grande finalista, além de prêmios de patrocinadores. Ela recebeu o McKinsey Women's Impact Award e foi nomeada Google Anita Borg Scholar. Também conquistou bolsas da Microsoft, Palantir, Adobe Research, Morgan Stanley, Goldman Sachs, Neo, Society of Women Engineers Scholar e Society of Geophysicists.
Quando você foi apresentado ao MetaMask Snaps pela primeira vez e como foi sua experiência?
Fomos apresentados ao MetaMask Snaps no ETHBogota. Foi o recurso perfeito para dar vida ao Blackbelt da forma mais amigável possível para o usuário. No geral, a experiência com o MetaMask Snaps foi agradável, pois o MetaMask Snaps é bastante fácil de usar. Dada a novidade do MetaMask Snaps, ainda existem alguns pequenos problemas que ocasionalmente nos causaram dor de cabeça durante o hackathon, mas nada realmente grave.
O que diferencia o MetaMask Snaps de outras carteiras?
O MetaMask Snaps é uma ótima forma de tornar o desenvolvimento de extensões de carteira open source e de viabilizar soluções diversas e individuais para usuários finais com diferentes necessidades. Até onde sabemos, a MetaMask é a única provedora de carteira que suporta plugins personalizados até o momento.
Conte-nos como é desenvolver Snaps com a MetaMask para você e sua equipe?
Desenvolver com o MetaMask Snaps foi bastante fácil. Começamos com um dos projetos de exemplo, que nos ajudou a entender melhor a mecânica do MetaMask Snaps, e então construímos sobre o código de exemplo. Desenvolver no MetaMask Snaps foi divertido, mas ocasionalmente alguns bugs nos desafiaram bastante, especialmente dado o prazo apertado durante o hackathon.
O que o MetaMask Snaps significa para você?
O MetaMask Snaps é o recurso que sempre desejamos ter em nossas carteiras. Para um desenvolvedor, ele abre uma ampla variedade de oportunidades de inovação.
Que oportunidades você enxerga no MetaMask Snaps e nas possibilidades que ele desbloqueia para o espaço Web3?
O MetaMask Snaps permitirá maior personalização em todo o ecossistema Web3 e, assim, também melhorará a experiência geral do usuário, já que os usuários podem decidir quais recursos desejam.
Algum conselho que você gostaria de compartilhar com desenvolvedores interessados em experimentar o MetaMask Snaps?
Simplesmente explore o MetaMask Snaps. A forma mais fácil de começar é com um dos projetos de exemplo para entender como o MetaMask Snaps funciona e, em seguida, construir sobre ele. Se surgirem problemas desconhecidos, você sempre pode publicar o problema no git do MetaMask Snaps para obter ajuda dos desenvolvedores do 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 BUIDLing ⚒️
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.
Traduzido por IA. Pode conter erros. Por favor, verifique sempre as informações.