Pular para o conteúdo

Snaps no MetaMask Stable e os Próximos Passos

Saiba mais sobre a história do Snaps, o que isso significa para nós na MetaMask e o próximo passo em direção a um futuro colaborativo.

7 min de leitura
Snaps no MetaMask Stable e os Próximos Passos

Hoje lançamos a primeira versão do MetaMask Snaps na distribuição pública do MetaMask. Este é o resultado de anos de trabalho árduo e pesquisa original de uma equipe incrível, e estou animado para contar o que é, como surgiu e para onde está indo.

Acredito que a tese original do Snaps continua sendo precisa. Snaps é uma boa ideia pelo mesmo motivo que o Ethereum é uma boa ideia, pelo mesmo motivo que a computação é uma boa ideia: Ferramentas de pensamento de uso geral são incríveis.

Todo esse tempo estivemos tentando construir uma interface para o Ethereum, um computador turing-completo, mas nossa interface estava sendo desenvolvida por uma única equipe! É óbvio que a carteira ideal para uma máquina de possibilidades ilimitadas como o Ethereum precisaria ser tão flexível quanto ela, e hoje marca um passo importante em direção a tornar isso realidade.

MetaMask Snaps é um novo sistema na carteira que permite ao usuário optar por melhorias adicionais em sua carteira em tempo de execução. Estamos lançando com um conjunto de APIs e parceiros que as utilizam, permitindo que nossa carteira passe a suportar novas blockchains, novos provedores de segurança de transações e uma variedade de sistemas de notificação (incluindo um Snap de chat!). Acreditamos que esses recursos oferecerão muitas novas possibilidades em termos de escalabilidade e segurança, mas isso é realmente apenas o começo.

A História do Snaps: Como Chegamos Aqui?

A parte mais importante da história do Snaps para mim é que agora temos um sistema no coração de nossa carteira que nos permite dar um passo atrás e, com humildade, convidar a comunidade a apresentar suas próprias soluções para os problemas mais difíceis. Tenho grandes ideias e opiniões sobre como o futuro da segurança de transações poderia ser, mas isso não é motivo para que seja a única ideia sendo validada. Estamos ajudando a inaugurar um novo paradigma de computação distribuída, e há muitas questões que precisam de soluções criativas. Por isso, ainda acredito que reduzir a barreira e o custo para experimentar coisas novas pode ser um importante acelerador para encontrar boas respostas para esses problemas difíceis. Não se trata de acelerar a tecnologia por si mesma, mas de acelerar o processo de encontrar melhorias nas formas como fazemos as coisas.

Ao longo desse processo, refleti que, a longo prazo, espero que mais softwares sejam abertos e facilmente estendidos e interconectados. Um sistema de extensibilidade seguro deveria ser um problema completamente resolvido e, francamente, acho que deveria ser o padrão para como o software é construído e escrito — e espero que seja assim no longo prazo. Como software com extensibilidade segura ainda não é uma commodity barata, tenho muito orgulho de nossa equipe por ajudar a abrir um caminho em direção a um futuro mais colaborativo para a computação em geral.

Nossa jornada até o Snaps nos levou por alguns cantos fascinantes da história da computação e nos permitiu fazer amigos maravilhosos. Não há como superestimar o valor de nossa parceria com a Agoric nesse empreendimento. Eles projetaram uma API de confinamento JavaScript, a propuseram ao comitê de padrões JS TC-39, implementaram um shim funcional dessa API que pode ser usado hoje, e colaboraram conosco no refinamento desse sistema, do LavaMoat e de nossa abordagem à computação segura em geral. Nosso sistema Snaps utiliza o shim Agoric Compartment, adicionalmente confinado dentro de um iframe. Você pode assistir à minha conversa com Mark Miller, Cientista-Chefe da Agoric, aqui. Você pode ler nossa auditoria de equipe roxa do shim Compartment aqui.

Embarcamos nessa jornada em um momento particularmente desafiador para uma WebExtension: o próprio Google propôs uma grande reformulação na forma como extensões como o MetaMask poderiam funcionar, e por um momento isso pairou sobre todo o projeto como um possível golpe fatal (ou pelo menos uma mudança que nos forçaria a sair da plataforma de extensões). Felizmente, graças em grande parte a pessoas de desenvolvimento de negócios incrivelmente inteligentes e atenciosas tanto na Consensys quanto no Google, conseguimos chegar a acordos na forma como a plataforma de extensões estava mudando — acordos que permitiram os objetivos ambiciosos do MetaMask sem comprometer os ideais de segurança de nenhuma das empresas.

Essas mudanças ainda exigiram contribuições enormes de toda a Consensys para nos ajudar a navegar por elas. Uma coisa é conduzir uma iniciativa importante em um produto crítico de segurança e amplamente utilizado como o MetaMask; outra ainda maior é fazer isso enquanto também se migra toda a base de código para o que era essencialmente uma nova plataforma. Essa façanha é um testemunho de múltiplas equipes do MetaMask trabalhando em estreita colaboração para compartilhar o fardo, para que pudéssemos desbloquear o trabalho muito mais empolgante do outro lado, e sou profundamente grato a todas elas.

