hirosystems / hirosystems/stacks-subnets

Leader selection in federated hyperchains

Open
#64 0 comments 0 reactions 0 assignees View on GitHub
federation
Dominant language
Rust
Stars
51
Forks
13
PR merge metrics
No merged PRs in 30d

Description

Block (and microblock) assembly in a Hyperchain is a process that will involve *one* leader. This leader assembles the block and then proposes it to the other members of the mining coalition. This leader (or failing that, any of the other members) can then issue the block commit when enough members have signed. Selecting, and rotating when necessary, this leader is the heart of a traditional BFT algorithm. We can get away with an incremental approach to this problem: first, we can make leadership simply *configurable,* and then eventually replace with a BFT library.

Implementing leadership shouldn’t involve modifying much of the behavior of the `neon_node`: the leader is going to act the same as the miner does currently, except for the changes in the other multi-party mining issues (https://github.com/hirosystems/stacks-hyperchains/issues?q=is%3Aissue+label%3Afederation)

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.