New Michelson Opcodes

Metastate
METASTATE
Published in
2 min readJun 1, 2020

Note that, due to the scientific notation formatting requirements, the full article has been published on our research blog. This article only provides a summary.

The purpose of this series is to share details with the Tezos community on a collection of features that are being explored by our team: new Michelson opcodes.

Camel Showdown — Eyewire Blog

Summary

The article gives a succinct introduction to the Michelson language, and proceeds to describe the semantics of the new types and instructions in the following features:

  • Support for the pairing-equipped elliptic curve construction BLS12–381: new types bls_381_g1, bls12_381_g2, bls12_381_fr, bls12_381_g1_compressed, bls12_381_g2_compressed, and new instructions COMPRESS, DECOMPRESS, and PAIRING_CHECK.
  • More cryptographic hash algorithms: new instructions SHA3 and KECCAK.
  • Support for forbidden values and branches: new type never and new instruction NEVER.
  • More comparable types: types key, signature, and chain_id made comparable.
  • Voting power data: new instructions VOTING_POWER and TOTAL_VOTING_POWER.
  • General improvements: new instructions SELF_ADDRESS and LEVEL, and macro UNPAIR promoted to instruction.

Full Article

Remarks & What’s Next?

In order to continue facilitating more community involvement in the protocol development process, the new Michelson opcodes topic will be available on upcoming public testnets. This way, different user groups can interact with and test the features beforehand.

Additionally, a detailed changelog and documentation describing the modifications introduced by each feature, including but not limited to the new Michelson opcodes, will be released in the upcoming weeks.

In the meantime, we would like to use this article as research synthesis and discussion reference, in addition to opening this topic for discussion on Tezos Agora.

More Tezos Protocol R&D Articles

More Resources

Written by Álvaro García Pérez, core developer and researcher at Metastate. For feedback or questions, please do not hesitate to contact us : team@metastate.dev

Follow us on Twitter and Medium to stay tuned! 🐫

--

--