Resumo
"Não é a sua chave, não é a sua moeda", independentemente da carteira de contrato inteligente ou da carteira de conta pessoal, a chave privada tem controle absoluto sobre a carteira. Uma vez perdida a chave privada, nossa carteira fica completamente exposta a riscos.
A chave privada é a base da carteira, e a frase mnemônica é a solução de recuperação da chave privada, que também é o atual obstáculo ao desenvolvimento da carteira.
A solução indefesa de memória de palavras trazida pelo MPC e pela recuperação social é a base da Adoção em Massa
Mais possibilidades para carteiras futuras, expectativas para EIP-4337
texto
Em 2010, Vitalik Buterin, o fundador do Ethereum, tinha uma conta de feiticeiro no World of Warcraft. Um dia, a Blizzard decidiu reduzir drasticamente o personagem feiticeiro e remover a parte do dano mágico do feitiço de sifão de vida. Ele chorou até dormir e naquele dia, percebendo os horrores dos servidores centralizados, decidiu desistir e criar a rede descentralizada Ethereum. Em novembro de 2022, a FTX, a maior bolsa de derivativos do mundo, foi exposta a ter se apropriado indevidamente de fundos de usuários.O fundador da SBF foi preso pela polícia das Bahamas e estava preparado para ser transferido para os Estados Unidos para julgamento.
Desde o jogador Warlock que foi inexplicavelmente apunhalado pelas costas pela Blizzard há 13 anos até os usuários vitimados pela FTX que defendem seus direitos hoje, estamos cada vez mais conscientes da importância da frase "Not your key, not your coin": mesmo com auditorias de terceiros/ Agências reguladoras e servidores centralizados ainda podem adulterar e encobrir dados à vontade. Na rede descentralizada, o livro-razão on-chain é transparente e não pode ser adulterado. Contanto que tenhamos a chave privada de nossa própria conta, teremos controle absoluto sobre nossos bens pessoais.
A descentralização é maravilhosa, mas a que custo?
Nós que vivemos na rede blockchain somos os primeiros responsáveis pelos nossos bens pessoais. A compensação mais crítica para a maioria dos usuários ao escolher uma carteira on-chain é: quanto risco e responsabilidade estou disposto a assumir pelos meus ativos? Tomemos como exemplo as instituições financeiras tradicionais:
Aos olhos dos usuários que buscam segurança, eles esperam colocar seu dinheiro em um banco com procedimentos complicados de abertura de conta, mas em grande escala: Segurança de fundos (risco) de grandes bancos > Procedimentos padrão e rígidos de abertura de conta (responsabilidade)
Aos olhos dos usuários que buscam praticidade, eles podem simplesmente colocar seu dinheiro no WeChat e Alipay. WeChat e Alipay podem facilmente concluir transações P2P e exigir apenas um cartão de identificação e número de celular para concluir o registro, mesmo que WeChat e Alipay sejam apenas Duas empresas listadas em vez de instituições bancárias apoiadas pelo Estado: conveniência (responsabilidade) do WeChat > status operacional (risco) do WeChat
De volta à web3, temos duas maneiras de armazenar ativos na web3, carteiras com custódia e carteiras sem custódia.Antes disso, precisamos dar uma breve introdução ao princípio das carteiras:
Carteira e chave privada
A geração da conta é o processo de criação da chave privada. No Ethereum, existem dois tipos de contas: contas EOA (conta de propriedade externa, contas externas) e contas de contrato (contratos inteligentes implantados na cadeia através de contas EOA):
Tomando como exemplo a conta EOA,

Endereço EOA
Gerando um número aleatório de 256 bits como uma chave privada e, em seguida, usando a chave privada para derivar a chave pública correspondente usando o algoritmo SHA3 e, em seguida, usando keccak-256 para calcular o endereço (os últimos 20 bytes do hash original) , uma conta pessoal exclusiva correspondente à chave privada. Durante este processo, a chave privada irá calcular e gerar 12 mnemônicos, e podemos usar os mnemônicos para derivar novamente a chave privada.

Atualmente, as carteiras dApp mais populares nas principais cadeias são carteiras EOA, como Metamask, Phantom (Solana), BSC Wallet (BSC) e Keplr (Cosmos).
2. A conta inteligente é um pedaço de código EVM implantado na cadeia através da conta EOA, que pode implementar diferentes funções. Mas ao contrário da conta EOA, a conta do contrato não possui uma chave privada e não pode ser executada ativamente. Ela só pode ser chamada pela conta EOA. Portanto, o controle final da carteira de contrato inteligente = a chave privada da conta EOA usada para implantar o contrato. Entendidas neste nível, as contas de contratos inteligentes também são controladas por chaves privadas. Desde que o endereço da carteira seja um contrato, trata-se de uma carteira de contrato inteligente.
As carteiras de contratos inteligentes são divididas em carteiras com múltiplas assinaturas (conta Multisig) e carteiras abstratas de contas (conta abstrata):
Carteiras com múltiplas assinaturas: Já em 2013, as carteiras com múltiplas assinaturas tornaram-se a principal escolha dos FMI. Esta tecnologia foi originalmente desenvolvida no ecossistema Bitcoin, e agora existem excelentes carteiras com múltiplas assinaturas no Ethereum (como Gnosis Safe): a Fundação Ethereum usa uma carteira com múltiplas assinaturas 4 de 7 (ou seja, crie um contrato inteligente para armazenar fundos e controlar o contrato através de 7 contas EOA. Somente quando mais de 4/7 contas EOA assinarem, a assinatura poderá ser concluída)
A abstração de conta usa uma única carteira EOA para controlar o endereço do contrato e obter o efeito de simular EOA com contratos inteligentes.Projetos populares como Argent/Loopring pertencem todos a carteiras de abstração de conta.

