Protocol Mumbai#
This page documents the changes brought by protocol Mumbai with respect to Lima (see Protocol naming).
The code can be found in directory src/proto_016_PtMumbai of the master
branch of Tezos.
New Environment Version (V8)#
This protocol requires a different protocol environment version than Lima. It requires protocol environment V8, compared to V7 for Lima. (MR !6439)
Michelson#
The
AND
,OR
,XOR
, andNOT
bitwise instructions have been extended to supportbytes
. (MR !6055)The
LSL
andLSR
logical shift instructions have been extended to supportbytes
. (MR !6055)The
INT
conversion instruction has been extended to support conversion frombytes
toint
. (MR !6681)The new
NAT
conversion instruction has been added to convertbytes
tonat
. (MR !6681)The new
BYTES
conversion instruction has been added to convertnat
andint
tobytes
. (MR !6681)
Smart Rollups#
Rollups supporting execution of smart contracts. (MRs !6118, !6425, !6252, !6396, !6364, !6413, !6545, !6543, !6590, !6623, !6641, !6549, !6672, !6500, !6718, !6699, !6630, !6794, !6823, !6828, !6676, !6698, !6507, !6879, !6860, !6716, !6468, !6857, !6652, !6913, !6838, !6914, !6717, !6560, !6891, !6726, !6935, !6951, !6946, !6954, !6942, !6963, !5741, !6974, !7013, !7015, !6980, !6993, !6949, !6930, !6991, !6955, !6937, !7010, !7027, !7034, !7045, !7036, !6987, !7016, !6380, !7109, !7114, !6968, !7130, !7054, !7189, !7220, !7067, !7213, !7233, !7247, !7248, !7253, !7254, !7271, !7161, !7320, !7280)
Zero Knowledge Rollups (ongoing)#
Rollups supporting cryptographic proofs of correct execution. (MRs !6047, !6884, !6836, !6855, !6839)
Data Availability Layer (ongoing)#
Distribution of rollup operations data off-chain. (MRs !6174, !6388, !6527, !6505, !6553, !6685, !6470, !6643, !6704, !6683, !6702, !6728, !5905, !6762, !6703, !6796, !6821, !6852, !6811, !6887)
Breaking Changes#
Disable TORU. (MR !7087)
Ticket User-experience#
RPC Changes#
Add RPC to get contract’s balance of ticket with specified ticketer, content type, and content. Can be used for both implicit and originated contracts.
POST /chains/<chain_id>/blocks/<block_id>/context/contracts/<contract_id>/ticket_balance
. (MR !6488)Add RPC to get the complete list of tickets owned by a given contract by scanning the contract’s storage. Can only be used for originated contracts.
POST /chains/<chain_id>/blocks/<block_id>/context/contracts/<contract_id>/all_ticket_balances
. (MR !6712)
Operation receipts#
Cryptography#
Support for BLS signatures and introduction of a new account type whose address has the prefix
tz4
(whose keys are BLS-MinPk key pairs). TheCHECK_SIGNATURE
instruction of Michelson can also check BLS signatures.tz4
accounts are forbidden to be delegates. (MR !5444)
Bug Fixes#
15s Block Times (MR !7017)#
Blocks times have been reduced from 30 seconds to 15 seconds. That is, a block can be produced with a delay of 15 seconds with respect to the previous block, if both blocks have round 0. This change comes with updating many related protocol parameters in order to match the reduced block times. In particular, the following quantities are kept the same:
the minimal time period of a cycle (namely, 2 days, 20 hours, and 16 minutes),
the length of the nonce revelation period (namely, around 2 hours and 8 minutes)
the number of nonce commitments per cycle (namely, 128),
the number of stake snapshots per cycle (namely, 16),
the maximum rewards per minute (namely 80 tez), and therefore roughly the same inflation,
the minimal “time to live” of an operation (namely, 1 hour),
the block gas limit per minute (namely 10400000 gas),
the ratio between the liquidity baking subsidy and the maximum rewards per block (namely, 1/16).
Parameter (unit) |
Old (Lima) value |
New value |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Minor Changes#
Internal#
Update migration for Lima. (MR !6504)
Introduce local context access APIs to the indexed subcontext for optimized accesses with locality. (MR !5922)
Optimized cleaning of implicit contract with 0 balance using local context accesses (MR !5922)
Improve ex_ticket_size. (MR !6209)
Clean up validation code. (MR !6526)
Remove
Script_typed_ir.comparable_option_t
. (MR !6513)Restrict functions to originated contracts. (MR !6198)
Minor fixes for Consensus key. (MR !6567)
Enrich execution traces with “just consumed gas”. (MR !6565)
Separate
Generated_cost
module. (MR !6253)Remove unused parameter in gas model for
SPLIT_TICKET
. (MR !6489)Remove function for computing baking rights without cache update. (MR !6605)
Move the definition of
boxed_list
toScript_list
. (MR !5954)Make
counter
an abstract type instead of an alias ofZ.t
. (MRs !6647, !6648)Move interpreter logging to the plugin. (MR !5778)
Use let-bindings in ticket-accounting module. (MR !6770)
Use condensed syntax modules in protocol. (MRs !6844, !6864)
Do not fully parse head fitness in
Mempool.init
. (MR !7000)