Ethereum Classic (ETC) itself is the original chain, where Ethereum is an offshoot of the original blockchain. ETC got created after the 2016 DAO attack where 3.6 million Ethers got stolen in the initial hours itself. Majority of the people voted for the hard fork while a small chunk of people argued that its nature should be immutable and supported ETC. As per the recent blog post of Ethereum Classic Labs, they are coming up with Atlantis hard fork, which is aimed at securing high-quality software, while taking the community’s concerns. The ETC team intends to work on the advanced functionality and stability of ETC.
As per the team, the ETC Atlantis hard fork is scheduled to launch at block height 8,772,000 on September 12, 2019 (ETC hard fork date), which would include ten Ethereum Improvement Proposals (EIP), which will be discussed below.
The upcoming Atlantis had fork aims to enable interoperability and includes a set of EIP upgrades from the zkSNARKS, Contract-size limits, state-trie clearing and many more, improving the dApp experience for the community and the users.
Aim: To Provide interoperability between blockchains and off-scaling protocols. The sooner interoperability is implemented, the sooner the conventional payment methods will be disrupted. The teams contributing to Atlantis are chasing a mutual goal: to enable “cross-chain transactions to quickly, easily, and securely occur between ETH and ETC.”
Zero-Knowledge Succinct Non-Interactive Argument of Knowledge or zkSNARKS is the heart of the ECIP-1054. It is a variant of the zero-knowledge proofs wherein no interaction is necessary between the verifier and prover. Traditional encryption techniques require decryption to perform computations. zkSNARKS utilizes a technique called “Homomorphic Encryption” which enables computations to perform on encrypted data without requiring access or decryption. The related zkSNARK EIPs are EIP 196 and EIP 197.
Currently, smart contract executions are transparent on the blockchain which is unsuitable for private information like location or identity. By adding this zk functionality, the users would be able to experience advanced privacy features on the ETC blockchain, with increased performance for smart contracts.
This adds precompiled contracts for addition and scalar multiplication on an elliptic curve operation, which are required to perform the verification with a reduced gas cost. This EIP suggests adjusting some parameters of zkSNARKS to operate at the low gas limit.
Combined with EIP 196, this EIP will increase the privacy for the users, along with a scalability solution. This suggests verification of zkSNARKS on the ETH blockchain.
Here, every length is a 32-byte integer representing the number of bytes to be taken up by the next value. The call data is assumed to be infinitely right-padded with zero bytes, and excess data is ignored.
As the current formula lacks the “uncle rate”, that will be fixed by EIP 100. Uncle rates are the appearance of the necessary gas or computational effort appearing on the Ethereum blockchain. EIP 100 suggests changing difficulty adjustment in order to target mean block time which includes uncles. This will lead to the migration and deployment between ETH and ETC become easier and efficient.
This EIP will optimize the performance by removing empty accounts, which will speed up sync times and “debloat” the network.
This aims to change the contract-code size limit to 24,576 bytes. Initially, this was introduced by Vitalik Buterin, the Ethereum co-founder, in order to prevent an attack. But it would put a fixed cap to the size of the contract code if implemented, which would create a point of contention amongst the ETC community. This led to confusion amongst the developers as an application to a transaction validation instead of block validation makes it a soft fork.
There are two ways of reverting a transaction from within a contract- either executing an invalid transaction or running out of gas. Both of these options are expensive. EIP 140 provides a way to stop execution and revert state changes, without the consumption of the entire available GAS. This did not include clarity for the callers to determine if the transaction got executed or any changes applied.
EIP 658 and EIP 140 go hand in hand. EIP 658 helps in replacing the intermediate state root with a return status, which goes as 1 for success and 0 for failure.
EIP 211 introduced a simple gas charging mechanism that enables the return of arbitrary-length data inside the Ethereum Virtual Machine (EVM).
The EVM is a stack-based virtual machine, with a word size of 256-bits, used to run the smart contracts on EVM- based blockchain like ETH and ETC. The smart contracts run EVM bytecode while receiving a transaction, enabling them to perform the transactions.
After a call, the return data is kept inside a virtual buffer, from which the caller copies into memory. From the next call onwards, the buffer is overwritten and the process goes on and on. This EIP enables to return data when there is an intentional state reversion.
Since the size of the failure data can possibly be larger than the return data, it is near impossible to retrieve the failure data after the “CALL opcode” has signaled a failure.
Opcodes are low-level instructions of the program that humans can understand.
One cannot determine the state of a smart contract as long as computations can be performed. For instance, performing a transaction with dApp would order your transaction, once the transaction is confirmed by the miners. The STATICCALL opcode helps the users to call a contract and assume the state of all accounts stays the same before and after the call.
This enables the contract to make calls that are non-state-changing, assuring the developers of no upcoming issues or bugs.
This is a contentious fork, so you need not do anything. If you are running an ETC node as a developer or user, or exchange, you just need to update your node, as mentioned below by OKEx. There will be a suspension of withdrawals and deposits at 12:00 Sept 11, 2019 (CEST, UTC+2) and resumed when the ETC mainnet is stable.
As the hard fork is very near, we can see several big and renowned exchanges supporting the upcoming ETC hard fork. Ethereum Classic hard fork date is estimated to be on September 12, 2019.
Binance has announced that it will support the upcoming ETC Atlantic hard fork. They will notify the users about deposits and withdrawals pretty soon.
HitBTC has also announced its support for the ETC Atlantic hard fork. They have even mentioned about clients supporting the hard fork:
In a recent blog post, OKEx announced that they will be providing support for the upcoming Atlantis hard fork. They even added that the users must deposit their ETC tokens to OKEx in advance as they will take care of the technical updates. The users needn’t worry about their tokens.
Because of interoperability issues, and in order to prevent any more attacks, Ethereum Classic is forking.
Ethereum Classic is having great potential with a very active community, and a roadmap full of developments. This Atlantis hard fork will reshape ETC’s future in a bright way.
CoinSwitch.co is the world’s largest cryptocurrency exchange aggregator which supports 300+ coins and over 45,000+ pairs. It provides an easier way of trading through global exchanges like Binance, KuCoin, IDEX, Huobi, Ethfinex, HitBTC and Cryptopia without creating an account on them. If you are interested in buying cryptos, do give it a try!