Endereço do contrato Apecoin
3. Após a criação da conta, quaisquer atividades on-chain das quais participamos são inseparáveis da participação da chave privada.
De acordo com a introdução do professor Liao Xuefeng:
Em uma rede descentralizada, não existe instituição confiável como um banco. Se você deseja realizar uma transação entre dois nós, deve implementar um mecanismo para transações seguras sob confiança zero.
Suponhamos que Xiao Ming e Xiao Hong queiram fazer um acordo. Uma maneira de fazer um acordo é Xiao Hong alegar que Xiao Ming lhe deu 10.000 yuans, o que obviamente não é confiável;
Outra maneira de criar uma transação é: Xiao Ming afirma que deu a Xiao Hong 10.000 yuans. Contanto que possa ser verificado que esta declaração foi realmente feita por Xiao Ming, e Xiao Ming realmente tem 10.000 yuans, então a transação é considerada Efetiva. .
Como verificar a afirmação de Xiao Ming?
A assinatura criada através da chave privada permite ao verificador confirmar o iniciador da declaração: qualquer pessoa pode usar a chave pública para comparar a assinatura digital e o resultado da transferência. Como apenas Xiao Ming com a chave privada pode iniciar esta declaração, posso estou convencido de que esta afirmação foi realmente feita por Xiao Ming.
Na rede Ethereum, tais transações incluem não apenas transações de transferência P2P, mas também chamadas para contratos inteligentes.
Portanto, quando usamos a carteira diariamente, equivale a chamar a chave privada local através da plataforma da carteira para completar a assinatura na cadeia.
Segurança da carteira, limites e resistência à censura
Tudo na carteira é construído em torno de chaves privadas. Uma carteira é essencialmente uma ferramenta que 1. cria uma chave privada, 2. mantém a chave privada, 3. usa a chave privada, 4. faz backup da chave privada, 5. restaura a chave privada. A solução de recuperação são palavras mnemônicas, ou seja, as combinações de 12/24 palavras que aparecem ao registrar uma carteira:
A frase mnemônica pode deduzir o texto simples da chave privada.Quando o usuário migra a carteira para um novo dispositivo, ele só precisa inserir a frase mnemônica no aplicativo da carteira para deduzir a chave privada e recuperar o controle da carteira.
Para os usuários, chave privada = frase mnemônica, mas esses dois conceitos ainda são diferentes no uso diário da carteira: frase mnemônica é a solução de backup e recuperação da chave privada do usuário
Uma analogia: o mnemônico equivale a copiar sua chave. Quando sua chave for perdida, você pode usar o mnemônico para gerar uma chave idêntica.

Como a chave privada é nossa única credencial para interagir com a rede blockchain, é nossa responsabilidade manter a chave privada e a frase mnemônica de nossa carteira seguras. Claro, a maneira mais segura de criar uma conta é criar uma conta em um ambiente offline e gerar seu próprio endereço executando números aleatórios (chaves privadas) e algoritmos SHA256 por meio de código. No entanto, esse limite é sem dúvida muito alto e não é adequado para a maioria dos usuários. Portanto, ao escolher uma carteira, os usuários precisam considerar três pontos: segurança, limite e resistência à censura:
Segurança: Quanto custa para um hacker quebrar uma chave privada/frase mnemônica de uma carteira?
Tomando as carteiras de hardware como exemplo, os hackers só podem obter as chaves privadas dos usuários por meio de phishing ou roubo de chaves privadas offline.
Limite: Quão fácil é usar a carteira?
O processo de registro do Metamask exige que os usuários registrem 12 mnemônicos, e 12 mnemônicos precisam ser reinseridos ao trocar de dispositivo. O registro de troca da Binance e o login do dispositivo podem ser concluídos com um clique no login por e-mail.
Resistência à censura: se o controle final da carteira cabe ao usuário
Se o aplicativo de carteira salvar o texto não criptografado da frase mnemônica importada pelo usuário e carregá-lo no servidor, os hackers poderão roubar a carteira do usuário invadindo o servidor. E mesmo que não haja ataque de hackers, ainda existe a possibilidade de que o lado do projeto Slope tenha cometido roubo e não tenha conseguido resistência à censura.
Existem duas categorias principais de carteiras: carteiras sem custódia e carteiras com custódia centralizada.
Carteira sem custódia: os usuários mantêm suas próprias frases mnemônicas
a. Tomemos como exemplo a carteira convencional Metamask. MetaMask é uma carteira de criptomoeda sem custódia (ou autocustódia). Sem custódia significa que MetaMask não armazena nenhum dado sobre a carteira, e os dados da chave privada estão todos no navegador ou aplicativo móvel em nível local.Quando o usuário precisar realizar atividades de assinatura em cadeia, MetaMask chamará o privado chave do arquivo local para assinatura. E se a chave privada e a frase mnemônica do usuário forem perdidas/roubadas, o Metamask não poderá ajudar o usuário a recuperá-las e os ativos do usuário serão perdidos permanentemente.
b. Reconhecida como a carteira de hardware mais segura (como Ledger), um dispositivo de hardware é usado para gerar a chave privada e o endereço da carteira off-line e, em seguida, a chave pública do endereço é importada para uma carteira da web, como Metamask. assinatura é necessária, Ledger O hardware é confirmado offline. Como a chave privada não toca na Internet, é difícil para os hackers roubarem a chave privada na carteira de hardware. No entanto, se o usuário perder a frase mnemônica ou for vítima de phishing, o efeito protetor da carteira de hardware será reduzido a zero e os ativos do usuário ainda serão roubados.
Carteira hospedada
Carteiras de exchanges como Coinbase/Binance adotam um método de carteira gerenciada. A diferença é que a conta exibida na Coinbase não contém a chave privada do usuário, mas é apenas o número contábil exibido no programa Coinbase, em vez de exibido no Etherscan. os ativos da cadeia podem ser entendidos como usuários que confiam na Coinbase e confiam ativos à Coinbase em vez de possuí-los eles próprios, de modo que as contas da coinbase não podem interagir com dAPPs como o Uniswap.

