O MetaMask Delegation Toolkit é o resultado de anos de pesquisa para criar ferramentas seguras e fáceis de usar para o ecossistema web3. O toolkit foi desenvolvido para resolver problemas significativos de UX que impedem a adoção mainstream do web3 e oferece ferramentas para desbloquear novos casos de uso de coordenação social. O Red Balloon foi um jogo de estratégia social realizado na conferência EthCC em Bruxelas, de 7 a 9 de julho de 2024. Os participantes experimentaram pela primeira vez em um jogo web3 o onboarding instantâneo, o patrocínio de gas econômico e as delegações multi-hop.
O objetivo do desafio era encontrar 10 balões espalhados pelo local da conferência e ganhar 5 ETH como prêmio. No entanto, devido à distribuição geográfica e temporal dos balões, era impossível para um único jogador encontrar todos os 10 balões de forma independente. Este jogo foi inspirado no DARPA Network Challenge e simula um problema complexo de grande escala que exige colaboração descentralizada para ser resolvido.
A primeira pessoa a coletar todos os 10 balões e reivindicar a vitória levou para casa o valor do prêmio, descontadas as comissões das pessoas cujos balões foram utilizados para a vitória.
Este estudo de caso discute como o MetaMask Delegation Toolkit tornou possível cada funcionalidade do jogo Red Balloon.
Escaneie para jogar: onboarding instantâneo no web3
Uma das principais funcionalidades do MetaMask Delegation Toolkit é a capacidade de os usuários ignorarem o fluxo tradicional de conexão de carteira web3, eliminando a necessidade de instalar uma carteira convencional ou se preocupar com seed phrases.
No Red Balloon, os jogadores entram no jogo escaneando um QR code de um balão físico ou de outro jogador que já tenha feito o onboarding. Isso gera uma smart account incorporada contrafactual (gratuita e instantânea) para o jogador no aplicativo web do jogo, permitindo que ele comece a jogar imediatamente, sem precisar criar ou conectar uma carteira, fazer on-ramp, entre outros.
Colete e compartilhe balões: delegações off-chain
Cada balão no jogo era representado por um contrato inteligente NFT exclusivo atribuído a uma conta delegadora. Essa conta delegadora podia emitir delegações para os jogadores que encontrassem o balão físico correspondente, permitindo que eles se atribuíssem como detentores para reivindicar a vitória. Confira os dois tipos de delegações que implementamos:
Delegações da conta delegadora: Isso permitia que um jogador recebesse uma delegação especial da conta delegadora ao encontrar um balão físico. Essa delegação concedia ao jogador permissão para se atribuir como detentor do balão, o que era necessário para acionar a função de vitória.
Delegações entre jogadores: Os jogadores também podiam criar ofertas para outros jogadores, especificando os balões aos quais tinham acesso e a comissão exigida para que outro jogador usasse aquele balão para reivindicar a vitória. Essas eram ofertas off-chain, o que as tornava gratuitas e instantâneas.
Como a conta delegadora está totalmente incorporada à experiência do jogo, jogar não exigia que os jogadores revisassem nenhuma confirmação, proporcionando uma experiência sem interrupções.
Reivindique a vitória: transações em lote patrocinadas por gas
Para vencer o jogo, um jogador precisava ter todos os 10 balões atribuídos a ele — seja por outros jogadores ou diretamente pela conta delegadora — antes de poder acionar a função de vitória. O primeiro jogador a atingir essa condição era declarado vencedor e recebia o valor do prêmio, descontadas as comissões devidas aos outros jogadores que compartilharam o acesso aos seus balões.
O MetaMask Delegation Toolkit garantiu que os acordos off-chain entre os jogadores fossem aplicados de forma programática. Quando um jogador aceitava uma oferta e usava os balões compartilhados para vencer o jogo, as comissões eram distribuídas automaticamente aos respectivos donos dos balões em uma transação em lote atômica.
Além disso, isso não teve nenhum custo para o vencedor nem para os donos dos balões, já que o jogo contava com patrocínio de gas. O único momento em que os custos de gas foram incorridos foi na transação em lote (hash da transação) de reivindicação da vitória, que incluiu o deploy da smart account do vencedor e as transferências para quem ganhou comissões. Em um jogo que engajou 621 jogadores, pagamos apenas 57 centavos de dólar em patrocínio de gas, proporcionando uma experiência totalmente sem gas para todos os usuários. Essa funcionalidade oferece uma estratégia de crescimento para desenvolvedores que buscam uma forma econômica de patrocinar as taxas de gas de seus usuários, garantindo uma experiência fluida sem se preocupar com os custos de transação.
Construindo uma UX melhor no web3
Por meio do design inovador e do uso prático do Delegation Toolkit, o jogo Red Balloon dá vida a um conceito complexo, permitindo que os jogadores vivenciem o potencial da coordenação descentralizada e dos acordos aplicados de forma programática, ao mesmo tempo em que oferece uma experiência de onboarding e gameplay fluida.
Esta demonstração não apenas destaca as capacidades únicas do Delegation Toolkit, mas também oferece aos participantes da EthCC um vislumbre do futuro da UX no web3. Quer utilizar o Delegation Toolkit para levar uma UX refinada ao seu dapp? Solicite acesso antecipado hoje mesmo!