-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Description
Summary
As part of an effort to add a new mempool (specifically the narwhal DAG mempool), we are tasked with creating a new mempool. One thing that became immediately obvious as part of this, is that the ABCI concerns are unaffected by the change in storage engine (narwhal mempool vs priority or clist mempool). ATM, all the concerns are bottled up into a single type, which forces the storage engine implementation to do a lot more, increasing its risk of goofing something up in the ABCI layer, which could lead to catastrophic problems. The idea is to separate the concerns better, so that the ABCI concerns are unaffected by the change in storage engine. The ABCI guarantees TM makes, will be enforced regardless the underlying storage engine.
This is part of work we're doing in the PeggyJV/tendermint fork under @zmanian to experiment with high throughput mempools. By increasing the throughput of the mempool we hope to increase the throughput of TM as a whole.
Problem Definition
We need this feature, b/c we want to make it easier to contribute and experiment with TM. A major area of research across the blockchain community is improving the mempool, as its often the bottle neck. By separating concerns we also create a means to enforce the TM guarantees and reducing risk associated with incorporating a new mempool design.
Proposal
- Separate ABCI concerns into separate type
- Allow stoage engines to be plug and play without concerning itself with the ABCI layer
For Admin Use
- Not duplicate issue
- Appropriate labels applied
- Appropriate contributors tagged
- Contributor assigned/self-assigned