De modo geral, em uma carteira de custódia, a parte do projeto mantém a frase mnemônica em seu nome, e o limite para registrar e restaurar a carteira é baixo, mas a segurança da carteira depende da parte do projeto e não do próprio usuário, e o a parte do projeto tem controle real sobre a carteira; carteiras sem custódia A frase mnemônica está nas mãos do usuário e o limite para registrar e restaurar a carteira é alto, mas a segurança e a resistência à censura são altas.

Desvantagens dos esquemas mnemônicos
À medida que o WEB3 continua a se desenvolver, mais e mais demandas e cenários de aplicação surgiram, e a ecologia na cadeia está crescendo. Especialmente o Defi Summer em 2021 atraiu um grande número de usuários que originalmente negociavam apenas em bolsas para migrar seus ativos para On. na cadeia, em março de 2022, os usuários ativos mensais da MetaMask atingiram 30 milhões.No entanto, ao mesmo tempo, as frases mnemônicas, como a solução de recuperação de conta de frase mnemônica mais popular, tornaram-se o principal alvo dos hackers: para usuários comuns, O O incidente mais comum de roubo de carteira é quando a frase mnemônica é copiada na área de transferência ou o arquivo de chave privada armazenado localmente é roubado por um site de phishing.
Quando um hacker ataca, ele precisa medir o custo do ataque e as recompensas obtidas. Todas as chaves privadas (12 palavras mnemônicas) são subconjuntos do dicionário. Enquanto o dicionário estiver esgotado, o hacker poderá obter todos os ativos do corrente. . No entanto, esta relação entrada-saída é ruim.Se o dicionário organizar todas as combinações através de um algoritmo de força bruta;
As palavras mnemônicas convencionais atuais são 12 palavras em inglês e o vocabulário tem um total de 2.048 palavras. Ou seja, 2.048 ^ 12 = 5,44e39 tipos (544451787073500000000000000000000000000);
Se esse enorme poder de computação for usado, os hackers já poderão controlar a rede BTC por meio de um ataque de 51%;
Portanto, o método com maior taxa de retorno para os hackers é obter a frase mnemônica do usuário por meio de phishing, ou roubar a chave privada salva no dispositivo local do usuário.
Continuando com o exemplo do Metamask, há dois lugares onde um hacker pode obter a frase mnemônica salva e a chave privada:
Frase mnemônica
a. Após a criação da carteira, o usuário precisa manter o mnemônico gerado. Geralmente é recomendado copiá-lo em um papel branco com caneta e papel e guardá-lo adequadamente. Porém, também existem pessoas preguiçosas que usarão a área de transferência para copie e cole e salve em um documento, ou até mesmo no histórico de bate-papo do WeChat;
b. Se um hacker tiver instalado malware no telefone/computador do usuário e monitorar a área de transferência do usuário o tempo todo, ele poderá roubar a chave privada recém-criada. Por exemplo, o QuickQ VPN foi exposto à cópia das pranchetas dos usuários para roubar frases mnemônicas.
chave privada
a. Ao mesmo tempo, o Metamask geralmente criptografa a chave privada e a salva no dispositivo local onde a carteira é criada para que possa ser chamada a qualquer momento. Se o plug-in Metamask estiver instalado no Chrome:
i. No local de armazenamento no Windows, endereço de armazenamento de chave privada do Metamask:
C:\Users\USER_NAME\AppData\Local\Google\Chrome\User Data\Default\Configurações de extensão local\nkbihfbeogaeaoehlefnkodbefgpgknn
ii. Local de armazenamento no Mac: Biblioteca>Suporte a aplicativos>Google>Chrome>Padrão>Configurações de extensão local>nkbihfbeogaeaoehlefnkodbefgpgknn
b. A segurança do Metamask depende da segurança do Chrome. Uma vez que o firewall do Chrome é violado por um hacker, o hacker pode obter a chave privada do endereço do usuário e transferir todos os ativos. É por isso que as carteiras de hardware são mais seguras do que as carteiras plug-in, como a Metamask.
Além do Metamask, algumas carteiras não gerenciadas nem sequer alcançam alta resistência à censura, como o incidente de roubo de carteira Slope em Solana: o aplicativo móvel de Slope enviou palavras mnemônicas para seu servidor Sentry via TLS ao criar a carteira Phantom. A frase mnemônica é então armazenado em texto não criptografado, o que significa que qualquer pessoa com acesso ao Sentry pode acessar a chave privada do usuário.
Além disso, há mais incidentes de segurança de carteira dignos de nossa reflexão:
Conta EOA roubada
Carteira do fundador da Fenbushi Capital roubada:
O motivo do roubo da carteira de Shen Bo foi o vazamento da frase mnemônica. A carteira usada no momento do roubo era a Trust Wallet. O valor roubado incluía aproximadamente 38,23 milhões de USDC, 1.607 ETH, 720.000 USDT e 4,13 BTC.
A carteira Wintermute foi atacada e perdeu aproximadamente US$ 160 milhões. O motivo do roubo foi que Wintermute usou Profanity para criar uma carteira Vanity a fim de economizar taxas de gás (começando com 0x0000000, que pode economizar gás ao chamar contratos inteligentes):
Profanity foi projetado para ajudar as pessoas a gerar uma conta com efeitos visuais especiais, como uma conta que começa ou termina com caracteres especiais. Por outro lado, alguns desenvolvedores o utilizam para gerar contas que começam com muitos zeros.
Depois que Profanity obtiver a primeira chave privada SeedPrivateKey de 32 bits, para colidir com o endereço de conta necessário, ele iterará continuamente a chave privada por meio de um algoritmo fixo, até 2 milhões de vezes (o valor vem do artigo divulgado por 1 polegada) . Quando o PublicKey é conhecido, podemos obter o SeedPrivateKey enumerando exaustivamente o SeedPrivateKey e o Iterator. O valor do cálculo é cerca de 2 ^ 32 vezes 2 milhões de vezes. Uma placa gráfica com poderoso poder de computação pode concluí-lo em alguns dias ou até mesmo em alguns horas.
Conta de contrato roubada
O endereço de implantação do contrato da Paraswap foi roubado:
De acordo com o relatório de investigação do SlowMist: o endereço do hacker (0xf358..7036) obteve as permissões de chave privada do ParaSwap Deployer e QANplatform Deployer. O hacker retirou US$ 1.000 do ParaSwap Deployer e transferiu-os para dentro e para fora dos endereços do implementador da plataforma QAN como teste. Usamos a plataforma AML para analisar 0xf358..7036 e descobrimos que o hacker também roubou o SolaVerse Deployer e vários outros endereços bonitos. Até o momento, os hackers roubaram mais de US$ 170.000.
A Ponte Ronin foi hackeada em março deste ano, resultando na perda de 173.600 ETH e 25,5 milhões de USDC:
O hacker criou uma empresa inexistente, conectou-se com o engenheiro sênior de Axie através do Linkedin e do WhatsApp, atraiu-o com novas oportunidades de emprego, marcou uma entrevista e finalmente ofereceu um salário generoso. No entanto, o arquivo de oferta era venenoso, então ele conseguiu invadiu o sistema Axie e roubou O engenheiro implanta a chave privada do endereço EOA do contrato.
Além de ser o principal alvo dos hackers, o esquema mnemônico também é um limite alto que impede a entrada de novos usuários na WEB3.
Ao criar uma carteira, você precisa copiar manualmente 12 palavras por motivos de segurança, e é melhor não tirar fotos deste white paper e salvá-lo. Mesmo usando um software confiável de salvamento de senha de código aberto (como 1password), não podemos usar o salvamento conveniente de copiar e colar devido ao risco de roubo da área de transferência
Ao restaurar a carteira, ou seja, ao alterar o dispositivo de login, é necessário retirar este white paper e digitar novamente 12 palavras.
Manter um pedaço de papel branco com 12 palavras escritas parece pouco confiável e pouco confiável3: Estamos ansiosos para viver no futuro do metaverso, mas a segurança de nossas contas depende de um pedaço de papel branco inventado na Dinastia Song. Neste ponto, essas duas etapas são suficientes para dissuadir a maioria dos jogadores da Web2. Afinal, no mundo da Web2, a maioria dos processos de registro podem ser logados com um clique usando uma conta do Google/conta iOS.
Nova solução para recuperação de conta sem memorizar palavras
Para diminuir o limite da carteira e atrair mais usuários para entrar na WEB3, precisamos usar soluções de login de contas sociais como o Web2 sem perder a segurança e a resistência à censura da carteira. Portanto, precisamos de uma solução de recuperação de conta mais conveniente e segura. Todas as discussões atuais apontam para o fim: memória indefesa. Existem atualmente duas soluções de implementação para palavras indefesas: solução MPC e solução de recuperação social.
Solução MPC: A chave privada é calculada e gerada por múltiplas partes, evitando assim acidentes pontuais causados pela perda/roubo da chave privada do usuário.
Pode ser entendido como: MPC é um 3FA. Cada método de verificação contém um fragmento de chave. A fechadura da porta não possui uma chave separada. Quando um dos fragmentos de chave é perdido, o usuário pode usar outros métodos de verificação para recuperar a chave perdida .fragmento de chave
Solução de recuperação social: Armazene fundos em contratos inteligentes, controlados pela carteira EOA por meio de uma solução de assinatura múltipla/assinatura única, e designe um guardião terceirizado confiável. Quando a chave privada da carteira EOA é perdida, o guardião terceirizado substitui o controle do contrato., assim o usuário não precisa salvar a frase mnemônica.
As discussões atuais geralmente discutem a recuperação social e as carteiras de abstração de contas lado a lado.Deve-se notar que a solução de recuperação social é um padrão e função em contratos inteligentes, proposta pelo EIP-2429 em 2019, o que significa que os usuários podem controlar o contrato através de tutores A chave privada foi substituída; o recentemente discutido EIP-4337 é uma discussão sobre abstração de contas, que discutiremos no capítulo seguinte.
Solução MPC
A solução MPC é que, ao criar uma carteira EOA, várias partes criem em conjunto fragmentos de chave privada. Em 2019, o artigo "Assinatura digital de curva elíptica bipartidária baseada em computação multipartidária segura" foi publicado na CRYPTO 2019, trazendo oficialmente a implementação do MPC para o campo de visão de todos. MPC significa Computação Multipartidária Segura.
A computação multipartidária (MPC) é um ramo da criptografia que começou com o trabalho pioneiro de Andrew C. Yao há quase 40 anos. Usando computação multipartidária, a geração de chaves privadas não precisa mais ser concluída em um único ponto, mas pode ser calculada e mantida por um grupo de múltiplas partes (n partes) que não confiam umas nas outras (n chaves privadas fragmentadas). Esta tecnologia é DKG (Geração de Chave Distribuída).
A geração de chaves distribuídas pode ser feita de forma a permitir diferentes tipos de estruturas de acesso: uma configuração regular "t de n" (uma assinatura válida pode ser comprovada desde que t de n fragmentos de chave privada participem da assinatura). será capaz de tolerar até falhas arbitrárias em operações relacionadas a chaves privadas sem comprometer a segurança.
Threshold Signature Scheme (TSS) é o nome dado à combinação de Geração Distribuída de Chave (DKG) e assinaturas distribuídas.
Ao mesmo tempo, quando os fragmentos de chave privada de uma das partes são perdidos/expostos, a solução MPC suporta a recuperação e substituição de fragmentos de chave privada, garantindo a segurança da conta sem alterar contas.
A solução MPC garante que nenhuma chave privada completa apareça durante a criação, uso, salvamento, backup e recuperação da conta.Através de múltiplas partes gerando/mantendo conjuntamente fragmentos de chave privada e o esquema de assinatura de limite TSS "t out of n", ela atinge um nível melhor do que Metamask. É mais conveniente gerar/manter carteiras de chaves privadas em um único ponto. Segurança e resistência à censura: Em comparação com soluções tradicionais de frases mnemônicas, melhora muito a segurança do usuário e é até comparável a carteiras de hardware
segurança
a. Nenhuma chave privada/frase mnemônica: Durante o processo de geração da carteira, cada parte (parte do projeto da carteira e usuário) gera fragmentos de chave privada por meio do MPC. A chave privada completa nunca aparece durante todo o processo. Pode-se entender que o MPC é Verdadeiro carteira privada sem chave;
b. O custo dos ataques de hackers aumenta muito: mesmo que um hacker invada o dispositivo local do usuário, ele só poderá obter fragmentos da chave privada. Somente quando um hacker dominar o servidor da carteira + o dispositivo local do usuário ele poderá roubar a propriedade do usuário.
limite:
Login social: Os usuários podem criar contas na carteira MPC através de métodos de verificação de identidade, como e-mail (assumindo que a carteira MPC adota um esquema de assinatura 2/2, ou seja, dois fragmentos de chave privada podem ser usados ao mesmo tempo para assinar).
Resistência à censura:
A instituição centralizada (lado da carteira/dispositivo de backup) retém apenas fragmentos da chave privada da conta e não pode controlar a conta do usuário.
programa de recuperação social
A solução de recuperação social é implantada em uma conta de contrato inteligente. A carteira de contrato inteligente pode ser entendida como o uso de uma conta EOA para implantar um contrato de gerenciamento de fundos na cadeia. É o mesmo que um contrato inteligente comum. A carteira EOA do implementador tem controle sobre o contrato inteligente. certo.
A carteira de contrato inteligente não é uma solução privada sem chave porque a carteira EOA controlada possui uma chave privada;
Mas as carteiras de contratos inteligentes podem alterar a assinatura das chaves privadas dos utilizadores através de esquemas de recuperação social;
A solução de recuperação social é pedir ao seu responsável que substitua sua chave após ela ser perdida.
Dois anos após a proposta EIP-2929, Vitalik propôs pela primeira vez um caso de aplicação de carteira de recuperação social no fórum em 2021:
Ao criar uma carteira de contrato inteligente, os usuários podem designar outros endereços EOA como “guardiões”.O endereço “guardião” precisa assinar na cadeia para confirmação e pagar uma taxa de gás;
A conta EOA do usuário serve como “chave privada de assinatura” e pode ser usada para aprovar transações;
Existem pelo menos 3 (ou mais) “guardiões” de contas EOA que não podem aprovar transações, mas podem alterar a “chave privada de assinatura”. A alteração da “chave privada de assinatura” também exige que o “responsável” pague uma taxa de gás para confirmação da assinatura;
A chave privada de assinatura tem a função de adicionar ou remover responsáveis, mas todo o processo leva algum tempo (geralmente de 1 a 3 dias).
Em cenários de uso diário, os usuários podem usar carteiras de contratos inteligentes com recursos de recuperação social (como Argent e Loopring) como carteiras comuns, confirmando transações com suas chaves de assinatura. Desta forma, cada transação é concluída rapidamente com uma única confirmação, tal como acontece nas carteiras tradicionais como a Metamask:
a. Crie uma chave privada
A carteira abstrata da conta não é diferente da Metamask na criação de chaves privadas.
b. Mantenha a chave privada
Como a carteira EOA que controla o contrato é usada apenas como uma “chave privada de assinatura” e pode transferir o controle através de um guardião, os usuários não precisam manter especificamente a frase mnemônica.
c.Use chave privada
○ As carteiras de contratos também são transferências/transações e, como precisam chamar contratos, serão mais caras que as carteiras MPC e as carteiras tradicionais;
○ Mas por ser um contrato, ele suporta o uso de tokens não nativos, como USDC/USDT, para pagamento (por exemplo, ETH é o token nativo usado para pagar taxas de gás no Ethereum). Isso, sem dúvida, reduzirá bastante a dificuldade. de interação para novos jogadores Web3: em princípio, na mesma transação, a equipe do projeto troca o USDC do usuário por ETH e depois paga a taxa de gás em seu nome.
d. Faça backup da chave privada
A etapa de backup da chave privada da carteira abstrata da conta é substituída por um "guardião", porém isso é contra-intuitivo e caro:
① O usuário está usando o web3 pela primeira vez e deseja registrar uma carteira, mas precisa encontrar três amigos de confiança que já possuam carteiras EOA no web3 e pedir-lhes que paguem taxas de gás para se tornarem seus tutores;
② Se o usuário quiser compensar seus amigos pelas taxas de gás e usar a carteira recém-criada para fazer três transferências, ele precisará pagar um total de 6 taxas de gás para criar uma carteira. Não há custo para criar uma conta no Carteira MPC.
e.Restaurar chave privada
Se um usuário perder sua chave de assinatura, ele poderá solicitar o uso do recurso de recuperação social. Os usuários precisam entrar em contato com seu responsável e solicitar que assinem uma transação especial (o usuário ou responsável paga a taxa do gás) e alterem a chave pública da assinatura registrada no contrato da carteira para uma nova assinatura. Isto é muito mais simples: o responsável pode visualizar o pedido de recuperação e assiná-lo visitando uma página web como security.loopring.
No entanto, a segurança da chave privada não atinge o nível da carteira MPC:
Custo de ser atacado: Os hackers ainda podem obter a chave privada completa invadindo o dispositivo do usuário, ou seja, os usuários que usam carteiras de contrato inteligente só têm mais uma maneira de recuperar a chave privada no cenário em que a chave privada é perdida.
Baixa resistência à censura: Como o programa de recuperação social exige a designação de “tutores”, existe a possibilidade de os “tutores” conspirarem entre si para praticarem o mal.
Os principais riscos da recuperação social são:
① Conluio: Se alguns usuários souberem que fazem parte de uma recuperação, podem estar interessados em executar o ataque de recuperação;
②Ataque direcionado: um agente externo pode conhecer o proprietário da recuperação e atingir o ponto mais fraco necessário para realizar um ataque de recuperação;
③ Exposição geral: Se um invasor conseguir infectar uma grande dependência do ambiente de base de usuários e obter acesso a múltiplas identidades, isso também poderá ter efeitos colaterais em usuários não afetados por meio da recuperação.
Solução MPC vs. solução de recuperação social: segurança, limite, resistência à censura

