The First Regular Upgrade for Etherlink: One Step Closer to Launch

Etherlink
Etherlink Community
3 min readJul 17, 2024

This is a joint post from Nomadic Labs, TriliTech & Functori.

Following the successful origination of Etherlink Mainnet Beta on Tezos on May 15th, we are pleased to announce that a new upgrade for the network is ready!

The associated commit for this upgrade is 4f4457e, and it has already been successfully deployed to the Testnet on July 8th

curl -f -X POST -H 'Content-Type: application/json' --data 
'{"jsonrpc":"2.0","method":"tez_kernelVersion"}' https://node.ghostnet.etherlink.com/
{"jsonrpc":"2.0","result":"4f4457e2527cb227a90bb1c56d3a83f39c0f78fd","id":null}

We encourage Tezos bakers to submit this kernel to the on-chain governance contract. Etherlink upgrades are identified by the root hash of the binary resulting from the compilation of the Etherlink kernel crate to WASM. In this case, the root hash of the kernel is 0x00e58c94bd5a793b09e8b127a1fcf4958c72ca6f86078a78760b41415fb3a7801d. You can reproduce this by cloning the Octez repository and building it yourself, as explained in the appendix of this announcement. The governance process of Etherlink is described in the official documentation, which also provides a guide on how to participate in Etherlink’s governance.

Finally, you can refer to the governance page proposed by the Etherlink official website, in order to monitor any ongoing governance vote. At the time of publication of this article, the current period is 37. The proposal period is expected to end on July 18 around 08:37 PM UTC. The promotion period would then end on July 21 around 5:30 AM UTC. Assuming that the kernel is voted successfully, the kernel would be deployed 24h later.

Changes

You can refer to the changelog of the kernel (versions 4f4457e and ec7c3b34) for the complete list of changes compared to the kernel currently deployed on Mainnet Beta.

  • Initial support for the debug_traceTransaction and debug_traceCall RPCs (limited to the struct/opcode tracer). This was one of the most popular feature requests among our partners. More tracers are to come later.
  • The sequencer pool address (receiving the DA fees paid by Etherlink’s users) now serves as the miner and Coinbase addresses of new blocks produced by the sequencer (it was the null address before).
  • Several bug fixes that address issues revealed by internal testing and external auditing.

External audit by Spearbit

We are pleased to report that Spearbit has concluded their audit of this kernel, and they conclude that the components they have reviewed can be considered safe. This includes the safety and correctness of Etherlink upgrade mechanism, and the safety of the assets being deposited, held and withdrawn on Etherlink.

Appendix: how to recompute the kernel root hash

git clone https://gitlab.com/tezos/tezos
cd tezos
git checkout 4f4457e2527cb227a90bb1c56d3a83f39c0f78fd
./etherlink/scripts/build-wasm.sh
cat etherlink/kernels-4f4457e2527cb227a90bb1c56d3a83f39c0f78fd/root_hash

The expected output of the last command is

ROOT_HASH: 00e58c94bd5a793b09e8b127a1fcf4958c72ca6f86078a78760b41415fb3a7801d

(you can safely ignore and delete the contents of the wasm_2_0_0/ directory)

Appendix: participating in the governance

In order to take part in the governance process, you can use octez-client. Assuming your baker key is saved in your client directory under the name my_wallet, you can propose the kernel upgrade, if no one has done it already.

octez-client transfer 0 from my_wallet \
to KT1H5pCmFuhAwRExzNNrPQFKpunJx1yEVa6J \
--entrypoint "new_proposal" \
--arg "0x00e58c94bd5a793b09e8b127a1fcf4958c72ca6f86078a78760b41415fb3a7801d"

Similarly, you can upvote an existing proposal.

octez-client transfer 0 from my_wallet \ 
to KT1H5pCmFuhAwRExzNNrPQFKpunJx1yEVa6J \
--entrypoint "upvote_proposal" \
--arg "0x00e58c94bd5a793b09e8b127a1fcf4958c72ca6f86078a78760b41415fb3a7801d"

Once the proposal period is over, and the promotion period starts, you can vote in favor of the proposal (assuming it won the vote) with the following command.

octez-client transfer 0 from my_wallet \
to KT1H5pCmFuhAwRExzNNrPQFKpunJx1yEVa6J \
--entrypoint "vote" --arg '"yea"'

Based on feedback from bakers, having to rely on the baker address to engage with the governance of Etherlink through smart contracts can bring some considerable friction. Going forward, we intend to propose an amendment to the governance mechanism that reduces the operational overhead and simplifies the process.

--

--

Etherlink
Etherlink Community

An EVM-compatible, non-custodial Layer 2 blockchain powered by Tezos Smart Rollups technology.