- Voltar ao menu
- Voltar ao menuPreços
- Voltar ao menuPesquisar
- Voltar ao menuConsenso
- Voltar ao menu
- Voltar ao menu
- Voltar ao menu
- Voltar ao menuWebinars e Eventos
Como as carteiras do Ethereum estão evoluindo
O Ethereum foi construído usando regras de consenso diferentes do Bitcoin, então as carteiras também precisam funcionar de uma forma alternativa. Mas quais são as opções?
Benedict Chan é líder de plataforma na empresa de segurança de blockchain BitGo e um defensor das tecnologias de blockchain de Bitcoin e Ethereum . Ele projetou e desenvolveu APIs e SDKs usados por trás de uma série de implementações de carteira multiassinatura de Bitcoin .
Aqui, Chan LOOKS as diferenças entre as carteiras multiassinatura Ethereum e suas equivalentes de Bitcoin , além de se aprofundar em seu funcionamento interno.
Carteiras são uma das aplicações mais básicas em qualquer plataforma blockchain. Elas fornecem a interface para os usuários interagirem com o blockchain. Algumas carteiras, como a oferecida pelo Bitcoin CORE, conectam-se ao blockchain diretamente por meio de um nó completo, enquanto outras dependem de serviços da web para fornecer acesso.
No nível básico, uma carteira busca servir usuários recebendo, enviando, monitorando e listando transações dentro de uma Criptomoeda. Carteiras mais avançadas permitem que os usuários obtenham melhor segurança ou executem um conjunto estendido de ações no blockchain, aumentando assim seu valor. Isso é particularmente verdadeiro no caso do blockchain Ethereum , onde os usuários precisam não apenas armazenar valor, mas também executar várias atividades por meio de contratos.
Histórico sobre multisig
Desde sua introdução em 2013, carteiras multiassinatura (multisig) de Bitcoin têm sido usadas para fornecer redundância e segurança ao usuário ao lidar com fundos no blockchain. Contas multiassinatura exigem que várias chaves sejam assinadas para mover um token, como um cofre físico onde mais de uma chave é necessária para que o conteúdo seja acessado.
O Multisig torna mais difícil para invasores roubarem de uma carteira, já que as chaves podem ser colocadas em máquinas separadas. Com essa segurança adicional, os usuários podem ter paz de espírito ao armazenar e usar moedas, ou configurar estruturas de carteira onde múltiplos usuários e aprovações são necessários para transferências.
Evolução do Bitcoin para o Ethereum
O potencial do blockchain do ethereum, juntamente com o rápido aumento do preço do ether em 2016, impulsionou a demanda do usuário por uma carteira web multiassinatura. Mas, diferente de outros clones do Bitcoin , como o Litecoin, o Ethereum é um blockchain muito único porque foi construído do zero em um conjunto totalmente diferente de regras de consenso. Isso traz diferenças significativas em como as carteiras multisig do Ethereum são implementadas em comparação com suas contrapartes do Bitcoin .
Contas e endereçamento
No Bitcoin, uma carteira deve monitorar múltiplas transações de entrada anteriores enviadas para endereços para os quais ela tem as chaves (essas são conhecidas como 'unspents'). O total agregado de valores não gastos nesses endereços representa o saldo na carteira. No Ethereum, não há conceito de unspents – em vez disso, cada conta tem um saldo, que é alterado a cada transação.
Para criar e assinar uma transação, não é necessário coletar e manter saídas não gastas anteriores – é preciso apenas lembrar o último ID de sequência usado (para fins de prevenção de gastos duplos) e incrementá-lo. Além disso, como os saldos (e não os não gastos) são rastreados, isso reduz o fardo das carteiras para gerenciar o troco. Nesse sentido, criar transações é mais simples no Ethereum. Isso tem um custo de Política de Privacidade do usuário, porque as contas agora estão vinculadas a um único endereço, enquanto os usuários podem enviar e receber em vários endereços em Bitcoin ao mesmo tempo, tornando os fundos menos rastreáveis.
Taxas de mineração
No Bitcoin, as taxas que os usuários pagam aos mineradores são calculadas com base no tamanho da transação. No Ethereum, elas são calculadas com base na quantidade de operações de blockchain usadas, multiplicadas pelo preço que o usuário está disposto a pagar por unidade de GAS (o preço interno para executar uma transação ou contrato no Ethereum). Simplificando, a taxa está relacionada à quantidade e complexidade das operações e à quantidade de espaço ocupado no blockchain.
Para usuários tecnicamente avançados, esta é uma maneira mais específica e justa de precificar o uso do blockchain e os custos associados de validação. No entanto, pode causar alguma confusão para usuários novatos. Por exemplo, enviar ether para um contrato financiado coletivamente pode custar uma taxa diferente (paga pelo remetente) do que enviar a mesma quantia de ether para um amigo. Isso representa um desafio interessante para designers de UI de aplicativos comunicarem tais diferenças e ajudarem os usuários a entender o raciocínio por trás disso.
Projetos de contratos com múltiplas assinaturas

Ao contrário do Bitcoin, o Ethereum suporta scripts avançados, mas ainda não suporta o conceito de multisig nativo ou P2SH (onde é possível pagar o hash de um contrato e fornecer o script mais tarde).
A abordagem básica para proteger fundos com múltiplas assinaturas envolve criar múltiplos endereços 'single-sig' e então escrever um contrato controlado por esses endereços para armazenar os fundos. Embora isso seja mais complexo do que com Bitcoin, ele poderia potencialmente fornecer aos desenvolvedores de carteiras mais flexibilidade.
Existem duas abordagens principais para escrever uma carteira de contrato que requer múltiplas assinaturas para proteger fundos.