O futuro da adoção em massa: carteira Web3
Com a solução indefesa de recuperação de conta, podemos esperar uma nova geração de carteiras Web3, ou seja, carteiras que podem ser registradas e logadas por e-mail. Selecionamos projetos representativos de carteira MPC e carteira abstrata de conta para análise, respectivamente: em termos de acesso do usuário, eles atingiram o limite baixo da memória sem palavras. Nós os avaliamos separadamente do ponto de vista da segurança e da resistência à censura——
#Bitizen
Entre as carteiras MPC, a carteira Bitizen, que é mais minuciosa em sua anticensura e conveniência, adota uma solução 2/3 TSS, vamos analisá-la do ponto de vista da segurança e anticensura da carteira:
segurança:
a.Criar
Para obter uma forte auditabilidade, após concluir o registro da carteira, o usuário pode usar um segundo dispositivo para fazer backup dos fragmentos da chave privada via Bluetooth, usando uma solução 2/3TSS: servidor Bitizen, dispositivo local do usuário e segundo dispositivo do usuário.
b.Manter
Como uma chave privada completa não é gerada durante o processo de criação da carteira, não há mnemônico: a conta Bitizen do usuário será associada ao disco na nuvem e ao e-mail do usuário, e o usuário só precisa fazer login por e-mail para usar a carteira Bitizen normalmente .
c.Usar
① O usuário pode obter os fragmentos de chave privada armazenados na nuvem Bitizen e os fragmentos de chave privada armazenados no dispositivo local por meio de autenticação de reconhecimento facial para assinatura (2/3);
②Depois que o segundo dispositivo faz backup dos fragmentos da chave privada via Bluetooth, ele pode ser salvo completamente offline e não precisa ser usado durante a semana (a assinatura requer apenas o servidor do Bitizen e o dispositivo principal do usuário para ser concluída).
d.Backup
① Faça backup dos fragmentos da chave privada local no disco da nuvem do usuário;
② Quando o usuário precisa trocar o dispositivo para fazer login, ele só precisa se autenticar por e-mail e rosto, o Bitizen solicitará ao usuário que restaure o backup dos fragmentos da chave privada do disco da nuvem.
e.Recuperação
①Da mesma forma, quando o dispositivo do usuário perde/exclui acidentalmente os arquivos locais do Bitizen, os fragmentos da chave privada podem ser recuperados através do disco na nuvem;
② Quando o usuário não consegue nem fazer login no disco da nuvem, o Bitizen recalculará os fragmentos da chave privada por meio dos fragmentos da chave privada no servidor e no segundo dispositivo de backup do usuário, permitindo que o usuário retome o uso normal.

