rippled Version 0.80.0
Ripple has released
rippled version 0.80.0, which introduces several enhancements that improve the reliability, scalability and security of the XRP Ledger. Ripple recommends that all
rippled server operators upgrade to version 0.80.0 by Tuesday, 2017-11-07, for service continuity.
Highlights of this release include:
- The SortedDirectories amendment sorts the entries in
DirectoryNodeledger objects. It also corrects a technical flaw that could, in some edge cases, prevent an empty intermediate page from being deleted.
Ripple expects the SortedDirectories amendment to be enabled on Tuesday, 2017-11-07.
If you operate a
rippled server, then you should upgrade to version 0.80.0 by Tuesday, 2017-11-07, for service continuity.
Impact of Not Upgrading
If you operate a
rippled server but do not upgrade to version 0.80.0 by Tuesday, 2017-11-07, when the SortedDirectories Amendment is expected to be activated, then your server will become amendment blocked, meaning that your server:
- Cannot determine the validity of a ledger
- Cannot submit or process transactions
- Does not participate in the consensus process
- Does not vote on future amendments
- Could rely on potentially invalid data
If the SortedDirectories amendment does not get approved, then your
rippled server will not become amendment blocked and should continue to operate.
If you operate a
rippled server that uses RocksDB as its data store, then we recommend removing the RocksDB
file_size_mb parameter from your
rippled.cfg config file.
For instructions on updating
rippled on supported platforms, see Updating
rippled on supported platforms.
The sha256 for the rpm is: 0f67e8fdc9c555921534b6944ca418df007cee0705ab9e2fc5423963848b2935
The sha256 for the source rpm is: 9c6f5074e1ec3ce6ced27c0da243bb7ed19a32a8bedf2d68809ec37845f42c1b
For other platforms, please compile version 0.80.0 from source.
The first log entry should be the change setting the version:
commit cafe18c59279e7de447f25a0e00d0562d6441c7a Author: Nik Bougalis <email@example.com> Date: Thu Oct 19 14:37:27 2017 -0700 Set version to 0.80.0
The Ripple operations team plans to deploy version 0.80.0 to all
rippled servers under its operational control, including private clusters, starting at 2:00 PM PST on Tuesday, 2017-10-24. The deployment is expected to complete within 4 hours. The network should continue to operate during deployment and no outage is expected.
At that time,
rippled validators under Ripple’s operational control will begin voting for the SortedDirectories amendment.
Learn, ask questions, and discuss
Related documentation is available in the Ripple Developer Portal, including detailed example API calls and web tools for API testing.
Full Release Notes
The SortedDirectories amendment addresses two distinct issues: First, it corrects a technical flaw that could, in some edge cases, prevent an empty intermediate page from being deleted. Second, it sorts directory entries within a page (other than order book page entries, which remain strictly FIFO). This makes insert operations deterministic, instead of pseudo-random and reliant on temporal ordering. Lastly, it removes the ability to perform a "soft delete" where the page number of the item to delete need not be known if the item is in the first 20 pages, and enforces a maximum limit to the number of pages that a directory can span.
The previously announced FlowCross Amendment will be enabled on a future date (TBA).
We do not have an update on the previously announced changes to the hash tree structure that
rippled uses to represent a ledger, called SHAMapV2. At the time of activation, this amendment will require brief scheduled allowable unavailability while the changes to the hash tree structure are computed by the network. We will keep the community updated as we progress towards this date (TBA).
0.80.0 Change Log
- Improve directory insertion and deletion (#2165)
- Move consensus thread safety logic from the generic implementation in Consensus into the RCL adapted version RCLConsensus (#2106)
- Refactor Validations class into a generic version that can be adapted (#2084)
- Make minimum quorum Byzantine fault tolerant (#2093)
- Make amendment blocked state thread-safe and simplify a constructor (#2027)
- Use ledger hash to break ties (#2169)
- Refactor RangeSet (#2113)
- Improvements to validation quorum calculation