Op-ed: The unspoken Ethereum revolution: Are EOAs becoming obsolete?

Please fol­low and like us:
Pin Share

Ad

CoinDesk Consensus

Under the radar, one of the most sig­nif­i­cant changes to the Ethereum ecosys­tem has been announced with lit­tle to no com­mu­ni­ty reac­tion. Account abstrac­tion is a core advance­ment in web3 account man­age­ment, but the cur­rent roadmap brings a new goal — to remove Exter­nal­ly Owned Accounts (EOAs) entire­ly from the Ethereum ecosystem.

The term account abstrac­tion refers to the process of abstract­ing away the com­plex­i­ty of a web3 account to cre­ate a more user-friend­ly expe­ri­ence for the end user. Ini­tial­ly, the goal was to gen­er­al­ize the web3 account mod­el so that all accounts are treat­ed sim­i­lar­ly — regard­less of whether they are EOAs or smart con­tract accounts. How­ev­er, the Ethereum Foun­da­tion appears to have decid­ed that there is no room for EOAs in the ecosystem’s future, favor­ing smart con­tract wal­lets as the default account mod­el for users.

EIP-4337 & Account Abstraction

Secu­ri­ty Fel­low for the Ethereum Foun­da­tion, Yoav Weiss, announced the launch of EIP-4337 while speak­ing at ETH­Den­ver. The update to the Ethereum net­work upgrades the capa­bil­i­ties of smart con­tract wal­lets with ele­ments of account abstrac­tion, includ­ing decen­tral­ized bundlers, token fee pay­ment, an alter­na­tive mem­pool, and oth­er account abstrac­tion features.

Ethereum co-founder Vita­lik Buterin orig­i­nal­ly intro­duced the EIP in Sep­tem­ber 2021 when he shared a con­cept on the Ethereum mes­sage board with the fol­low­ing message:

“An account abstrac­tion pro­pos­al which com­plete­ly avoids the need for con­sen­sus-lay­er pro­to­col changes, instead rely­ing on a sep­a­rate mem­pool of UserOp­er­a­tion objects and min­ers run­ning either cus­tom code or a bun­dle marketplace.”

How­ev­er, one key aspect of EIP-4337 that has seem­ing­ly gone unno­ticed by many is the move toward remov­ing EOAs entire­ly. The doc­u­men­ta­tion for the EIP on the Ethereum Foun­da­tion web­site states that a core moti­va­tion for the upgrade is to “com­plete­ly remove any need at all for users to also have EOAs.”

“Achieve the key goal of account abstrac­tion: allow users to use smart con­tract wal­lets con­tain­ing arbi­trary ver­i­fi­ca­tion log­ic instead of EOAs as their pri­ma­ry account. Com­plete­ly remove any need at all for users to also have EOAs.”

Cryp­toSlate reached out to sev­er­al wal­let providers, but none were will­ing to dis­cuss the poten­tial elim­i­na­tion of EOAs entire­ly, giv­en the lack of time­frame from the Ethereum Foun­da­tion. As of press time, the Ethereum Foun­da­tion has not respond­ed to attempts for comment.

What is an EOA?

An EOA on Ethereum is a spe­cif­ic kind of account man­aged by a user who holds the pri­vate key, unlike a smart con­tract account. Essen­tial­ly, an EOA serves as a user’s cryp­to­graph­ic iden­ti­ty on the Ethereum blockchain, enabling them to hold, send, and receive ETH, NFTs, or oth­er tokens and inter­act with smart contracts.

An EOA is iden­ti­fied by a unique pub­lic address from its pri­vate key. Unlike a smart con­tract account, an EOA has no code or log­ic asso­ci­at­ed with it. How­ev­er, it can still sign trans­ac­tions to ini­ti­ate trans­fers, deploy smart con­tracts, or inter­act with exist­ing smart con­tracts on the Ethereum network.

The main dis­tinc­tion between an EOA and a smart con­tract account lies in their con­trol. An EOA is man­aged by an exter­nal enti­ty using a pri­vate key, while a smart con­tract account is con­trolled by the smart contract’s code and fol­lows the rules spec­i­fied with­in that code.

Do we need EOAs?

EOAs are the most tried and test­ed type of blockchain account. Pop­u­lar soft­ware wal­lets such as Meta­Mask and hard­ware wal­lets like Ledger, Tezor, and SafePal are all found­ed in EOA accounts. Remov­ing EOAs would dra­mat­i­cal­ly impact such projects and require large-scale code updates.

While the issue of onboard­ing new users into web3 — by requir­ing them to safe­ly record and store a com­plex pri­vate key or long seed phrase — is a wide­ly accept­ed prob­lem, remov­ing a core com­po­nent of the Ethereum ecosys­tem pos­es a dras­tic solu­tion to the problem.

Fur­ther­more, remov­ing EOAs would bring count­less poten­tial issues that need to be addressed — includ­ing the loss of sim­plic­i­ty, increased com­plex­i­ty, high­er trans­ac­tion costs, com­pat­i­bil­i­ty issues, secu­ri­ty con­cerns, EVM frag­men­ta­tion, and even a poten­tial decrease in adop­tion due to increased friction.

