bitshares / bitshares/bitshares-core
Fast block confirmation (N-Blocks irreversibility)
- Dominant language
- C++
- Stars
- 1.2k
- Forks
- 660
- Avg merge
- 8h 17m
- Merged PRs (30d)
- 26
Description
**User Story**
Recently the Hive project implemented [One-Block Rrreversibility (OBI)](https://hive.blog/hive-139531/@blocktrades/one-block-irreversibility-for-delegated-proof-of-stake-dpos) through the [26th protocol upgrade (hard fork)](https://hive.blog/hive/@hiveio/the-evolution-of-hive-hardfork-26).
While in theory it may not be perfect, in practice it makes great sense (IMHO), especially for business use cases.
We can probably try to port it to BitShares, although the code about voting and witness schedules is quite different between Hive and BitShares.
Actually, I have been thinking about doing something like this (and others) on the P2P layer for a long time, starting around 2016.
(This may or may not be a protocol upgrade.)
**Additional Context (optional)**
There were discussions about BFT over DPoS on EOS but I don't know if it's finally delivered.
* https://github.com/KryptonWorld/bftDpos/blob/master/README.md
**Impacts**
Describe which portion(s) of BitShares Core may be impacted by your request. Please tick at least one box.
- [ ] API (the application programming interface)
- [ ] Build (the build process or something prior to compiled code)
- [ ] CLI (the command line wallet)
- [ ] Deployment (the deployment process after building such as Docker, Travis, etc.)
- [ ] DEX (the Decentralized EXchange, market engine, etc.)
- [x] P2P (the peer-to-peer network for transaction/block propagation)
- [x] Performance (system or user efficiency, etc.)
- [x] Protocol (the blockchain logic, consensus, validation, etc.)
- [ ] Security (the security of system or user data, etc.)
- [x] UX (the User Experience)
- [ ] Other (please add below)
## CORE TEAM TASK LIST
- [ ] Evaluate / Prioritize Feature Request
- [ ] Refine User Stories / Requirements
- [ ] Define Test Cases
- [ ] Design / Develop Solution
- [ ] Perform QA/Testing
- [ ] Update Documentation
Contributor guide
No contributing guide indexed for this repository
Research direction
No BitShares files, tests, entry points, or concrete requirements are identified. Start by reading the linked Hive one-block irreversibility proposal and comparing it with BitShares' witness scheduling and P2P design; done would require an agreed protocol design, defined test cases, and documented validation of fast block confirmation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- blockchain, cpp
- Domain
- blockchain, distributed-systems, networking, performance
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100