Rocket Pool 101 — FAQ
Rocket Pool is a next generation Proof of Stake pool designed to be compatible with Casper, Ethereums new consensus protocol that is due to go live in 2018. It will remove several high barriers to entry and enable regular users + 3rd party businesses the ability to easily earn interest on a deposit of ether over a fixed term.
Rocket Pool — General
- What does it do?
A quick introduction into what Rocket Pool actually does.
- What is Casper?
A run down on what Casper is and how it plugs into Ethereum.
- Why would I need to use it?
Good question and hopefully even better answers.
- How does it work?
Smart contracts, smart nodes & infrastructure.
- Who made it?
It wasn’t aliens or lizard people. Well, fairly sure anyway.
Rocket Pool — Features
- Smart contract design
Rocket Pool is designed to be entirely upgradable from the ground up.
- Smart nodes
Not your standard Ethereum node, these guys have brains.
- Minipools, load balancing & decentralisation
No they’re not an inflatable kids pool, they’re a neat smart contract design.
- Flexible staking
Stake for 1 week or 1 year, completely flexible staking.
- Widow address withdrawals
Specify a backup address that can claim your ether just in case.
- 3rd Party Business Integration
Offer staking easily for your users and get Rocket Pool to do the heavy lifting.
Rocket Pool — General
What does it do?
Rocket Pool will allow users and businesses to earn interest on their ether holdings using Casper, Ethereums new consensus mechanism due in 2018. The ether deposits resemble a fixed term deposit where you can deposit your ether with Rocket Pool, then our smart contracts manage the deposit and interactions with Casper. Deposit terms will range from just a few months to over a year.
What is Casper?
Casper is the new consensus protocol coming to Ethereum in 2018. Currently Ethereum uses the Proof of Work (PoW) protocol which you may have heard of before with Bitcoin, whom also uses PoW. With a decentralised blockchain, these consensus protocols help keep everyone on the same page, so we all know which version of Ethereum blockchain is the correct one.
Casper uses a new type of approach called Proof of Stake (PoS) which allows users to provide a deposit of ether and earn interest on it, in return for providing an Ethereum node online 24/7 to perform the required consensus. It’s often praised for being a very energy efficient approach unlike PoW.
Why would I need to use it?
Rocket Pool removes several high barriers to entry that currently exist with Casper.
The first version of Casper is expected to require a minimum of 1,000 ether to be profitable. Rocket Pool will allow anyone to earn interest from as low as a 0.1 ether deposit.
Casper will also require the user to have knowledge on how to interact with smart contracts, be technically proficient at running an Ethereum node 24/7 and keeping that node online + secure. Rocket Pool users can deposit their ether then forget about it, they don’t have to manage worry about interacting with Casper or being technical proficient with nodes, we make staking easy.
How does it work?
Rocket Pool is primarily composed of 3 main elements, Smart Contracts, Smart Nodes and Minipools.
Our Smart Contracts accept ether deposits, manages users, issues + tracks various tokens and handles all interactions with Casper. They can also detect if a smart node in the network has gone down and will automatically disable it from receiving any new users until it is repaired.
Our Smart Nodes are not your average Ethereum full node. They feature custom background processes that allow them to communicate with Rocket Pools smart contracts and this opens up many new features which are described in more detail below.
Minipools are another smart contract, but these are worth defining on their own due to being such a key aspect of Rocket Pool. These contracts contain groups of users pooling their ether together and staking for a specific amount of time. They are distributed over the Rocket Pool network in a load balanced and decentralised manner to increase redundancy.
View the visual guide below to get a glimpse as to how these components work together in the Rocket Pool network.
Who made it?
Rocket Pool was originally started in late 2016 by David Rugendyke, a senior developer with over 18 years commercial experience and a computer science background. Since its original alpha release in late May 2017, a vibrant community has formed and there are now multiple people working hard to get Rocket Pool to its next stage.
Rocket Pool — Features
Smart Contract Design
Rocket Pool is a complex multi-contract Dapp and as such, has been designed from the ground up to be fully upgradable. Due to this design methodology, if we have an issue with one contract or multiple, we can replace the bugged contract with a new copy of it sans bugs and all other contracts in the Dapp must now communicate with the new version. All contracts in Rocket Pool are also open source and can be inspected by anyone in the community.
In order to earn interest on your ether deposit, Casper requires a full Ethereum node online 24/7 to help validate transactions on the network. Our smart nodes which perform this task for Rocket Pool users are not your standard Ethereum node, these guys have brains. They feature custom background processes that allow them to communicate with Rocket Pools smart contracts directly or listen for instructions from the smart contracts.
They are required to report in with the Rocket Pool smart contracts every 15 mins to report on their current server load. This allows our smart contracts to distribute users across the network in a load balanced method, regardless of where the node is hosted in the world or who it’s hosted with. This means we can distribute our smart nodes across many different cloud providers and their subnets, giving a greater amount of node decentralisation and redundancy to the network.
Future smart nodes will also be able to receive instructions from the smart contracts when they detect issues with a node, such as excessive server load or being unresponsive. In this case, the smart contract can issue a command to a healthy node in the network to attempt an automatic remote reboot of the troubled node to help it recover. Just one of the many abilities a smart node can have added to it.
Minipools, Load Balancing & Decentralisation
Minipools are smart contracts which are created when Rocket Pool receives new users. It pools these users together into one of these Minipool contracts at the users desired staking time, be it for a few months or even up to a year. When it reaches an amount of ether that is required for staking with Casper, the Minipool is assigned to a smart node in the network with the least amount of server load, then its deposit is sent to Casper where it becomes a validator and begins staking.
Not only are these Minipools distributed around the network in a load balanced manner, but they will also be assigned to alternating geographic regions to ensure network redundancy. If all of AWS or another cloud provider goes down, we want that effect isolated and this helps achieve that.
Casper will require deposits to be locked up for a minimum of 4 months as this is the time required for the deposit to be withdrawn, it’s intended effect is to prevent malicious behavior of nodes coming and going from the network too quickly.
The side effect of this is that users will have to keep their ether deposit locked away for 4 months minimum and as life sometimes does, it can throw surprises your way that might require needing access to these funds quickly.
Rocket Pool will allow users that are staking, the ability to withdraw a token that backs your deposit, the RPD token. These tokens match the value of ether on a 1:1 basis always when redeeming them at Rocket Pool, provided liquidity of the RPD contract is sufficient. Of course if lots of users have been redeeming these tokens quicker than the RPD contract can refill with ether, then users can sell these tokens on the free market, most likely at a slight discount, to users who are willing to wait. This means the user always has options to get funds quickly even while staking.
Widow Address Withdrawals
When you could be staking with the Rocket Pool network for some time, it’s always a good idea to think ahead. Rocket Pool will now allow you to specify a widow address after you make a successful deposit for staking. This address will be allowed to collect your deposit + interest earned while staking if the primary address used to make the deposit does not collect it for up to 3 months.
A good example of how this could be used is to give a family member an empty wallet, then register that wallets address as your widow address. Should anything happen to you, this family member will be able to use the widow address to retrieve your deposit + interest on your behalf.
Forgetful users might also find this as a useful service for simply creating a backup address, should anything happen to your main wallet, you could use this as a way to still get access to your deposit after 3 months pass.
3rd Party Business Integration
Not only does Rocket Pool allow regular users to stake, we also have a 3rd Party API that can allow any Ethereum business to offer staking to their users, without needing to setup or maintain any kind of staking network infrastructure.
This allows businesses such as exchanges, wallet providers, next generation hedge funds, banks or just about any Ethereum service to setup and provide staking services for their users easily. If you’re interest in offering staking services for your users, please contact us and we can run you through the current user on boarding process.
Rocket Pool — Security & Monitoring
One of the most common questions and one of the most important, is how are Rocket Pool approaching their node security and monitoring. If a node that is staking with Casper deliberately tries to cheat, it can have its entire deposit slashed for the attempt. Obviously this is something that we would never do, or it would be an instant end to our business.
It is important though to have very secure nodes to prevent a malicious user entering a node and making it intentionally try to cheat Casper, which may cause users deposits to be slashed. To this end, for the first version of Casper, we’ll be ensuring all smart nodes are locked down tight, access to each node will only be allowed via trusted IP addresses and the nodes IP address itself will remain private to prevent DDOS. Future versions of Casper look like they will allow nodes to provide a validation code (EVM bytecode) rather than just a node address, this will hopefully allow for secure messaging with Casper using a multisig style approach to increase node security substantially.
Since Rocket Pools smart nodes will be distributed across an assortment of cloud hosting providers, it’s important to have a monitoring solution that works on each one regardless of the platform. For this reason, all smart nodes feature PM2 and Keymetrics monitoring to maintain node process liveliness regardless of where the smart node is being run from. These ensure that if the main node software crashes for any reason, it’s automatically restarted to avoid any potential down time + alerts are set for all major system resources which allows a human to be involved when a system resource needs attention.
Rocket Pools smart contracts also require the smart nodes in the network report their server load to them every 15 mins. This helps with load balancing the network as well and also allows the smart contracts to automatically disable any nodes which have become unresponsive to prevent any new users being assigned to them.
Obviously another of the most common questions is regarding our smart contract security. Rocket Pools smart contracts have been open source for over 6 months now, allowing anyone in the community the chance to view the code as it evolves.
While Rocket Pool is running in beta starting approximately mid-late Q1 2018, we will also be organising extensive bug bounties and code audits during the beta before any mainnet release. This is the highest priority and any launch to mainnet will not be done until we’re 100% satisfied. Rocket Pools intended following mainnet rollout will also be gradual and scaled to ensure the network performs as expected.
Rocket Pool — Tokens
RPD — The Deposit Token
Rocket Pool will allow users that are staking, the ability to withdraw a token that backs your deposit, the RPD token. These tokens match the value of ether on a 1:1 basis always when redeeming them at Rocket Pool, provided liquidity of the RPD contract is sufficient. Of course if lots of users have been redeeming these tokens quicker than the RPD contract can refill with ether, then users can sell these tokens on the free market, most likely at a slight discount, to users who are willing to wait for the contract to gain sufficient liquidity again. This means the user always has options to get funds quickly even while staking.
The RPD token contract contains a variable amount of ether in it at any given time. This ether is sourced from Minipools that have finished staking and had users withdraw all or part of their deposit as RPD tokens. This ether is sent to the RPD token contract where it becomes an available source of ether for those wishing to trade in RPD tokens.
When withdrawing RPD tokens, the users incurs a 5% fee which serves a dual purpose. First it prevents abuse of the RPD contract, where a user could keep in permanently drained of ether by staking, then withdrawing RPD tokens and redeeming those immediately. With the 5% fee, the user incurs a small penalty each time.
The second purpose is to help sellers out by incentivising users to buy these tokens on the free market if the user wishes to sell them there, due to the RPD contract not having sufficient liquidity at the time. This means users get an extra 5% ether when trading tokens which would help any seller out who needed funds quickly. In this case, if you had 95 RPD tokens and traded them back into the contract for ether, you would receive 99.75 ether.
RPL — The Network Protocol Token
The RPL token is the life blood of the Rocket Pool network and is the token that has featured in the Rocket Pool token presale and crowdsale. There are a maximum of 18 million RPL tokens available. RPL is not a requirement for staking your ether with Rocket Pool.
RPL is the main protocol token of the Rocket Pool network and serves several purposes that are outlined in the white paper. In the future after Rocket Pool has been running successfully for a while, we’d like to give users and businesses the opportunity to supply their own nodes to operate as part of the Rocket Pool network, this will give them several benefits and also aid in the decentralisation of the Rocket Pool network. A quick summary of a few of its more primary purposes are:
A) Every smart node in the Rocket Pool network requires RPL to be identified as a node that belongs in the network.
B) The amount of RPL a node has locked in it is a base metric of that nodes resources. In the future when users and businesses can add their own nodes to the network, we can’t tell if their staking using a laptop with poor resources or a giant Amazon EC2 instance, so the amount of RPL will reflect that node operators trust in their resources. So if a node has lots of bandwidth and good hardware, you’d want to load it up with a lot of RPL so that Rocket Pool assigns your node more users and you make more ether yourself by taking a % of their interest earnings as a reward for providing the node validating service.
To prevent malicious node operators in the network, any smart node operator must stake as much ether themselves as they receive from our users. This means they have as much to lose as users we assign them. RPL node operators also get to stake their own ether for free in the network in return for providing validator services.
C) Partial compensation for users in case of node downtime. If a node operator incurs detected downtime and is penalised by Casper, that node loses RPL proportional to the effect of the downtime on users that were assigned to it for staking. So if a node incurs a detected 5% penalty from Casper when a Minipool returns, that node operator has 5% of their RPL given to the affected users. While this isn’t a 1:1 protection of value, the size of the compensation should scale with Rocket Pools success and it also provides additional incentive for node operators to behave.
D) The more successful that Rocket Pool becomes and the bigger we expand, the more RPL becomes locked up in the network and less is available on the free market for users/businesses that want to offer validating services in the network. This is seen as a positive feedback loop for some users who wish to hold RPL.
All contracts in the Rocket Pool network are also fully upgradable, so if future use cases present themselves that allow us to use RPL in more ways outside of being a protocol token, we will definitely look at those.
Token Presale and Crowdsale Details
Rocket Pool has conducted a token presale for the RPL token starting on the 9th September, 2017 using its Sale Agent token distribution platform. It sold out in 3 days.
The token crowdsale is using a unique distribution model that allows all participants to receive some tokens, regardless of the time they contribute and a refund for excess ether sent to the contract if the target ether amount for the sale is achieved.
- White listed Sale
- 9th Sept — 23rd Sept
- 8,196,199 RPL minted
- 1 ether = 1397 RPL
- 15% bonus over crowdsale per ether
- Ether target = 5,860
- Proportional Distribution & Refund
- 25th Nov — 23rd Dec (on now)
- 7,080,000 RPL available
- 1 ether = 1200 RPL
- Ether target = 5,900
For more information on the crowdsale token model can be found in a recent discussion with Evan Van Ness on the Ethereum Podcast channel. An analysis of the Rocket Pool token sale has also been done recently by ICO Market Data.
Support, Chat and Website
If anyone has any inquiries about Rocket Pool, please feel free to contact us anytime. You can either contact us at our website or in our slack channel, we’re happy to answer questions any time. You can also find lots more info about our progress and developments on our blog here.