Isinulat ni: Zhixiong Pan
Matagal mo nang dala sa bulsa ang isang "hardware wallet"
Sa mga araw-araw nating ginagamit na mobile phone at computer, may nakapaloob na espesyal na security chip. Halimbawa, ang "Secure Enclave" sa iPhone, o ang Keystore / Trust Zone / StrongBox sa Android phones.
Ang hiwalay na pisikal na bahagi na ito ay karaniwang tinatawag na TEE (Trusted Execution Environment). Ang katangian nito ay "one-way in": dito nililikha ang private key at hindi kailanman lalabas mula sa pisikal na bahaging ito; ang tanging magagawa ng labas ay humiling dito na pumirma ng data.
Ito mismo ang pamantayan ng hardware wallet. At ang mga chip na ito, kapag pumipirma, ay karaniwang gumagamit ng isang industry standard algorithm curve na pinili ng NIST (National Institute of Standards and Technology ng US): secp256r1. Ito rin ang pundasyon ng WebAuthn at FIDO2 (halimbawa, ang fingerprint login o FaceID mo).
Isang titik lang ang pagitan, ngunit napakalaki ng agwat
Ang nakakahiya, hindi native na sinusuportahan ng Ethereum ang mainstream na secp256r1.
Noong araw, dahil sa pangamba ng Bitcoin community na maaaring may "state-level backdoor" ang NIST curve, pinili nila ang mas hindi karaniwang secp256k1, kaya nang idinisenyo ang account system ng Ethereum, inangkin din nito ang curve na ito.
Kahit mukhang isang letra lang ang pagkakaiba ng r1 at k1, sa matematika ay dalawang magkaibang wika ito. Kaya nagkaroon ng malaking problema: ang security chip sa iyong telepono ay nalilito kapag Ethereum ang kausap, hindi ito makapirma ng Ethereum transactions nang direkta.
Kung hindi mapapalitan ang hardware, gawing "compatible" na lang sa bersyong ito
Malinaw na hindi mapipilit ng Ethereum ang Apple o Samsung na baguhin ang disenyo ng chip para umangkop sa secp256k1, kaya ang tanging paraan ay ang Ethereum mismo ang mag-adapt sa secp256r1.
Puwede bang gumamit ng smart contract code para i-verify ang r1 signature? Sa teorya, puwede, pero napakakomplikado ng mathematical computation, at bawat verification ay maaaring gumastos ng daan-daang libong Gas—hindi ito praktikal sa ekonomiya.
Kaya, sa Fusaka upgrade, inilabas ng mga developer ang ultimate weapon: precompiled contract (Precompile). Para itong pagbubukas ng "backdoor" o "plugin" sa Ethereum Virtual Machine (EVM). Sa halip na paunti-unting kalkulahin ng EVM, direkta nang isinulat ang verification function sa client-side code. Kailangan lang ng developer na tawagin ang partikular na address para magawa ang verification sa napakababang halaga.
Sa EIP-7951, itinakda ang cost na ito sa 6900 Gas, mula sa daan-daang libo ay bumaba sa ilang libo na lang, kaya naging "usable for real-world products" na ito.
Ang huling piraso ng account abstraction
Ang implementasyon ng EIP na ito ay nangangahulugan na maaari na nating gamitin ang TEE environment ng telepono para mag-sign at mag-authorize ng smart accounts sa Ethereum.
Mahalagang tandaan na hindi ito para sa kasalukuyan mong MetaMask na EOA address (dahil ang public key generation logic nito ay k1 pa rin).
Ito ay partikular na inihanda para sa "account abstraction" (AA wallet). Sa hinaharap, ang wallet mo ay hindi na isang mnemonic phrase kundi isang smart contract. Nakasaad sa contract na ito:
"Basta't ma-verify na tama ang fingerprint na ito (r1 signature), papayagan ang transfer."
Buod
Maaaring hindi agad-agad mawala ang mnemonic phrase dahil sa EIP-7951, ngunit sa wakas ay naalis na nito ang pinakamalaking hadlang sa malawakang paglaganap ng Ethereum.
Bago ito, laging may mahirap na pagpipilian ang mga user: Gusto mo ba ng "bank-level" na self-custody security? Kailangan mong gumastos para bumili ng OneKey, Keystone, o Ledger, at kailangan mong ingatan ang mnemonic phrase na parang gold bar; Gusto mo ba ng pinakamadaling karanasan? Kailangan mong iwan ang crypto mo sa exchange o custodial wallet, kapalit ng pagbibigay ng kontrol (pagsakripisyo ng decentralization).
Ngunit pagkatapos ng Fusaka upgrade, mawawala na ang mahirap na pagpipiliang ito.
Sa pagdating ng EIP-7951, ang "mobile phone as hardware wallet" ay unti-unting magiging realidad. Para sa susunod na bilyong user, maaaring hindi na nila kailangang malaman kung ano ang "private key", at hindi na rin nila kailangang maramdaman ang pressure ng pagsusulat ng 12 salita.
Kailangan lang nilang gawin ang ginagawa nila kapag bumibili ng kape—mag-face scan, mag-fingerprint, at ang security chip ng iPhone sa likod ay tatawagin ang secp256r1 para pumirma ng transaction, at gagamitin ang native precompiled contract ng Ethereum para sa verification.
Ito ang tamang paraan para yakapin ng Ethereum ang susunod na bilyong user: hindi ang aroganteng pilitin ang user na mag-aral ng komplikadong cryptography, kundi ang magpakumbaba at umangkop sa universal standards ng internet, at aktibong pumasok sa bulsa ng user.