riepilogo
"Non la tua chiave, non la tua moneta", indipendentemente dal portafoglio smart contract o dal portafoglio del conto personale, la chiave privata ha il controllo assoluto sul portafoglio. Una volta persa la chiave privata, il nostro portafoglio è completamente esposto ai rischi.
La chiave privata è la base del portafoglio e la frase mnemonica è la soluzione per il ripristino della chiave privata, che è anche l'attuale ostacolo allo sviluppo del portafoglio.
La soluzione impotente della memoria delle parole portata da MPC e dal recupero sociale è la base dell'adozione di massa
Maggiori possibilità per i futuri portafogli, aspettative per EIP-4337
testo
Nel 2010, Vitalik Buterin, il fondatore di Ethereum, aveva un account di stregone in World of Warcraft. Un giorno, Blizzard ha deciso di ridurre drasticamente il personaggio dello stregone e rimuovere la parte del danno magico dell'incantesimo sifone della vita. Pianse fino ad addormentarsi e quel giorno, rendendosi conto degli orrori dei server centralizzati, decise di smettere e creare la rete decentralizzata Ethereum. Nel novembre 2022, FTX, la più grande borsa di derivati al mondo, è stata denunciata per essersi appropriata indebitamente dei fondi degli utenti. Il fondatore della SBF è stato arrestato dalla polizia delle Bahamas ed era pronto per essere trasferito negli Stati Uniti per il processo.
Dal giocatore Warlock che è stato inspiegabilmente pugnalato alle spalle da Blizzard 13 anni fa agli utenti vittimizzati di FTX che difendono i propri diritti oggi, siamo sempre più consapevoli dell'importanza della frase "Non la tua chiave, non la tua moneta": anche con controlli/controlli di terze parti I regolatori e i server centralizzati possono ancora manomettere e cancellare i dati a piacimento, ma su una rete decentralizzata, il registro on-chain è trasparente e non può essere manomesso. Finché disponiamo della chiave privata del nostro account, abbiamo il controllo assoluto sui nostri beni personali.
La decentralizzazione è meravigliosa, ma a quale costo?
Noi che viviamo nella rete blockchain siamo i primi responsabili del nostro patrimonio personale. Il compromesso più critico per la maggior parte degli utenti quando scelgono un portafoglio on-chain è: quanti rischi e responsabilità sono disposto ad assumermi sulle mie risorse? Prendiamo ad esempio le istituzioni finanziarie tradizionali:
Agli occhi degli utenti che perseguono la sicurezza, sperano di depositare i propri soldi in una banca con fasi di apertura del conto complicate ma su larga scala: Sicurezza dei fondi (rischio) delle grandi banche > Procedure di apertura del conto standard e rigorose (responsabilità)
Agli occhi degli utenti che perseguono la praticità, possono semplicemente mettere i loro soldi in WeChat e Alipay WeChat e Alipay possono facilmente completare transazioni P2P e richiedono solo una carta d'identità e un numero di cellulare per completare la registrazione, anche se WeChat e Alipay sono solo. Due società quotate anziché istituti bancari sostenuti dallo Stato: convenienza di WeChat (responsabilità) > Stato operativo di WeChat (rischio)
Tornando a web3, abbiamo due modi per archiviare risorse in web3, portafogli di custodia e portafogli non custoditi. Prima di ciò, dobbiamo fornire una breve introduzione al principio dei portafogli:
Portafoglio e chiave privata
La generazione dell'account è il processo di creazione della chiave privata. Su Ethereum, ci sono due tipi di conti: conti EOA (conto di proprietà esterno, conti esterni) e conti di contratto (contratti intelligenti distribuiti sulla catena tramite conti EOA):
Prendendo come esempio il conto EOA,

