NEAR Chain Signatures apresenta uma nova abordagem para a construção de aplicativos Web3 multichain que fornece uma melhor experiência para desenvolvedores e usuários. Antes, os desenvolvedores escreviam contratos inteligentes na camada de aplicação para cada cadeia, possivelmente em idiomas diferentes, exigindo sempre novos contratos inteligentes e auditorias. A reimplementação e reimplantação da lógica do aplicativo apresentam vários riscos para os usuários, enquanto a troca de redes e a disparidade de recursos entre as implementações criam uma experiência do usuário (UX) ruim. Além disso, os usuários muitas vezes são obrigados a conectar ativos ou mensagens de cadeia em cadeia, introduzindo ainda mais riscos e uma experiência de usuário ainda pior.
Desenvolvendo aplicativos Web3 multichain antes das assinaturas em cadeia:
Para desenvolvedores e usuários, cada cadeia adicional adiciona complexidade a aplicativos, contas e contratos. Neste modelo, são necessárias pontes para migrar ativos e realizar transações em uma nova cadeia. Isso força os desenvolvedores e os usuários a passar por várias etapas preparatórias antes que possam experimentar os aplicativos da cadeia de sua escolha.
Agora, o Chain Signatures alivia o fardo de manter diferentes contratos, implantações e auditorias para cada cadeia, permitindo que os desenvolvedores movam a maior parte da lógica do aplicativo para um único contrato inteligente NEAR. Os desenvolvedores podem se concentrar na UX de seus aplicativos, em vez de manter vários contratos diferentes em múltiplas cadeias. Os usuários também se beneficiam por não fazer a ponte entre ativos. Em vez disso, eles depositam ativos da cadeia que desejam usar em uma conta Chain Signatures que o aplicativo pode usar. Os usuários interagem com o aplicativo usando uma única conta NEAR e mantêm a custódia total de seus ativos, mesmo residindo em outra rede. As assinaturas em cadeia permitem que qualquer conta NEAR ou contrato inteligente controle e assine um número infinito de contas em qualquer cadeia que existe hoje e em cadeias que ainda serão lançadas! Este é um grande avanço para o desenvolvimento, segurança e UX de aplicativos Web3 multichain.
Desenvolvendo aplicativos Web3 multichain com assinaturas de cadeia:
A lógica do aplicativo é executada em contratos inteligentes NEAR que produzem assinaturas para contas em qualquer cadeia, executando transações e movimentando ativos. Mudar a lógica do aplicativo upstream para uma única camada de contratos NEAR reduz a carga do desenvolvedor de manter contratos inteligentes de aplicativos complexos e personalizados em cada cadeia. Os ativos ainda são implementados como contratos nas suas respetivas cadeias, normalmente utilizando padrões e modelos de contratos inteligentes que já são auditados, mas a lógica da aplicação já não precisa de o ser.
Com Chain Signatures, a lógica do aplicativo pode estar em um só lugar, em um idioma e em uma camada; e, portanto, requer apenas uma auditoria de contrato inteligente. Isso facilita uma melhor experiência do desenvolvedor e, por sua vez, uma experiência do usuário melhor e mais segura.
Vamos dar uma olhada em alguns exemplos de aplicativos novos e interessantes que podem ser projetados usando Chain Signatures para entender melhor como essa tecnologia funciona.
Exemplos de aplicativos desbloqueados por assinaturas em cadeia
DAO multicadeia
Na criptografia, os usuários geralmente desejam reunir fundos e ter um processo on-chain para aceitar propostas da comunidade e distribuir esses fundos de forma transparente. Uma organização autônoma descentralizada (DAO) é geralmente a abordagem escolhida para comunidades na Web3 hoje. Como o Ethereum é a cadeia mais amplamente aceita para stablecoins populares como o USDC, faz sentido reunir fundos DAO lá. No entanto, executar toda a lógica do aplicativo DAO usando contratos e transações inteligentes Ethereum rapidamente se torna lento e com custos proibitivos, levando à apatia e ao desligamento dos eleitores.
Usando Chain Signatures, pode-se desenvolver um design que proporciona uma experiência de usuário melhor e mais imediata, ao mesmo tempo que reduz significativamente as taxas. Além disso, pode haver uma única camada de aplicação DAO que aceita propostas e lida com votações que distribuem fundos em múltiplas cadeias!
A lógica da aplicação DAO é executada em um contrato inteligente NEAR. Recursos como associação, propostas e votação são tratados no contrato DAO. Quando uma proposta é aceita, o contrato DAO chama automaticamente o contrato NEAR Chain Signatures para gerar uma assinatura para o endereço e conta derivados. Esta conta existe na cadeia onde os membros do DAO originalmente reuniram os seus fundos. No caso do Ethereum, ou de qualquer cadeia EVM, esta pode ser simplesmente uma conta de propriedade externa (EOA) e não requer a implantação de um contrato inteligente adicional.
Multichain NFT Minter
Vamos imaginar que haja uma nova coleção NFT onde o fornecimento total é limitado a 10.000, com uma diferença em relação ao modelo típico: a coleção será cunhada em várias cadeias. Sem assinaturas em cadeia, existem algumas maneiras diferentes de fazer isso.
- Você tem a lógica de vendas primária e a lógica NFT implantadas em cada rede. Isso força você a predeterminar os valores permitidos em cada cadeia.
- Isso cria problemas de UX para os usuários, que são forçados a usar uma cadeia específica.
- Isso também impõe limitações sobre como sua coleção é cunhada.
- Você tem a lógica de vendas primária em uma cadeia e permite que os usuários criem NFTs por meio de uma ponte de passagem de mensagens para a cadeia de sua escolha.
- Apresenta questões de UX; múltiplas transações e carteiras para usuários.
- Adiciona riscos de ponte ao aplicativo e para erros do usuário.
- A lógica de vendas primária e as cunhagens NFT são feitas em uma cadeia e os NFTs são interligados após o fato.
- Isso apresenta os desafios de UX acima e os riscos de ponte.
- Permitir a ponte significa menos controle sobre o fornecimento de NFTs em qualquer cadeia específica.
A primeira abordagem é muito rígida. O segundo e o terceiro exigem um mínimo de 2 transações do usuário com toda a complexidade e riscos de segurança da ponte de ativos. Dependendo da sua preferência, você pode ou não querer que os usuários façam a ponte entre seus NFTs após a venda primária e a emissão inicial. Vamos supor que você não.
Suponhamos também que você deseja uma experiência de venda perfeita, onde o usuário escolhe a cadeia de moedas e o NFT é cunhado em uma carteira existente em uma cadeia arbitrária. O ideal é que tudo isso ocorra em uma única transação para o usuário. Observe que o preço do gás pode ser incluído na venda primária por meio de um oráculo.
Veja como isso funcionaria com assinaturas em cadeia:
O contrato de venda NFT exige pagamento. Isso pode ser em NEAR, USDC ou qualquer outro token em NEAR. O contrato de venda NFT chama o contrato de assinaturas em cadeia com uma carga útil de transação que cunha um NFT na cadeia de destino selecionada pelo usuário e com uma conta como proprietário fornecida pelo usuário. Uma assinatura para o mint é gerada, passada de volta ao cliente usuário e então transmitida para a cadeia selecionada. O NFT é cunhado no contrato NFT da rede selecionada e a propriedade é dada à conta do usuário especificada na transação de venda. Em uma única transação, um NFT é comprado e cunhado em outra rede.
Airdrop de runas Bitcoin
Runas Bitcoin são um novo protocolo de token fungível do criador do Ordinals, Casey Rodarmor. Aprimorando o BRC-20, o Runes visa produzir menos confusão e melhorar os custos de emissão e negociação de tokens fungíveis no Bitcoin. Uma desvantagem do Bitcoin é a programabilidade restrita, dificultando algo como um lançamento aéreo em massa de Runas. Com Chain Signatures, o NEAR pode funcionar como uma camada de contrato inteligente para Bitcoin, por meio da qual um lançamento aéreo em massa de Bitcoin Runes pode ser executado.
Pode-se usar um contrato NEAR para manter uma “lista de permissões” para o lançamento aéreo, utilizando um contrato de cliente BTC light. Supondo que todas as Runas sejam pré-mineradas e residam no endereço Chain Signatures derivado do contrato inteligente NEAR Airdrop, o primeiro passo para o usuário é financiar este endereço BTC com as taxas de transação BTC necessárias para transferir as Runas para si mesmo. Feito isso, eles podem enviar esse hash de transação e seu endereço BTC para o contrato NEAR Airdrop, que chamará o contrato Chain Signatures com uma carga útil de transação que transferirá as Runas.
Esta seria a aparência:
O usuário financia o endereço BTC com as taxas necessárias para transferir Runas para sua conta (1). Eles enviam o hash da transação e seu endereço BTC ao contrato NEAR Airdrop (2). O contrato NEAR Airdrop verifica o endereço BTC do usuário em relação à lista de permissões. Em seguida, o contrato liga para o Cliente BTC Light para verificar se as taxas foram pagas (3). Por fim, o contrato NEAR Airdrop pode gerar uma transação para transferir as Runas para o endereço de destino do usuário. Uma chamada entre contratos é feita para o contrato Chain Signatures para assinar a transação. A assinatura é devolvida ao cliente e transmitida para a rede Bitcoin onde as Runas são transferidas (4).
Fonte: https://pages.near.org/blog/unlocking-multichain-web3-with-near-chain-signatures