Fonte: Bitizen Resistência à censura:
2/3 da solução TSS permite que os usuários tenham controle absoluto sobre suas próprias carteiras (2/3 dos fragmentos da chave privada estão nas mãos dos usuários).Mesmo que o Bitizen vá à falência ou fuja, os usuários ainda podem exercer o controle normal sobre suas carteiras.
#Unipass
A carteira abstrata da conta toma como exemplo o Unipass, que adota uma abordagem de contrato inteligente + carteira MPC, combinando as vantagens das duas soluções:
Nas transações, você pode usar qualquer token suportado pela carteira (tokens convencionais e de alta liquidez) para pagar taxas de gás;
Em termos de armazenamento de chaves privadas, as tecnologias MPC (2/2) e TSS são utilizadas para gerar chaves privadas de forma distribuída, de modo que não há possibilidade de a chave privada ser obtida por um hacker em um único ponto - o privado a chave é dividida em duas partes, sendo uma armazenada no Unipass.No servidor, uma cópia é salva no dispositivo local do usuário;
Para recuperar chaves privadas, o Unipass usa a solução DomainKeys Identified Mail (DKIM). Os usuários podem usar endereços de e-mail como "responsáveis" em vez de outros endereços EOA. Isso reduz bastante o limite para os usuários encontrarem responsáveis: não há necessidade de os responsáveis usarem a área. Blockchain requer apenas o endereço de e-mail do responsável.