I am not sug­gest­ing that all of the above issues are insur­mount­able. How­ev­er, the path to remov­ing EOAs will include prob­lems that have yet to be con­ceived. Fur­ther­more, as Ethereum sits at the heart of the web3 ecosys­tem, remov­ing EOAs from the Ethereum net­work will like­ly lead to com­pat­i­bil­i­ty issues across the entire EVM landscape.

Problems removing EOAs

In a bear mar­ket, it is easy to advo­cate for the use of smart con­tracts — which use, on aver­age, more gas than EOAs due to the com­plex log­ic used in the exe­cu­tion of the code. As of press time, the cost of gas on Ethereum is 12 GWEI ($0.40), includ­ing the net­work base fee.

The chart below shows the change in the aver­age gas price paid per trans­ac­tion since the net­work was launched. Through­out the bull run 2021 – 2022, gas rose to a high of 305 GWEI and aver­aged around 120 GWEI, some ten times high­er than it is now. Should EOAs be removed entire­ly, the cost of trans­act­ing on the Ethereum layer‑1 blockchain net­work would almost cer­tain­ly increase.

eth gas price
Source: Glassnode

How­ev­er, the advanc­ing progress of Ethereum scal­ing solu­tions — such as Poly­gon and ded­i­cat­ed indus­try-spe­cif­ic lay­er-2s like Immutable — will be even more vital to the net­work should trans­act­ing on the base lay­er become prohibitive.

Con­cern­ing the oth­er issues iden­ti­fied, the chang­ing land­scape of reg­u­la­to­ry guid­ance also needs to be con­sid­ered. Recent­ly, the Euro­pean Par­lia­ment passed an act on the Inter­net of Things (IoT) indus­try — requir­ing all smart con­tracts to con­tain a ‘kill switch’ and there­fore include ‘proxy upgrade­abil­i­ty.’ Arti­cle 30 of the leg­is­la­tion has the fol­low­ing requirement:

“The deploy­ment of smart con­tracts for oth­ers in the con­text of an agree­ment to make data avail­able shall com­ply with the fol­low­ing essen­tial requirements[…]

Safe ter­mi­na­tion and inter­rup­tion: ensure that a mech­a­nism exists to ter­mi­nate the con­tin­ued exe­cu­tion of trans­ac­tions: the smart con­tract shall include inter­nal func­tions which can reset or instruct the con­tract to stop or inter­rupt the oper­a­tion to avoid future (acci­den­tal) executions.”

This means that any smart con­tract wal­let would have to con­tain a func­tion that would allow the devel­op­er to remove the account — elim­i­nat­ing the self-sov­er­eign nature of the account if this were imple­ment­ed by any­one oth­er than the account owner.

Fur­ther­more, if Ethereum moves away from EOAs entire­ly, any EVM chain would need to imple­ment the same func­tion­al­i­ty — or risk los­ing com­pat­i­bil­i­ty with Ethereum Main­net. The imple­men­ta­tion across oth­er chains would unlike­ly be syn­chro­nized, result­ing in a frag­ment­ed ecosys­tem and poten­tial­ly incom­pat­i­ble dApps.

Projects that cur­rent­ly have full com­pat­i­bil­i­ty with mul­ti­ple EVM chains could lose access to some net­works dur­ing the transition.

EOA Innovation

So why remove EOAs? The Ethereum Foun­da­tion appears to have giv­en up the poten­tial to inno­vate in the EOA space with the call to remove EOAs entire­ly. How­ev­er, I advised a project called Intu in 2022 that is doing pre­cise­ly this, and it is unlike­ly to be the only one. For total trans­paren­cy, I was paid for my time advis­ing the project, but I have no incen­tive for Intu to suc­ceed oth­er than believ­ing in the team’s vision.

The point of this arti­cle is not to shill any solu­tion or cre­ate FUD with­in the Ethereum ecosys­tem. Instead, I wish to raise aware­ness for this prob­lem and facil­i­tate debate and coor­di­na­tion with­in the space.

I do not believe we should have state­ments from the Ethereum Foun­da­tion declar­ing the removal of EOAs with­out there first being a prop­er pub­lic process. Such a process would ensure that EOAs need to be removed, what the time­frame looks like, and how all poten­tial secu­ri­ty, com­pat­i­bil­i­ty, and usabil­i­ty issues would be solved pri­or to the transition.

It is also crit­i­cal to empha­size that the removal of EOAs is not con­firmed. Ethereum is a decen­tral­ized ecosys­tem with­out any cen­tral­ized con­trol­ling par­ty. How­ev­er, the Ethereum Foun­da­tion holds a lot of sway with­in the devel­op­er com­mu­ni­ty. There­fore, I believe it’s impor­tant to con­tin­ue this con­ver­sa­tion for the health of the ecosystem.

I under­stand the Ethereum Foundation’s point of view. I sim­ply wish for the con­ver­sa­tion to be more open­ly held to ensure we move toward account abstrac­tion with our eyes ful­ly open. As Paul Saf­fo so wise­ly said, “Strong con­vic­tions, weak­ly held.”

Source link

Please fol­low and like us:
Pin Share

Leave a Reply

Your email address will not be published. Required fields are marked *