Esta é a abordagem mais comum usada em carteiras comoNévoa ou Éterli. Primeiro, o contrato da carteira é implantado, registrando os 'endereços de assinatura' fornecidos. Para enviar fundos para um endereço, o primeiro usuário, ou proponente, envia uma transação contendo uma Request de proposta para o contrato. Essa Request tem um ID de operação exclusivo (hash), derivado do valor, endereço de destino e dados a serem enviados.
Então, outro usuário no contrato da carteira deve confirmar essa ID de operação enviando uma transação de confirmação separada para o contrato. Ambas as transações devem ser publicadas na cadeia antes que a operação resultante (para enviar fundos) possa ser executada.

Embora a abordagem anterior seja segura e se adapte a muitos cenários, há demanda para ter todas as assinaturas em uma única transação, semelhante na prática ao Bitcoin. Conhecido por alguns como a segunda evolução do multisig no Ethereum, isso tem as vantagens de exigir menos espaço na cadeia e também ser potencialmente mais rápido, já que não precisa esperar por vários blocos.
Cada transação no Ethereum pode ter apenas um remetente/signatário. Portanto, implementar isso em um contrato requer o uso da operação de montagem 'ecrecover'. Essa operação é capaz de verificar o endereço de uma assinatura no campo de dados da transação. O contrato multiassinatura é escrito com código para derivar uma ID de operação do valor, destino, dados, ETC, e verificar se essa ID é assinada pela assinatura no campo de dados. Um signatário pode, portanto, ser considerado como vindo do remetente da mensagem, com as assinaturas de outros signatários validadas no campo de dados, tudo dentro de uma única transação.
Implementações de carteira multiassinatura
Leitores mais técnicos podem querer investigar essas implementações de contratos multiassinatura para Ethereum:
Implementação 'easy multisig' do DappSys
Construída sobre a estrutura de contrato Dappsys, esta implementação multisig segue o primeiro design 'executar e depois confirmar'. Foi recentemente compartilhada durante a preparação do dapp-a-day para a conferência Devcon. Seu principal benefício é o design modular do código para desenvolvedores que escrevem carteiras sobre ele, tornando possível aplicá-lo facilmente a muitos outros cenários além do armazenamento de valor.
Melhorias futuras
A comunidade Ethereum tem uma forte base de desenvolvedores, com vários projetos e equipes esperados para lançar aplicativos em NEAR e médio prazo. Esses lançamentos impulsionarão a demanda e o suporte para novos recursos em carteiras multiassinatura Ethereum :
Suporte para tokens ERC20
Embora existam atualmente algumas carteiras multiassinatura disponíveis para proteger ether, há poucas para proteger outros tokens em cima de Ethereum, como Digix DGD, Augur REP e assim por diante. Esses contratos de token são parte integrante do ecossistema Ethereum , e todos eles suportam o padrão comum ERC20.
Criar uma carteira que suporte esse padrão significa que os usuários poderão aproveitar o suporte para todos esses tokens interessantes em um único aplicativo de carteira.
Suporte para mais operações/cenários
Olhando mais adiante no horizonte, o reino das operações que uma carteira precisará ser capaz de executar também aumentará. Contratos em cima do Ethereum exigem muito mais do que simples envio/recebimento.
É importante para a indústria não apenas criar padrões de interoperabilidade em torno das operações de carteira atuais, mas também estabelecer funções comuns que as carteiras podem suportar. Isso pode incluir comprar, vender, bloquear, apostar, votar e muito mais.
Evolução da carteira multisig com EIP101 (Serenity)
O lançamento do Ethereum Serenity provavelmente trará vários recursos úteis que melhorarão significativamente a simplicidade e a experiência do usuário de carteiras multiassinatura.
A primeira melhoria que está por vir é a funcionalidade do tipo 'pay-to-script-hash', que tornará possível implantar e criar o contrato de carteira somente quando o destinatário quiser gastar fundos. Isso poupará os usuários do trabalho de conduzir uma implantação para criar carteiras. Mais importante, também remove a exigência de que novos usuários paguem a taxa de GAS adiantada ao configurar uma carteira multisig.
Isso também torna prático desembolsar vários endereços HD sem gastar GAS para implantá-los primeiro, semelhante a como muitas empresas fazem isso em Bitcoin para coletar pagamentos. Se feito corretamente, isso pode reduzir a reutilização de endereços e aumentar a Política de Privacidade.
Em seguida, será possível que os contratos paguem suas próprias taxas. Atualmente, as taxas de GAS/mineração ao fazer uma retirada são coletadas do endereço de assinatura que envia a transação para o contrato da carteira. Isso significa que os usuários precisam manter saldos em dois lugares: o contrato da carteira (garantido por multisig) e o endereço de assinatura (para pagar as taxas). A Serenity permitirá que os contratos paguem por seu próprio GAS, então os usuários não precisarão manter uma conta de GAS para fazer transações.
Considerações finais
No final das contas, os usuários não escolherão carteiras com base na Criptomoeda que elas suportam, mas pelos recursos de aplicativo que elas oferecem – todos estão em busca do 'aplicativo matador', não da 'cadeia matadora'. É um momento emocionante para estar na Criptomoeda e observar a evolução das carteiras construindo o ecossistema para trazê-lo mais perto do alcance do mainstream.
Imagem de courovia Shutterstock
Ben Chan
Benedict Chan é líder de plataforma na empresa de segurança de blockchain BitGo e um defensor das tecnologias de blockchain de Bitcoin e Ethereum . Ele projetou e desenvolveu APIs e SDKs usados por trás de uma série de implementações de carteira multiassinatura de Bitcoin .
