This month we published the RenVM Mainnet Release Plan. This overview details the different steps that RenVM will take in its march towards Mainnet, so check it out if you haven’t already.

The first step is the release of Chaosnet: a pre-production deployment of RenVM. It works with real digital assets: BTC, ZEC, BCH, etc. and Darknodes earn real fees, but it is not audited and not recommended for production use. Its purpose is to act as a final testing ground for RenVM updates that are making their way to Mainnet. One important aspect being tested is the economic incentives at play. The community will have a chance to see real incentives in action, including incentives to attack, collude, and steal from the network.

A lot of our work this month has focused not only on our efforts to simplify, stabilise, and audit RenVM but also on preparing this upcoming release of Chaosnet.

RenVM

The latest version of Hyperdrive has finished being tested and passed our internal review process. It is now deployed to Testnet and ready for audit. These changes have made it faster, more resource-efficient, and more fault-tolerant than ever. A large part of our testing process has been intentionally crashing and restarting Darknodes to ensure that the latest version of Hyperdrive continues to operate normally under these conditions.

The latest version of our RZL sMPC algorithm has finished development and has been integrated into a new codebase: z0 (pronounced zero). This new codebase is drastically simplified and currently undergoing testing and formal specification. This will allow auditors to independently review the RZL sMPC algorithm versus the z0 virtual machine that’s using the RZL sMPC algorithm. This distinction is important, as it makes the audit process clearer, more decoupled, and ultimately less error-prone.

Support for Bitcoin Cash (BCH) has been deployed to Testnet and will soon be added to our demos, examples, and tutorials. Developers should now be able to use Testnet Bitcoin Cash on Ethereum Kovan.

Support for SegWit addresses has been deployed to Testnet. Users should now be able to use their SegWit addresses when interacting with RenVM.

Command Center

The Command Center now includes all major features requested by the community.

The deployment of the Command Center is now independent of the deployment of RenVM. This allows us to test it across multiple environments (Testnet, Chaosnet, etc), making it easier to add and test new features.

Some minor user-interface changes have been deployed to Testnet.

Optimisation

Optimisation is commonly one of the final stages in the development process, so much so that the saying “do not optimise early” is known to almost all developers. This month, we began these optimisations.

All internal JSON marshaling was removed in favour of binary marshaling. Binary marshaling is faster and requires less memory.

Heap allocated big numbers are being replaced by stack allocated big numbers. Using stack allocated big numbers gives us performance improvements of up to 100x on some operations.

The number of goroutines and mutexes has been drastically reduced. There are a lot of moving parts in a Darknode, and this optimisation decreases the overhead of running all these parts in parallel.

Overall, these optimisations help us keep the hardware requirements of the Darknodes as low as possible. This ultimately increases the profit margin of operating a Darknode, which increases the number of Darknodes that can be supported by any given amount of fees, which in turn increases the overall security of RenVM.