28

Shard is a concept not so much related to the Proof-Of-Stake, but rather to the scalability improvement. The idea of 'sharding' is to split the space of possible accounts (contracts are accounts too) into subspaces, for example, based on first digits of their numerical addresses. Each shard gets its own set of validators (therefore PoS is a pre-requisite), ...


13

You don't need to have lots of full client nodes. Nowadays you can download the light-client version, which implementing Merkle Tree structures, lets nodes to don't be obligated to store ALL of the data on it's hard drive. Some use cases for a fully light client, and how the light client meets those use cases, include: A light client wants to know the ...


8

Its kind of what Casper is trying to do with its sharding scheme. The high level idea is to split the network into several groups, and a group of nodes will be responsible for verifying some set of transactions (or a shard). It is entirely possible to do in a private network, where all the nodes are known and have fixed identities. However, in an open ...


8

In Ethereum, all miners are working on the same problem at the same time. (This is why people usually say: "Equate the Ethereum computer to a Commodore 64". It takes a lot to keep everything in sync.) My guess is that, with sharding, you could have different segments of miners working on different problems at the same time, and they would somehow check each ...


7

The first phase implementation of sharding and Plasma are both essentially sidechains that tie into the main chain via smart contracts. However, the responsibilities of these smart contracts and properties of the sidechains is different for each project. Plasma sidechains are somewhat similar to state channels (e.g. Lightening and Raiden) in that they use ...


5

Ethereum is not currently sharded. As we work towards a scalability solution, the state will be sharded and validators assigned to shards on a dynamic basis. Note it will be proof of stake, so no mining. The details are still very much being sorted out.


5

Someday the Ethereum blockchain will hit 1TB, but it won't be soon. I've been installing full mining and non-mining nodes with geth with "fast" disabled. A fresh install of the blockchain fits nicely in under 120GB today, and that is only up about 40GB from last December. That's around 40GB in nearly half a year. Even if the Ethereum blockchain triples it's ...


4

The above answer is outdated on sharding, notaries are used instead of validators. See https://github.com/ethereum/wiki/wiki/Sharding-FAQ#how-does-plasma-state-channels-and-other-layer-2-technologies-fit-into-the-trilemma. After editing the above post, it is outdated again with the latest spec ditching the contract on the PoW main chain, and instead using a ...


4

Could blockchain be distributed over torrent (DHT)? Possibly, but... ...so that every node would not need to store whole blockchain... ? What you're essentially describing is sharding, which is being touted as one of the answers to Ethereum's scalability challenges. It's described in detail on the wiki's Sharding FAQ. In short, sharding allows the ...


3

Sure, assuming total tx's stay the same, then it will be something like current gas price / shards. I would assume that total tx's will increase however, when sharding goes into effect. But yes, overall, as a scaling solution, sharding is meant to decrease load on each individual node, and decrease gas prices.


3

Because it's completely integrated into the protocol and all interoperable. Side chains imply that there isn't really a consensus underneath that binds the two, it's sort of hacked together. Shards all operate under the exact same consensus structure.


3

They solve different problems and can be both used together. Truebit is about outsourcing heavy computations. For example a simulation may require thousands of hours of computing. You only need in the blockchain the final result and a protocol to ensure the result matches the algorithm output. But the computations are done outside of the blockchain. ...


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 ...


2

Hypercube is no longer planned to be implemented. But yes, each shard produces their own blocks, although the latest plans is to call them collations, which are planned to occur more frequently than blocks. For details see https://github.com/ethereum/wiki/wiki/Sharding-introduction-R&D-compendium and https://ethresear.ch/t/minimal-sharding-protocol-...


2

Additionally, for planned innovations on storage, see: I think we want to use sparse merkle trees https://ethresear.ch/t/data-availability-proof-friendly-state-tree-transitions/1453/6 https://github.com/ethereum/research/blob/master/trie_research/bintrie2/new_bintrie.py https://gitter.im/ethereum/sharding?at=5ad49182102fac7b7b19334c Also see ...


2

