Technical Perspectives | After two years of developing DApps and Layer 2 networks, I switched to the Substrate camp
I. Comparison of three solutions for decentralized application development
- Dapp based on smart contract
- Layer 2 network solution
- fork Ethereum
But these three solutions have more or less shortcomings in terms of development operation and maintenance cost, performance and flexibility. The relatively low cost of smart contract development, operation and maintenance is a major advantage. But limited by the underlying public chain platform, the logic that can actually be implemented is limited . For example, it is currently difficult to verify ed25519-based signatures on Ethereum. At the same time, the project needs to compete for resources with various other applications on the same platform . For example, when ERC20's Tether transfers are more frequent, or when a spinach project is very hot, users need to spend more transfer fees for each transaction of the smart contract, and the transaction confirmation will be slower.
- Technology Viewpoint | Want to develop dApp with Wasm? You have to read the introductory tutorial (1)
- Technical Perspectives | Contract Upgrade for Python Smart Contract Tutorial
- How To | Build a Zero-Dependent Application on IPFS (Vol. 2)
The second-tier network and fork Ethereum are mainly costly to develop and maintain . For a two-tier network, a set of systems (such as Ethereum, EOS, and Ontology) need to be adapted for each mainstream smart contract platform, and development is largely repetitive labor. The operation and maintenance of each system also requires investment. We have not considered here that the layer 2 network will be limited to the underlying public chain to some extent. Fork Ethereum, unless some cottage projects change their names, every time a serious project requires performance optimization or customization of one or more modules, a certain number of excellent developments are required. The project party also needs to invest certain resources to develop application logic. In short, these two solutions require much more development resources than smart contracts.
Another point is that these three are not mature in terms of governance and upgrading mechanisms . First of all, the governance of these three is generally offline governance, which has well-known flaws in fairness, fairness and openness. Secondly, smart contracts are not inherently supportive of upgrades, and many Ethereum multi-signature wallets are suffering. The second-tier network or fork of the Ethereum chain requires the community to upgrade the nodes offline. A slight negligence will result in a fork (such as the recent Istanbul upgrade of the Ethereum Ropsten test network, because most of the computing power has not upgraded the node software. A fork occurred)
Second, the benefits of application chain development framework
Secondly, because the application exclusively enjoys the resources of the entire chain , there is no resource competition problem generated by other Dapps. At the same time, the performance of the application chain itself is no less than that of public chains such as Ethereum or EOS. And compared to smart contracts, the team has more flexibility in mastering application logic development. Moreover, the team can also adjust the relevant parameters and even the consensus of the chain according to actual needs.
Advantages of the Sub strate framework
- High degree of abstraction, more general and less development work. In fact, with the help of templates provided by the framework, developers only need to pay attention to the storage, function logic, and event writing required for their applications. Applications such as crypto cats are a few hundred small in total in an application chain Line of code. At the same time, using the official front-end, you can directly interact with the chain without additional programming. Being able to do this is inseparable from Parity's accumulated development experience with multiple blockchain clients.
- The ecology of the surrounding tools is relatively complete. For example, based on the official front-end library, it is easy to develop the front-end interactive page of the application chain. Based on official and third-party rpc client libraries, it is easy to write custom rpc clients.
- Since all Runtimes (application logic) are written in Wasm, Substrate-based application chains can support online upgrades . In other words, after an on-chain governance has passed an upgrade resolution, the full node will run the latest version of logic even if the software is not manually upgraded. This feature makes the on-chain governance and upgrade seamless, and the experience is closer to the upgrade in traditional software development, which basically solves the governance and upgrade issues of the above three solutions.
- At present, the official has given WASM and EVM modules. If you want to develop a chain that supports smart contracts , it will be very, very fast.
The two points 1 and 2 make Substrate-based application chain development very friendly to small teams . In the case of being familiar with Rust, it can be said that the workload of developing a Substrate application chain is basically the same as developing an Ethereum Dapp. This is why all of our recent hackathons can be developed in a short time.
Author: Wu Yifei, Cdot Network CTO
We will continue to update Blocking; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles
- Technical Perspectives | Python Smart Contract Tutorial Native Contract Call
- The most heavy chain rule defect: your main chain I am the master
- Getting started with blockchain | Hash lock for cross-chain technology solutions
- Technical Perspectives | How much does the Python Smart Contract Execution API know?
- Comparison of IPFS and EdgeFS for Secure Edge/IoT Computing Use Cases
- Five major problems read through the PoA consensus algorithm
- Analysis | Pre-selection and pre-submission mechanisms for Byzantine fault-tolerant consensus