Hot answers tagged

12

SimpleSerialize (SSZ) is the canonical serialization format used in Eth2. The SSZ specification instructs the reader on how to perform two distinct tasks: Encoding/Decoding: how to encode Eth2 data structures (e.g., a BeaconBlock or a BeaconState) as strings of bytes that can be sent over the network or stored in a database. Merkleization: how to find the ...


8

I'll have a go at answering this by producing a response that has a different structure to the question but should tick-off all the necessary points along the way. Hopefully I didn't miss any. Background: I am a lead developer on Lighthouse, one of the eth2 clients that will launch at genesis. I have built most of the Lighthouse testnet tooling and launched ...


7

Yes there are penalties for being offline. In "normal" (non-activity leak) circumstances, a validator loses approximately 15.8% of their stake per year they are offline. That's ~1.4% for being offline for a month or ~0.3% for being offline for a week. Specifically, validators that fail to create attestations will suffer penalties. When the network is ...


6

The basic ideas of blockchain remains the same in Ethereum 2.0; one of the basic concepts is they are deterministic. For our purposes that means that external data needs to be input into the blockchain. The way to do that is through various kinds of oracles. So that will not change for Eth 2.0. External data still needs to come somehow into the blockchain ...


5

Raul Jordan here from the Prysm project. The Prysm client is an open source implementation of the Ethereum 2.0 blockchain written in Go, just as the familiar go-ethereum project was for Ethereum 1.0 today. It is a radical departure from the current way Ethereum works, as it implements proof of stake and sharding according to a specification created by the ...


5

My question is, is it possible to split this deposit to multiple transactions (e.g. 4x8ETH)? Yes, the smallest deposit you can make is 1 ETH1 and you can make as many as you like2. Validators are automatically on-boarded once the sum of their deposits is equal to or greater than 32 ETH3. Furthermore is this possible from multiple addresses? Yes. There ...


4

There's a little ambiguity around the term "full node" here. In order to be an Eth2 validator, you require the following software components: An eth1 node (geth, parity-ethereum, etc). An eth2 "beacon node". An eth2 "validator client" (if it doesn't happen to be included in your beacon node). For (1), a fast-synced Geth node ...


4

The recording is poor and it's a bit out of date now, but the this talk gives an intro to the Teku architecture: https://www.youtube.com/watch?v=1PHZHpVPLk4 Generally the major components of ETH2 clients are all quite similar because they all need to do roughly the same things. Teku's focus is primarily on enterprise deployments so it's designed to support ...


4

What were the causes of the forks? There were some issues relating to rewards/penalties calculation. Both Lighthouse and Prysm were incorrectly computing the validator balances. Interestingly, Lighthouse, Prysm and ZCLI (reference spec implementation in Go) all computed different values, the result of multiple unrelated issues. Teku stayed faithful to the ...


4

As it sounds you do not need to interact with hashes from smart contracts, you could do something simpler. Ethereum blockchain that is designed for transfer-of-value is not good for store-of-hashes use case. Collect hashes to a single file Publish this file in a decentralised storage network like Storj, Sia or FileCoin Storj Tartigrade cost is $0.0045 per ...


4

Gas will never be free. It has a purpose and that is to create a cost for a computation. If there was no cost for computation it would be possible to do infinite loops (with each loop being free) that would cause problems for the miners and system.


3

What are Lighthouse's major components? From a very high level we have three components, each launched from the single lighthouse program: Beacon node: connects to the p2p network, verifies blocks and other messages, stores them in a database and allows access via an API. Validator client: responsible for controlling the validator keys and deciding when to ...


3

The block time for the upcoming Ethereum 2.0 (Eth2) is set to 12 seconds. This includes the beacon chain and shard chains. This rate is defined in the Time parameters section of v0.11.1 of the Eth2 specification as SECONDS_PER_SLOT. In Eth2, time is split up into "slots" where a single validator is randomly elected to produce a block. Therefore, the ...


3

The idea of a SSZ partial is that any SSZ type (see SSZ spec what SSZ is) is just used to provide a typed "view": you have type information for everything that could be there, but you may only need partial access to the actual value. Additionally, since the goal of SSZ is to provide merkle-proofs for all types of data, a partial can also have a merkle-proof,...


3