Fonte: Unipass
Limite baixo -> alta aplicabilidade
Carteiras de baixo limite não são o fim das aplicações de carteira.A atual infraestrutura Web3 ainda está muito atrás do financiamento tradicional da Web2. As funções de dedução automática e pagamento automático regular fornecidas pela Visa trazem grande comodidade aos usuários, mas ainda são difíceis de implementar no Ethereum. As contas de abstração de contas podem ser a próxima narrativa de carteira blockchain altamente aplicável: a Visa publicou um artigo "Pagamentos automáticos para carteiras de autocustódia" para explorar o uso da carteira de abstração de contas Argent para implementar na rede StarNet Pagamentos programáveis automatizados, permitindo aos usuários automatizar pagamentos usando carteiras auto-hospedadas sem precisar assinar todas as transações. Como a carteira abstrata da conta é implementada? Na verdade, esse conceito tem suas origens há muito tempo.
Abstração de conta – de EIP-2938 a EIP-4337
Com a proposta do EIP-4337, o tema abstração de contas voltou à atenção de todos. A solução de recuperação social e abstração de contas (usando contratos inteligentes como carteiras EOA, ou seja, abstração de contas) foram propostas antes do EIP-1271 e foram implementadas pela Argent e outras carteiras na Camada 2, como StarkNet. solução tem sido muito discutida na comunidade recentemente. Qual é a diferença (abstração de conta)?
Do EIP-86 em 2015 ao recente hot spot EIP-4337, o pensamento central dos desenvolvedores gira em torno de “o contrato é a carteira”, e a abstração da conta permite que os usuários interajam com a rede principal de forma intuitiva. Isso permite que os usuários controlem com precisão as principais permissões de suas contas. Uma vez que o código da conta EOA foi estipulado, é impossível realizar um design modular e funcional na carteira EOA, como adicionar transferência em lote/recuperação social e outras funções, por isso todos se concentram em contratos inteligentes. A proposta mais próxima do EIP-4337 é o EIP-2938. O EIP-2938 também define um novo protocolo de operação de contrato inteligente, mas precisa ser modificado na camada de consenso, dificultando sua manutenção pelos desenvolvedores. A principal inovação do EIP-4337 é que a rede principal não exige alterações de protocolo em nível de consenso.
No EIP-1237, o início da assinatura do endereço do contrato precisa contar com o Relayer centralizado para assinatura, e o Relayer é centralizado, e os padrões entre cada Relayer são diferentes e não é compatível com multi-chain/multi-dAPP ;
No EIP-4337, propõe-se substituir o Relayer pelo Bunbler.O Bundler é um multipartidário descentralizado, que melhora a resistência à censura das carteiras de contratos inteligentes e unifica os padrões de assinatura, o que pode reduzir bastante a dificuldade de integração para os desenvolvedores;
O EIP-4337 terá impacto no futuro, mas por enquanto não melhorará a experiência do usuário. Portanto, o entusiasmo em discutir esta solução é limitado a VCs e desenvolvedores. É mais parecido com Move to Aptos, o que deixa VCs e outros investidores e a comunidade de desenvolvedores entusiasmados. Para usuários web3, esta Camada 1 está escrita em Solidity ou Move? a experiência do usuário ainda não mudou muito.
① Afinal, Argent, uma carteira de captação de contas, completou US$ 56,2 milhões em financiamento desde 2018. Após 4 anos de desenvolvimento, ela possui apenas 7,40.000 endereços: logo após a ascensão do defi, os usuários no círculo monetário mudaram de trocas para o uso do Metamask. A ascensão do Metamask se deve às minas com alto APY. Atualmente, a mania das carteiras de contratos inteligentes ainda precisa de um novo catalisador;

