Table of Contents |
---|
...
Reference_description_with_linked_URLs________________________________________ | Notes______________________________________________________________ |
---|---|
Fast-Fabric POC whitepaper | |
Fast-Fabric slide deck | |
https://github.com/IBM/hlf-internals https://github.com/IBM/hlf-internals/blob/master/docs/index.md | Fabric v1.4x architecture internals Christian Vecchiola |
https://www.meetup.com/es-ES/Hyperledger-Madrid/events/270078655/ | Fabric performance best practices meetup notes |
https://image.samsungsds.com/us/en/insights/res/__icsFiles/afieldfile/2019/02/ 16/2019.02.15_Blockchain_AcceleratingThroughputinPermissionedBlockchain Networks.pdf?elqTrackId=8f12b155e7b849998e39adbe583b9a66&elqaid=507&elqat=2 | Samsung Accelerator add in for Fabric that may speed transaction throughput up to 10x ( expect 2x ) |
Performance Use Cases | |
dltledgers automates Air Asia commodity freight transport on Fabric – tested at 2,000 TPS | |
Empirical Performance Analysis of Hyperledger LTS for Small and Medium Enterprises ilnk Enterprisesfabric-performance-v1.2-mdpi.com-Empirical Performance Analysis of Hyperledger LTS for Small and Medium Enterprises.pdf pdf | Fabric LTS 1.2 performance for medium size companies *** |
https://pdfs.semanticscholar.org/9e51/e5721d0287d5b6e1a2296b7830857f884d7b.pdf | 2018 benchmarking of Fabric on LTS v1.2 Kafka |
Performance strategies | |
https://www.consortia.io/blog/scale-your-blockchain-dlt-based-supply-chain/ | |
Performance articles, resources | |
https://learn.bybit.com/blockchain/fastest-cryptocurrencies-high-tps/ | 2023 comparison on DLT TPS, finalization estimates Polygon (MATIC) is a blockchain that seeks to scale the Ethereum network by supporting multiple scaling solutions, including Layer 2 and sidechain solutions. It boasts a high throughput of 7,000 TPS and a finality time of 2–3 seconds Fabric v2x
Fabric v3x
|
https://diablobench.github.io/ | Project Diablo compares blockchain performance Diablo is a benchmark suite to evaluate blockchain systems on the same ground. |
Key Concepts
Blockchain Performance Concepts
...
- buffer bc writes async
- minimize write size
- transaction aggregation
block multiple transactions and hashes into single transactions using external index to find the block.transaction id to get the hash for proof- create external index to individual transactions as async process ( not good for real-time confirmations )
- sharding for parallel processing
- horizontal scale
- vertical scale with more powerful nodes
- minimize nodes needed
- use logical members layer vs physical nodes to add orgs, accounts
- upsize cluster
- create logical acid transaction with confirmation prior to write completion - optimistic write w auto retry if failed
- use off-chain data to answer most queries
- use centralized network where the use case fits
- use logical shards for the blockchain where it fitsleverage off-chain and world state databases for transaction updates and reads vs blockchain reads
- push transaction data to encrypted, compressed blobs with NUK key sets, hash the blob & key sets, write hash and (optional) key sets to a block
- use ZK rollups on off-chain transactions for data privacy, minimize data on-chain with rollup hashes, NUKs in hashed blocks with indexes of transaction keys to blocks for fast reads
- consider transaction, block proof design that rolls up to the next level ( proof of proofs )
- anonymous state pinning article is another approach with advantages on information hiding
- sharding for parallel processing
- horizontal scale
- minimize validator needs for transaction consensus
- use ISSMR models to transmit on blockchain network vs simple leader to all propagation
- vertical scale with more powerful nodes
- minimize nodes needed
- use logical members layer vs physical nodes to add orgs, accounts
- id the right block validation model to fit the use case driving the minimum node network design
- upsize cluster
- create logical acid transaction with confirmation prior to write completion - optimistic write w auto retry if failed - separates commit vs finalization
- use off-chain data to answer most queries
- use centralized network where the use case fits
- use logical shards for the blockchain where it fits
- use caching where it helps
Fabric Blockchain Solution Engineering Concepts
For the enterprise DLT side we have flexibility on:
1. What is in a data blob, how it's encrypted and compressed for a use case
2. How we ID transactions uniquely on-chain and off-chain
3. How we build useful indexes to transactions for retrieval
4 How we hash data or hash a ZK proof of the data
5. What the validation policy is by contract
6. What time fence we want to keep transaction data before archiving on-chain and off-chain
7. Who, when and how we access archive data
8. How we map transactions and their hashes to blocks
9.How we handle rollups
10. How we use world state queries vs ledger queries
11. How we provide off-chain data access to organizations
12. How we share ledgers, contracts and ledger data
13. How we validate trusts in the transaction life cycle on access and on write
14. How we secure keys and signing processes
15. How we manage commit vs. finality on transactions
16. Which elements of a transaction life cycle are completed, events signaled and when the results are available to who
17. When, why and how we tokenize assets and integrate real assets
18. How and why we centralize or distribute data using on-chain and off-chain protocols
19. How and where to enforce security compliance rules for strong security and good performance
20. How we progressively optimize performance based on actual run-time experience
21. How we secure and recover wallets, accounts and assets
22. How we interoperate across chains
Lots of flexibility on the enterprise side in designing blockchain solutions
Fabric Internals - v1.4 - IBM au
...