bosnet / bosnet/sebak

Store confirmed ballot without validation in `SYNC` state

Open
#302 3 comments 0 reactions 0 assignees View on GitHub
sync
Dominant language
Go
Stars
44
Forks
12
PR merge metrics
No merged PRs in 30d

Description

https://github.com/bosnet/sebak/wiki/How-to-SYNC-blocks-with-validators

Unless the node is fully synced yet, it should store confirmed block without validation temporarily.
1. Receive only `ACCEPT` ballot and do not validate.
1. If the number of ballots exceeds the threshold, store the block.
1. The block is handled exactly same with a received block from the validator.
* It means, these blocks are validated sequentially from the genesis Block.
1. When it is done, the node state transits to `CONSENSUS`

Contributor guide

Open the contributing guide

Research direction

Start with the linked wiki page describing how SYNC handles blocks with validators, then locate the Go entry points for SYNC, ACCEPT ballots, and the CONSENSUS transition. Compare the requested flow with the existing validator-received block path and determine how threshold handling and sequential validation are covered. Done means the stated state transition and temporary storage behavior are implemented and verified.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
blockchain, distributed-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.