Unhyped comparison of Blockchain Platforms
Martin Holovsky
Head of Security Architecture | cybersecurity, blockchain, cyberpunk | opinions mine, perspective yours
?Each blockchain platform has a different set of capabilities, but you might not see clearly which platform will suit your needs or expectations from a mature blockchain ecosystem where you can run your own decentralized and distributed application, service, or a whole business. My comparison table can give you this insight quickly.
The primary objective was a side-by-side comparison of selected platforms so you can evaluate personally if they are suitable for your needs and how they are prepared for the future when blockchains will not be seen only as isolated platforms for crypto coins but more as an extension to the current Internet where can exist applications, services, and communities in a pure decentralized and distributed space, where users are the only ones having control over their data, digital currency, and immutable, self-enforcing code, executed from a chain, is protecting their rights.
The future is already here, it’s just not very evenly distributed
— William?Gibson
The comparison table is at the bottom, but it's important to understand the terms & criteria visualized in the table, so please spend a few minutes reading the next sections.
Changelog
?
Terms Explanation & Evaluation criteria
This is not a comprehensive description of every term as each one of them will take an extra article. I will try to explain it in simple terms so even someone who does not orientate in blockchains can understand what it means and why it matters.
In case you want to know more, I would recommend Binance Academy or Investopedia.
?
Blockchain Generations
For blockchain generation identification, I used information in the article:?A critical review on blockchain assessment initiatives: A technology evolution viewpoint
Each generation is represented by a set of capabilities that must be met. My comparison table is taking all of those into consideration and assigned blockchain generation to each platform.
?
Consensus Mechanism
The consensus is a secure, fault-tolerant mechanism used to achieve agreement on a state of the blockchain network. This involves verification and authentication of every transaction, which becomes part of a new block. In simple words, a consensus is assuring that the data that will become part of a ledger is valid, genuine, and other participants confirm its authenticity.
There are generally two approaches to achieve this.
PoS platforms have multiple forms, which are described below. For some, as a delegator, you can delegate your stake to the Validator (do your due diligence), which will increase the total stake, and you will get % from staking rewards—interesting passive income.
Each one of them (PoW or PoS) can achieve consensus. For each one of them exists different attack vectors that need a layer of defense to minimize risk, but only PoW does require a lot of energy to keep the network up and running, which is ineffective.
Bitcoin global impact
Bitcoin energy consumption represents close to half of the current global data centers' electricity (80-90 TWh per year). It's comparable to Chile's total energy consumption or the Czech Republic ?? Carbon footprint of New Zealand and Luxemburg's Electronic waste. All of this to perform computation, which is, in fact, trial & error, like playing roulette to produce a new block.
Bitcoin energy consumption, source: https://digiconomist.net/bitcoin-energy-consumption/
It should be renamed from Proof-of-Work to Proof-of-Waste.
You can run the PoS mechanism on Raspberry Pi (I tried) as there is no computational waste needed to secure the network.
?
Block Time
Transactions are broadcasted immediately, but they are not trusted until they become a part of the next block. For that reason is important a low block time. If you send your transaction one second after completing the previous block, you will be waiting until the next block, so the rest nodes of the network can confirm it (in the case of Bitcoin, 10 minutes).
A criterium here was a user experience. When you pay using your credit/debit card, the transaction confirmation usually takes 5–10 seconds. Anything above 10 seconds is of a lower score.
?
Transactions Per?Second
As we previously explained block time, I know that TPS is only a theoretical number calculated as transactions per block, divided by block time. Even though it does not mean how many transactions are processed per second, it is a good indication of network bandwidth because they are processed with the next block.
Just in the US is processed 108M transactions per day on average, so we speak about ~1200 transactions per second. Skipping for a while that those were only payment transactions while on the blockchain transaction can be anything from the execution of a smart contract, a service call in the form of dApp, a file stored in distributed data storage, etc.
Our criterium, for now, will be anything above 1200 TPS. Blockchains with zone/shard sovereignty (like Cosmos) are scalable, so Hub TPS is not that important.
Deposit Times
Deposit times are different for every exchange platform, and I'm using Kraken deposit times because they have them documented on a single page, while, e.g., Binance, you need to check the spot wallet for each coin separately.
It is also an indicator of how big exchanges trust the specific blockchain. Our criterium for comparison with real-world experience was a bank transfer. Anything above 5 minutes is not acceptable.
?
Transaction Fee
A transaction fee is dynamic and typically calculated from the gas. Gas consumption and currency price are changing over time, so I took the “average” cost per transaction as of Jan-2021. Obviously, when you buy coffee, the transaction fee should not cost you more than the product, so anything below $0.0X is fine, even though it's clear that if the currency's cost will be 10x higher, the fee will become higher as well. Some blockchains can dynamically adjust their own fees in such situations.
?
Level of Decentralization
In the blockchain, decentralization alludes to the transfer of supervision and decision-making from a centralized association to a dispersed network. This important aspect of blockchain is not always the same so I created a simple list of metrics to show the level of how is each blockchain decentralized.
Initial Token Allocation
Source of information: Messari and summary from Ryan Watkins Twitter post
Oligarchy is the system we’re supposed to be disrupting. -- Ryan Watkins
Costs on running a node/validator
Public on-chain Governance
Scoring: 0–1 High; 2–3 Medium; 4 Low
?
Smart Contracts
A Smart Contract is actually a self-executed program stored in a blockchain that can be executed in a distributed and decentralized manner. Because this program is part of a blockchain, it makes it immutable so that no adversary can modify its code.
Typically it is used as a form of agreement between a buyer and a seller (if this, then that, or an escrow service), but these days some blockchains allow you to write whole decentralized applications (dApps).
For anything other than ‘if this, then that’ program, I'm rather using the term dApps, as calling them contracts is inaccurate in my opinion.
Solidity EVM is limited language and expensive to execute. Wasm (WebAssembly) is an ideal solution, in my opinion, as you can use multiple languages (C, Go, Rust, Swift,?…) and run them in your browser.
Due to large attack surface is EVM scored lower as writing secure contracts is difficult and every month you can find in news exploitation of EVM contract where XX million were siphoned. Due to the Solana BPF complexity of its API is attack surface even bigger. A proper security audit of any blockchain code is absolutely necessary.
?
Decentralized Apps?(dApps)
dApps are using smart contracts as a backend. This is the layer that can bring services, applications, privacy, and good user experience into blockchains. Typically only the most important piece of dApp code (asset ownership, etc.) is sitting on the blockchain, but it is a more historical reason caused by a limitation of second-gen blockchains like Ethereum.
Having dApp in blockchain has a couple of benefits but also challenges.
Pros
Cons
Obviously, the most important thing is to write contracts/dApps in a secure and bug-free manner, because you cannot easily patch them. There might also be other reasons to change the dApp code (e.g., blockchain upgrade). Solutions exist and ideally verify in advance what options are possible on the blockchain you choose for your dApp.
?
Decentralize Exchanges (DEX)
Decentralized Exchanges are open markets for tokens or blockchain-based assets. They directly connect buyers and sellers without an intermediary. They use their code to safeguard transactions, so just when both sides comply, the transactions are completed.
The typical use case is buying/selling tokens. You will store tokens/assets in DEX and make an offer. Buyers will store their tokens/assets in DEX and make a bid. In the case of a successful deal, tokens/assets are transferred from one side to the other. If not, funds are returned to their owners. Nobody sits between them, and everything is secured by smart contract code. Fair deal.
You don't need any middleman/trader/bank or own node on blockchain to buy/exchange/trade crypto. This is important to understand.
Condition
Many services call themselves DEX, but they don't have a single line of code executed from the blockchain. In such a case, it has nothing to do with decentralization.
You can call DEX as part of DeFi, but I treat it separately as DEX provides liquidity to DeFi.
?
Decentralized Finance?(DeFi)
DeFi is another service provided by dApp/contract. DeFi provides access to decentralized banking and financial services for anyone.
Typical services are lending and borrowing, insurance, trading synthetic assets, prediction markets, etc. As a reward for deposited currency are typically given DeFi platform tokens (yield farming, liquidity mining), which you can on top use on some platforms as governance token and vote on the future of the platform.
If you are holding cryptocurrency and are not planning to sell it anytime soon, it is a good option for passive income.
?
Data Oracles
Oracle is a form of dApp/contract that provides a link between external (off-chain) data and blockchain data. When your dApp needs external data (stock price, date/time, election results,?…anything available outside blockchain…) because it's simply a condition for a contract, you need to use data Oracle because smart contracts alone are not able to do that.
Imagine that my friend and I will bet on who will be a winner of a football match. We both lock our funds in a smart contract, and the logic of the contract will simply release all funds to the winner. The contract will call via API Data Oracle to gather information from the Internet about football match results.
Data Oracle can be centralized (controlled by a single entity) or decentralized. In the case of decentralized Oracle, there can be queried multiple oracles and multiple sources of information and results compared to assure the information's validity. Distributed Oracles does not eliminate trust but rather distribute it between many participants. Do not trust Oracles that are not transparent.
?
Digital Identity Management
Digital Identity and Verification are some of the most promising capabilities of blockchain. You can use it as proof of your identity, authenticate into dApps, and in the future will also come KYC services. Validation of your digital identity can be achieved by, e.g., trusted authorities managing their own nodes on the blockchain network, which will sign/cast a vote on your identity. The authenticity of this transaction will also be verifiable and stored in the blockchain.
You can then use your wallet as the authentication token to any other service, smart contract, dApp,?..etc.
With current progress on the adoption of the BankID model, it might be soon easy to have trusted confirmation of your identity by your bank, which can be used in the public sector and eGovernment.
?
Human-Readable Addresses
One of the current pain-point from a user experience perspective is blockchains address format, which is more a cryptographic hash or UUID in a database than anything that can be called an “address”.
Some platforms use BSN (Blockchain Name Service) as aliases, which are then linked to an address. Having the same service running on other blockchains (via smart contract) allows you to have one name for multiple different blockchains. Instead of you typing an IP address into a browser, you also use a domain name, which is then on the backend translated into IP address.
Similar problems are with bank accounts. For international transfers, it’s even more complicated (IBAN/BIC, SWIFT + bank name/address/…). Checking all of those details to ensure you will not send money to someone else is a bad user experience.
领英推荐
Bank (international transfer — SEPA)
IBAN: CZ65 0800 0012 2401 1234 5678 (example only)
+ BIC: XYZCZPP
+ Bank Account holder
+ Bank Address
+ State
+ Message notes (memo-like)
Blockchain (international transfer)
0x8094cdA171D87D77a004A16289dC442c779a729a (example only)
Both options are far from good.
BUT what if your address/name can be something like:
martinholovsky.coin
*martinholovsky
martinholovsky*revolut
martinholovsky*applepay
...
…and in one place, you can heave linked all your wallets (accepted coins/currency) from all other blockchains or bank accounts, verified identity by other platforms or bank directly, and all of this information is stored in a blockchain where you are the only one holding the key to perform changes.
As an example here you can see mine: https://starname.me/*holovsky
This page shows information written in the blockchain, where even my profile picture is stored in distributed storage (IPFS).
Concerns
An obvious and valid concern is that if you link all your accounts you're using, anyone can see your account's balance because blockchain transactions are open to anyone. Without a privacy layer, it's like having a webpage where is your bank account balance, and with all transactions, you made in the past.
Ethereum co-founder learned that hard way when he sent 92 000 ETH from his ENS (Ethereum Name Service) associated address to Kraken exchange ??
Starname roadmap item provides different addresses for each crypto-payment, so soon, this will not be a concern anymore for this service. It might be an issue for ENS though, due to Ethereum limitations and the cost of executing the smart contract.
?
Data Privacy
Even though blockchains are public, distributed, open, and verifiable to everyone, in many cases, you don't want to expose your data publicly. Some dApps you will be using can be handling your PII or Sensitive information, and you probably don't want to have this information written in blockchain for eternity.
In such situations, some chains can provide you data privacy layer, sometimes called secret contracts. They can support privacy-preserving asset transfers, DeFi services, Data Sharing, and more. Your data will be encrypted in blockchain, or it will not even get stored there.
This does require node operators to run, e.g., specialized HW or code execution within secure enclaves (TEE), so even system admins or adversaries will not be able to access raw information.
Here is one example of how Secret Network achieves this
Distributed Cloud?Storage
Generally speaking, writing files directly into a blockchain is a bad practice.
Google Drive, OneDrive, iCloud, Dropbox, and others. We all know and use those daily, but there are valid use-cases for distributed data storage. It works pretty much in the same way as P2P/Bittorent networks, where one file is seeded to clients, who are then seeding them as well. The difference here is an incentive mechanism to store those files, to re-seed them, and stay online 24/7.
Distributed Storage
?
Distributed Cloud Computing (DeCloud)
Are you interested in computing power for a fraction of the price? That is the primary goal of cloud computing chains. In this scenario, you have clients who need computing resources and providers with the computing power to lease. It can be any private HW with spare resources or dedicated machines in data centers or cloud environments (AWS, GCP, Azure,?…).
With a few clicks, you can deploy your web server, database, blog platform, application, own DeFi,?… So far, from what I have seen, you can use anything which is in the form of a docker container.
DeClouds are in the early stages, but even today, you can deploy any dockerized application within few minutes, as in AWS, GCP, or Azure. I hope that soon will be added more infrastructure-related and security-related services as docker has a much larger attack surface than VM. I do believe soon will come specialized OSes with hardened hypervisors that will cope with this problem.
In case you want to give it a try, here is a useful guide from Wilson Louie on how to run applications in DeCloud.
?
On-chain Governance / Voting / Proposals
Governance in blockchains allows token/stakeholders to vote on proposals that will shape the blockchain platform's future and act as a signal for the next steps.
Those can be related to the release of funds on new projects, implementation of new chain upgrades, or modification of blockchain parameters that can even happen dynamically without any code change.
Stakeholder's votes/decisions are recorded in the blockchain and immutable.
?
Interoperability
Interoperability allows blockchains build on the same SDK to communicate with each other clone of the same blockchain. It's like the IP protocol used on the Internet, which is a set of standards that allow various devices to communicate with each other, exchange data, and utilize their services.
?
Cross-chain communication
Cross-chain communication allows even more. Blockchains having cross-blockchain capability can communicate with almost any other public blockchain (some conditions must be met). You shouldn't confuse this with bridges, which are custom for each chain-to-chain connection, so the number of those bridges grows geometrically.
Cosmos Hub can communicate and exchange data between Bitcoin and Ethereum, or any others, even though those blockchains are very different and alone do not have such a capability. Independent blockchains are connected to Cosmos Hub by Peg Zones. So any other blockchain connected to Cosmos Hub can communicate by single protocol (IBC) with all other interoperable blockchains or cross-chains.
I'm using Cosmos as an example because it's the only working implementation of such a concept at this moment.
This is one of the most important capabilities as it connects independent blockchains that can not normally talk to each other due to different algorithms, block composition, guarantee mechanism, and consensus.
?
Scalability Options
Scalability is a problem for most chains as each network's total capacity is limited, and as network transactions grow, you are closer to reach its limits.
Scaling solutions
?
Chains Security?Model
As we are comparing only Cosmos and Polkadot on this level, I will explain the difference between them.
Polkadot
Cosmos
?
Automated Slashing
Slashing represents an incentive to act properly and behave honestly within the blockchain ecosystem. If an adversary will violate rules or jeopardize other participants' safety, it will result in a loss of adversary stake percentage. It also works as a measure to prevent nothing at stake problem.
In simple words, if you act maliciously, you will automatically lose a portion of your funds, which is an effective countermeasure.
Cosmos slashing is a part of a chain protocol, and historically there was one event where it shows its effectiveness. The technical issue of one validator caused an unintentional double signing. Stakes were automatically slashed by 5%, and the node was removed from the active validator set.
Polkadot's slashing mechanism is a bit more complicated. You have in chain collators, validators, nominators (delegators), and fisherman nodes. Polkadot assumes that fisherman will identify compromised blocks and slash validators that are misbehaving. Unfortunately fisherman incentive model works in a way that it gets rewarded only in a case when it finds misbehavior. This business model is not profitable in the honest network. If there will not be enough fisherman nodes in the network, there is a higher chance of a successful attack when a compromised parachain block is overseen and written on-chain. I hope this model will change.
?
Blockchain Platforms Comparison (BPC)
Ethereum 2.0 hasn't been considered yet, due to an early-stage project.
I plan to update the table on yearly basis, so you can bookmark this page or follow me on Twitter.
Missing some platform? Vote for?it here: BPC Poll
Response on feedback from the community
Feedback: Your comparison seems to be slightly biased against Bitcoin, maybe you can add a column about immutability and maturity.
Response: I fully respect Bitcoin, as it was the first cryptocurrency and first mass decentralized network using PoW. That's where my sympathy ends, as the data in the table are real and unbiased. It does really consume as much energy as the Czech Republic, and If you will add 10x more resources it will consume even 10x more energy (due to the internal algorithm which increases difficulty). The maturity factor is not important in my opinion, or do you think the maturity of e.g. Ford does matter in comparison with Tesla? Bitcoin was first, that is the only reason why so many people are involved in it, but just because they didn't read about others from newspapers.
Feedback: Cardano vs Polkadot comparison — Cardano also plans to provide smart contracts, but it's treated differently in the table.
Response: The condition for all chains was if a smart contract exists, other capabilities dependent on the smart contract can be in a “Planned” state if the plan is to deliver them within 1/2 year. Unfortunately, Cardano is promising those features for the last few years and it seems that even Goguen might not deliver full framework/EVM. Polkadot promised to deliver other “Planned” capabilities by March 2021, if not, I will change them to “No” as well.
Feedback: According to a Twitter post Polkadot can handle 1 million transactions.
Response: This is misleading information. The Relay can handle 1,000 TPS (as stated in the table), so this post tried to say that if you will have 1,000x parachains, you can have (1000x1000) 1,000,000 TPS in total, which is the wrong calculation. This is not how it works and especially not in Polkadot architecture where Relay is controlling the security of each parachain (effectively a bottleneck).
Feedback: You are missing there Kyber and Uniswap
Response: No, it's there. Both are ERC-20 tokens, so they run on Ethereum. There is nothing special about them.
?
Security Recommendations
?
Closing Notes
This is not investment nor speculation advice. Always do your own due diligence, stay vigilant, and don't trust strangers.
Documentation of some projects is poor. If you spot some wrong or misleading information in my article or comparison table, please let me know. I'm available on Twitter, here on Linkedin or just leave me a comment here.
Thank you for reading
Hi Martin Holovsky, great comparison chart & article. You need to add ICP to the list - I tried to go and poll for it but it doesn't feature in the list, could you atleast add it there so that people can vote for it. For reference this is a recent study done by CoinCodex with ICP included which may be of interest to you - https://coincodex.com/article/14198/layer-1-performance-comparing-6-leading-blockchains/
Empowering Business Success Through Scalable Data Strategies and Advanced Analytics Leadership | Data Sciences, AI, Geospatial Tech, Web3 | Healthcare, Retail, Entertainment
2 年This is a great piece, Martin Holovsky. Your article provides an excellent synopsis of the vast and fast-evolving space. The discussion that it has triggered is also insightful. I would think that for a project to meet the minimum prerequisites to be categorized as the fourth generation, it would need to solve the scalability trilemma elegantly. I'm curious to see where Algorand fits in on your future versions.
ETL Test Lead at Zurich Insurance Company Ltd
2 年Excellent Info, Searching for this kind of Information from Long time. Thanks for Sharing
Co-Founder & CEO at Anodos
2 年There are many mistakes regarding XRPL, also wrong logo and it's not called Ripple. Its consensus mechanism is based on the Federated Byzantine Agreement (FBA) model and it's called XRP Ledger Consensus Protocol. XRPL was the first ever blockchain to support DeFi, stablecins, DEX and smart contract features such as escrow, multi-sign, payments channels. There are interoperability and sacalability options with sidechains that are coming soon and with Interledger Protocol (ILP). Finally, "Penalization for Insiders: Ripple (99,8%)" where does that number come from? Because it's completely untrue. https://write.as/panos/why-xrp-is-the-most-misunderstood-cryptocurrency https://xrpl.org/
Director Application & Infrastructure @ Avanade Belgium, an Accenture and Microsoft company | Enabling value with Microsoft technologies
2 年Massive post ! More than interesting !