Open-sourcing RZL MPC
One of the most important technical goals for the project is getting to a stage where we are comfortable open-sourcing our implementation of the RZL MPC algorithm. While there are many non-technical aspects to this, there are also some technical ones.
Over the last month, our dev team has begun decoupling our MPC implementation from the rest of our codebase, making it easier to iterate, test, and understand. As a part of this, we have been implementing new optimisations (our secp256k1 arithmetic is now up to 90% faster), building multiple versions of some parts of the codebase to gain even more confidence in its correctness, and moving to a new design centered around composable state machines. All of this comes together to make a codebase that is simpler, safer, faster, and easier for everyone to understand.
We have begun engaging with several auditing teams to review these changes, and once they are completed, we will be ready to make the codebase available under the GNU GPL v3 license.
Expanding the Multi-chain
To support new chains, both origin chains (e.g. Bitcoin) and host chains (e.g. Ethereum), RenVM uses an interface known as the multi-chain. Until now, the multi-chain has been focused on Bitcoin-like and Ethereum-like chains. But, since the release of Mainnet, the team has begun expanding and standardising this interface to support more and more chains.
To this end, we have begun prototyping support for cross-chain transactions on new chains, with an initial focus on Substrate. This will not only make it possible for the Polkadot ecosystem to make use of BTC, BCH, and ZEC (like the Ethereum ecosystem now can!), but it will also allow Substrate smart contracts to communicate with Ethereum smart contracts (and vice versa). This will open up a whole new kind of interoperability, one where dApps will be able to span more than one chain.
Improving Airwave P2P
Airwave is the P2P library used by RenVM for inter-node communication. For the last few months, we have been working on v0.4.0 of Airwave, focusing on improving its performance, its feature-set, and its forwards-compatibility.
Gossiping over encrypted, fault tolerant, self-healing connections, has been benchmarked at speeds as fast as 100 nanoseconds/message with zero memory allocations. While these speeds are over local networks, it goes to show how little overhead and resources will be required to run Darknodes in the next release. Overall, these improvements mean more throughput, for less expense, resulting in more profitability for Darknodes. We have also focused on improving its rate-limiting and filtering capabilities, making it safer in malicious settings.
Now, we are final steps of stabilising its API, writing more tests (on both local and globally distributed networks), and documenting it so that it can be used by other projects too.
Governing Changes
This month, we ran our first experiment with engaging the community to discuss the adjustment of the minting and burning fees incurred by the users of RenVM. We received over 500 votes, but more importantly, members from the community jumped at the opportunity to express their views and weigh up the various trade-offs. These were the first, albeit baby steps towards community-driven governance.
Over the coming months, we will continue to encourage the community to get involved in these decision making processes, and will experiment with a variety of different governance implementations and incentives. The community can expect that more decisions will begin to be influenced/made by active members of the community, and the collective of nodes that power RenVM.