Phase 1 sharding won't have any execution or EVM, so it won't integrate with the main net. Phase 2 will have an EVM, and will introduce backwards incompatible changes at a smart contract level, like storage rent, however the intention is to try to make these changes as DX and UX friendly as possible. (See https://github.com/ethereum/wiki/wiki/Sharding-FAQ#...


2

The mauve paper has been deprecated for about 2 years. Yes, refer to the FAQs that you mentioned, with https://notes.ethereum.org/SCIg8AH5SA-O4C1G1LYZHQ# being the latest WIP development for shasper (sharding + casper FFG), plus you can keep an eye on the sharding and casper categories on ethresear.ch or watch these categories to be notified of new posts if ...


2

ELI5: You have 2 numbers, X and Y, each in an envelope. In a 3rd envelope, you store X+Y. This 3rd envelope can be considered the erasure code. You will always be able to compute X and Y by only losing 1 envelope. The concept: to avoid losing data, you store additional data in a smart way. (In the example above, it would not help if the 3rd envelope ...


2

A Beacon Chain validator can also be a shard validator. Recall, that initially there won't be any shards. State of Ethereum Protocol #2: The Beacon Chain is a helpful article on these topics and describes that: validators participate in the protocol by proposing blocks, when chosen to do so, on both the Beacon Chain and, once they have been implemented, ...


2

A validator in ShardA cannot download and validate all of ShardB because the validator already has too many shards. The main scalability problem with blockchains is that all validators have to validate every single transaction. The idea behind sharding is that transactions will be split across shards, and each validator will validate a small number of ...


2

https://ethos.dev/beacon-chain/ Validators are rewarded when they make attestations (LMD GHOST and FFG votes) that the majority of other validators agree with. ... Validators are penalized for not attesting or if they attest to a block that does not get finalized. ... If a validator stands to make 10% in a year on rewards, a (honest) ...


2

As far as I understand the time slots are static: 12 seconds per slot and 32 slots per epoch: 6,4 minutes per epoch. So it should not change. It doesn't matter if there are transactions or not, empty slots are acceptable. A slot is a simply an option for a block to be included in the Beacon chain / shards. The total hashing power of the network becomes ...


1

Since Ethereum has an account based architecture instead of UTXO based, it's actually not currently required to traverse the entire history to generate an up-to-date UTXO set like in Bitcoin. Each block in Ethereum has the root hash of the state trie, which includes account balances, so all you need to do in Etheruem to know any accounts balance is to ...


1

Just to quote this very good article about Ethereum scalability: At the moment we have in general two ways which might solve this problem: We build a blockchain where every node doesn’t have to process every operation. → called Layer 1 solutions (or On-Chain solutions) e.g. Sharding we squeeze more useful operations out of Ethereum’s ...


1

one generates the hash of all possible inputs Not quite (maybe you just didn't express yourself well). To create a SMT, one needs to generate all possible output of a hash function that will be used, and then each of the outputs becomes a leaf of the SMT. So if we use 256-bit hashing function (e.g. SHA-256), our SMT will contain 2^256 leafs. All of this ...


1

Yes, this is possible, but it would be more complicated to implement. See also https://github.com/ethereum/wiki/wiki/Sharding-FAQs#what-about-heterogeneous-sharding. What about heterogeneous sharding? Abstracting the execution engine or allowing multiple execution engines to exist results in being able to have a different execution engine for ...


1

At a very high level, chunking is at the file level, and sharding is at the database level. Let's say you have a large file that is 20KBs, then you need to chunk that into five pieces. Sharding is the concept that not everybody needs to know everything. For example, let's say you have a database that is the equivalent to a phonebook. This database is ...


1

I'm basing this answer on a particular implementation of PoS that is based on Vlad's Cbc-casper paper. The exact PoS implementation that Ethereum decides to implement may be different. Let "validators" be entities that are responsible for creating blocks that have bonded stakes in the proof of stake contract. Only validators can create new blocks and only ...


1

Yes, because a general proof of stake scheme with your only stated requirement being to collect signatures of at least 2/3 of validators, weighted by deposit (my edit, otherwise you could have 4,000 out of 6,000 validators with a minimum security deposit that is poorly designed to be too small, have more than 2/3 of the weighted deposit, and act faultily, ...


1

The parentheses are causing the error. Putting the statement on one line without the parentheses causes it to compile. To still comply with PEP008, since implicit line continuation is not an option with Vyper here (although it should be, and I will report this issue to the Vyper team), explicit line continuation will still work, in this case: @private def ...


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