Fonte: Duna ②Os depósitos dos usuários atuais na Argent não são tão grandes quanto o valor do financiamento

Fonte: Duna ③No entanto, com a implementação da proposta de abstração de conta da rede principal Ethereum, isso significa que os usuários Argent podem se conectar perfeitamente da StarkNet à rede principal Ethereum. As faíscas acesas neste processo também valem a pena esperar.
Casos de uso
①Controle de permissão refinado: refine a permissão de assinatura única do EOA:
▽Dê ao usuário A um limite de transferência de X TokenB no contrato
▽Conceder permissões de transação tokenC autorizadas do contrato do usuário B em vez de permissões de transferência
▽Quando ninguém usar o contrato por um longo período, o direito de uso do contrato será automaticamente transferido
② Métodos diversificados de pagamento de Gás: pagamento por terceiros ou pagamento em qualquer token
③Dedução automática/reembolso automático
Abraçando o futuro da Web3
Como um clichê, existem 4,8 bilhões de usuários web2, e os usuários web3 ultrapassaram 100 milhões em 2022. Ainda estamos no estágio inicial de desenvolvimento do blockchain.

Voltando à pergunta do início do artigo: “Quanto risco e responsabilidade estou disposto a assumir pelos meus ativos?”, posso garantir que minha carteira não será perdida sem ter que lembrar da minha chave privada?
Sempre ouvi perguntas tradicionais de VC: Existe algum cenário que apenas o web3 pode fazer, mas o web2 não? Acreditamos que a carteira Web3 é um exemplo de tapa na cara da Web2 tradicional: somente na rede descentralizada da Web3 podemos esperar uma boa carteira que atenda à resistência à censura, à segurança e à experiência do usuário. responsabilidade. O surgimento de tal carteira também é uma base importante para 4,7 bilhões de usuários da Web2 abraçarem o futuro da Web3: a carteira não é apenas a primeira entrada para a Web3, mas também o nome de domínio na cadeia (como ENS), a alma token vinculado (Soul-Bounded Token), A base para o desenvolvimento de sistemas de reputação on-chain (Identificadores Descentralizados), sem um ambiente de carteira seguro, a construção do Web3 Lego não terá uma base sólida.
Precisamos pensar mais seriamente. Não há muitas oportunidades de disparar no mercado baixista. A MPC nos mostrou um futuro onde as carteiras EOA são mais fáceis de usar e mais seguras, e podem se adaptar a todas as cadeias EVM atuais. Ainda há um longo caminho ainda há um longo caminho a percorrer antes que os contratos inteligentes possam ser conectados aos dAPPs. Ainda há um longo caminho a percorrer. O plano de recuperação social atualmente parece inútil, mas as possibilidades futuras dos contratos inteligentes são emocionantes. Em quem vamos apostar? Usaremos recursos reais dinheiro para entregar nesta resposta.
2022 é um ano sombrio para as criptomoedas, mas ainda acreditamos que o futuro é brilhante. Somos feiticeiros despertos em World of Warcraft e queremos criar um mundo onde ninguém possa tirar nosso sifão de vida (a menos que a proposta seja votada).

