Auteur : Zhixiong Pan
En fait, vous avez un « portefeuille matériel » dans votre poche depuis longtemps
Les téléphones mobiles et les ordinateurs que nous utilisons quotidiennement sont en fait équipés de puces de sécurité spécialisées. Par exemple, le « Secure Enclave » sur l’iPhone, ou le Keystore / Trust Zone / StrongBox sur le téléphone Android.
Cette zone physique distincte est souvent appelée TEE (Trusted Execution Environment).Sa caractéristique est « only in and out » : la clé privée est générée à l’intérieur et ne quittera jamais cet espace physique.L’extérieur ne peut que lui demander de signer des données.
Il s’agit en fait de la norme pour les portefeuilles matériels.Lors de la signature, ces puces utilisent généralement une courbe d’algorithme standard de l’industrie sélectionnée par le NIST (National Institute of Standards and Technology) : secp256r1.C’est la pierre angulaire de WebAuthn et FIDO2 (comme votre connexion par empreinte digitale, FaceID).
Juste une lettre de différence
Malheureusement, Ethereum ne prend pas en charge nativement ce secp256r1 grand public.
À cette époque, la communauté Bitcoin a choisi le secp256k1, relativement impopulaire, par crainte que la courbe NIST puisse avoir une « porte dérobée nationale ». Par conséquent, Ethereum a suivi la tradition de cette courbe lors de la conception du système de compte.
Bien que r1 et k1 semblent différer par une seule lettre, ce sont mathématiquement deux langues complètement différentes.Cela conduit à un énorme problème : la puce de sécurité de votre téléphone mobile est confuse à propos d’Ethereum et elle ne peut pas signer directement les transactions Ethereum.
Le matériel ne pouvant pas être modifié, cette version sera alors « compatible » avec celui-ci.
Ethereum ne peut évidemment pas forcer Apple ou Samsung à modifier la conception de la puce pour s’adapter à secp256k1. Le seul moyen est qu’Ethereum s’adapte à secp256r1.
Est-il possible d’utiliser des contrats intelligents pour écrire du code permettant de vérifier la signature r1 ?Cela fonctionne en théorie, mais les opérations mathématiques sont trop complexes et effectuer une vérification peut consommer des centaines de milliers de gaz, ce qui est totalement indisponible économiquement.
Par conséquent, dans la mise à niveau de Fusaka, les développeurs ont introduit une arme fatale : la précompilation. Cela équivaut à ouvrir une « porte dérobée » ou un « plug-in » dans la machine virtuelle Ethereum (EVM).Au lieu de laisser l’EVM le calculer étape par étape, il est préférable d’écrire cette fonction de vérification directement dans le code sous-jacent du client.Les développeurs n’ont qu’à appeler une adresse spécifique pour effectuer la vérification à très faible coût.
Dans l’EIP-7951, ce coût est fixé à 6900 Gaz, qui est directement réduit de centaines de milliers à plusieurs milliers, et entre finalement dans la fourchette des « peut être utilisé quotidiennement dans des produits réels ».
La dernière pièce du puzzle de l’abstraction des comptes
La mise en œuvre de cet EIP signifie que nous pouvons enfin signer et autoriser des comptes intelligents sur Ethereum dans l’environnement TEE des téléphones mobiles.
Il convient de noter que cela ne s’applique pas aux adresses EOA telles que votre MetaMask actuel (car leur logique de génération de clé publique est toujours k1).
Il est spécialement préparé pour « Account Abstraction » (portefeuille AA). À l’avenir, votre portefeuille ne sera plus une suite de mots mnémoniques, mais un contrat intelligent.Le contrat dit :
« Tant que l’empreinte digitale (signature r1) est vérifiée, le transfert sera autorisé. »
Résumé
L’EIP-7951 ne fera peut-être pas disparaître les mnémoniques du jour au lendemain, mais il élimine enfin la plus grande pierre d’achoppement sur la voie de l’adoption massive d’Ethereum.
Avant cela, les utilisateurs étaient toujours confrontés à une cruelle question à choix multiples : souhaitez-vous disposer d’une sécurité autonome « au niveau de la banque » ?Vous devez dépenser de l’argent pour un OneKey, Keystone ou Ledger, et vous devez conserver vos mots mnémoniques comme des lingots d’or ; vous voulez l’expérience la plus fluide possible ?Vous ne pouvez stocker des pièces que sur des bourses ou des portefeuilles de garde, au prix d’un transfert de contrôle (sacrifice de la décentralisation).
Après la mise à niveau de Fusaka, cette question à choix multiples n’existera plus.
Avec la mise en œuvre de l’EIP-7951, « les téléphones mobiles comme portefeuilles matériels » deviendront progressivement une réalité.Le milliard de nouveaux utilisateurs du futur n’auront peut-être pas besoin de savoir ce qu’est une « clé privée », ni de faire face à la pression psychologique liée à la transcription de 12 mots.
Il leur suffit de glisser leur visage et d’appuyer sur leurs empreintes digitales comme ils le font habituellement lorsqu’ils achètent du café, et la puce de sécurité de l’iPhone à l’arrière appellera secp256r1 pour signer la transaction et terminer la vérification via le contrat précompilé natif d’Ethereum.
C’est la bonne posture pour qu’Ethereum embrasse le prochain milliard d’utilisateurs : au lieu de demander avec arrogance aux utilisateurs d’apprendre une cryptographie complexe, il devrait adopter une posture compatible avec les normes universelles d’Internet et entrer activement dans les poches des utilisateurs.





