Summary:
The Casper network Peregrine (v1.5.5) update is a patch release that includes enhancements and bug fixes to network operations. The most significant changes are the reduction of block times to 16 seconds, the 99% refund of unspent funds, and the lowering of control flow opcode costs, resulting in a reduction in mint, installation, and transfer costs for contracts.
Informational:
There are no high-priority or severity defects open for release v1.5.5. It is to be noted that we tried to fix a scenario where if a slow node would be lagging without switching its round exponent, it would decrease rewards not just for itself but for everyone; however, it warrants significant rework to the highway consensus protocol and will be addressed in a later release. For this release the validators and stakeholders of the network are highly recommended to watch for any reward changes at the upgrade boundary.
Call to action:
The production gas costs of the branching opcodes have been lowered. This change has resulted in overall improvements and a reduction in installation, mint, and transfer costs. A test sample of the reduction amount is here. Please note that all new contracts will be able to benefit from this change, but for existing contracts to benefit, they need to be upgraded, so that the new version of the gas table gets injected. Thus, all contract owners are requested to take the necessary action to take advantage of this change.
Key Changes:
- In v1.5.5 we have reduced the network block times from 32 seconds to 16 seconds with reduced block gas limit to 4000 CSPR from 10,000 CSPR and reduced seigniorage rate as well. This is a significant enhancement and in our test networks has demonstrated no noticeable issues.
- An enhancement has been made in v1.5.5, where a refund system has been activated in the casper protocol, meaning if a contract overpays, then 99% of the unspent fund will be refunded. This is achieved by changing the refund ratio in the configuration from 0% to 99%. This means that whatever was the payment amount made, minus whatever was the actual gas amount, which is the unspent amount, 99% of that will now be refunded and shown in the execution effects. This was not the case prior to Peregrine.
- In v1.5.5, we have lowered the control flow opcode costs for branch, call, and call indirect flows from 440000 and 140000 to 35000 and 68000, respectively. This change has resulted in an overall reduction in installation, mint, transfer, reverse lookup, and no lookup costs. Please note that all new contracts will be able to benefit from this change, but for existing contracts to benefit, they need to be upgraded. The details of the change is here and the sample reduction costs from our tests is here.
- In v1.5.5, we have added support for a new FFI function, enable_contract_version, for enabling a specific version of a contract. How this addition helps contract authors is that they can now enable contract versions after they have been disabled.
- In v1.5.5 we added a NoSync option, which allows a node to opt out of historical sync via the config setting. A NoSync node is prevented from participating in consensus or switching to validate mode. it is primarily for lightweight nodes that are only interested in recent network activity, here.
- We have made the state identifier parameter in the query_global_state JSON RPC as optional in v1.5.5. When no state identifier is provided the highest block is then used as an identifier, here.
- The state_get_account_info RPC method can now handle an account identifier as a public key or account hash, note: public_key param is replaced with account_identifier here.
How do the changes impact Network Operators?
- There is no impact to network operations and no downtime. The operators will notice changes in the chainspec for the following, core.minimum_block_time, core.round_seigniorage_rate, highway.block_gas_limit in order to support the reduced block times to 16 seconds.
How do the changes impact Smart contract/dApp/sdk Developers?
- There is no impact to existing contracts and our contract developers are highly encouraged to test their existing contracts on integration or testnet version of 1.5.5. All new contracts will benefit from the control flow opcode changes as mentioned earlier and existing contracts need to upgrade to reap the benefits of this change.
Testnet Activation | Mainnet Activation | Installation Instructions |
Activation: Era: 11751 2023-12-18 14:51 UTC2023-12-18 06:51 US/Pacific 2023-12-18 09:51 US/Eastern 2023-12-18 15:51 Europe/Zurich 2023-12-18 22:51 Asia/Hong_Kong |
Jan 9th 2024 | Provided during Mainnet staging. |
Comments
0 comments
Please sign in to leave a comment.