Fabric Strategic Priorities - 2021 discussion
Discussion at September 29, 2021 contributor meeting.
Results from Fabric strategic priorities community survey (in order of survey results):
- BFT support in ordering service. This has been long discussed and there have been investments in SmartBFT (https://github.com/SmartBFT-Go/consensus/) and MirBFT (https://github.com/hyperledger-labs/mirbft) that could be leveraged to bring BFT support to Fabric. SmartBFT has a proposed RFC under review.
- Pruning old blocks from peer and orderer to alleviate concerns around long term storage growth - placeholder issue until an RFC is available.
- Performance improvements - refactor peer validation/commit logic and private data handling to alleviate known performance bottlenecks - proposal needs to be turned into an RFC.
- Replace goleveldb with a more modern key/value embedded database with better performance characteristics.
- Fabric Smart Client - Released as a lab in 2021, this is a new pattern for multi-party applications backed by Fabric that provides flexibility and privacy beyond existing chaincode and private data capabilities. We could further invest in this pattern and work towards full project status - https://github.com/hyperledger-labs/fabric-smart-client
- Queryability (embedded in peer) - query language support in peer on top of the embedded key/value state store
- Queryability (external database) - queryable external database (CouchDB or otherwise).
- Token support (existing execute-order model) - Fabric token SDK (https://github.com/hyperledger-labs/fabric-token-sdk) approach using endorsement model. Token transactions are executed by required endorsers and then submitted to ordering (zero-knowledge transfer is possible).
- Token support (new order-execute model) - Built-in post-order execution of token transactions. Token transactions are executed on every peer after ordering, no need to trust a sub-set of endorsing peers, aka 'FabToken' approach (zero-knowledge transfer is possible).