Declaração: Parte deste artigo é baseada em uma entrevista com Winson, CEO da carteira Web3 Bitizen. Bitizen é um dos portfólios da RedlineDAO. Gostaríamos de agradecer a Bitizen e Winson pelo apoio a este artigo.
referências
Descrição da assinatura limite: https://www.wwsww.cn/btbjiaoxue/1273.html
Trazendo usuários da Web2 para a Web3 - o futuro pertence à indefesa palavra carteira: https://mp.weixin.qq.com/s/TF2FCQDyyApzEVHQjxgZRg
Buterin: Por que precisamos da adoção generalizada de carteiras de recuperação social? : https://www.163.com/dy/article/GNQ4K9D905373E94.html
A carteira sem custódia Solana Phantom foi hackeada e os fundos de vários usuários foram roubados: https://chainfeeds.xyz/search
Sócio fundador da Fenbushi Capital, Shen Bo: Bens pessoais avaliados em 42 milhões foram roubados e o caso foi relatado: https://chainfeeds.xyz/feed/flash/detail/7a02d517-5a54-4892-a42a-ac519406da12
Wintermute perdeu US$ 160 milhões em hack DeFi: https://chainfeeds.xyz/feed/flash/detail/39c24b5e-693c-49a1-bf5c-ec04b829f8b6
A chave privada do endereço de implantação do contrato ParaSwap pode ter vazado e os fundos da cadeia foram roubados: https://chainfeeds.xyz/feed/flash/detail/04c9a5d2-6e86-4207-9b1d-913eced8d2a7
Motivo do roubo da ponte cross-chain Ronin: https://chainfeeds.xyz/feed/flash/detail/7a810726-80eb-4fef-a40b-a38c3c9f9738
Todos os direitos reservados. É proibida a reimpressão sem autorização.




