-
Notifications
You must be signed in to change notification settings - Fork 284
Open
Labels
RefactorImprovement to overall code qualityImprovement to overall code quality
Description
Change the genesis round to a standard blockchain implementation and simplify the code.
Current Design | Proposed Design |
---|---|
Only the "genesis provider" that supplies the genesis block needs the config file | All nodes require the config file |
The genesis provider creates the genesis block from the config file, signs it, and provides it to the genesis broadcaster nodes | No genesis provider |
The genesis broadcaster nodes broadcast the genesis block | All nodes generate the genesis block from the config file |
Receiving nodes verify the genesis provider's signature | No communication or signature verification during the genesis round (see note) |
Each node validates and executes the genesis transactions | Same as current design |
Each node commits the genesis block without adding a signature | Same as current design |
Note
No signatures are needed to reach consensus on the genesis block.
If a node falsifies the genesis block hash and includes it in the next block header, that header hash will not match other nodes' and will be treated as a fork, effectively ejecting the node from the network.
Metadata
Metadata
Assignees
Labels
RefactorImprovement to overall code qualityImprovement to overall code quality