O sistema Snaps inclui algumas das mais belas contribuições de design que a carteira MetaMask já recebeu (com algumas mudanças de design relacionadas chegando em breve a mais partes da carteira!). O processo de um site propor um Snap ao usuário, o usuário revisar com segurança os riscos envolvidos e o sistema de interface de usuário extensível que disponibilizamos para os Snaps nas confirmações (que só está melhorando) é o produto de conversas de design seguro incrivelmente profundas, pesquisa com usuários e muitos momentos de inspiração. Criamos aqui um sistema de permissões de classe mundial e continuamos a levá-lo em direções cada vez mais empolgantes.

Em breve, algumas das minhas APIs favoritas que planejamos incluem novos tipos de conta (olá, 4337), ativos definidos por Snap (os ativos de Snap não aparecem na lista principal de tokens… ainda) e widgets para a tela inicial, que aproveitarão o framework de UI extensível que estamos construindo — o qual você pode experimentar pela primeira vez nas confirmações personalizadas que os Snaps podem exibir hoje.

Temos uma página de Snaps que foram totalmente auditados e estão prontos para explorar hoje, e recomendo que você experimente. A longo prazo, espero que alguns dos Snaps mais divertidos sejam aqueles que quebrem nossas concepções anteriores sobre para o que o sistema era útil. Gostaria de fazer uma menção ao Archis por criar uma demo de Snap que usa um LLM para instruir a carteira a realizar uma negociação. Com o boom da IA, não poderia haver momento melhor para abrir a carteira para experimentos radicais.

Um Novo Capítulo: Descobrindo a Melhor Internet

Ter um sistema para gerenciar a extensibilidade segura é realmente um novo começo. As APIs com as quais lançamos hoje poderiam, cada uma, habilitar um Snap que multiplica a utilidade do MetaMask. Mas talvez ainda mais importante seja o fato de que, com essa base, podemos cada vez mais olhar para qualquer parte da carteira que acreditamos que os usuários merecem mais controle, ou para a qual os desenvolvedores têm mais criatividade a oferecer, e podemos abrir um método de API e deixar a criatividade entrar para levar o produto em novas direções. Isso não é apenas um lançamento de funcionalidade — é o produto adotando uma postura dramaticamente mais colaborativa com o mundo externo. Uma das minhas maiores dores ao ajudar a construir o MetaMask ao longo de quase oito anos aqui foi estar constantemente ciente do oceano de criatividade que estava além do alcance do nosso backlog por causa de nossa obrigação constante com o essencial de segurança e compatibilidade. O Snaps é uma admissão humilde de que não podemos fazer tudo sozinhos. A jornada de descobrir a melhor internet exigirá muitas contribuições criativas. Além disso, eu também não conseguia lançar minhas ideias tão rápido quanto as tinha! O Snaps é, secretamente, uma funcionalidade egoísta: agora você poderá estender a carteira mais popular com menos burocracia do que um fundador da carteira mais popular do mundo poderia na semana passada.

Acho importante reconhecer uma limitação importante do sistema Snaps atual. Hoje, ele não pode ser estendido de forma totalmente sem permissão. Os Snaps que podem ser instalados são aqueles que aprovamos porque confirmamos que foram auditados, além de estarem confinados de todas as formas que o prompt de instalação indica. Isso foi feito tanto por excesso de cautela quanto porque temos ideias de como adicionar segurança adicional para uma versão sem permissão que levará mais tempo para implementar — mas queríamos lançar algo mais cedo (já faz tanto tempo).

Não há dúvida: o objetivo de longo prazo é a computação sem permissão. Um dos eventos que me iniciaram na jornada web3 foi ter um bom aplicativo rejeitado pela Apple por razões arbitrárias. Hoje parece que os computadores são ou jardins murados seguros ou totalmente inseguros, mas sem permissão — e acredito que construímos as bases para criar um espaço que não é nenhum dos dois. Nossa mira está nesse espaço intermediário. A computação segura e sob custódia do usuário está a caminho, e convidamos você a nos ajudar a defini-la.

Se você é um desenvolvedor querendo experimentar essa plataforma, recomendo instalar o Flask, nossa distribuição do MetaMask voltada para desenvolvedores. Com ele, você pode instalar qualquer Snap (mesmo um que não auditamos) e começar a construir o seu próprio.

De qualquer forma, este é um grande momento para celebrar, porque estamos multiplicando o número de funcionalidades que o MetaMask tem hoje — mas o engraçado é que as partes mais empolgantes são, sem dúvida, aquelas que ainda estão por ser construídas sobre ele. Então eu celebro, eu valorizo, sou profundamente grato por uma equipe brilhante e determinada que tornou essa enorme façanha possível. Também aguardo com entusiasmo escrever esse próximo capítulo juntos.

Traduzido por IA. Pode conter erros. Por favor, verifique sempre as informações.

Avalie a tradução

Este artigo foi escrito por:

  • Dan Finlay

    Dan Finlay facilita o desenvolvimento do MetaMask desde 2016. Ao longo desse tempo, ele desenvolveu uma paixão e uma visão para o futuro da computação distribuída, segura e sem permissões, e está concretizando essa visão por meio do MetaMask. Warpcast: https://warpcast.com/danfinlay

    Ler todos os artigos