March Development Update

The Road to Release

Loong
Ren Protocol
Published in
5 min readMar 26, 2020

--

Around this time of the month, we usually post a development update that discusses the development highlights of the last month. This month, things will be a little different. What everyone really wants to hear about, and what we really want to talk about, is Mainnet SubZero.

In this post, we will describe the steps that will be taken to roll out Mainnet SubZero. Keep in mind, these steps are subject to change, and we will continue to avoid specific dates. If you have any questions regarding the roll-out please join our Telegram to ask questions about progress and stay up-to-date.

So what are all the steps on the road to release? Well, to kick things off on an exciting note, we have already begun the first steps in this plan! The march to Mainnet SubZero has begun.

First things, first. If you plan on running a Darknode during Mainnet SubZero, please begin to deregister all Darknodes now (Chaosnet or otherwise). See our instructions for more information on how to do this. Deregistration can take some time, so beginning now will ensure that you are ready.

Step 1 | Smart Contracts

The first step is to deploy the Ethereum smart contracts.

RenVM makes use of several Ethereum smart contracts. These smart contracts control mission-critical functionality for RenVM: registering network participants (Darknodes), collecting/distributing fees, and minting/burning renERC20s (renBTC, renZEC, renBCH, and more to come). Smart contract upgrades will also continue to introduce new features over time, such as decentralised governance.

Once deployed, we will verify source-code, double-check configurations, run final correctness tests, and reach out to developers so they can begin integrations. This process has already begun!

You can learn more about our Ethereum smart contracts by checking out our open-source GitHub repository.

Step 2 | Blockchain Infrastructure

The second step is to deploy the Mercury API for Ethereum, Bitcoin, ZCash, and Bitcoin Cash.

Darknodes need to be able to see and submit transactions on multiple different chains simultaneously. They can be configured to do this by looking at local nodes, or hosted APIs, but the Ren team will also be maintaining its own blockchain infrastructure, known as the Mercury API. By default, Darknodes are configured to use this API.

Once deployed, we will verify configurations and run final stress tests to ensure that the API can handle high traffic. We are currently preparing this deployment.

Step 3 | Darknodes

The third step is for the Ren team to deploy Darknodes.

This is the fun part: deployment of Darknodes. As many of you know, Darknodes are the backbone of RenVM. They are responsible for the consensus and execution of the cross-chain transactions, sending BTC, ZEC, and BCH between chains (with more assets and chains coming soon).

Before public availability is announced, we will verify the configuration of the Darknodes and run final correctness/stress tests. These tests will be run over at least one week, to ensure that as many scenarios as possible are covered.

Once we are happy with the tests, a formal Mainnet release will take place, our audits will be released, and members of the public will be able to begin running their Darknodes

At this stage, the Ren team will be the only ones running Darknodes in the Greycore. This will be maintained for one full epoch, so that everyone has a chance to bring their Darknodes online and the network can reach its usual “real-world” state, and then one additional epoch that is free of any serious bugs. This means the Ren team will be the only ones running Darknodes in the Greycore for a minimum of two epochs, but this will be extended if serious bugs are found and need to be fixed. This means that any security issues that arise in the early days can be immediately resolved. In the unlikely event of a critical failure, this also allows the Ren team to take appropriate action with speed and decisiveness.

Step 4 | Greycore

The fourth and final step is the expansion of the Greycore to include members of the Ren Alliance.

During Mainnet SubZero, the Greycore is responsible for consensus and execution of cross-chain transactions. In later releases, it is retired from this primary role and begins to provide a secondary signature on everything done by RenVM. Members are initially selected by the Ren team via the Ren Alliance, but its presence and those projects who are in it will eventually be controlled by on-chain community governance.

Members of the Ren Alliance that have opted to participate in the Greycore will be admitted into the network after the first epoch and, side by side with the Ren team, will oversee security for the RenVM network for Mainnet Subzero. For more information on this dynamic, please check out our docs.

Once we arrive here, RenVM will be the first decentralised bridge between blockchains; a massive milestone for the entire ecosystem. As described in our higher-level release plan, the Greycore will be solely responsible for consensus and execution during Mainnet SubZero. Darknodes run by members of the public will begin participating in consensus and execution in Mainnet Zero and Mainnet One. Nonetheless, rewards earned via RenVM will be split evenly amongst all participants (public and Greycore) at the inception of Mainnet Subzero.

Security Audit

How is the security audit progressing?

A few days ago, the Ren dev team received the results of the Hyperdrive audit. No critical bugs were found, but as with most audits, there were issues discovered. As we speak, we are designing and implementing fixes to address the points raised in the audit, and it should not be long before Hyperdrive is ready for prime time. Now that these results are in, we have begun the final phase of the audit: the sMPC algorithm. This audit has an unknown time frame, as auditing such an algorithm is no simple endeavor, nor is fixing any issues that might arise.

With that said, we look forward to receiving those results and will be rolling out RenVM in lock-step with these reports to ensure a prudent release. Until the Hyperdrive fixes are enacted, and the sMPC audit is complete, we will not progress to the third stage of the rollout plan (i.e. Darknodes & the official release of Mainnet SubZero). We will not rush this release as the safety, liveliness, and security of RenVM is our utmost priority.

With the deployment of our smart contracts underway and the deployment of the Mercury API being prepared, we are now in the beginning stages of rolling out Mainnet SubZero. Now that the march to Mainnet SubZero is officially underway, RenVM and its impact on the ecosystem is really just getting started, so I hope you are excited as we are!

— Loong Wang, CTO, Ren

About Ren

Ren is an open protocol that enables the permissionless and private transfer of value between any blockchain.

Website | Docs | Telegram | Announcements | Twitter | Reddit | Github

--

--

Loong
Ren Protocol

Building an open protocol that facilitates the permissionless and private transfer of value between any blockchain | CTO at Ren