###### tags: `article` `research` # Ethereum 2.0 Ethereum 2.0 will be a massive leap towards enterprise application of blockchain. What is most important factor of Ethereum 2.0 is the how the community holds true towards the principles of decentralization at every stage. Taken seriously it means that not just the running system needs to be most decentralized, but also the design and development. Vitalik Buterin knows that - and while being one of the most important and righteously influential thinkers there. He kicked off the experiment of not playing the benevolent dictator to stick true to the principles. We have seen the superior results of a decentralized open-source development in many areas especially GNU/Linux etc. and anyone with efficient clarity in their mind about the evolution of things has to agree that open-source is the only way how to do development right. While many of these projects are actually lead by benevolent dictators - it appears to be very challenging to not have one. ## The Intersting Teaching for a Democracy In one way it always has been obvious. To have a democrazy "working" we need educated people. People who actually understand what they vote for and understand the further implications of it. When looking at the political landscape today in most western democracies we face a huge problem as popularity often does not necessarily correlate with what is a good and sustainable decision and complex matters cannot be discussed publicly rather by selected professionals and experts the elected ones. With a world growing in complexity there are fewer people capable enough to be to grasp a tolerable wide range and depth of and in these topics. The political discussion process requires to become decentralized. Interestingly what a Blockchain necessarily does is seeking most resilient decentralized consensus versus potentially malicous actors. And this is exactly what we need in our democrazy. The more powerful specific individuals become in relation to the others and the less overview, insight and clarity about what is going on in the world these individuals may have in relation to what they would need to act out their power reasonably - the more suboptimal the acting out of this power is becoming. At the governance level over the whole world we should not tolerate this problem. So while for our political systems the inertia is very strong. In new fields of developments there is the right amount of space and lightness for new innovation. In one of such spaces there lives Ethereum 2.0 here we could set an example of how decentralized governance could work. In the meantime we just have to trust the politicians and people working in these systems to not fuck it up completely too fast. Until we have proofably more optimal and working solution. It is important to give them good peace it's not their fault - and we should not frame anyone behaving suboptimally as malicious. We are all just human beings - and we just don't know what we are doing xD just more often than not we fail to accept and consider that. ## This Important Infrastructure Just by what it is doing Ethereum 2.0 is probably one of the most important virtual infrastructures we would have. Which means many many people would totally rely on it for most crucial applications. We donot want to afford to do repeat the same mistakes again here. What we need is a very large amount of people who are competent in their specific areas and capable of collaborating in a decentralized manner. When collaborating on something like such an virtual infrastructure - the general understanding is very important - if we donot understands how it works we could never do any reasonable contribution, rather have useless opinions which are okay to be said freely, but totally irrelevant within a reasonable discussion about anything alike - how it should evolve. Yet I have little understanding about Ethereum 2.0. This is actually the reason for this document - as I want to support this process I want to educate myself about it and also become a staker for Ethereum 2.0. This lead me to the [ethstaker community](https://www.reddit.com/r/ethstaker/). They provide awesome material already - and while digging through it I thought it would be best to summarize it all over again in my own words. If you stumble over this, feel free to give feedback - as I am also interested in - generally synchronizing my ways of formulations in a way other people would understand it well - and that this document also will be useful for other people. --- > ### Personal Opinon > If Ethereum does it right, there is absolutely no reason for competition. We want to have 1 strong decentralized security layer of the Internet. We donot want unnecessary fragmentation there weakening the overall network. > There ar 2 Options why anyone would do try to form a way of competition. > > 1. The person could not connect to the open decentralized development process, probable because of limited understanding - maybe unintuitive code and bad material in their own language > 2. The person wants to be the hero doing it better and reaping the maximal reward for themselves > > Both in superposition: the the person believes it is too much wasted effort and too little rewarding to connect to this decentralized development process and it would be less effort and more rewarding when creating their own version. > > When we see this happening it is the direct indication that there is a lot to be done there^^ When we understood the principle of decentralization within the context of developing our future, then we definately know what to do. --- ## Explainer 1 - The Beacon Chain [The Original](https://ethos.dev/beacon-chain/) ![](https://ethos.dev/wp-content/uploads/2020/02/Beacon-Chain-and-Shards.png) ### Sharding Probably the most essential part of Ethereum 2.0 is the strategy for scaling. [Sharding](https://en.wikipedia.org/wiki/Shard_(database_architecture)) is a technic to scale Databases and as we may look at Blockchain as a public database it does make sense to apply it there. Sharding is very much what the word entails it is splitting the Database in separate pieces to be processed separately. An important question then is - how would you do that without sacrificing on security properties, which are so very essential here? If you split the Blockchain in shards, where each shard has its own blockchain and would be processed independently the ressources required to overtake that specific shard would be far less - that would be unacceptable. Funnily there is a very simple and genius solution - randomize who would pick the block for the shard and who would participate in the specific consensus about this block. Plus do that for every block and watch over a sequence of blocks. That means if you are an attacker and control many nodes participating in the consensus algorithm. While you had enough ressources to take over a single shard in the one case where all of your nodes are assigned to that same shard, it is very unlikely that this same assignment would happen throughout the whole sequence. This is a very effective way of ruining the odds for an attacker. While from the top level perspective it is very simple - the devil is in the details and we want to look at the devil if we want to be mroe certain about how that really works - and maybe also to form a more useful opinion on how further improvements look like. ### Vocabulary Firstly lets describe how specific vocabulary is used in this context. #### Beacon Chain The Beacon Chain is the overlord to the Shard Chains - providing the rythm for synchronisation. It mainly consists of a validator address registry and links to the shards. It has its own Slots and its own Blocks. #### Crosslinks A crosslink is a reference in a Beacon Block to a Shard Block. #### Shard Chain The actual transaction data train. It relies on the Beacon Chain for synchronisation. #### Block Like the Block in the Blockchain - belonging to either, one of the Shard Chains or the Beacon Chain. Carrying all state changes of this public database ;-) #### Genesis Block The first Block of a specific chain. The Block at Slot 0 of Epoch 0 #### Slot Slot for a Block. There is a certain timeframe($12s$) for each Slot where the Block for it may be added. There is a certain number($32$) of slots for each Epoch. #### Epoch A Sequence of a certain number($32$) of Slots. #### Checkpoint The first Block of every Epoch. #### Justified Checkpoint When the Epoch of the Checkpoint has endet and there is the Supermajority agreeing to it - then the Checkpoint becomes justified. #### Finalized Checkpoint When the following next Epoch of after the justified Checkpoint also ends with the Supermajority agreeing on it - then that Checkpoint becomes finalized. This means when the next Checkpoint becomes justified its preceding Checkpoint becomes finalized. #### Staker An address which stakes ETH. Using that stake the Staker may activate validators, assigning them some of the staked ETH. #### Validator The participants of the consensus algorithm. They carry their balance of ETH. The maximum balance is 32ETH. #### Block Proposer The Block Proposer is the chosen Validator for a specific Slot to propose a Block. The Block Proposer is chosen randomly. #### Attester All Validators that vote if a proposed Block is valid. #### Attestation Is the vote from a Validator weighted by its balance. #### Vote #### LMD GHOST Vote #### FFG Vote #### Commitee #### RANDAO #### Beacon Node #### Validator Client