I was reading this a few weeks ago: https://ethos.dev/beacon-chain/ . It explains everything you need to know and a lot more. To be honest the article got way too deep for me and I didn't manage to finish it but at least the basic idea is relatively simple: there is a chain called Beacon chain which is the communication layer between different shards. This ...


3

Yep, they sure do! You can find a bunch of published specifications here: https://github.com/eth2-clients/eth2-testnets They are indeed based upon the "configs/ in the eth-2.0-spec" link you provided.


3

There is nothing to worry just yet. The casper protocol won't effect any smart contract much, it is just a new consensus protocol. I think the only thing that will effect is that they will use RANDAO which is a truly random function for blockchain. For eWASM it is still in research state there isn't a complete product anywhere yet so ALL HAIL vyper and ...


3

devp2p is the older network wire protocol, for propagating blocks and other low-level functionality between Ethereum nodes. It was designed specifically for Ethereum from scratch, in isolation from other distributed systems and open source projects. libp2p is the wire protocol used by IPFS, which in many ways supplies the distributed file storage that ...


3

Yes, Casper FFG will be implemented in Eth2 phase 0. Most Eth2 client teams have already implemented the Eth2 variant of FFG and all public Eth2 testnets are using it. Some recent information about Eth2 and FFG can be found in Combining GHOST and Casper. There is a long-term plan to switch to Casper CBC, however serious specification or engineering works ...


3

The 15s block time is false assumption, making your question invalid. Ethereum was ticking 12s block times 2 years ago. It is not standard and fluctuates a lot of over longer period of time. You should not connect time based conditions to block numbers.


3

The Eth 2.0 testnet is only the beacon chain. It doesn't yet support smart contracts.


3

Ethereum 2.0 consists of multiple phases. Phase 0 is the beacon-chain (with proof-of-stake). Phase 1 is sharding. The beacon chain is expected 2020-2021. Shards are targeted 2021-2022 (although there is slight parallel development with the beacon chain). There can be subsequent phases but they are further out so can change. For example, Phase 2 is about ...


3

Ethereum 2.0 testnets can be categorized in different stages of testing, varying in their complexity of operation. semi-public devnets single-client testnets multi-client testnets semi-public attacknets post-launch testnets semi-public devnets While implementing the Ethereum 2.0 protocol and before announcing releases, the core client developers maintain ...


3

According to the official Ethereum 2.0 Validator FAQ, the beacon chain mints fresh ETH as rewards by updating the balance of each PoS validator after every epoch: How are rewards/penalties issued? Remember that each validator has its own balance – with the initial balance outlined in the deposit contract. This balance is updated periodically by the Ethereum ...


3

Ethereum 2.0 phase zero staking has been live since December 2020. Ethereum 2.0 rewards proof of stake validators with block production rewards. The amount of reward depends on the network participation: more there are validators, less one single validator can earn. You can calculate the estimated earnings with the current validator rate. Depending on the ...


3

Yes this is likely a user mistake (due to a technical error or misunderstanding the instructions) as you only get rewards on the first 32 ETH of the validator. The extra ethers are stucked until withdrawal functionality is added to the protocol. Regarding the validator that you provided as an example we can see the associated address did a total of 3 ...


2

The tl;dr is that no, validators can't choose which shards they validate. Validators are shuffled around between shards every 10 minutes or so and are randomly assigned a few shards at a time. The worst they could do is not add transactions to the blocks they're assigned to, but they wouldn't do that if there were pending transactions with a high enough gas ...


2

Most of the current Beacon Chain implementations are written in Java, Rust, Nim or Python. However there is recent project which uses Solidity based Deposit Contract for the Beacon Chain. Some of the interesting Beacon Chain implementations are the following >> Python Implementation of Beacon Chain by Ethereum Foundation Nim Implementaton of Beacon ...


2

Technically the answer is no, there's no reward in Eth2 for simply producing a block. However, there are rewards for producing blocks that contain useful content. It is expected that all blocks will contain useful content (i.e., it is not hard to produce/acquire useful content) so therefore validators that propose blocks in Eth2 are expected to be rewarded. ...


2

Validators are not randomly selected, anyone/thing with 32 ETH is eligible to become an Eth2 validator. However, once a validator (represented by a BLS public key) becomes active, they are randomly selected to perform tasks on the beacon chain. There are two primary tasks: Producing blocks: the compute_proposer_index function uses entropy from randao ...


Only top voted, non community-wiki answers of a minimum length are eligible