Divergence Digital Currency Fund (DDC) is a hedge fund that invests in cryptoassets and associated early-stage projects leveraging distributed ledger and related technologies.

In this piece we cover Rocket Pool, one of our portfolio companies being built by David Rugendyke and a team of experienced developers. Rocket Pool is a decentralized staking pool that is democratizing access to staking on Casper the Friendly Finality Gadget (“Casper”).

Companies such as Rocket Pool embody the core principles of distributed ledger technology and allow for a more decentralized cryptoeconomic ecosystem. We’re excited to share our research with you, and encourage questions, feedback, and corrections. We would love to hear from you.

Email us at IR@ddc.fund

— Yida and Adam

Source: Rocket Pool Website

Our Divergent View

We view Rocket Pool as a high-potential and under-appreciated project for the following reasons:

Rocket Pool addresses narrow, yet hairy challenges that Ether users face when interacting with Casper. The project is led by a strong technical team and has a well-developed code base (see Rocket Pool GitHub). Finally, it uses sensible cryptoeconomic design and token mechanics to incentivize stakeholders and allow the network to operate efficiently.

Rocket Pool is still under the radar. Here’s why:

The team is small and based in Brisbane, Australia (not the biggest hub for ICOs). Its token sale happened with little fanfare and was capped at only $4.25mm with proportional distribution in its crowdsale. The project prioritizes investment in development instead of marketing and business development. The team is relatively inactive on social media, and uses Discord over Telegram (more popular among speculators) due to advantages for group discussion. RPL, the project’s main token, is only listed on a few decentralized exchanges and has low trading volume.

Background Information on Casper

Today, Ethereum uses a proof of work (“PoW”) consensus mechanism

In PoW, so-called miners must solve complex computational problems to win the right to broadcast the next block of transactions across the network. PoW is effective at securing a distributed network, but comes with its share of downsides. For one, transaction speed is slow and steady at ~20 per second, which is faster than Bitcoin’s 7, but still not close to Ripple’s 1,500 or Visa’s 20,000+. Not to mention, PoW is incredibly expensive and detrimental for the environment since miners use up an enormous amount of electricity.

In the future, Ethereum will likely adopt Casper as its consensus mechanism.

In October 2017, Vitalik Buterin and Virgil Griffith wrote Casper the Friendly Finality Gadget (“Casper”), which introduced a PoS finality system overlaid on an existing PoW blockchain

At present, Casper is live on the Ethereum testnet, with plans to be released on the mainnet in late 2018.

Proof of stake (“PoS”) is consensus mechanism that does away with Bitcoin’s high equipment and electricity costs. Here’s how Vitalik Buterin describes PoS:

“PoS is a blockchain appends and agrees on new blocks through a process where anyone who holds coins inside the system can participate, and the influence an agent has is proportional to the number of coins (or “stake”) it holds.” — Vitalik Buterin, Casper the Friendly Finality Gadget, October 2017

Casper achieves consensus by allowing validators to lock down their tokens in “nodes” for extended periods of time to secure the network. If these validators fail to keep their nodes online or are deemed to have engaged in malicious behavior, nodes can expect to forfeit 100% of their Ether.

“96% of penalized tokens will be burned and 4% will be redistributed to whoever provides the evidence that penalizes them.” — Vitalik Buterin, Reddit, March 13th, 2018.

Rocket Pool’s Value Proposition

Rocket Pool is a staking pool that democratizes access to staking Ether on Casper by offering three key solutions:

Reduced Minimum Staking Requirement from 1,500 to 0.1 Ether.

The Casper mainnet will most likely require validators to have a minimum balance of 1,500 Ether. This is problematic because it allows large holders to stake and earn returns, while small holders cannot. A mere 0.2% of unique Ethereum addresses (5,726 out of 28,549,773) have a balance of at least 1,500 Ether (Source: Etherscan).

As of March 2018, the minimum is set at 1,500 Ether on the Casper testnet. In fact, Vitalik noted on Reddit this week that this number is “close to finalized, at least for the first phase.”

The expected 1,500 Ether minimum could be even higher if Casper assigns validator spots (in descending order) based on deposit amount.