Indirizzo EOA
Generando un numero casuale a 256 bit come chiave privata, quindi utilizzando la chiave privata per derivare la chiave pubblica corrispondente utilizzando l'algoritmo SHA3 e quindi utilizzando keccak-256 per calcolare l'indirizzo (gli ultimi 20 byte dell'hash originale) , un unico L'account personale corrispondente alla chiave privata. Durante questo processo, la chiave privata calcolerà e genererà 12 mnemonici e potremo utilizzare i mnemonici per derivare nuovamente la chiave privata.

Attualmente, i portafogli dApp più diffusi sulle principali catene principali sono i portafogli EOA, come Metamask, Phantom (Solana), BSC Wallet (BSC) e Keplr (Cosmos).
2. L'account intelligente è un pezzo di codice EVM distribuito sulla catena tramite l'account EOA, che può implementare diverse funzioni. Ma a differenza dell'account EOA, l'account del contratto non ha una chiave privata e non può essere eseguito attivamente. Può essere richiamato solo dall'account EOA. Pertanto, il controllo finale del portafoglio del contratto intelligente è la chiave privata dell'account EOA utilizzata per la distribuzione Inteso a questo livello, anche gli account del contratto intelligente sono controllati da chiavi private. Finché l’indirizzo del portafoglio è un contratto, è un portafoglio di contratti intelligenti.
I portafogli smart contract sono suddivisi in portafogli multi-firma (account Multisig) e portafogli astratti per account (account astratto):
Portafogli multifirma: già nel 2013, i portafogli multifirma sono diventati la scelta migliore per i fondi monetari internazionali. Questa tecnologia è stata originariamente sviluppata nell'ecosistema Bitcoin, e ora ci sono eccellenti portafogli multifirma in Ethereum (come Gnosis Safe): la Fondazione Ethereum utilizza un portafoglio multifirma 4 su 7 (ovvero, crea un contratto intelligente per immagazzinare fondi e controllare il contratto attraverso 7 conti EOA Solo quando firmano più di 4/7 conti EOA, la firma può essere completata.
L'astrazione dell'account utilizza un singolo portafoglio EOA per controllare l'indirizzo del contratto per ottenere l'effetto di simulare l'EOA con contratti intelligenti. Progetti popolari come Argent/Loopring appartengono tutti ai portafogli di astrazione dell'account.

Indirizzo del contratto Apecoin
3. Dopo la creazione dell'account, qualsiasi attività on-chain a cui partecipiamo è inseparabile dalla partecipazione della chiave privata.
Secondo l’introduzione dell’insegnante Liao Xuefeng:
In una rete decentralizzata non esiste un istituto fiduciario come una banca. Se si desidera effettuare una transazione tra due nodi, è necessario implementare un meccanismo per transazioni sicure sotto zero trust.
Supponiamo che Xiao Ming e Xiao Hong vogliano fare un accordo. Un modo per creare un accordo è che Xiao Hong affermi che Xiao Ming gli ha dato 10.000 yuan, il che ovviamente non è credibile;
Un altro modo per creare una transazione è: Xiao Ming afferma di aver dato a Xiao Hong 10.000 yuan. Finché si può verificare che questa dichiarazione è stata effettivamente fatta da Xiao Ming e Xiao Ming ha davvero 10.000 yuan, la transazione è considerata efficace. .
Come verificare la dichiarazione fatta da Xiao Ming?
La firma creata tramite la chiave privata consente al verificatore di confermare l'iniziatore della dichiarazione: chiunque può utilizzare la chiave pubblica per confrontare la firma digitale e il risultato del trasferimento Poiché solo Xiao Ming con la chiave privata può avviare questa dichiarazione, io posso Sono convinto che questa affermazione sia stata effettivamente fatta da Xiao Ming.
Nella rete Ethereum, tali transazioni includono non solo transazioni di trasferimento P2P, ma anche chiamate a contratti intelligenti.
Quindi, quando utilizziamo quotidianamente il portafoglio, equivale a richiamare la chiave privata locale attraverso la piattaforma del portafoglio per completare la firma sulla catena.
Sicurezza del portafoglio, soglie e resistenza alla censura
Tutto ciò che riguarda il portafoglio è costruito attorno alle chiavi private. Un portafoglio è essenzialmente uno strumento che 1. crea una chiave privata, 2. conserva la chiave privata, 3. utilizza la chiave privata, 4. esegue il backup della chiave privata, 5. ripristina la chiave privata corrente. la soluzione di recupero sono le Parole mnemoniche, ovvero le combinazioni di 12/24 parole che compaiono durante la registrazione di un portafoglio:
La frase mnemonica può dedurre il testo semplice della chiave privata. Quando l'utente migra il portafoglio su un nuovo dispositivo, deve solo inserire la frase mnemonica nell'app del portafoglio per dedurre la chiave privata e riprendere il controllo del portafoglio.
Per gli utenti, chiave privata = frase mnemonica, ma questi due concetti sono ancora diversi nell'uso quotidiano del portafoglio: la frase mnemonica è la soluzione di backup e ripristino della chiave privata dell'utente
Un'analogia: il mnemonico equivale a copiare la tua chiave. Quando la tua chiave viene persa, puoi utilizzare il mnemonico per generare una chiave identica.

Poiché la chiave privata è la nostra unica credenziale per interagire con la rete blockchain, è nostra responsabilità mantenere al sicuro la chiave privata e la frase mnemonica del nostro portafoglio. Naturalmente, il modo più sicuro per creare un account è creare un account in un ambiente offline e generare il proprio indirizzo eseguendo numeri casuali (chiavi private) e algoritmi SHA256 tramite codice. Tuttavia, questa soglia è senza dubbio troppo alta e non è adatta per la maggior parte degli utenti. Pertanto, quando scelgono un portafoglio, gli utenti devono considerare tre punti: sicurezza, soglia e resistenza alla censura:
Sicurezza: quanto costa per un hacker violare la chiave privata/frase mnemonica di un portafoglio?
Prendendo come esempio i portafogli hardware, gli hacker possono ottenere le chiavi private degli utenti solo tramite phishing o rubando chiavi private offline.
Soglia: quanto è facile utilizzare il portafoglio?
Il processo di registrazione di Metamask richiede agli utenti di registrare 12 mnemonici e 12 mnemonici devono essere reinseriti quando si cambiano i dispositivi, la registrazione allo scambio di Binance e l'accesso al dispositivo possono essere completati con un clic tramite l'accesso e-mail.
Resistenza alla censura: se il controllo finale del portafoglio spetta all'utente
Se l'app del portafoglio salva il testo in chiaro della frase mnemonica importata dall'utente e lo carica sul server, gli hacker possono rubare il portafoglio dell'utente violando il server. E anche se non si verifica alcun attacco da parte di hacker, esiste comunque la possibilità che la parte del progetto Slope abbia commesso un furto e non abbia raggiunto la resistenza alla censura.
Esistono due categorie principali di portafogli: portafogli non custoditi e portafogli di custodia centralizzati.
Portafoglio non custodito: gli utenti mantengono le proprie frasi mnemoniche
a. Prendiamo come esempio il portafoglio tradizionale Metamask. MetaMask è un portafoglio di criptovaluta non custodito (o auto-custodiale). Non custodiale significa che MetaMask non memorizza alcun dato sul portafoglio e i dati della chiave privata sono tutti nel browser o nell'applicazione mobile a livello locale. Quando l'utente deve eseguire attività di firma sulla catena, MetaMask chiamerà il privato chiave dal file locale per la firma. E se la chiave privata dell'utente e la frase mnemonica vengono perse/rubate, Metamask non sarà in grado di aiutare l'utente a recuperarle e le risorse dell'utente andranno perse definitivamente.
b. Riconosciuto come il portafoglio hardware più sicuro (come Ledger), un dispositivo hardware viene utilizzato per generare la chiave privata e l'indirizzo del portafoglio offline, quindi la chiave pubblica dell'indirizzo viene importata in un portafoglio web come Metamask è richiesta la firma, registro L'hardware è confermato offline Poiché la chiave privata non tocca affatto Internet, è difficile per gli hacker rubare la chiave privata nel portafoglio hardware. Tuttavia, se l'utente perde la frase mnemonica o subisce un phishing, l'effetto protettivo del portafoglio hardware verrà ridotto a zero e il patrimonio dell'utente verrà comunque rubato.
Portafoglio ospitato
I portafogli di scambio come Coinbase/Binance adottano un metodo di portafoglio gestito. La differenza è che l'account visualizzato in Coinbase non contiene la chiave privata dell'utente, ma è solo il numero contabile visualizzato nel programma Coinbase anziché visualizzato su Etherscan. Le risorse della catena possono essere intese come utenti che si fidano di Coinbase e affidano le risorse a Coinbase invece di possederle personalmente, quindi gli account Coinbase non possono interagire con dAPP come Uniswap.

In generale, in un portafoglio di custodia, la parte del progetto conserva la frase mnemonica per suo conto, e la soglia per la registrazione e il ripristino del portafoglio è bassa, ma la sicurezza del portafoglio dipende dalla parte del progetto piuttosto che dall'utente stesso, e il la parte del progetto ha il controllo effettivo sul portafoglio; i portafogli non custoditi. La frase mnemonica è nelle mani dell'utente e la soglia per la registrazione e il ripristino del portafoglio è elevata, ma la sicurezza e la resistenza alla censura sono entrambe elevate.

Svantaggi degli schemi mnemonici
Man mano che WEB3 continua a svilupparsi, emergono sempre più richieste e scenari applicativi e l'ecologia della catena è in forte espansione. Soprattutto l'estate Defi del 2021 ha attirato un gran numero di utenti che originariamente commerciavano solo in borsa per migrare i propri beni su On. Nella catena, a marzo 2022, gli utenti attivi mensili di MetaMask hanno raggiunto i 30 milioni. Tuttavia, allo stesso tempo, in quanto soluzione mnemonica di recupero degli account più diffusa, le frasi mnemoniche sono diventate l'obiettivo principale degli hacker: per gli utenti ordinari, le più comuni. Un incidente di furto del portafoglio è che la frase mnemonica viene copiata negli appunti o che il file della chiave privata archiviato localmente viene rubato da un sito Web di phishing.
Quando un hacker attacca, deve misurare il costo dell'attacco e le ricompense ottenute. Tutte le chiavi private (12 parole mnemoniche) sono sottoinsiemi del dizionario. Finché il dizionario è esaurito, l'hacker può ottenere tutte le risorse presenti sul dizionario catena. . Tuttavia, questo rapporto input-output è negativo se il dizionario organizza tutte le combinazioni tramite un algoritmo di forza bruta;
Le attuali parole mnemoniche tradizionali sono 12 parole inglesi e il vocabolario ha un totale di 2048 parole. Cioè, 2048^12=5.44e39 tipi (5444517870735000000000000000000000000000);
Se viene utilizzata una potenza di calcolo così enorme, gli hacker possono già controllare la rete BTC attraverso un attacco del 51%;
Pertanto, il metodo con un tasso di ritorno più elevato per gli hacker è quello di ottenere la frase mnemonica dell'utente tramite phishing o rubare la chiave privata salvata sul dispositivo locale dell'utente.
Continuando con l'esempio di Metamask, ci sono due posti in cui un hacker può ottenere la frase mnemonica salvata e la chiave privata:
Frase mnemonica
a. Dopo aver creato il portafoglio, l'utente deve conservare il mnemonico generato. In genere si consiglia di copiarlo su un foglio bianco con carta e penna e conservarlo correttamente. Tuttavia, ci sono anche persone pigre che utilizzano gli appunti copialo, incollalo e salvalo in un documento o anche nella cronologia chat di WeChat;
b. Se un hacker ha installato malware sul telefono/computer dell'utente e controlla costantemente gli appunti dell'utente, può rubare la chiave privata appena creata. Ad esempio, QuickQ VPN è stata esposta alla copia degli appunti degli utenti per rubare frasi mnemoniche.
chiave privata
a. Allo stesso tempo, Metamask generalmente crittografa la chiave privata e la salva sul dispositivo locale in cui viene creato il portafoglio in modo che possa essere richiamato in qualsiasi momento Se il plug-in Metamask è installato su Chrome:
i. Nella posizione di archiviazione su Windows, l'indirizzo di archiviazione della chiave privata di Metamask:
C:\Utenti\NOME_UTENTE\AppData\Local\Google\Chrome\Dati utente\Default\Impostazioni estensione locale\nkbihfbeogaeaoehlefnkodbefgpgknn
ii. Posizione di archiviazione su Mac: Libreria>Supporto applicazioni>Google>Chrome>Predefinito>Impostazioni estensione locale>nkbihfbeogaeaoehlefnkodbefgpgknn
b. La sicurezza di Metamask dipende dalla sicurezza di Chrome Una volta che un hacker ha violato il firewall di Chrome, l'hacker può ottenere la chiave privata dell'indirizzo dell'utente e trasferire tutte le risorse. Questo è il motivo per cui i portafogli hardware sono più sicuri dei portafogli plug-in come Metamask.
Oltre a Metamask, alcuni portafogli non gestiti non raggiungono nemmeno un'elevata resistenza alla censura, come l'incidente del furto del portafoglio Slope su Solana: l'applicazione mobile di Slope ha inviato parole mnemoniche al loro server Sentry tramite TLS durante la creazione del portafoglio Phantom. La frase mnemonica è quindi archiviati in testo non crittografato, il che significa che chiunque abbia accesso a Sentry può accedere alla chiave privata dell'utente.
Inoltre, ci sono altri incidenti legati alla sicurezza del portafoglio meritevoli di nostra riflessione:
Account EOA rubato
Rubato il portafoglio del fondatore di Fenbushi Capital:
Il motivo del furto del portafoglio di Shen Bo è stata la fuga della frase mnemonica. Il portafoglio utilizzato al momento del furto era Trust Wallet. L'importo rubato comprendeva circa 38,23 milioni di USDC, 1.607 ETH, 720.000 USDT e 4,13 BTC.
Il portafoglio Wintermute è stato attaccato e ha perso circa 160 milioni di dollari. Il motivo del furto è che Wintermute ha utilizzato Profanity per creare un portafoglio Vanity per risparmiare sulle tariffe del gas (a partire da 0x0000000, che può risparmiare gas quando si chiamano contratti intelligenti):
Volgarità è progettata per aiutare le persone a generare account con effetti visivi speciali, come un account che inizia o termina con caratteri speciali. D'altra parte, alcuni sviluppatori lo utilizzano per generare account che iniziano con molti zeri.
Dopo che Profanity ottiene la prima chiave privata a 32 bit SeedPrivateKey, per entrare in collisione con l'indirizzo dell'account richiesto, itererà continuamente la chiave privata attraverso un algoritmo fisso, fino a 2 milioni di volte (il valore proviene dall'articolo divulgato da 1inch) . Quando la PublicKey è nota, possiamo ottenere SeedPrivateKey enumerando in modo esaustivo SeedPrivateKey e Iterator. L'importo del calcolo è di circa 2 ^ 32 volte 2 milioni di volte. Una scheda grafica con una potente potenza di calcolo può completarlo in pochi giorni o anche pochi ore.
Conto contrattuale rubato
L'indirizzo di distribuzione del contratto di Paraswap è stato rubato:
Secondo il rapporto di indagine di SlowMist: l’indirizzo dell’hacker (0xf358..7036) ha ottenuto le autorizzazioni per la chiave privata di ParaSwap Deployer e QANplatform Deployer. L'hacker ha ritirato $ 1.000 da ParaSwap Deployer e li ha trasferiti dentro e fuori gli indirizzi del distributore QANplatform come test. Abbiamo utilizzato la piattaforma AML per analizzare 0xf358..7036 e abbiamo scoperto che l'hacker ha rubato anche The SolaVerse Deployer e molti altri bellissimi indirizzi. Ad oggi, gli hacker hanno rubato più di 170.000 dollari.
Nel marzo di quest'anno il Ronin Bridge è stato violato, provocando la perdita di 173.600 ETH e 25,5 milioni di USDC:
L'hacker ha creato un'azienda inesistente, ha messo in contatto l'ingegnere senior di Axie tramite Linkedin e WhatsApp, lo ha attirato con nuove opportunità di lavoro, ha organizzato un colloquio e alla fine gli ha offerto uno stipendio generoso. Tuttavia, il file dell'offerta era velenoso, quindi ha avuto successo ha invaso il sistema Axie e rubato L'ingegnere distribuisce la chiave privata dell'indirizzo EOA del contratto.
Oltre ad essere l'obiettivo principale degli hacker, lo schema mnemonico costituisce anche una soglia elevata che impedisce ai nuovi utenti di accedere a WEB3.
Quando si crea un portafoglio, è necessario copiare manualmente 12 parole per motivi di sicurezza ed è meglio non scattare foto di questo white paper e salvarlo. Anche utilizzando un software di salvataggio password open source affidabile (come 1password), non possiamo utilizzare il comodo salvataggio copia-incolla a causa del rischio di furto degli appunti
Quando si ripristina il portafoglio, ovvero quando si cambia il dispositivo di accesso, è necessario sfogliare questo white paper e inserire nuovamente 12 parole.
Tenere un pezzo di carta bianca con 12 parole scritte sopra sembra molto inaffidabile e poco web3: non vediamo l'ora di vivere nel futuro del metaverso, ma la sicurezza dei nostri conti si basa su un pezzo di carta bianca inventato durante la dinastia Song. A questo punto, questi due passaggi sono sufficienti per dissuadere la maggior parte dei giocatori web2. Dopotutto, nel mondo web2, la maggior parte dei processi di registrazione può essere effettuata con un clic utilizzando un account Google/ios.
Nuova soluzione per il recupero dell'account senza memorizzare parole
Per abbassare la soglia del portafoglio e attirare più utenti ad accedere a WEB3, dobbiamo utilizzare soluzioni di accesso agli account social come Web2 senza perdere la sicurezza e la resistenza alla censura del portafoglio. Pertanto, abbiamo bisogno di una soluzione di recupero dell’account più comoda e sicura. Tutte le discussioni attuali puntano alla fine: la memoria indifesa. Attualmente esistono due soluzioni di implementazione per le parole indifese: la soluzione MPC e la soluzione di recupero sociale.
Soluzione MPC: la chiave privata viene calcolata e generata da più parti, evitando così incidenti puntuali causati dalla perdita/furto della chiave privata dell'utente.
Può essere inteso come: MPC è un 3FA. Ogni metodo di verifica contiene un frammento di chiave La serratura della porta non ha una chiave separata Quando uno dei frammenti di chiave viene perso, l'utente può utilizzare altri metodi di verifica per recuperare la chiave persa .frammento chiave
Soluzione di recupero sociale: archiviare fondi in contratti intelligenti, controllati dal portafoglio EOA attraverso una soluzione multi-firma/firma singola e designare un tutore di fiducia di terze parti. Quando la chiave privata del portafoglio EOA viene persa, il tutore di terze parti la sostituisce il controllo del contratto, quindi l'utente non ha bisogno di salvare la frase mnemonica.
Le discussioni attuali di solito discutono fianco a fianco del recupero sociale e dei portafogli di astrazione degli account. Va notato che la soluzione di recupero sociale è uno standard e una funzione sui contratti intelligenti, proposta da EIP-2429 nel 2019, il che significa che gli utenti possono controllare il contratto tramite tutori. La chiave privata viene sostituita; l'EIP-4337 recentemente discusso è una discussione sull'astrazione dell'account, di cui parleremo nel capitolo successivo.
Soluzione MPC
La soluzione MPC prevede che durante la creazione di un portafoglio EOA, più parti creino congiuntamente frammenti di chiave privata. Nel 2019, al CRYPTO 2019 è stato pubblicato il documento "Firma digitale a curva ellittica bipartita basata su calcolo multipartitico sicuro", portando ufficialmente l'implementazione di MPC nel campo visivo di tutti. MPC sta per Secure Multi-Party Computation.
La computazione multipartita (MPC) è una branca della crittografia iniziata con il lavoro pionieristico di Andrew C. Yao quasi 40 anni fa. Utilizzando il calcolo multi-party, la generazione delle chiavi private non deve più essere completata in un unico punto, ma può essere calcolata e conservata da un gruppo di più parti (n parti) che non si fidano l'una dell'altra (n chiavi private frammentate) Questa tecnologia è DKG (Generazione di chiavi distribuite).
La generazione di chiavi distribuite può essere effettuata in modo da consentire diversi tipi di strutture di accesso: un'impostazione regolare "t su n" (una firma valida può essere dimostrata purché t su n frammenti di chiave privata partecipino alla firma) sarà in grado di tollerare fino a errori arbitrari nelle operazioni relative alla chiave privata senza compromettere la sicurezza.
Threshold Signature Scheme (TSS) è il nome dato alla combinazione di Distributed Key Generation (DKG) e firme distribuite.
Allo stesso tempo, quando i frammenti di chiave privata di una delle parti vengono persi/esposti, la soluzione MPC supporta il recupero e la sostituzione dei frammenti di chiave privata, garantendo la sicurezza dell'account senza cambiare account.
La soluzione MPC garantisce che la chiave privata completa non venga visualizzata durante la creazione, l'utilizzo, il salvataggio, il backup e il ripristino dell'account. Attraverso la generazione/detenzione congiunta di frammenti di chiave privata da parte di più parti e lo schema di firma della soglia TSS "t su n". raggiunge un livello migliore di Metamask. È più conveniente generare/conservare portafogli di chiavi private in un unico punto. Sicurezza e resistenza alla censura: rispetto alle tradizionali soluzioni di frasi mnemoniche, migliora notevolmente la sicurezza dell'utente ed è persino paragonabile ai portafogli hardware
sicurezza
a. Nessuna chiave privata/mnemonico: durante il processo di generazione del portafoglio, ciascuna parte (parte del progetto del portafoglio e utente) genera frammenti di chiave privata tramite MPC. La chiave privata completa non viene mai visualizzata durante l'intero processo portafoglio senza chiave;
b. Il costo degli attacchi hacker aumenta notevolmente: anche se un hacker invade il dispositivo locale dell'utente, può ottenere solo frammenti della chiave privata. Solo quando un hacker controlla il server del portafoglio + il dispositivo locale dell'utente può rubare la proprietà dell'utente.
soglia:
Accesso social: gli utenti possono creare account sul portafoglio MPC tramite metodi di verifica dell'identità come l'e-mail (supponendo che il portafoglio MPC adotti uno schema di firma 2/2, ovvero è possibile utilizzare due frammenti di chiave privata contemporaneamente per firmare).
Resistenza alla censura:
L'istituzione centralizzata (lato portafoglio/dispositivo di backup) conserva solo frammenti della chiave privata dell'account e non può controllare l'account dell'utente.
programma di recupero sociale
La soluzione di recupero sociale viene distribuita su un conto del contratto intelligente. Il portafoglio del contratto intelligente può essere inteso come l'utilizzo dell'account EOA per implementare un contratto per la gestione dei fondi sulla catena. È lo stesso del portafoglio EOA ordinario diritto di controllo sul contratto intelligente.
Il portafoglio smart contract non è una soluzione privata senza chiave perché il portafoglio EOA controllato ha una chiave privata;
Ma i portafogli smart contract possono modificare le chiavi private di firma degli utenti attraverso schemi di recupero sociale;
La soluzione di recupero sociale è chiedere al tuo tutore di sostituire la chiave dopo averla smarrita.
Due anni dopo la proposta EIP-2929, Vitalik ha proposto per la prima volta un caso di richiesta di portafoglio per il recupero sociale nel forum nel 2021:
Quando creano un portafoglio di contratti intelligenti, gli utenti possono designare altri indirizzi EOA come "guardiani". L'indirizzo "guardiano" deve firmare sulla catena per la conferma e pagare le tariffe del gas;
L'account EOA dell'utente funge da "chiave privata di firma" e può essere utilizzato per approvare le transazioni;
Esistono almeno 3 (o più) "guardiani" dei conti EOA che non possono approvare le transazioni, ma possono modificare la "chiave privata di firma". La modifica della "chiave privata della firma" richiede inoltre che il "tutore" paghi una tariffa per il gas per la conferma della firma;
La chiave privata di firma ha la funzione di aggiungere o rimuovere tutori, ma l'intero processo richiede del tempo (solitamente 1-3 giorni).
Negli scenari di utilizzo quotidiano, gli utenti possono utilizzare portafogli smart contract con funzionalità di recupero sociale (come Argent e Loopring) proprio come normali portafogli, confermando le transazioni con le loro chiavi di firma. In questo modo ogni transazione viene completata rapidamente con un'unica conferma, proprio come nei portafogli tradizionali come Metamask:
a. Creare una chiave privata
L'account abstract wallet non è diverso da Metamask nella creazione di chiavi private.
b. Conservare la chiave privata
Poiché il portafoglio EOA che controlla il contratto viene utilizzato solo come "chiave privata della firma" e può trasferire il controllo tramite un tutore, gli utenti non devono conservare specificamente la frase mnemonica.
c.Utilizzare la chiave privata
○ Anche i portafogli di contratto sono trasferimenti/transazioni e, poiché necessitano di richiamare contratti, saranno più costosi dei portafogli MPC e dei portafogli tradizionali;
○ Ma poiché si tratta di un contratto call, supporta l'uso di token non nativi come USDC/USDT per il pagamento (ad esempio, ETH è il token nativo utilizzato per pagare le tariffe del gas su Ethereum). Ciò ridurrà senza dubbio notevolmente la difficoltà di interazione per i nuovi attori Web3: in linea di principio, nella stessa transazione, il team di progetto scambia gli USDC dell'utente in ETH e poi paga per suo conto la tariffa del gas.
d. Eseguire il backup della chiave privata
La fase di backup della chiave privata del portafoglio di astrazione dell'account viene sostituita da un "guardiano", tuttavia ciò è controintuitivo e costoso:
① L'utente utilizza web3 per la prima volta e desidera registrare un portafoglio, ma deve trovare tre amici fidati che abbiano già portafogli EOA in web3 e chiedere loro di pagare le tariffe del gas per diventare i loro tutori;
② Se l'utente desidera compensare la tariffa del gas di un amico e utilizza il portafoglio appena creato per effettuare tre trasferimenti, è necessario pagare un totale di 6 commissioni del gas per creare un portafoglio. Non vi è alcun costo per creare un account nel portafoglio MPC.
e.Ripristinare la chiave privata
Se un utente perde la chiave di firma, può richiedere di utilizzare la funzionalità di recupero social. Gli utenti devono contattare il proprio tutore e chiedergli di firmare una transazione speciale (l'utente o il tutore paga la tariffa del gas) e modificare la chiave pubblica della firma registrata nel contratto del portafoglio con una nuova firma. Questo è molto più semplice: il tutore può visualizzare la richiesta di recupero e firmarla visitando una pagina web come security.loopring.
Tuttavia, la sicurezza della chiave privata non ha raggiunto il livello del portafoglio MPC:
Costo dell'attacco: gli hacker possono comunque ottenere la chiave privata completa invadendo il dispositivo dell'utente. In altre parole, gli utenti che utilizzano portafogli smart contract hanno solo un altro modo per recuperare la chiave privata nel caso in cui la chiave privata venga persa.
Bassa resistenza alla censura: poiché il programma di recupero sociale richiede la designazione di "guardiani", esiste la possibilità che i "guardiani" colludano tra loro per fare del male.
I principali rischi del recupero sociale sono:
①Collusione: se alcuni utenti sanno di far parte di un ripristino, potrebbero essere interessati a eseguire l'attacco di ripristino;
②Attacco mirato: un agente esterno può conoscere il proprietario del ripristino e prendere di mira il punto più debole necessario per eseguire un attacco di ripristino;
③ Esposizione generale: se un utente malintenzionato riesce a infettare una dipendenza dell'ambiente di una vasta base di utenti e ottiene l'accesso a più identità, potrebbe avere effetti collaterali anche sugli utenti non interessati attraverso il ripristino.
Soluzione MPC vs. soluzione di recupero sociale: sicurezza, soglia, resistenza alla censura

Il futuro dell'adozione di massa: portafoglio Web3
Con la soluzione di recupero account Helpless, possiamo aspettarci una nuova generazione di portafogli Web3, ovvero portafogli che possono essere registrati e acceduti tramite e-mail. Abbiamo selezionato rispettivamente progetti rappresentativi del portafoglio MPC e del portafoglio astratto dell'account: in termini di accesso degli utenti, hanno raggiunto la soglia bassa della memoria senza parole. Li valutiamo separatamente dal punto di vista della sicurezza e della resistenza alla censura.
#Bitizen
Tra i portafogli MPC, il portafoglio Bitizen, più approfondito nell'anticensura e nella comodità, adotta una soluzione 2/3 TSS Analizziamolo dal punto di vista della sicurezza e dell'anticensura del portafoglio:
Sicurezza:
a.Crea
Per ottenere una forte verificabilità, dopo aver completato la registrazione del portafoglio, l'utente può utilizzare un secondo dispositivo per eseguire il backup dei frammenti di chiave privata tramite Bluetooth, utilizzando una soluzione 2/3TSS: server Bitizen, dispositivo locale dell'utente e secondo dispositivo dell'utente.
b.Mantenere
Poiché durante il processo di creazione del portafoglio non viene generata una chiave privata completa, non esiste alcun mnemonico: l'account Bitizen dell'utente verrà associato al disco cloud e all'e-mail dell'utente e l'utente dovrà solo accedere tramite e-mail per utilizzare normalmente il portafoglio Bitizen .
c.Utilizzare
① L'utente può ottenere i frammenti di chiave privata archiviati nel cloud Bitizen e i frammenti di chiave privata archiviati sul dispositivo locale tramite l'autenticazione con riconoscimento facciale per la firma (2/3);
②Dopo che il secondo dispositivo ha eseguito il backup dei frammenti di chiave privata tramite Bluetooth, può essere salvato completamente offline e non è necessario utilizzarlo nei giorni feriali (il completamento della firma richiede solo il server Bitizen e il dispositivo principale dell'utente).
d.Backup
① Eseguire il backup dei frammenti della chiave privata locale sul disco cloud dell'utente;
② Quando l'utente deve cambiare dispositivo per accedere, deve solo autenticarsi tramite e-mail e Bitizen chiederà all'utente di ripristinare il backup dei frammenti di chiave privata dal disco cloud.
e.Recupero
①Allo stesso modo, quando il dispositivo dell'utente perde/elimina accidentalmente i file locali di Bitizen, i frammenti della chiave privata possono essere recuperati tramite il disco cloud;
② Quando l'utente non riesce nemmeno ad accedere al disco cloud, Bitizen ricalcolerà i frammenti di chiave privata attraverso i frammenti di chiave privata sul server e sul secondo dispositivo di backup dell'utente, consentendo all'utente di riprendere il normale utilizzo.

Fonte: Bitizen Resistenza alla censura:
2/3 della soluzione TSS consentono agli utenti di avere il controllo assoluto sui propri portafogli (2/3 dei frammenti di chiave privata sono nelle mani degli utenti). Anche se Bitizen fallisce o scappa, gli utenti possono comunque esercitare il normale controllo sui loro portafogli.
#Unipass
L’account abstract wallet prende come esempio Unipass. Unipass adotta un approccio smart contract + MPC wallet, unendo i vantaggi delle due soluzioni:
Nelle transazioni, puoi utilizzare qualsiasi token supportato dal portafoglio (token tradizionali, altamente liquidi) per pagare le tariffe del gas;
In termini di memorizzazione delle chiavi private, le tecnologie MPC (2/2) e TSS vengono utilizzate per generare chiavi private in modo distribuito, in modo che non vi sia alcuna possibilità che un hacker ottenga la chiave privata in un unico punto: il punto privato la chiave è divisa in due parti e una parte viene memorizzata in Unipass. Sul server, una copia viene salvata sul dispositivo locale dell'utente;
Per recuperare le chiavi private, Unipass utilizza la soluzione DomainKeys Identified Mail (DKIM). Gli utenti possono utilizzare gli indirizzi email come "guardiani" invece di altri indirizzi EOA. Ciò riduce notevolmente la soglia entro cui gli utenti possono trovare i guardiani: non è necessario che i guardiani li utilizzino l'area Blockchain richiede solo l'indirizzo email del tutore.

Fonte: Unipass
Soglia bassa —> applicabilità alta
I portafogli a soglia bassa non rappresentano la fine delle applicazioni wallet. L’attuale infrastruttura Web3 è ancora molto indietro rispetto alla finanza tradizionale del Web2. Le funzioni di detrazione automatica e di pagamento automatico regolare fornite da Visa offrono grande comodità agli utenti, ma sono ancora difficili da implementare su Ethereum. Gli account di astrazione dell'account potrebbero essere il prossimo racconto del portafoglio blockchain altamente applicabile: Visa ha pubblicato un articolo "Pagamenti automatici per portafogli auto-custodiali" per esplorare l'uso del portafoglio di astrazione dell'account Argent per implementare sulla rete StarNet Pagamenti automatizzati programmabili, consentendo agli utenti di automatizzare i pagamenti utilizzando portafogli self-hosted senza dover firmare ogni transazione. Come viene implementato il portafoglio astratto dell'account? Questo concetto in realtà affonda le sue origini molto tempo fa.
Astrazione dell'account: da EIP-2938 a EIP-4337
Con la proposta dell'EIP-4337 il tema dell'astrazione dei conti è tornato all'attenzione di tutti. La soluzione di recupero sociale e l'astrazione dell'account (utilizzando contratti intelligenti come portafogli EOA, ovvero l'astrazione dell'account) sono state proposte prima dell'EIP-1271 e sono state implementate da portafogli come Argent nel livello 2 come StarkNet La soluzione è stata recentemente discussa molto nella comunità. Qual è la differenza (astrazione dell'account)?
Dall'EIP-86 del 2015 al recente hot spot EIP-4337, il pensiero centrale degli sviluppatori ruota attorno a "il contratto è il portafoglio" e l'astrazione dell'account consente agli utenti di interagire con la rete principale in modo intuitivo. Ciò consente agli utenti di controllare con precisione le autorizzazioni chiave dei propri account. Da quando è stato stipulato il codice dell'account EOA, è impossibile realizzare una progettazione modulare e funzionale sul portafoglio EOA, come l'aggiunta di trasferimenti batch/recupero sociale e altre funzioni, quindi tutti si concentrano sui contratti intelligenti. La proposta più vicina a EIP-4337 è EIP-2938 che definisce anche un nuovo protocollo operativo del contratto intelligente, ma deve essere modificato a livello di consenso, rendendo difficile per gli sviluppatori mantenerlo è che la rete principale non richiede modifiche al protocollo a livello di consenso.
In EIP-1237, l'avvio della firma dell'indirizzo del contratto deve fare affidamento sul Relayer centralizzato per la firma, e il Relayer è centralizzato e gli standard tra ciascun Relayer sono diversi e non è compatibile con multi-chain/multi-dAPP ;
Nell'EIP-4337, si propone di sostituire Relayer con Bunbler. Bundler è un multiparty decentralizzato, che migliora la resistenza alla censura dei portafogli di contratti intelligenti e unifica gli standard di firma, che può ridurre notevolmente la difficoltà di integrazione per gli sviluppatori;
EIP-4337 avrà un impatto in futuro, ma per ora non migliorerà l'esperienza dell'utente. Pertanto, l'entusiasmo nel discutere questa soluzione è limitato ai VC e agli sviluppatori. È più simile a Move to Aptos, il che rende entusiasti i VC e gli altri investitori e la comunità degli sviluppatori. Per gli utenti web3, questo Layer1 è scritto in Solidity o Move? l'esperienza dell'utente non è cambiata molto ancora.
①Dopo tutto, Argent, un portafoglio di astrazione dei conti, ha completato un finanziamento di 56,2 milioni di dollari dal 2018. Dopo 4 anni di sviluppo, ha solo 7,40.000 indirizzi: subito dopo l'ascesa di DeFi, gli utenti nel circolo valutario sono passati dagli scambi all'utilizzo di Metamask L'ascesa di Metamask è dovuta alle elevate miniere APY. Al momento, la mania dei portafogli con contratti intelligenti ha ancora bisogno di un nuovo catalizzatore;

Fonte: Dune ②Gli attuali depositi degli utenti su Argent non sono grandi quanto l'importo del finanziamento

Fonte: Dune ③Tuttavia, con l'implementazione della proposta di astrazione dell'account della rete principale di Ethereum, significa che gli utenti Argent possono connettersi senza problemi da StarkNet alla rete principale di Ethereum. Vale la pena aspettarsi anche le scintille innescate in questo processo.
Casi d'uso
①Controllo perfezionato delle autorizzazioni: perfezionare l'autorizzazione a firma singola di EOA:
▽Dai all'utente A un limite di trasferimento di X TokenB nel contratto
▽Concedere le autorizzazioni di transazione tokenC autorizzate dal contratto dell'utente B invece delle autorizzazioni di trasferimento
▽Se nessuno utilizza il contratto per un lungo periodo, il diritto di utilizzo del contratto verrà automaticamente trasferito
②Metodi di pagamento diversificati del Gas: pagamento da parte di altri o pagamento in qualsiasi gettone
③Detrazione automatica/rimborso automatico
Abbracciare il futuro del Web3
Come cliché, ci sono 4,8 miliardi di utenti web2 e gli utenti web3 hanno appena superato i 100 milioni nel 2022. Siamo ancora nella fase iniziale dello sviluppo della blockchain.

Tornando alla domanda di inizio articolo: "Quanti rischi e responsabilità sono disposto ad assumermi per i miei beni?", posso assicurarmi che il mio portafoglio non vada perso senza dover ricordare la mia chiave privata?
Ho sempre sentito le tradizionali domande VC: ci sono scenari che solo web3 può fare ma web2 no? Riteniamo che il portafoglio Web3 sia un esempio di schiaffo in faccia al tradizionale Web2: solo nella rete decentralizzata di Web3 possiamo aspettarci un buon portafoglio che soddisfi la resistenza alla censura, la sicurezza e l'esperienza dell'utente responsabilità. L'emergere di un simile portafoglio è anche una base importante affinché i 4,7 miliardi di utenti Web2 possano abbracciare il futuro di Web3: il portafoglio non è solo il primo ingresso a Web3, ma anche il nome di dominio sulla catena (come ENS), il token legato all'anima (Soul-Bounded Token), La base per lo sviluppo di sistemi di reputazione on-chain (Identificatori decentralizzati), senza un ambiente di portafoglio sicuro, la costruzione di Web3 Lego non avrà basi solide.
Dobbiamo pensare più seriamente. Non ci sono molte opportunità per sparare nel mercato ribassista. MPC ci ha mostrato un futuro in cui i portafogli EOA sono più facili da usare e più sicuri e possono adattarsi a tutte le attuali catene EVM prima che i contratti intelligenti possano essere collegati alle dAPP La strada da fare è ancora lunga Il piano di ripresa sociale attualmente sembra inutile, ma le possibilità future dei contratti intelligenti su chi scommetteremo? soldi da consegnare in questa risposta.
Il 2022 è un anno buio per la criptovaluta, ma crediamo ancora che il futuro sia luminoso. Siamo stregoni risvegliati in World of Warcraft e vogliamo creare un mondo in cui nessuno possa toglierci il sifone della vita (a meno che la proposta non venga votata).

Dichiarazione: Parte di questo articolo si basa su un'intervista con Winson, CEO del portafoglio Web3 Bitizen. Bitizen è uno dei portafogli di RedlineDAO. Vorremmo ringraziare Bitizen e Winson per il loro supporto a questo articolo.
Riferimenti
Descrizione della firma della soglia: https://www.wwsww.cn/btbjiaoxue/1273.html
Portare gli utenti Web2 nel Web3: il futuro appartiene al portafoglio di parole indifeso: https://mp.weixin.qq.com/s/TF2FCQDyyApzEVHQjxgZRg
Buterin: Perché abbiamo bisogno di un’adozione diffusa dei portafogli di recupero sociale? :Https://www.163.com/dy/article/GNQ4K9D905373E94.html
Il portafoglio Solana non custodito Phantom è stato violato e i fondi di più utenti sono stati rubati: https://chainfeeds.xyz/search
Shen Bo, socio fondatore di Fenbushi Capital: Beni personali del valore di 42 milioni sono stati rubati e il caso è stato segnalato: https://chainfeeds.xyz/feed/flash/detail/7a02d517-5a54-4892-a42a-ac519406da12
Wintermute ha perso 160 milioni di dollari nell'hacking DeFi: https://chainfeeds.xyz/feed/flash/detail/39c24b5e-693c-49a1-bf5c-ec04b829f8b6
La chiave privata dell'indirizzo di distribuzione del contratto ParaSwap potrebbe essere trapelata e i fondi sulla catena sono stati rubati: https://chainfeeds.xyz/feed/flash/detail/04c9a5d2-6e86-4207-9b1d-913eced8d2a7
Motivo del furto del ponte a catena incrociata Ronin: https://chainfeeds.xyz/feed/flash/detail/7a810726-80eb-4fef-a40b-a38c3c9f9738
Tutti i diritti riservati. È vietata la ristampa senza autorizzazione.




