This article is a summary of the new research and development since 2018 in the area of upgradeable Ethereum smart contracts. It presents the new works and standards that extend Summary of Ethereum Upgradeable Smart Contract R&D — Part 1–2018. Please read it to become familiar with the background leading up to this article.

This article intends to be a convenient and centralized place to understand upgradeable smart contract strategies. If you are watching or involved in this area of R&D, please comment on this article with any insights, feedback or comments that may be useful for others.

Thank you Nick Mudge and Santiago Palladino for contributing to and reviewing this article!

Upgradeable adoption

Most Ethereum projects are using upgradeable smart contracts strategies. The proxy pattern is by far the most adopted with projects like Gnosis, AragonOS, Compound Finance, Melonport, Limechain, WindingTree, Terminal, Decentraland, and many others using this for fully or partially upgradeable contract systems.

The OpenZeppelin SDK upgradeable smart contract tools are a major enabler for this technology. Over 2,300+ downloads per week of @openzeppelin/upgrades and zos-lib and over 180,000 in total according to Github and growing. The OpenZeppelin SDK currently uses The transparent proxy pattern which is conforms with the EIP 1967 upgradable contract standard.

Etherscan, the most used Ethereum block explorer worldwide, supports several upgradeable proxy patterns, allowing transparent monitoring of upgradeable smart contract data and upgrades:

EIP 1538 is the most adopted advanced upgradable contract standard, and current suggested by the EIP 1155 multi-token standard.

The use of separate logic and data contracts has had no recent know adoption.

New R&D

New research and development has focused exclusively on the upgradeable proxy pattern. The works fall into two categories: