prysm-pulse/sharding/README.md
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

59 lines
1.8 KiB
Markdown

# 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