The Casper testnet technically allows for unlimited validators, but there is likely a theoretical maximum between 1,000 and 1,500 spots based on how many messages would be sent to Caster by validators (based on Ethereum’s current max transaction processing capacity).

Rocket Pool’s Solution: Rocket Pool will allow Ether holders to stake and earn interest on as little as 0.1 Ether.

This minimum is configurable and can be reduced at any time depending on the price of Ether.

2) Seamless user experience without needing smart contract expertise

Casper will require users to know how to interact with smart contracts and be technically proficient at keeping nodes secure and online 24/7 (see Casper penalties).

Rocket Pool’s Solution: Rocket Pool web application provides an easy-to-use interface that allows non-technical users to stake Ether with Casper.

3) Early Withdrawal Option

Once Ether is staked on Ethereum, users don’t have the option to withdraw their funds early if they need liquidity.

Rocket Pool’s Solution: Rocket Pool permits users to withdraw their funds early in the form of RPD Tokens (RPD) for a 5% fee. Users can then trade RPDs on the public market.

In the next section, we’ll walk through Rocket Pool’s software and discuss how Rocket Pool’s smart contracts, minipools, and smart nodes all work together to create a new type of network. That is, one that can automatically scale, load balance, and self-monitor across multiple cloud hosting providers in any region of the world.

Rocket Pool’s Well-designed Network Mechanics

Rocket Pool’s process for getting Ether from a user’s wallet to being staked on the Casper network follows three main steps:

Users deposit Ether into smart contracts via a simple web application and select their desired staking time. Smart contracts batch Ether into minipools based on chosen staking times, and push these minipools to smart nodes once they meet the minimum amount set by Casper. Smart nodes stake on Casper and earn a return in the form of Ether in exchange for securing the network.

1) Users deposit Ether into smart contracts via a simple web application and select their desired staking time.

Users must deposit at least 0.1 Ether and can choose 6, 9 or 12-month staking times. Rocket Pool can choose to adjust these options given the flexibility of its smart contracts.

Rocket Pool’s smart contracts are flexible. If an issue arises within any of the main contracts, that contract immediately goes offline and simultaneously a new version is deployed while ensuring that other contracts can only communicate with the latest version of the contract.

All smart contract code is open source on GitHub.

Here’s a snapshot of Rocket Pool’s UI for end users:

Rocket Pool UI Beta: Menu style and interface

2) Smart contracts batch Ether into minipools based on chosen staking times, and push these minipools to smart nodes once they meet the minimum amount set by Casper

Minipools will only be assigned to smart nodes that have available capacity (server space, CPU, memory and bandwidth) as represented by the amount of RPL held by the node.

RPL is explained in further detail in the following section.

Furthermore, for smart nodes operated by third parties, minipools will only be assigned to a smart node if that node has sufficient Ether to match the amount of Ether in the minipool (not applicable for Rocket Pool). This is meant to incentivize smart nodes to maximize uptime so as to avoid loss of user funds due to Casper penalties.

Rocket Pool intends to be the sole smart node operator at the outset to ensure a smooth network rollout.

In the future, we expect large RPL holders and later, professional cloud-hosting providers (i.e., Amazon Web Services, Rackspace) will manage smart nodes.

Smart Contract Features: Present and Future

Rocket Pool’s network is load balanced. Smart contracts instruct smart nodes to deactivate if there’s a partial network failure and assign minipools to nodes based on the least amount of server load.

In future versions of Rocket Pool, smart contracts will assign minipools to alternating geographic regions for increased redundancy and decentralization.

3) Smart nodes stake on Casper and earn a return in the form of Ether in exchange for securing the network.

After speaking with David and other leaders in the Ethereum community, the consensus is in: Casper validators (smart nodes) can expect an annual return of between five and ten percent on their staked capital.

This 5–10% annual return will be reduced by Rocket Pool’s staking fee, which is highly contingent on a number of different factors including, but not limited to: the price of Ether, the Casper return, the type of base hardware that Rocket Pool uses for nodes, and the optimal amount of minipools per node to ensure the network remains redundant.

Smart Node Features: Present and Future

