prysm-pulse/sharding
Raul Jordan 708ca8f559 create sharding readme TOC
Former-commit-id: 12693fa4d343babfddc554eb3c1752e8593034cc [formerly 1cb45ffb313590c9d54cedc96846b9475d6a8932]
Former-commit-id: 740977a24f2af57a79d8da825ab75b20bdb41397
2018-03-05 15:42:11 -06:00
..
contracts Add Flag to main.go , and use flag in vmc.go 2018-02-26 10:20:42 +08:00
client_test.go disable client test 2018-02-09 19:37:47 -05:00
client.go travis passes 2018-02-27 16:08:02 -06:00
collation_test.go Add getter/setter methods for Collation 2018-02-21 22:39:51 -05:00
collation.go s/collationHeader/CollationHeader/ 2018-02-23 09:54:36 -05:00
collator_test.go travis passes 2018-02-27 16:07:46 -06:00
collator.go refactor account, and unlock account when client is created 2018-02-27 09:15:45 -08:00
config_test.go working on sharding entrypoint 2018-01-14 19:10:02 -05:00
config.go adjust code to reviews, abstract funcs, clean up files 2018-02-06 14:04:45 -06:00
genesis.json add genesis 2018-03-05 14:55:56 -06:00
README.md create sharding readme TOC 2018-03-05 15:42:11 -06:00
vmc.go removed unnecessary fmt.Sprintf, renamed flag to JoinValidatorSetFlag, and elaborated on its usage 2018-02-26 18:07:09 -08:00

Prysmatic Labs Main Sharding Reference

Table of Contents

  • Sharding Introduction
    • Basic Sharding Idea and Design
  • Roadmap Phases
    • The Ruby Release: Local Alphanet
    • The Sapphire Release: Ropsten Testnet
    • The Diamond Release: Ethereum Mainnet
  • Go-Ethereum Sharding Alpha Implementation
    • System Architecture
    • System Start & User Entrypoint
    • The Validator Manager Contract
      • Necessary Functionality
        • Depositing ETH and Becoming a Validator
        • Determining an Eligible Proposer for a Period on a Shard
        • Withdrawing From the Validator Set
        • Processing and Verifying a Collation Header
      • Validator Sampling
      • Collation Header Approval
      • Event Logs
    • The Validator Client
      • Local Shard Storage
    • The Proposer Client
      • Collation Headers and State Execution
    • Peer Discovery and Shard Wire Protocol
    • Protocol Modifications
      • Protocol Primitives: Collations, Blocks, Transactions, Accounts
      • The EVM: What You Need to Know
    • Sharding In-Practice
      • Fork Choice Rule
      • Use-Case Stores: Proposers
      • Use-Case Stories: Validators
      • Use-Case Stories: Supernodes
    • Current Status
  • Security Considerations
    • Not Included in Ruby Release
    • Bribing, Coordinated Attack Models
    • Enforced Windback
      • Explicity Finality for Stateless Clients
    • The Data Availability Problem
      • Introduction & Background
      • On Uniquely Attributable Faults
      • Erasure Codes
  • Beyond Phase 1
    • Cross-Shard Communication
      • Receipts Method
      • Merge Blocks
      • Synchronous State Execution
    • Transparent Sharding
    • Tightly-Coupled Sharding (Fork-Free Sharding)
  • Active Questions & Research
    • Separation of Proposals & Consensus
    • Selecting Eligible Validators Off-Chain
  • Community Updates & Contributions
  • References