Committee Proposal 89

TRON Core Devs
TRON
Published in
2 min readAug 4, 2023

Committee proposal 89 is a voting request for modifying the №76 chain parameter on TRON network, activating the PUSH0 instruction in TRON virtual machine (TVM), please refer to here for the origin discussion. The №89 committee proposal is already in effect, please refer to here for the voting details, this post is dedicated to provide more details.

What’s the motivation to introduce the PUSH0 instruction?

Introducing the PUSH0 (0x5f) instruction means pushing the constant value 0 onto the stack in the TVM, which originated from EIP-3855. The Ethereum Shanghai Upgrade has already been activated on its mainnet on April 12, 2023, including EIP-3855 as a part. To keep TVM compatible with EVM, and to share the same benefits for TRON developers and users as well, it is proposed to implement and enable the PUSH0 instruction in TVM.

What’s the benefit brought by enabling the PUSH0 instruction?

Enabling the PUSH0 instruction in TVM brings both technical and economic benefits.

Technically, it keeps TVM compatible with EVM, and specifically the following benefits are realized:

  1. Reducing contract code size.
  2. Reducing the risk of contracts (mis)using various instructions as an optimisation measure. Repricing/changing those instructions can be more risky.
  3. Reduce the need to use DUP instructions for duplicating zeroes.

Economically, it helps reduce the gas cost of smart contract transactions.

Summary

After enabling the PUSH0 instruction in TVM, it could ensure the compatibility between TRON and Ethereum at the virtual machine level, and reduce the energy cost of using smart contracts on TRON.

--

--