Many people on this sub shill their projects and truly believe the projects they follow are superior to others. In reality less than 2% actually understand the tech and invest purely based on hype.
My attempt in this post is to give a starting point for beginners to research the projects and understand what they are investing in. Hopefully, this post will allow you to research various projects and compare apples to apples. Since this is targeted for beginners, I'm going to keep the explanations high level and not go too technical.
Project categories:
Major themes that are currently trending are:
- DeFi
- WEB3
- Games/Metaverse
- DAOs
You will find various projects trying to find innovative solutions in each of these categories but my focus for this post will be projects that are focussing majorly on DeFi. Traditional Centralised Finance (CeFi) is estimated to be $400 Trillion while Decentralised Finance (DeFi) is estimated to be $200 Billion. That means DeFi has captured 0.05% of the traditional finance currently and even if we capture 10% of the CeFi, it's a huge upside from current valuations.
So, my focus will be on understanding what infrastructure is needed if DeFi were to capture at least 10% of traditional finance.
Terminology and key areas to research:
Decentralization: The ability to allow anyone to run a node and participate in the network consensus. More people running nodes will make the network more decentralised. Usually node runners are incentivised to encourage participation.
Security: Usually refers to network security such as preventing double spends or liveness break but can also be extended to dApps running on the network. I would like to look at how easy it is to develop secure dApps on the network.
Scalability: Refers to both throughput and state management. Throughput is measured as transactions per second(TPS). State refers to the data that is stored on the ledger. State grows with every transaction as nothing ever gets deleted on a blockchain.
Composability: The ability to compose multiple unrelated dApps to perform a single transaction. Composability is unique to DeFi and one of the magical features that can make the DeFi space grow exponentially.
Sharding: Technique used to split the blockchain into multiple shards to achieve scalability.
zkRollup: Zero Knowledge rollup is used for layer 2 scaling solutions mostly for ethereum. Transactions are carried on layer 2 and a proof (SNARK) is stored on layer 1.
DLT: Distributed Ledger Technology is a term used to describe ledgers that are distributed across multiple computers. Blockchains, DAGs etc are distributed ledgers.
Consensus: Ability for various nodes in the distributed network to agree that the transaction is correct and should be written to the Blockchain/Distributed Ledger.
Finality: Time taken to confirm the transaction on the Blockchain/Distributed Ledger. Higher finality leads to higher latency. Eg: Payment solutions may require lower finality.
Minimum Requirements:
With the terminology out of the way, what are the minimum requirements of a network to support the demand if it were to capture at least 10% of the global traditional finance and remain secure? What questions you should ask when researching your project?
- Decentralization: It is important that networks remains fully decentralized. When you imagine trillions of dollars locked on a network, you wouldn't want any government or entities to take control of the network or bring it down. Wars can be won if any government can take control of the network or break the liveness. It is also difficult to block a network that is decentralized.
One of the key parameters to achieve decentralization is how easy and inexpensive it is for anyone to run a node and participate in consensus. You can immediately rule out projects that make it difficult to participate in concensus or have high node requirements. Some projects I've seen require some kind of approval before your node can take part in consensus, they are a strict no go.
You need to pay attention not just to the current hardware requirements to run a node but also to the future node requirements as well, as the network grows. Will the requirements remain the same even if the demand grows exponentially? Most of the unsharded networks can be ruled out as they require every node to store the entire state. As the network grows, you need to keep increasing your hard drive capacity, eventually reaching a point where it becomes too expensive to run a node making the network more and more centralized. Most nodes require NVMe disks and they are quite expensive. - Security: Consensus mechanism is mostly responsible for security. When a transaction is made, majority of the nodes in the network should reach a consensus that the transaction is valid and can be committed to the ledger. For example, if Alice sends 10 tokens to Bob, all nodes participating in the consensus should verify that Alice holds 10 tokens by checking against the local copy of the blockchain state and after enough confirmations are reached, the transaction is committed to the ledger permanently. Different projects implement different consensus mechanisms and you can verify how double spends, sybil attacks etc., are prevented by the project.
While security may mostly mean network security and protection against common attacks on the network, I usually also look at the programming environment of the network and how easy/difficult it is to develop secure dApps. We rarely hear money being lost due to attack on a network but we frequently hear about the regular hacks and exploits that happen in DeFi space where millions of dollars are stolen by hackers by exploiting the vulnerabilities in dApps. Most of these exploits happen due to difficulty in developing secure dApps and it is completely left to the developers to ensure they don't leave loopholes in their code. You miss an IF condition, someone may exploit that. A project that is addressing this area will do well in the future. While it may be impossible to have an environment that is 100% secure, you can at least make it very difficult for the developers to make mistakes. Some projects are developing VM environments that take care of a lot of trivial tasks that would otherwise require developers to handle them in their dApps. - Scalability: This is the biggest pain point that every project is working on. Scaling without sacrificing on decentralization or security is the trilemma everyone wants to solve. While many projects want you to believe they solved the trilemma, look closer and you'll know they have made some compromises. Sharding the network or using L2 solutions is how currently every project is trying to address scalability, however, both solutions break composability. Let's look at some of the drawbacks of these solutions.
Sharding allows you to scale the network by dividing the network into multiple shards. While different projects may implement sharding differently, you can think of an unsharded network as a network with single shard where every node stores the entire state and participates in the consensus. With sharding, you can divide the state into multiple shards with each shard storing only a part of the state. This allows you to execute non related transactions in parallel increasing the throughput and also keep the hardware requirement for nodes acceptable as each node is not required to store the entire state. The network's state will grow with every transaction so an unsharded network will eventually require you to run a datacenter to store the entire state. If the demand increases and more transactions are performed, the state will increase at a faster rate. So, the rate of increase in hardware requirements to run a node is directly proportional to TPS in an unsharded network.
While sharding may look like the solution, it does introduce couple of problems. Sharding increases finality making the network unsuitable for certain use cases, such as merchant payments. Also sharding breaks composability. Some networks may support asynchronous composability in a sharded network, but most of them break synchronous atomic composability. For example, if you want to take a flash loan from Aave to take advantage of an arbitrage opportunity in Uniswap in an all or nothing transaction within the same block (flash loan transaction should not execute if the arbitrage transaction in uniswap is not executed). This is not possible unless the sharded network supports synchronous atomic composability. Without atomic composability across shards, both Aave and Uniswap should exist on the same shard and are limited to the max throughput supported by a single shard. Networks that support asynchronous composability across shards would execute the Aave transaction irrespective of whether Uniswap transaction will be successful or not. Some networks try to address atomic composability at the dApp level in the programming language instead of handling this at the protocol level. Flash loan is just one example, there are many use cases where atomic composability plays a role such as multi token swap to find the best route for liquidity etc. Composability is unique to DeFi which would make this space more innovative than CeFi leading to financial products that don't currently exist in CeFi.
Another key factor is not having a TPS limit by design. Most projects have a TPS limit by design and feel they are better than ETH. While they may be working fine under current demand, if you have a limit you will eventually hit that limit one day. According to me the network should scale as per demand without any TPS limits by design. With DeFi capturing just 0.05% of CeFi, Ethereum is brought to its knees so any network that doesn't support unlimited scalability by design will falter when we are talking about capturing 10% or more of CeFi. If you see a number against TPS, you can avoid the project or play it for short term.In short, look for projects that are sharded or have figured out somehow to manage state as the network grows, don't have a TPS limit by design and don't break atomic composability.
L2 Solutions using rollup or side chains are another way to scale the network and a lot of promising research is going on in this space. However, most L2 solutions currently have a hard TPS limit by design and break composability between side chains or rollups. Spreading liquidity across multiple chains or networks is very inefficient.
This post has become too long and I'll consider posting a Part II based on the comments. To summarize, check the project that you are researching supports unlimited scalability by design without compromising on decentralization or security or composability. You may be surprised that the network that is going to change the world is either still under development or is yet to cut the first line of code. We are too early to fight which of the current projects is superior. If one has an open mind, you can find those hidden gems!
[link] [comments]
You can get bonuses upto $100 FREE BONUS when you:
π° Install these recommended apps:
π² SocialGood - 100% Crypto Back on Everyday Shopping
π² xPortal - The DeFi For The Next Billion
π² CryptoTab Browser - Lightweight, fast, and ready to mine!
π° Register on these recommended exchanges:
π‘ Binanceπ‘ Bitfinexπ‘ Bitmartπ‘ Bittrexπ‘ Bitget
π‘ CoinExπ‘ Crypto.comπ‘ Gate.ioπ‘ Huobiπ‘ Kucoin.
Comments