Smart nodes can disable other smart nodes that are not operating properly to prevent new users from being assigned to it. This is useful if a smart node is suffering a DDOS attack or if the server is experiencing hardware issues.

In the future, Rocket Pool would like to have cloning blank “oracle” nodes to replace bugged ones within the network to quickly minimize any potential downtime. In this case, a human would import a node’s private keys in the new instance before it resumes staking in the Rocket Pool network.

Smart nodes can accept commands and launch any minipools ready for deployment.

In future versions of Rocket Pool, Rocket Pool would like smart nodes to be able to monitor the status of the network and attempt to remote reboot other smart node regardless of the cloud provider on which they’re hosted.

Here’s a snapshot of Rocket Pool’s real-time capacity and node locations:

Source: Rocket Pool Discord

Rocket Pool’s Cryptoeconomic Model

Rocket Pool Token (RPL) is the protocol token at the heart of Rocket Pool’s staking network.

18,000,000 RPL tokens were distributed in Rocket Pool’s token sale in late 2017.

RPL’s main function is to display to the entire network how much Ether each smart node is capable of staking. Smart nodes are required to hold the same number of RPL as the number of Ether that it’s capable of staking. It’s up to the node operator to determine this amount given the node’s server space, CPU, memory and bandwidth.

At the outset, Rocket Pool will manage all nodes to ensure a smooth rollout of the network. Rocket Pool will use a portion of its allocated RPL tokens for this purpose.

David’s long-term vision is to allow third parties to operate nodes, and to have professional node operators with cloud hosting experience compete for the right to stake users’ Ether.

Rocket Pool incentivizes third party smart nodes to maintain 100% uptime by requiring them to stake their own Ether alongside that of users.

This way, if Casper ends up penalizing a Rocket Pool smart node, the node operator will lose the same amount of Ether as its users.

If Casper penalizes a smart node, Rocket Pool smart contracts will distribute that smart node’s RPL to affected users in proportion to their lost Ether. This will be only a partial reimbursement as RPL’s price is much lower than that of Ether.

In the future, there may be a free market for node operators to insure deposits on their own node, but for Rocket Pool to do this now would cripple the network.

RPL Token Distribution

In late 2017, Rocket Pool raised ~$4mm by selling 18,000,000 RPL via a token sale (45% in pre-sale and 40% in crowdsale). The team retained 15% for development including UI/UX, node infrastructure, and network monitoring.

Rocket Pool used a proportional distribution model for its crowdsale, which signals responsible growth intentions. All crowdsale participants received their tokens and almost a 55% refund of Ether due to the sale reaching double its target raise.

Rocket Pool chose to mint a supply of 18,000,000 RPL for three main reasons:

To ensure that the team had enough to bootstrap the network early on (given the 1:1 RPL-to-Ether staking requirement); To leave an adequate amount for third party nodes to join the network in the future; and To account for tokens taken out of circulation due to investors holding onto tokens or other unforeseen reasons.

The following graph shows the expected use of the 15% of RPL tokens retained by Rocket Pool:

Source: Rocket Pool whitepaper

Rocket Pool Deposit Token (RPD) is a utility token that allows users to withdraw all or a portion of their funds early for a 5% fee.

Token Distribution: RPD tokens are minted in proportion to the amount of funds withdrawn from Rocket Pool at a ratio of 1 RPD:1 ETH.

Problem: Once Ether is staked on Casper, users cannot get that ether back until the end of their desired staking period (minimum of four months).

Use Case: Users who stake Ether via Rocket Pool can pay a 5% fee to get early liquidity in the form of RPD tokens, which can then be sold (likely at a discount) on the public market for Ether. It’s also important to note that once a user decides to withdraw early, they forfeit any interest earned on such funds via their originally-deposited Ether. That interest will go towards increasing the liquidity of the RPD contract.

Here’s how an early withdrawal works in practice: Imagine that you staked 5 Ether for 12 months with Rocket Pool. Five months later, due to unexpected circumstances, you decide you need all of your funds back. You submit for a full withdrawal and the RPD smart contract will mint 4.75 RPD (deducting the 5% fee), which will be delivered to you. You can then trade this RPD for ETH on the free market OR if there are available funds in the RPD contract, you can trade them in there for Ether immediately.

