Start date | |
---|---|
Release |
|
RNode v0.9.8 introduces slashing to the consensus protocol and performance improving features in RSpace and RNode. For more information about running RNode v0.9.8, please see our release page on GitHub and the User guide for running RNode. Continue reading for more detailed information about changes in this release.
This release delivers slashing, a key component of the consensus protocol. With slashing in place the protocol supports proving a validator produced an invalid block and then the subsequent slashing of that validator resulting in the removal of that validator from the validator pool and removing that validator's stake for producing the equivocation.
This release includes building blocks in Rholang to support both the validation and validator rewards protocols. The new closeBlock
method will support validator transition as defined in the protocol, see Validator Incentives and Casper. The pay
method supports moving funds from the deployer to the validator proposing the block with that deployment.
Following the introduction of the new RSpace in Rnode v0.9.6, users had to specify in the run command which version of RSpace to use. We did this to support testing and assurance the new RSpace worked properly. With this release the new RSpace now runs by default and users no longer need to to specify this in the run command: --store-type v2
. The old RSpace will be completely removed from the project in the next release.
To significantly improve performance of `propose` we introduced the ability to create "soft checkpoints" in RSpace. These checkpoints remember the current state of the hot store so that it is possible to revert to this state if the subsequent deploy raises errors. The notable difference between this and standard checkpoints is the fact that the soft version does not build the history trie, which is costly both in terms of CPU time and storage, especially when repeated for every deploy.
A key component of resolving conflicting blocks is the peek functionality. This release delivers the peek functionality to RSpace in that we can now mark a comm event with peek and an update to the event log to show peek events. When fully implemented in Rholang and in consensus, peek events will not be considered as conflicts between blocks, thus supporting conflict resolution. The completion of peek in Rholang and in consensus will be delivered in a future release.
This release adds another performance improvement to node by creating two loops: one for node discovery and another for Casper-related messages and increasing the time between heartbeat checks related to the peering protocol. We continue to test this to ensure this resolves issues observed in testnet related to peering and timely receipt of the approved (genesis) block.
Running a node with a faucet to generate tokens is no longer an option for node users. Users should instead fund a REV_vault with tokens to use in testing scenarios.
Release packaging will include:
Docker image (Supported on Linux only)
Debian package
RPM package
.zip file
tar.gz file
Brew installation
Please visit our release page on GitHub for binary artifacts.
A docker image is available
docker pull rchain/rnode:v0.9.7
Homebrew installation via
brew install rchain/rchain/rnode
We use JIRA to collect bugs and feedback. File a bug
Please visit https://developer.rchain.coop or file a bug.
The RChain software is licensed under Apache License, version 2.0
Rholang is licensed under the MIT License (MIT)
The Docker image is licensed under the GPL 2.0 License