Ostracon, a consensus algorithm, is forked from Tendermint Core. We have added VRF to Tendermint BFT. It adds randomness to PoS Validator elections and improves security.
We can(and must) remove the global mutex of abci client if abci server(app) controls concurrency by itself.
If app controls concurrency by itself, we can have more chance to increase the concurrent performance.
type localClient struct {
service.BaseService
// TODO: remove `mtx` to increase concurrency. We could remove it because the app should protect itself.
mtx *tmsync.Mutex
// CONTRACT: The application should protect itself from concurrency as an abci server.
types.Application
globalCbMtx tmsync.Mutex
globalCb GlobalCallback
}
Summary
We can(and must) remove the global mutex of abci client if abci server(app) controls concurrency by itself. If app controls concurrency by itself, we can have more chance to increase the concurrent performance.
Problem Definition
Proposal
For Admin Use