Backward Compatibility: What Is Account Versioning in Ethereum Classic?


You can listen to or watch this article here:


Generalized Account Versioning Scheme, Account Versioning, or AV for short, was created by Ethereum and Ethereum Classic (ETC) engineer, Wei Tang, as described in EIP-1702, which he authored.

Account Versioning ensures backward compatibility as past EVM versions are preserved to execute corresponding smart contracts versions.

AV is a versioning system of smart contract accounts which match the versions of the Ethereum Virtual Machine (EVM).

The above means that the population of smart contracts at any time on ETC will have smart contract account versions, for example, in the form 0x0, 0x1, 0x2, 0x3 ,0x4, 0x5, etc.

As the EVM accumulates new opcodes or changes as they are added in the future, each addition or change will determine an EVM version in the same way, for example, 0x0, 0x1, 0x2, 0x3 ,0x4, 0x5, etc.

This means that, at any given time, there will be several account versions and several EVMs stored and operating on the network at the same time.

If, for example, a stock of smart contracts is version 0x3, that means that all the smart contracts with that version will be executed by EVM version 0x3 which contains the opcodes that were in existence when those smart contracts were deployed.

Similarly, smart contracts with account version 0x0, will work with EVM version 0x0, 0x1 with EVM 0x1, 0x2 with EVM 0x2, 0x3 with 0x3, and so on.

At the time of implementation of EIP-1702, all existing smart contracts and the EVM will automatically become version 0x0. From then on, smart contract account and EVM versions will be added progressively as the EVM is updated with new ECIPs with a format, for example, 0x1, 0x2, 0x3 ,0x4, 0x5, and so on, indefinitely.

All of the above, guarantees that all future changes to the Ethereum Classic protocol and EVM will always be backward compatible, so smart contracts will never break, as there will always be an EVM version “living” in the blockchain that matches the version of all corresponding smart contracts stored and executed in the network.


The above is an edited extract of an article about the Ethereum Classic Agharta upgrade.


Code Is Law

Author: Donald McIntyre

Read about me here.