Sequence of updates is testnet to mainnet observers and then main net validators if applicable. Current philosophy is to minimize updates/disruptions to validator nodes while enabling improved observer node functionality.
0.9.25 is a bug fix release, with significant configuration changes, preparatory constructs for last finalized state and many other enhancements (total of 25 PRs): Improvements to RNode Storage (Keyvaluestore in LMDB to be used in future releases by DAG Store and Block Store, as well as to cache transactions and state changes), HTTP Admin API endpoint and by bytesToHex method by Arthur Greef, Ability to visualize DAG from any point, Improved logging and handling of errors in the Web API, Configuration for API server, isFinalized call in the http API etc.
Sprint 56 in progress
Main Focus: Work towards completing Last Finalized State, identify and address as many slashing issues as possible, hardening the main net, improve performance. Current PR list at https://github.com/rchain/rchain/pulls
Current Work In Progress
Slashing investigation: One validator node was slashed due to tuple space mismatch. First part of debugging revealed that the problem is manifesting when Trie is recalculated because of insert/delete of nodes when they are share common prefix.
RCHAIN-4102Getting issue details...STATUSWe are fixing this issue but while it would certainly help reduce errors, it's not clear that this is the ONLY source of the problem. At this time this is a non-deterministic and rare error. It took 3 months to manifest and only in one of the ten main net nodes. We will continue to watch and analyze/debug it. We have to put in place a strategy to handle such errors. This is a future ToDo.
Fix rewards / cost accounting bug: In developing a dashboard to display validator rewards and costs, Tomislav noticed that the sequence/timing of application of the various charges and rewards may be incorrect. Currently investigating further. This may provide a more direct fix for the current slashing situation.
0.9.26 targeted to be the release for completion of Last Finalized Stae. We may do an interim release as testing progresses, to keep the release size small.
Addressing discovered bugs: Investigating the 'tuple space error' that we occasionally see on the main net.
Ongoing - Improvements to last finalized state issued but quite a bit of work involved still. Significant progress, some of which have been released in 0.9.25. The PR and the branch are structured so that multiple people can collaborate/ work on different parts of the feature at the same time. The scope of this work enables (a) faster catchup by new nodes - you can start from the last finalized state - this is a differentiator for RChain (b) offloading older data and differentiated storage and retrieval strategies for the same (c) allows for a leaner / less bloated node. Tomislav continuing to work and test this. Nutzipper and Will are helping to accelerate delivery. Having to pick between refactoring and work-arounds in various parts. This change touches most parts of the code base. Trying to get a more modular and future-beneficial approach.
Ongoing SRE - IBM cloud support has been frustrating. We will use their resources for non-critical work.
Could use community support on this - Validator expansion and Validator support:
Exploring methods of enabling easy scaling and decentralization of nodes. Couple of options are (a) one click install buttons for various clouds (b) run your own 'shard in a box' or 'node in a box' using low cost devices like Raspberry Pi based Antsle etc.
Looking at improving the communication channels for two way feedback and training of validators.
Ongoing - CI/CD:
We are slowly moving from Jira to Github for the development team, started publishing release notes in Github with release 0.9.25. New issues are entered in github. For a while, we will maintain in both Jira and Github.
0.9.25 release notes are in Github - hopefully the community finds the format improved and useful.
Thursday 10 AM Eastern
We will start reporting on zulip backend and other dApp efforts, once we have more to report. Zulip meeting on Thursdays 3 PM Eastern, 12 Noon Pacific
Theo to demo UI for his functional cryptography based anonymous voting component.
Current Backlog (partial)
Improve merging in system deploys
Improve Casper by enabling more tests and resolving identified code issues
Improve BlockMerge including refactoring RunTimeManager
Improve multi-parent Casper enablement
Implement sharding capabilities
Improve logging to be able to learn what API calls are being used, so they can be related to resource use and performance etc
Rholang 1.1 to improve syntax and user experience / learning curve