Skip to content

[Mainnet] Aptos Node Release v1.3.2

Compare
Choose a tag to compare
@sherry-x sherry-x released this 25 Mar 00:34
· 7 commits to aptos-release-v1.3 since this release
88bb502

New features and enhancements

Aptos Blockchain

  • Implemented “rolling commit” to track the prefix of committed transactions in parallel execution accurately, without introducing overhead compared to the current lazy commit approach that can only commit all the transactions together.

Aptos Frameworks

  • AIP-10: Move objects for global access to heterogeneous set of resources stored at a single address on-chain. Objects offer a rich capability model that allows for fine-grained resource control and ownership management. By leveraging the aspects of the account model, objects can directly emit events that may lead to a richer understanding of on-chain actions.
  • AIP-12: A new Multisig account standard that is primarily governed by transparent data structures and functions in a smart contract (multisig_account) with more ease of use and more powerful features than the current multied25519-auth-key-based accounts.
  • AIP-16: New cryptography natives for hashing and MultiEd25519 PK validation to add support for computing the Blake2b-256 hash function in Move smart contracts, computing SHA2-512, SHA3-512 and RIPEMD-160 hash functions in Move smart contracts, and upgrade MultiEd25519 PK validation to V2 address a bug where a PK with 0 sub-PKs would've been considered valid.
  • AIP-18: Introducing SmartVector and SmartTable into aptos move standard library. These two data structures are built for storing on-chain large datasets that either cannot fit intovector or are expensive to use Table. Our preliminary benchmark shows a remarkable saving in gas in terms of storage fee.
  • Added math libraries. This includes sqrt, mulDiv, exp/log for FixedPoint32, floor_log2, log2, mulDiv and ceil_div for u64 and u128.
    Added ability to access chain ID inside aptos_stdlib.

Move Language and VM

  • AIP-8: Higher-order Inline Functions for Collections
    Proposed functions merged into move-stdlib and aptos-stdlib (as can be seen in the simple_map and vector Move modules).
    No decision yet about the shape of those features for large collections like tables and upcoming smart collections.
  • AIP-9: Resource groups to support storing multiple distinct Move resources together into a single storage slot.
  • AIP-17: Reducing Execution Costs by Decoupling Transaction Storage and Execution Charges. This allows for a new gas schedule to lower execution and IO transaction costs by 100x.

Resolved Issues

  • Our MultiEd25519 Move module allowed for some invalid MultiEd25519 PKs to be deserialized as ValidatedPublicKey structs. Such incorrectly-deserialized structs would have been caught later on during signature verification. We have fixed this bug to guarantee correct semantics of MultiEd25519 validated PKs. #5822

Security Fixes

  • The Move bytecode verifier has a new metering logic to prevent denial of service attacks. Overly complex programs are detected and rejected by the verifier. (released into Mainnet with v1.2.6)
  • All Move native function implementations in Rust have been changed to preemptively charge gas before executing any potentially-expensive operation. This precludes DoS attacks. (released into Mainnet with v1.2.6)

Deployment

[Testnet] v1.3.1 -> v1.3.2

Full Changelog: aptos-node-v1.3.1...aptos-node-v1.3.2