prysm-pulse/contracts/sharding-manager-contract
2019-02-22 07:11:26 -08:00
..
BUILD.bazel Fix Flaky Tests (#636) 2018-10-09 10:52:20 -05:00
README.md Remove Contract Package from Client (#396) 2018-08-12 15:50:42 -07:00
sharding_manager_test.go Makes test naming consistent across codebase (#1636) 2019-02-22 07:11:26 -08:00
sharding_manager.go Migrate dependencies on @com_github_ethereum_go_ethereum//event (#601) 2018-10-02 21:49:01 -04:00
sharding_manager.sol Remove Contract Package from Client (#396) 2018-08-12 15:50:42 -07:00

Sharding Manager Contract (Deprecated)

In the original sharding approach, the system was designed to be handled via a smart contract known as sharding manager contract (SMC) on the main chain. This contract would allow for implicit finality using transactions submitting shard block headers to SMC which would then be mined onto a main chain block. However, this system is bounded by gas and the limited functionality of EVM 1.0. That is, the number of shards realistically could only grow as much as SMC could handle.

In the current approach, SMC was deprecated for beacon chain that has links to the main chain by containing hashes of canonical main chain blocks within its own block construction. Check out our design doc which summarizes our thoughts for replacing SMC with a minimal viable beacon chain and merge aspects of our current work in geth-sharding into this new beacon chain that we can use for demonstration purposes.