The RPD contract contains a variable amount of Ether sourced from minipools that have had users withdraw all or part of their deposit as RPD tokens.

Why does Rocket Pool need to charge a 5% early withdrawal fee?

This fee prevents abuse of the system: The fee prevents users from simply withdrawing RPD and trading them into the RPD token contract for Ether immediately after depositing them, and then continuously repeating this process. This fee helps RPD token holders by incentivizing buyers: The 5% fee is given as a bonus to users who trade RPD into the RPD token contract for Ether. These tokens are fully enabled on the free market, so if the RPD token contract does not have enough Ether in it for one to trade in their RPD, users can always price them at a discount and sell them quickly on the free market. Patient buyers of these tokens who don’t mind waiting for the RPD token contract to fill up with Ether again, are rewarded with a 5% bonus when trading in their bought tokens for Ether when the time comes.

Token Supply

RPD circulating supply will vary based on (i) how many users are withdrawing RPD, (ii) how many are holding RPD and (iii) how many are trading it back in for Ether.

Development Roadmap

Rocket Pool is focused on three main areas of software development:

Smart contracts: These are currently in alpha and are fully open-source. This also includes the Partner API, which is being developed to allow Rocket Pool to integrate with third parties such as wallets or exchanges. Rocket Pool will implement bug bounties on smart contracts, which will be audited before being made public. All audit results will be made publicly available as per the Rocket Pool whitepaper. Smart nodes: These are currently in alpha and are closed-source for strategic reasons. David intends on eventually making the node management code open source so that third parties can use it to manage nodes. Rocket Pool plans to conduct penetration tests and have the node management code audited prior to public release. Website: This is currently in beta. The website is simply reporting information from the Ethereum blockchain and using MetaMask to streamline deposits.

In Q1 2018, Rocket Pool intends to release its beta website and deliver a polished UI/UX for interacting with the Casper testnet. David is in the process of updating the technical roadmap.

Team

Rocket Pool has a dedicated and highly technical team that continues to expand.

David Rugendyke (Lead Developer and Founder)

David Rugendyke (Lead Developer)

David wrote his first software program when he was nine years old using an Apple IIe. After graduating with a degree in Computer Science, David spent 10+ years working full-time as a software developer. He was first exposed to Bitcoin in 2013 and mined his first cryptocurrency in 2014. In late 2016, David taught himself Solidity, the primary Ethereum smart contract language, and began developing Rocket Pool.

David is a firm believer in transparency and takes a measured and deliberate approach to development. When you talk with him, it is clear that he values quality over speed and realizes the paramount importance of building a stable and secure staking network.

Darren Langely (Senior Developer)

Darren Langely (Senior Developer)

Darren has over 16 years of software development experience. As a technical lead & architect, he has built digital products for government, financial services, professional services, and the sustainability industry.

Jake Pospischil (Senior Developer)

Jake Pospischil (Senior Developer)

Jake has over 10 years of commercial development experience and a background in design. He builds web applications at every layer of the stack, from front-end interfaces to database schemas and server provisioning.

Michelle Keane (Chief Administrative Officer)

Michelle Keane (Chief Administrative Officer)

Michelle has over 15 years of experience in the financial sector managing client funds and commercial ventures. Developing and managing Rocket Pool’s scope and operations is her next big challenge, which she’s taking in stride.

Andrew Newton (Network Infrastructure Advisor)

Andrew Newton (Network Infrastructure Advisor)

Based out of the UK, Andrew has over 15 years of infrastructure and networking background and has provided full-stack development experience to IT teams of BNP Paribas, Tesco Bank, NRAM and DSGI.

Community

David is one of the most communicative and transparent project leaders we’ve come across.

He personally writes a concise and informative monthly development update (see February’s here) and is active within the project’s Discord group.

The project has room to improve its community development and marketing efforts (especially related to social media).

The project has chosen not to have a Telegram group, which we view as a positive given how these groups tend to focus more on price movements than technological development.

Rocket Pool has an opportunity to use Twitter as a tool to distribute its blog, and share other staking-related content.

Finally, there are strong signs that Rocket Pool will continue gaining traction in the Ethereum community.

