The award-winning designer and writer, Frank Chimero, once observed that “People ignore design that ignores people.” He wasn’t talking about Web3—but he may as well have been. Too often, usability is being sacrificed on the altar of decentralization, resulting in a raft of dapps and decentralized services that no one uses.
But take heart: with the release on Wednesday of Ethereum’s testnet of upgrades, developers are getting excited about a new feature that will make the decentralized network way easier for mere mortals to use.
Originally conceived by Ethereum co-founder Vitalik Buterin as far back as 2014, CREATE2, is being introduced as a key component of Ethereum’s January 16 mainet upgrade, otherwise known as the Constantinople hard fork.
The premise of CREATE2, on the surface, is very simple. It allows developers to create smart contract addresses without actually having to deploy the contract, enabling users to transact off-chain. It’s a little like running a bar tab—enjoy yourself now, pay later.
The simplicity of the mechanism, however, belies its enormous utility. Developers are getting excited because, although CREATE2 was originally designed as a scalability measure it’s capable of far more. All sorts of problems can be solved, starting with onboarding, which is a ghastly experience that repels potential ethereum dapp users.
The fact that users don’t need keys to perform transactions is what has led developer James Young to dub CREATE2 “a usability feature in disguise and a sleeper game-changer.”
Young was behind the popular online game, Farmville, which, in 2012, had more than 200 million users. It then fell off the face of the earth when Facebook changed its news feed algorithm, choking off Farmville’s growth. It has since become a poster child for the decentralization movement. After Farmville, Young turned to blockchain, launching Adchain, and then the payment system for SpankChain, a blockchain-based payment service for the adult industry. He’s now working on a new project using CREATE2 to develop a smart wallet.
‘If you have adult content and it’s easy to onboard [users], you should be able to see this meteoric rise,” says Young, speaking on the phone from Los Angeles. “If you solve user onboarding and everything is on-chain, what will happen is we’re going to have Cryptokitties 2.0.” Onboarding, he says, is the stickiest wicket of them all, involving numerous complex steps, and having to create and securely store keys. The usability headache this can create is, he says, in stark contrast to Web 2.0 platforms such as Facebook, which require only three steps to set up an account.
Me: Ohh this app looks cool. I can’t wait to try it!
Them: Please download MetaMask, buy ether from Coinbase, send it to your MetaMask wallet, climb Mt. Everest, compete in an Ironman Triathlon, and win an Olympic gold medal.
— Steven Zheng (@Dogetoshi) November 22, 2018
CREATE2, says Young, removes onboarding friction and helps users to control and manage their funds. Allowing them to transact off-chain and dispensing with the need to store funds in keys will lead to better usability, opening the door to decentralization for more people.
"Let’s just use keys for what they were designed for: to provide access,” says Young. Another benefit, he says, is that account-recovery problems disappear along with keys, which are often mislaid. Instead, the process of accessing and managing the contract becomes programmable.
“It’s like a missing piece. CREATE2 seems like a small technical update—but I believe it has a huge, immediate impact on scalability, and on having funds stored in accounts and not keys,” says Young. “It allows us to step into decentralization and it allows for massive adoption.”
Channeling CREATE2
Ethereum core developer Lane Rettig agrees that CREATE2 is the most interesting change to emerge from Constantinople. But he’s also careful not to over-egg the pudding, stressing that “you’ve always been able to store funds in a contract. The only difference now is that you can predict ahead of time where it will live." However, he agrees that CREATE2 has “some interesting implications and potential use cases in, for example, state channels, so we might see that flow through to the application level.”
State channels are a technique which helps to reduce fees for blockchain users as they allow users to transact with each other securely, but without paying blockchain transaction fees.
Contrary to Rettig’s measured take, Miguel Mota, co-founder of OpenNetSys, which is building systems for Web 3.0., believes that—if anything—CREATE2 is underhyped. He says one of its most appealing benefits is it could help reduce fees for site owners.
Currently, a site owner of a wallet, say, has to deploy a new smart contract for every new user that signs up. “That means they have to pay gas [the operating fee charged by Ethereum], for each deploy, and it's going to get expensive really quick.” CREATE2, says Mota, enables the site owner to predetermine the smart contract address without actually deploying it and paying gas. That can be put off until the user has funds in the account, which can be used to pay the fee. That way, the site owner would not incur it.
As keys become less dominant in transactions, smart contracts can become more flexible and fuller featured, Mota believes. Recurring payments, for instance, might now be possible—something the Groundhog Network is also focused on.
Things to be built
Though developers are enthusiastic about CREATE, they caution it’s not a cure-all for Ethereum’s flaws.
“I think it’s a much-needed improvement. But it’s not the Holy Grail,” says Gonçalo Sá, co-founder of Consensys Diligence, a community that specializes in the security of blockchains. He says developers will still need to come up with better ways for users to interact, and onboard. “There are still things to be built. This doesn’t make our job easier—but it does create new possibilities.”
Better security is one possibility, says Sà. He believes that the new feature will solve the frontrunning problem. Frontrunning enables unscrupulous miners to take advantage of their responsibility in a blockchain system to order transactions so that they can profit from them. Until now, solutions have been proposed but are still lacking.
“The fact that you can now create agreements on something that does not yet exist, but could, is very powerful,” says Sà.
The testnet is now up and running, not just with CREATE2 but with all the new features Constantinople brings on board. Developers, who have waited patiently for this new box of tricks, can now start experimenting. And, in the coming months, dapps using CREATE2 in the wild should start becoming a reality. The wisdom of the crowd will determine their success.