Adds two major features: Sapling and BLS12-381 to enable privacy-preserving smart contracts and tickets for native permissions. Updates amendment process by lowering period length to 5 cycles and adding a 5th Adoption Period. Also includes minor Michelson improvements. Full changelog here.
The Edo proposal, a joint effort from Nomadic Labs, Marigold, and Metastate is a protocol upgrade proposal focused on implementing new features such as Sapling and Tickets, and adding core functionality improvements to the Tezos protocol.
Sapling, originally developed by the Electric Coin Company, will be integrated to enable privacy-preserving transactions on Tezos. With recent improvements, the time needed for crafting and verifying transactions using Sapling have reached practical levels suitable for any end-user. Coupled with this is the addition of Michelson opcodes for the pairing-friendly elliptic curve BLS12-381.
Tickets provide a mechanism for smart-contract to grant portable permissions to other smart-contracts, or to issue tokens. This enables new kinds of composable contract architectures and aims to guard against common smart contract vulnerabilities.
Edo also adds several new instructions to Michelson, including LEVEL, which has been widely requested by developers exploring Layer-2 scaling solutions.
- New hash functions: instructions
LEVELto query the level of the current block
TOTAL_VOTING_POWER) to query the voting power of a particular delegate (resp. of all delegates)
SELF; ADDRESSbut allowed in lambdas
Amendment Process Updates
A new fifth period called “Adoption” is a means to improve governance on Tezos by providing an additional window for bakers, indexers, and end-users to upgrade their nodes once a protocol upgrade goes live. At the moment, protocol upgrades that pass go live one block after the completion of voting has been perceived to provide an insufficient update window. This Adoption period aims to provide a more suitable time window for these updates.
Additionally, amendment period lengths will be reduced from 8 cycles to 5 cycles, making the total duration of the voting procedure 25 cycles (~2 months and 10 days).
This proposal doesn’t contain an invoice.