As the Parity team moves closer to enabling parachain functionality on Kusama, we’ve been quietly planning and preparing for our deployment to the network, which we’ve named Moonriver.
Since we haven’t spent a lot of time discussing the Moonriver network, I’d like to take a moment to explain what it is, what to expect, and why this network is so important.
The Moonriver Smart Contract Platform
A Community-Led, Fully Ethereum-Compatible Parachain on Kusama
Moonriver is the easiest on-ramp for building an application on Kusama.
Like its sister network Moonbeam, the Moonriver smart contract platform features complete Ethereum compatibility that goes beyond the EVM, making it easy to use popular Ethereum developer tools to build or redeploy Solidity projects in a Substrate-based environment.
For Solidity projects, Moonriver provides the easiest possible transition from an Ethereum environment to Kusama:
- Minimal Changes: if you have an existing contract, it will work right away with no need to rewrite or reconfigure.
- Languages: write smart contracts in Solidity or anything that compiles to EVM bytecode.
- Unified Accounts, Addresses, and Signatures: use your existing Ethereum H160 accounts & ECDSA signatures to interact with Moonbeam.
- Publish-Subscribe Capabilities: subscribe to contract events and updates about on-chain transactions, balances, and more.
Already, this hyper-focus on conforming to the most widely adopted languages and tools has paid off: the Moonbase Alpha TestNet has dozens of live integrations, with more being added each month. This is significant because Moonriver, and subsequently Moonbeam, will be in a position to launch to MainNet with a fully-developed robust ecosystem of DeFi, NFT, and other decentralized projects actively using the network.
What to Expect from Moonriver
Like Kusama itself, Moonriver’s initial purpose is to serve as a “CanaryNet” — which is to say, it will act as a “canary in a coal mine” and sound the alarm for any potential issues before the code is deployed to Polkadot. In practice, that means we’ll deploy our code to Moonriver (on Kusama) first, where it will be tested and vetted both for functionality and for other, more-difficult-to-foresee abuse and manipulation scenarios. This will allow the engineers working on Moonriver to iterate quickly while evaluating real-world use cases on a live, value-bearing version of the network.
It’s important to note that, although Moonriver will share much of its codebase with Moonbeam once they’re both launched, we expect the network to take on a life of its own very soon after launch. This starts with the underlying utility tokens supporting the network, and the way that they will be distributed by the Moonbeam Foundation.
As you may have seen, the majority of the RIVER token initial supply (60%) will be distributed to the community via the initial crowdloan (more information on that will follow). This creates a dynamic where, after the parachain slot lease expires and the crowdloan rewards are distributed, the majority of the tokens will be in the hands of the community. And since on-chain governance is a core part of the Substrate codebase, this gives the Moonriver community an outsized voice in the future development and governance of the network.
Why a Second Network?
We’re following this dual deployment model — which was first introduced by Parity themselves as they planned the launch of Polkadot — because it works well.
Kusama was originally born of a practical need to be able to run software under realistic conditions before deploying that software to the Polkadot MainNet. There are many things that are difficult to understand when running in a TestNet environment. For example, no one cares about participating in governance when there is nothing at stake, so it is very difficult to get user engagement in governance in a TestNet environment. And the economics that drive node running and slashing also don’t work when there is nothing at stake.
Many projects address this by running an incentivized TestNet just prior to launching their MainNet. What Parity realized is that this wasn’t something that was needed just once, but rather something that was needed on an ongoing basis.
We buy into this idea. We want a permanent environment where Moonbeam software can be deployed first, before it is deployed to Polkadot. We believe this will result in higher software quality, better security, and faster development. Having different deployment environments starts to make blockchain development look a little more like regular Web2 development, with more frequent iterative releases, instead of the 1-2 releases per year that are the current norm for public blockchains.
While it can be confusing to understand the uniqueness and purpose of each of these chains, it’s also become very clear how different two networks with a shared codebase really can be. Kusama was initially envisioned as an experimental, unaudited wild cousin network to the more buttoned-up Polkadot network, but already we’ve seen exclusive societies, a bold NFT initiative, and independent funding of new entrants to the ecosystem. In the same way, it may be the case that Moonriver becomes home to specific use cases, perhaps ones that don’t require the economic security that Polkadot provides.
In order to fund the Moonriver parachain slot on Kusama, the Moonbeam Foundation will run a crowdloan campaign on behalf of the network. The details of this crowdloan and timing have not yet been released, but we do expect to know more within a few weeks as the Parity team releases more information and functionality. That information will be released separately, and I won’t dive into it in this post.
However, let’s quickly break down some of the components involved in a crowdloan:
- Parachains: For those who are new to Kusama and Polkadot, independent chains are able to exist as shards, called ‘parachains’ in this ecosystem, and will be connected to the relay chain for certain shared benefits like security and finality. For non-techies, I use the ‘dock to the mothership’ analogy here.
- Parachain Auctions: There’s a finite number of parachain slots that can be occupied, which means there needs to be a way to determine who can occupy them and for how long. This is done through a simple candle auction, where the highest bidder wins the slot (there’s some additional nuance here, which will explain in a future post). Each slot has a pre-determined lease period, after which it will be available for renewal or for another project to occupy the slot. This is a good thing for the network, since it rewards parachains with active usage and a demonstrated utility; less active parachains are unlikely to compete for the slot after the lease expires.
- Crowdloans: Since it can be daunting for new projects to build a community and find reputable investors, the Parity team has developed a way for new projects to garner the support they need in the form of crowdloans. This functionality really isn’t a ‘loan’ so much as a way to support a project in exchange for a reward, usually in the form of that project’s tokens. A user will be able to contribute a number of their tokens on the relay chain (so Kusama = KSM / Polkadot = DOT), which will be locked for a period of time. Those tokens will pay for the parachain slot lease and generate rewards in the parachain’s native token. When the lease expires, the locked KSM/DOT are returned to the user.
There’s really quite a bit to walk through here, and you should expect more information from both the Parity team and the Moonbeam Foundation as more details emerge.
What we do know is that the crowdloan will last for a period of time, likely several weeks. This will help increase the chances that Moonriver is able to secure a parachain slot, but could be shorter or longer depending on how often these parachain auctions last. Individuals will be able to participate in the crowdloan as long as it is open, or until a parachain slot is successfully won, whichever comes first.
The start date of the Moonriver crowdloan has not been finalized, but we are currently expecting a May/June timeframe based on the information available. It will immediately precede the launch of the Moonriver network itself. More information on how we arrived at that launch date is in the following section.
This, of course, is NOT an estimate of when Parity will release their code and start parachain auctions and/or crowdloans. We expect that soon, but cannot provide a timeline on their behalf.
The Anticipated Launch Process
Of course, the big question remains: when will Moonriver launch? We’re currently estimating a June 2021 MainNet for Moonriver.
NOTE: This is not an estimate of when Kusama/Parity will enable the functionality! That is much sooner. Please see the milestones below that need to be achieved on Kusama before we will be able to launch our MainNet of Moonriver.
This is based on the information that is currently available regarding parachains on Kusama, and our understanding of the launch process that will precede the MainNet launch. While it is difficult to provide precise timelines for the Moonriver launch, I wanted to provide some clarity on the process in an effort to be more transparent and set expectations for what will unfold.
First, we are dependent upon Parity to allow us to connect by enabling parachain, auction, and crowdloan functionality. To harken back to my mothership analogy, we’re waiting for the bay doors to open. That milestone has proven to be a moving target as their team continues to develop the parachain, auction, and crowdloan pallets. We currently expect this process to start within the coming weeks.
Parachain slot implementation on Kusama will spur a number of activities for the Moonriver network, as well as any other project that plans to occupy a parachain slot. Since every team has a slightly different plan, this is a rough outline of the milestones that need to be hit in order to commence the Moonriver launch.
- Milestone 1: Parity submits on-chain Kusama upgrades for a vote. This may include some or all of the expected functionality in the parachain, auction, and crowdloan pallets.
- Milestone 2: Functional testing of the Moonriver parachain against the production Kusama deployment. This will ensure that the Moonriver code works as seamlessly as possible once attached to the Kusama Relay Chain. We will start this phase as soon as the code is available, but estimate it will take several weeks.
- Milestone 3: Parity demonstrates compatibility with the first parachain, which will likely be one run by the team directly. It’s unclear if this parachain will be an empty test parachain, or a common good parachain. This will be the first public test of the parachain. This will likely occur 1-2 weeks following the code upgrade.
- Milestone 4: The Moonbeam Foundation will announce the start date for the crowdloan. This will be a minimum of 8 days in advance of the event start date to allow sufficient time for token unbonding. At this time, we will also release how-to guides and video walkthroughs to make it as clear as possible how to participate safely.
- Milestone 5: Crowdloan begins. The crowdloan will likely remain open for several weeks to allow for overlap with multiple parachain auctions. This strategy will allow us some flexibility in choosing an optimal parachain auction depending on tech readiness and auction competition. At this time, individuals will be able to contribute KSM to the crowdloan campaign via a Crowdloan ID, which will be clearly published on the Moonbeam Foundation site. At this time, participants’ KSM will be locked until the crowdloan is used to successfully secure a parachain slot, or the crowdloan campaign ends, whichever comes first. We’ll dive into the functionality here in a subsequent post.
- Milestone 6: Moonriver participates in a parachain slot auction. The crowdloan module (which holds the funds and is not directly accessible to the projects themselves) bids for the parachain slot. This bid automatically increases as additional funds are received, until the parachain slot auction ends. At that time, the auction module chooses a random interval of time prior to the auction’s scheduled end to declare a winner. This is a good thing, because it prevents final-hour, automated bidders from swooping in and winning the auction at the end.
- Launch: Moonriver launches to Kusama. This will occur as close to the successful slot auction as possible, and could be as soon as days after.
We’ve outlined this process to give you an idea of our expected process once Parity says “go” and enables parachain functionality. We are not racing to occupy the very first parachain slot, but we will likely be among the first few. This approach will give us ample time to test Moonriver using the production release of Kusama, which is an important step to a successful launch.
What You Can Do Now
In the coming weeks, you can expect to see additional blogs from our team that expand upon some of the key components mentioned in this one: crowdloans, parachain auctions, and the mechanics that drive each. Stay tuned for those, and sign up for the newsletter if you prefer to receive updates that way. You can also join the Discord server and the Moonbeam Telegram.
The Moonbeam Foundation will release information on the Moonriver crowdloan when it is available. We will notify our followers and subscribers when that information is posted.