New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sharding Roadmap #190

Closed
pipermerriam opened this Issue Dec 5, 2017 · 9 comments

Comments

Projects
None yet
4 participants
@pipermerriam
Copy link
Member

pipermerriam commented Dec 5, 2017

What it is?

As part of the sharding implementation, we need to implement the following high-level tasks. Each should probably be given its own individual ticket, and each of those tickets may be suitable to be broken down further into granular tasks when possible.

Specification: https://github.com/ethereum/sharding/blob/develop/docs/doc.md

Protocol changes

Refactoring

  • The whole stateless / pure functional redesign
    • #195 Stateless/pure transaction processing
    • #236 Implement State object
  • Remove EVM logic from blocks. Make them dumb data containers.

Sharding mechanism

  • Shard Manager for watching multiple shards - #196
  • VMC utils #197
  • Set Sharding configuration #246
  • VMC Optimization
  • Collation object
  • Collation validation
  • Implement shuffling procedure
  • Sharded fork choice rule

How can it be fixed

Fill this in if you know how to fix it.

@hwwhww

This comment has been minimized.

Copy link
Contributor

hwwhww commented Dec 5, 2017

For people who are interested in the concept of basic sharding and stateless client, here's an overview introduction slide.

@hwwhww hwwhww added the eth2.0 label Dec 5, 2017

@hwwhww

This comment has been minimized.

Copy link
Contributor

hwwhww commented Dec 5, 2017

@mhchia

This comment has been minimized.

Copy link
Member

mhchia commented Jan 3, 2018

@pipermerriam
Just want to confirm. Are we also going to implement a full node in py-evm recently?
If we are, is there anything which is currently not in pyevm and is needed to be implemented? and how should we start?
Thank you!

@pipermerriam

This comment has been minimized.

Copy link
Member Author

pipermerriam commented Jan 3, 2018

cc @gsalgado

I believe that @gsalgado has started work on that, or is going to start work on it next.

@gsalgado

This comment has been minimized.

Copy link
Collaborator

gsalgado commented Jan 4, 2018

Yep, I've started implementing the ETH protocol in https://github.com/gsalgado/py-evm/tree/eth63 and https://github.com/gsalgado/py-trie/tree/trie-sync has some trie-related code we're going to need to download the state as part of a fast-sync

@mhchia

This comment has been minimized.

Copy link
Member

mhchia commented Jan 4, 2018

That's great! Then I think I can work on the other parts.
Thank you for the information:)
Just think it's cool that the urls seemed to be processed as UTF-8 instead of ASCII and so they are not working.

@gsalgado

This comment has been minimized.

Copy link
Collaborator

gsalgado commented Jan 4, 2018

Looks like the URLs ended up with some non-printable trailing characters when I originally pasted them; I've removed that and they work now

@pipermerriam

This comment has been minimized.

Copy link
Member Author

pipermerriam commented Jan 4, 2018

@gsalgado I found this recently in hypothesis for doing deterministic randomness generation for tests using the standard lib random module. Might be a good standard to adopt so that when we are using randomeness in tests like the utility function you're using in your py-trie branch for generating a random trie, we can reproduce failures.

https://hypothesis.readthedocs.io/en/latest/data.html#hypothesis.strategies.random_module

@NIC619 NIC619 referenced this issue Apr 3, 2018

Closed

Sharding opcodes #745

@hwwhww

This comment has been minimized.

Copy link
Contributor

hwwhww commented Apr 28, 2018

Deprecated. :'( Will add a new one.

@hwwhww hwwhww closed this Apr 28, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment