bitshares / bitshares/bitshares-core

Follow up EOS issue 2204: check block before pushing to fork db

Open
#831 13 comments 0 reactions 0 assignees View on GitHub
1b User Story 2b Gathering Requirements 3c Enhancement 4b Normal Priority 6 Security security
Dominant language
C++
Stars
1.2k
Forks
660
Avg merge
8h 17m
Merged PRs (30d)
26

Description

https://github.com/EOSIO/eos/issues/2204:
>Right now we only check if a received block is linkable to an existing block in fork_db but do no other checks. If the network code also doesn't reject multiple blocks at the same block height from the same node, it opens itself up to an easy DOS attack.
>
>Rather than relying only on the network code to protect against such attacks, we should do some light validation of the received blocks (particularly enough to check that it was correctly signed by an active producer from the perspective of that block) before including it into the fork_db.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reading the linked EOS issue 2204 and tracing how received blocks move through the network code into fork_db. Determine the light validation needed before insertion, including checking that each block is correctly signed by an active producer; done means invalid or conflicting blocks cannot be pushed into fork_db.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
blockchain, networking
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.