Table of Contents |
---|
Key Points
- blockchain at a minimum is DLT - decentralized ledger technology
- an immutable ledger provides a trusted ledger of transactions for all participants in the network
- like any technology, blockchain can add real value when applied correctly to the right use cases
- public blockchains
- Bitcoin and Ethereum are the 2 most popular public blockchains
- Ethereum offers smart contracts to provide common business logic controls on transactions
- Ethereum could also be implemented as a private blockchain when needed
- public blockchains allow anyone to participate
- public blockchains normally provide a degree of anonymity for participants but everyone can see all transactions
- public blockchains with a high number of commit nodes typically have poor performance
- permissioned blockchains
- permissioned blockchains are normally private and require participants to enroll through member services
- permissioned blockchains require read and write permissions to access the blockchain
- permissioned blockchains normally have identified participants
- participants are added through membership services
- transactions may be private between specific participants but macro demand is often public
References
Reference_description_with_linked_URLs______________________________ | Notes_______________________________________________________ |
---|---|
s Enterprise Blockchain Concepts and Value | |
m Blockchain Consulting | |
s Blockchain Opportunity Assessment - BOA | |
m Blockchain Use Cases More | |
https://www.slideshare.net/DevdattaAjgaonkar/introduction-to-blockchain-194331423 | Blockchain, Bitcoin, Crypto, Smart Contract concepts slideshare |
https://www.slideshare.net/Synerzip/blockchain-application-development-101 | Blockchain App Development Concepts 101 - slideshare - sweetbridge |
https://wiki.hyperledger.org/display/fabric/Design+Documents | Fabric design documents wiki |
https://jira.hyperledger.org/secure/Dashboard.jspa?selectPageId=11700#Filter -Results/12515 | Fabric release planning dashboard |
https://www.smallbusinessadvocate.com/small-business-article/blockchain- is-here-are-you-ready-3330 | Blockchain concepts and assessment Jim Blasingame (smallbusinessadvocate.com/). He has just released a three-part series on blockchain that is excellent, and each is a quick read. #1 Blockchain is here - are you ready, #2 Blockchain isn't the end of trust, it is the future of trust, and #3 Your Blockchain close encounter of the first kind. Here is the first article, and I will let you find the next two on his site. Great work, Jim... https://lnkd.in/eJ8qGBE |
https://www.geeksforgeeks.org/types-of-blockchain/ | Blockchain types: permissioned, permissionless, hybrid, consortium |
Layer 2 Blockchain side chain models - Blockchain101 | |
Layer 3 app engineering value adds | |
Anthony Day Blockchain Layer Models | |
Blockchain features and value concepts - datacenterk | summary of blockchain capabilities and value add |
m Ethereum | |
m Bitcoin overview | |
Training materials on Fabric | |
https://medium.com/coinmonks/build-a-blockchain-poc-application-using- hyperledger-fabric-6bbe633c2204 | Build a Blockchain PoC Application using Hyperledger Fabric |
https://www.udemy.com/course/blockchain-for-digital-transformation/learn/lecture/25252334#overview | Baijiu Udemy course Digital Transformation with Blockchain |
Cyrpto Notes | |
https://blockgeeks.com/guides/security-tokens-explained/ | Security Tokens - regulated assets, peg to fiat ? |
https://blockstack.org/ | Blockstack - Development stack for Dapps - compare to Truffle uses mining, tokens, etc |
http://incomelion.com/how-bitcoin-transactions-work/?ref=quuu&utm_content=buffer6b6d6&utm_medium=social&utm_source= linkedin.com&utm_campaign=buffer | How Bitcoin works - High level concepts |
https://docs.blockstack.org/browser/hello-blockstack.html | Blockstack tutorials |
https://blockstack.github.io/blockstack.js/ | Blockstack js services - useful interface model |
Other Hyperledger Notes | |
https://www.forbes.com/sites/quora/2019/05/29/what-do-people-misunderstand -about-blockchain-technology/#447341245e39 | Jerry Cuomo on common blockchain misconceptions |
Other Blockchain Concepts | |
https://medium.com/coinmonks/public-vs-private-blockchain-in-a-nutshell-c9fe284fa39f | public vs private blockchains revisited |
Key Concepts
Blockchain technologies - Hash functions and Merkle Trees
hash-functions-blockchain-kier-finlow-bates-2023.pdf link
hash-functions-blockchain-kier-finlow-bates-2023.pdf. file
Cloud Services Models
cloud-xaas-models-compared-cf.PNG
Structured Platforms
- Abstract the operational processes of application deployment away from developers and app teams.
- Can be deployed across private and public clouds
- Capabilities like service brokers, monitoring, scaling, etc. are integrated natively.
- Examples: Cloud Foundry Application runtime, red Hat openShift, Apprenda, etc.
UnStructured Platforms
- Provide control and autonomy for app teams and developers over app deployment workflow.
- Can be deployed across private and public clouds.
- Capabilities like service brokers, monitoring, scaling, etc. must be developed or delivered by additional services.
- Examples:Cloud Foundry Container runtime, kubernetes, Mesosphere, Docker, Tectonic, etc.
Kubernetes Fabric Deployment workshop
https://github.com/aidtechnology/hgf-k8s-workshop/tree/master/prod_example
Covers manual setup of a blockchain network, kafka, kubernetes, CA administration etc
Public vs Private Blockchains Revisited - 2019 article
https://medium.com/coinmonks/public-vs-private-blockchain-in-a-nutshell-c9fe284fa39f
Brian Behlendorf - 2018
- public or private defines who can read the blockchain
- permissionless or permissioned defines who can write to the blockchain
The open versus closed brings in to consideration who’s able to read that data.
And so, we can talk about solutions which are public and open, public and closed, private and open, private and closed.
replace open / closed with permissionless / permissioned in the chart below ...
Pubilc blockchains can be permissioned ( eg Ethereum ) but lack the tools Hyperledger, Corda provide
Public blockchains normally provide anonymity. Private blockchains require identified participants.
Private blockchains need identity management
Most of the time, private blockchains tend to come with identity management tools or a modular architecture, where you can plug in your own identity management solution. This can be anything from a Membership Service Provider to an OAuth solution using Google, Facebook, LinkedIn, etc.
Motivations in public blockchain
We rely on economics and game theory incentives to ensure that everybody in the system behaves honestly and according to the rules.
We set up situations through group consensus, through which honest participants are economically rewarded, where dishonest ones only incur work or cost, with no possibility of ever recouping that cost.
Motivations in private blockchain
we know who an individual is, what organisation they’re associated with and what their role is, we also assume that they’re going to behave fairly, because if not, we know exactly who’s misbehaving and they know that they’re gonna suffer the consequences for that.
False assumption on who can see transactions in private blockchain
Transactions are not publicly viewable (transparent) in the blockchain, and only selected nodes can access the ledger.
Examples include: R3 Corda, which can transact between nodes, and the rest of the blockchain does not participate
Fabric allows control over what transactions and related demand are visible to others on a blockchain
Good article on basic concepts of public — private and permissionless — permissioned blockchain features. Nicely shows they address different use cases normally. When I look at use cases, I find Hyperledger Fabric provides the granularity and options to address a very wide set. A good example in the article is transaction data. With Fabric, I can decide on a supply chain what data is private and what is shared with everyone ( usually macro demand ).
A private, permissioned blockchain is more than just a secure database. It provides the provenance and proofs on transactions that increase trust among participants.
Why choose public or private chains?
https://www.dock.io/post/public-vs-private-blockchains
- Transparency: All transactions are visible to anyone on the network, promoting trust and accountability.
- Decentralization: No single entity controls the network, making it resistant to manipulation or censorship.
- Accessibility: Anyone with an internet connection can join and participate in the network.
- Immutability: Once recorded, transactions cannot be altered or deleted.
- Innovation potential: Open access encourages wider development and adoption of new applications.
- Privacy is crucial: Sensitive data can be protected within a controlled environment.
- Specific access control is needed: Only authorized parties can view and modify transactions.
- High performance required: Private blockchains can potentially achieve faster transaction speeds with fewer network participants.
Most applications are focused on data for entities, assets and transactions that are private not public
A public blockchain can be useful for proof of governance on transactions
Blockchain Performance Metrics - TPS - Real, Tested, Theoretical
https://www.linkedin.com/pulse/understanding-tps-which-blockchains-fastest-hashlock-xnojc/
As the web3/ crypto space continues to grow TPS is important as it also needs to increase for faster and more efficient processing of transactions leading to improved scalability in the space.
Current Payment Processors faster than Blockchain
Payment processing networks VISA and Mastercard are currently capable of handling 24,000 and 5,000 transactions per second. This is a way ahead of Solana the fastest Blockchain.
Fastest Blockchains TPS
Solana is fastest now
BSC is fastest EVM compatible now
My experience on Blockchain vs Database TPS
Fabric Layer 1 TPS for a client reached 500 TPS for the average transaction commit
MySQL database writes >> normal production rate = 4,500 TPS
MySQL database writes >> a TEST WRITE SPEED TEST rate = 40,000 TPS. ( A test loop that only did DB writes for small size transaction ( 128 b ))
Other Blockchain Performance Services
Hyperledger Fabric Performance
Chaininspect shows many blockchain actual performance stats
https://chainspect.app/dashboard
Blockchain Layer Models to Improve Scaling, Performance
L2 Blockchain Performance Concepts
Key points about L2 blockchains:
- Off-chain transaction processing:L2 solutions handle most transaction calculations and execution off the main blockchain, significantly reducing congestion on the L1.
- Batching transactions:Multiple transactions are grouped together into a single batch before being submitted to the L1 for verification, improving efficiency.
- Security through L1:While processing transactions off-chain, L2 still relies on the security and consensus mechanism of the underlying L1 blockchain to validate the final transaction state.
- Lower transaction fees:By offloading work to the L2, the demand on the L1 is reduced, leading to potentially lower transaction fees.
Common L2 scaling solutions:
- Rollups:The most popular L2 solution, where transactions are processed off-chain and then "rolled up" into a single batch to be submitted to the L1 for verification.
- State channels:A method where users can open a dedicated communication channel to settle transactions directly between each other, only needing to update the L1 blockchain when the channel is closed.
- Sidechains:Separate blockchains that run alongside the main blockchain, allowing for faster transaction processing but may have slightly weaker security guarantees.
L3 Blockchain Performance Concepts
https://forkast.news/what-is-layer-3-key-to-blockchain-future/
Layer 1s are characterized as the foundational blockchains like Bitcoin and Ethereum that have their own native cryptocurrency used to reward those who work to secure the network itself.
Layer 2s are protocols built on top of L1s designed to increase transaction speed and mitigate scaling difficulties of layer 1s while leveraging the security of the base chain. For example, Arbitrum is an L2 created to improve Ethereum’s speed of processing transactions as well as overall flexibility and scalability, and it has given birth to a broad range of DeFi protocols.
Layer 3s, on the other hand, offer even higher levels of customizability. At this layer, developers can carry out customized designs that L2s cannot easily achieve, especially for lower-cost execution and privacy-preserving functionalities.
- use cases are for custom blockchain solutions, not general purpose blockchain solutions
- L3s enable customized scaling and realize important functionalities — such as privacy — that L2s can’t effortlessly achieve on their own. L3s increase computation speeds and scalability of single applications by not having to share ZK-circuits with other applications on a single chain.
The current L2 serves as a general-purpose scaling, while L3 accomplishes customized scaling.
For example, an L3, which adopts customized circuits depending on the demand of a specific decentralized application, can achieve better performance. Another example is Validium as L3. This design provides higher levels of throughput at a relatively low cost for decentralized apps by avoiding pushing compressed data to the L1 and utilizing validators to secure the digital asset. L3s can be employed as low-cost and high-performance scaling solutions that allow projects to have more choices for potential solutions, depending on their particular use cases.
L3 challenges now
- One of the main challenges is the lack of standardized infrastructure for L3s. Since L3s are built on top of L2s, they require a standard infrastructure to operate efficiently.
- more development in ZK-rollup technology, which is the underlying technology for L3s. ZK-rollups have the potential to significantly improve the efficiency and scalability of L3s
The Graph - billable 3rd Party Blockchain Query and Indexing Service
https://thegraph.com/docs/en/network/overview/
The Graph Network is a decentralized indexing protocol for organizing blockchain data. Applications use GraphQL to query open APIs called subgraphs, to retrieve data that is indexed on the network. With The Graph, developers can build serverless applications that run entirely on public infrastructure.
To ensure economic security of The Graph Network and the integrity of data being queried, participants stake and use Graph Tokens (GRT). GRT is a work utility token that is an ERC-20 used to allocate resources in the network.
Active Indexers, Curators and Delegators can provide services and earn income from the network, proportional to the amount of work they perform and their GRT stake.
1) The Graph is a decentralized protocol for indexing and querying blockchain data.
2) Blockchain Explorer such as Etherscan, Blockchain.com , Blockchain Explorer are a type of Centralized Blockchain indexers that index low level data such as transaction, gas and etc.
3) When Dapps want to index higher level data (unique to their application), then can use 'The Graph' protocol and spin up a sub graph easily, making their data accessible while enjoying all the benefits of decentralization.
4) Using GraphQL makes querying the blockchain easy to use like google, you just need to create your own Scheme and define which smart contracts and events to listen to.
if you're passionate about Blockchain, dApps, and the future of web3, I encourage you to reach out.
How to use Blockchains for a specific use case?
Andy Martin
I think there are clear use cases for private blockchains in addition to public ones - not just for ERP integrations. In my experience, engineering success assumes that we have a set of tools ( public, private, permissioned, permissionless blockchains, message services, other protocols, other methods of sharing information etc ) that we just assemble to fit a specific use case. Blockchain is only part of the picture, it's the use case which includes trust engineering that drives solution design, not the technology.
Engineers don't use just one type of data store for a solution. The same concept applies to blockchains. You use what is needed to fit the use case. Improvements are needed for consumption of blockchain service layers to reduce the work needed by most blockchain platforms today. Yes many different teams are working on this effort currently. I tend to lean toward the open source platforms like Hyperledger where that work is often more visible and consumable.
Potential Value Opportunities
Chainspect > Blockchain Performance Compared - Normal Rate > Max Recorded Rate > Theoretical Rate
Theoretical rate = useless << ignore chains that reference this
Normal rate = what you can expect if run apps and do normal tuning
Max Recorded Rate = best possible performance for the right use case well tuned
Block Time = time to create a block for the chain
Finality Time = time transactions are normally finalized on chain
Governance model for transactions = on chain, off chain, council
Great data comparing blockchains on TPS
https://chainspect.app/dashboard
Real vs Actual TPS note - 2023
To do this, we've used a straightforward approach. We connected to different blockchains, watched transactions closely, and then did some math based on the last 100 blocks. While blockchains have different speeds, we've kept things simple to focus on understanding TPS.
Let's check out the TPS claims of Solana, Arbitrum, Avalanche, Ethereum, and Bitcoin:
Solana claims "65,000 transactions per second," but the real TPS is 299.91. That's a huge 217 times difference.
Arbitrum talks about "40,000 transactions per second," but the actual TPS is only 8.07. That's a whopping 4956 times difference.
Avalanche says "4,500 transactions per second," but the real TPS is just 2.01. That's a significant 2500 times difference.
Ethereum's max TPS is 56, but the current TPS is 11.14. It's only 5 times different.
Bitcoin's theoretical TPS is 7, but in reality, it's around 4.18. That's just 1.67 times different.
To sum up, there's a big gap between what's claimed and what's actually happening with TPS numbers. While big numbers might sound good, the real measure of success for blockchain is how much it's actually being used.
Hyperledger Fabric v2.5 benchmark results
https://www.lfdecentralizedtrust.org/blog/2023/02/16/benchmarking-hyperledger-fabric-2-5-performance
My actual performance experience on Fabric 2.4
The app had a transaction mix with most sizes between 800 and 2000 bytes
the actual write performance measured through Caliper load testing on a normal AWS test net setup ( 8 cores, 64 GB ) in 2022 ranged from:
450 TPS to 680 TPS
Why does this matter?
It wasn't an "optimized" app or test environment
Closer to what you might see IF you engineered an app well with MANAGED LOAD BALANCING on write requests, used moderate transaction sizes, focused on high speed write performance in a normal cloud environment.
Understanding TPS on a Besu Node
https://console.settlemint.com/documentation/docs/blockchain-guides/Hyperledger-Besu/performance/
Several crucial factors influence the transaction performance of a Besu node:
- Network Latency: The time it takes for data to travel between nodes in the network and between the sender of the transaction and the node can significantly impact transaction speed.
- Cloud Provider: Different cloud providers offer varying levels of performance, which can affect node operation.
- Resource Pack: The selected resource pack determines the computational resources (CPU, RAM, storage) allocated to a node and the requests-per-second rate limit, both of which significantly impact performance and maximum throughput.
The process of executing a write transaction involves several time-consuming steps:
- Transaction Preparation: This includes constructing the transaction object with the necessary parameters such as recipient address, value, and data.
- Gas Estimation: Before sending a transaction, it's crucial to estimate the gas required. This involves a call to the node to simulate the transaction and determine the appropriate gas limit.
- Nonce Management: Each account has a nonce that must be incremented sequentially for each transaction. Managing nonces, especially for high-frequency transactions, requires careful tracking and can introduce delays.
- Transaction Signing: The transaction must be cryptographically signed. This can be done using Accessible Keys stored in Hashicorp Vault (in memory) or via AWS KMS. The signing process, while quick, adds to the overall transaction time.
- Transaction Submission: Once prepared and signed, the transaction is submitted to the node's transaction pool.
- Mining and Confirmation: Finally, the transaction must be picked up by a miner, included in a block, and confirmed by the network.
Transaction Consensus Models Vary in 2024 for EVM compatible chains
Key points to remember:
Ethereum's shift to Proof-of-Stake:
Ethereum is currently in the process of fully transitioning to a Proof-of-Stake model, which will significantly reduce the reliance on miners and instead use validators to secure the network
EVM compatibility and consensus mechanism:
While many chains are EVM compatible, meaning they can run Ethereum-based smart contracts, their consensus mechanisms can vary, with some still using Proof-of-Work (requiring miners) and others utilizing Proof-of-Stake (relying on validators).
Potential Challenges
Candidate Solutions
Comparing 5 Blochchain Platforms - Nov 2024
article is generally good on comparison features but inaccurate on performance data
Solana does not do 65000 TPS
Step-by-step guide for Example
Info |
---|
sample code block
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Recommended Next Steps
Related articles
Page Properties | ||
---|---|---|
| ||
|