David personally met with Vitalik in January 2018 told us that “[Vitalik] commented to ConsenSys that he thought the Rocket Pool project was exciting.”

In addition, Rocket Pool was one of four teams chosen to pitch to Kavita Gupta, a Managing Partner of ConsenSys Ventures for their $50mm Blockchain Community Fund this past November. We have encouraged Rocket Pool to take a more proactive approach to engaging with the Ethereum Foundation and broader crypto community.

Competition

We believe that Rocket Pool has a substantial head start on competition benefits from first mover advantage.

The Casper testnet was released to the general public less than two months ago, yet Rocket Pool has been developing its network for over 12 months using dummy smart contracts.

Rocket Pool is one of the only projects that intends to be operational and integrated with Casper once the mainnet launches.

Nevertheless, given the attractiveness of the staking pool market, we expect new entrants to compete with Rocket Pool.

One Protocol

One Protocol is the closest comparable project to Rocket Pool. They aim to be a platform for Ether users with idle capital and workers with excess computing power to jointly perform work for staking protocols.

We believe that Rocket Pool has three key advantages over One Protocol:

Rocket Pool’s smart contract code is all open source, while One Protocol has yet to release any of its code to the public. Being open source is user friendly. Ether holders can inspect the project’s code (or have someone else check) and trust the network before depositing. Rocket Pool is laser-focused on integrating its staking pool with the Ethereum protocol network. It’s difficult enough to build a staking pool for one platform. Compared to One Protocol’s attempt to be a solution for multiple blockchains, Rocket Pool’s focused approach will give users a more applicable, specific tool for Ethereum. Rocket Pool has a more seasoned team. David and Andrew both have 15+ years of software development experience, while Darren and Jake have 16 years and 10 years, respectively. The One Protocol team is founded by three current Stanford undergraduate seniors, who seem intelligent and accomplished, but lack the experience of Rocket Pool’s veteran software developers.

Our Views on RPL Valuation

For the next 6 to 12 months, the value of RPL should be tied to Rocket Pool’s success in building the network, attracting users via marketing/PR, and getting RPL listed on exchanges.

Increased Liquidity

Rocket Pool (RPL) is currently only traded on four decentralized exchanges: ForkDelta, EtherDelta, Radar Relay, and IDEX. The project trades with minimal liquidity and wide spreads, and it’s not even listed on Coinmarketcap.com.

“Work is underway to get it listed on several other exchanges. More updates on these in the future.” — David Rugendyke (Development Update — February 3rd, 2018)

Product Development Execution

Our view is that once enough people are aware of Rocket Pool its value will be tied to its ability to execute on its technical development milestones. We agree with the team’s decision to prioritize product development because that is what matters most at this point in time.

Increased Marketing and Public Relations

According to Rocket Pool’s whitepaper, of the 15% RPL tokens retained by the team, 5% was allocated for marketing. This amounts to 135,000 tokens, which at today’s prices translates to only ~$250,000 allocated for marketing. This does not give the Rocket Pool team much in terms of resources to market and publicize its solution.

Rocket Pool has a tremendous opportunity to form partnerships with wallet providers, exchanges, and other custodians. Rocket Pool is working on a partner API now, which would be a great way to get to customers.

As more users stake on with Rocket Pool, node operators will generate more income, which would lead to an increase in RPL value given its limited supply. This creates a positive feedback loop that incentivizes third party node operators to participate in the network. If the price of RPL ever got irrationally high such that third parties won’t consider operating smart , Rocket Pool could adjust 1 ETH:1 RPL ratio required for smart node management.

Potential risks (and why we can tolerate them)

As circumspect investors, we like to consider counterfactuals, and consider all of the ways that an investment in Rocket Pool might fail to meet our expectations.

Key Man Risk

In March 2018, a bet on Rocket Pool is still a bet on David Rugendyke and his ability to execute. Similar to Linus Torvalds (creator of Linux), Gordon Lyon (author of nmap), and Vitalik Buterin (co-founder of Ethereum), David is the driving force behind Rocket Pool and the project’s ultimate success for now depends on David’s commitment and focus.

Risk Mitigation: Rocket Pool’s smart contract code is completely open source and David has shared publicly that the Rocket Pool team will only grow in the coming months.

