We want you to understand that Nimbus is Ethereum 2.0 first. Our aim is to deliver a proof of concept by March 2019. This means that the team is focusing more on implementing the new specification than getting it to a viable Ethereum 1.0 state (this does not mean we're abandoning 1.0, just prioritizing 2.0). But there's the ambitious phrase - Ethereum 2.0.
Two. Point. Oh.
Long words, mystical phrases, crazy promises and Power Ranger villain names are plentiful in Ethereum 2.0 - Beacon Chain, Slasher, Validator, Randao, BLS (Boneh–Lynn–Shacham) signatures, crystallization of state... I mean, just look at this.
How does one wrap one's head around this, especially with the recent merger of Casper and Sharding into "Shasper"? Rather than publish another superficial article, this post is about understanding rather than speculation, so come dive in a little deeper with us!
This is the first in a series of Ethereum 2.0 posts from the perspective of the Nimbus team, breaking down each part of 2.0 into understandable chunks and documenting Nimbus' process of implementing that aspect, if applicable.
Prerequisite knowledge? Almost none. Maybe Ethereum basics and the difference between PoW and PoS.
We'll start with the basics and explain the Validators in the new system, but first let's lay down some foundations on what the Eth 2.0 general plan is.
At Devcon4 this year, Vitalik expressed his dislike of the term Shasper (the name the community chose for the merging of Sharding and Casper) and asked the community to refer to the new Ethereum stage (so Ethereum 2.0 in general) as Serenity, the actual name of the next stage of development.
Serenity is coming in 4 distinct phases which will - when put together - take some two years of time.
A validator is an entity (person or company) who can propose new blocks for the blockchain, or someone who confirms another validator's proposal. Let's be clear here - this is automated software. There's no manual proposing of anything. Technically, you could, but you probably wouldn't be able to react in time. So for all intents and purposes, a validator is one "node", one computer (let's call it 1C) doing this proposing.
A validator who proposes is called a proposer, while a validator who validates the proposal is called an attester.
Here's where things branch out a little more.
Validators are picked from a big list of validators registered on something called the beacon chain. They are picked by a part of the blockchain in charge of selecting random numbers (a randomizer known as RANDAO+VDF) and those validators that are picked make a committee.
When some validators are picked to be the committee, they are responsible for attesting to a state, i.e. building the next block. This can happen in a timeframe we call a slot (one slot means one proposal of a block and attestations from other validators that this block is A-OK), and a set of slots during which all the randomly picked validators have had the opportunity to make an attestation is called a cycle.
Wow, much terms, very glossary, huh?
Don't worry, that's it for definitions. There is one more thing you need to know about the validators - how to be one!
In order to become a Validator, you need to deposit exactly 32 ether into a smart contract on the proof-of-work main Ethereum blockchain (the one we have now). This generates something like a "validator membership card" which lets you participate in the new system. Validators will be responsible for a specific shard or two (to be added later), and one validator will be able to propose/attest for one to two shards. In other words, 1C of resources lets you validate on up to two shards. If you want to stake more ETH, you have to power up another 1C of resources. Staking pools thus become something of an impracticality, enhancing the network's decentralization.
You see, the goal is to have the two systems (PoW vs PoS) live side by side for a good while because - as we explained in the phases section above - the first two phases won't have any data transfer in the system at all, so we'll still be relying on the PoW chain to process our data transactions. The transition will be gradual and no, miners won't suddenly be out of a job or stuck with outdated hardware. In fact, things are looking up for them - that's something we'll discuss in the ProgPoW post a little later.
So, how long can I be a validator? And what was that all about with the slashing with Slasher and losing stake? And what are the validators validating if we don't have transactions right off the bat?
Slow down there, knowledge-thirsty reader! Let's tackle these one by one.
A popular question is why burn the ether of misbehaving validators at all instead of distributing it to other validators in the network? The short answer is that burning ether gives value to everyone through distributed scarcity, whereas distributing it to remaining validators would encourage them to sabotage each other in an effort to get each other's slashed ether.
Validators are a big part of the Beacon Chain, and our team is working hard on delivering a proof of concept Beacon client by March 2019. What we'll be delivering first is a client which can run a beacon chain in cooperation with other teams' clients or other Nimbus instances.
Stay tuned for further updates, we'll update this space as we make progress.
A validator is the modern "miner", but one who does not waste electricity to confirm transactions - instead, a validator builds blockchain blocks from transactions if selected by the system and other validators attest his actions. These groups of validators together form the new chain, and no one validator is more powerful than the next. To become a validator, a user must send 32 ether to a smart contract on the current proof-of-work blockchain which generates a receipt or a "validator membership card" on the beacon chain.
Continue reading the Two Point Oh series by following the Nimbus blog, or the Two Point Oh tag.