Source: Development Update — February 3rd, 2017

Smart contracts or smart nodes may suffer from security vulnerabilities

Rocket Pool’s smart contracts or smart nodes may prove ineffective because of bugs or mistakes in the code. Any staking pool for Casper must be completely trustworthy and any mistakes in the code would cause the project to lose the trust of users.

Risk Mitigation:

David knows that the only way to have a successful staking pool is to develop a completely secure and trusted network. As such, he takes a measured and gradual approach to development rollout and has plans to employ bug bounties and frequent code audits. Rocket Pools smart contracts are fully open source and David intends to eventually make smart nodes open source and available for third parties in the future.

Risk of Delayed Casper Mainnet Launch or Lower Staking Minimum

First, we are confident that Casper will be implemented in some shape or form in 2018, but know there is a chance that the project does not go as planned and implementation is delayed. Casper development is ongoing, and we are doing our best to stay aware of progress updates and timeline changes.

Second, we would expect Sharding implementation to lower the minimum ETH requirement for operating a node. There is a chance that the Rocket Pool team might need to alter their code to adjust to this type of change. There is also some risk that this causes decreased demand for Rocket Pool’s services, as more ETH holders can stake directly with Casper.

Risk Mitigation:

Vitalik Buterin confirmed that he expects a minimum ETH requirement of ~1,000 in this this Reddit post from January 2018. Furthermore, as of March 2018, the Casper testnet has this set at 1,500 Ether. Even if Sharding reduces the minimum ETH requirement, non-technical Ether holders still need Rocket Pool in order to stake with Casper. Furthermore, Sharding would allow Rocket Pool to launch Minipools much more regularly since the minimum Ether requirement would be much lower. This means smart node operators with RPL will receive users much more regularly (albeit with small deposits). This should in turn ensure that Minipools are more distributed across the network, which has the added benefit of improved network redundancy.

Risk of Competing Protocol(s)

If 2017 was the year of ICOs, 2018 may be the year of competing protocols. Projects such as Hashgraph, EOS and RChain are already being called third-generation blockchains. These projects mainly claim to solve the scalability problem (i.e., fast transaction speed and efficient use of network resources) without sacrificing other decentralization or security.

There is some risk that one or more of these competing protocols lures development away from Ethereum, partly as a result of their superior technology or immense war chests.

Risk Mitigation:

Ethereum is the king of the DApp market. There are over 900 DApps currently being built on top of the Ethereum protocol, and 413 of those are live (Source: State of the ÐApps). There is always a chance that there can be multiple protocol winners, as different protocols end up adapting for particular use cases.

Regulatory Risk

Rocket Pool could face scrutiny from regulatory agencies regarding (i) KYC checks for their end users, (ii) its potential designation as a money transmitter, and (iii) its ICO compliance.

Risk Mitigation:

Rocket Pool is in the process of relocating to Singapore from Australia due to a more favorable regulatory environment. It seems unlikely that Rocket Pool could be legally designated a money transmitter because it will never have access to user funds. The team simply designed the smart contract architecture. Finally, the project blocked citizens of the US, China, and Australia from its public ICO.

Risk of Competition from Other Staking Pools

A stealth-mode staking pool could compete directly with Rocket Pool. This competitor could design a staking pool with better infrastructure and/or better UI/UX and win over Ether holders.

Risk Mitigation:

David has contributed countless hours integrating the Rocket Pool network with a custom-built dummy smart contract meant to simulate the inputs/outputs of Casper. This gives Rocket Pool a huge head start on potential competition given that that Casper testnet just went live in January 2018. Validator spots on Casper will most likely require 1,500 ETH, which at today’s prices is ~$1,000,000. This means that competitor staking pools would face expensive barriers to entry (even if someone forked the Rocket Pool codebase). Network effects are important in this space.

Appendix

RPL Trading Information

As of March 9th, 2018, RPL has a market capitalization of ~$30mm and has 17,777,399 tokens outstanding belonging to 634 unique wallet addresses (Source: Etherscan).

Links to Official Rocket Pool Websites

Additional Readings on Proof-of-Stake and Casper