Gno.Land - interchangeable parallel smart contracts
"First there was Bitcoin, which emerged from the entropic soup of Big Everything. Then came Ethereum, which was created in the likeness of Bitcoin, but made by Turing.
Among them were Tendermint and Cosmos to develop robust PoS and IBC. Then Gno came to Cosmos, and Gnoland emerged, modeled on Gnomes of the Greater Resistance."
The above quote, taken directly from the gno repository, reflects the historical background to the creation of Gno.land. Bitcoin achieved decentralized value, Ethereum achieved decentralized systems, and Cosmos achieved interoperability of decentralized systems. Each generation has brought significant improvements to the blockchain space, making it a friendlier environment for users and developers alike.
The birth of Tendermint and IBC provided the reliability of consensus between untrusted parties and the ease of creating independent blockchains that are fully customizable yet interoperable in nature. Today, a significant number of the Top 50 blockchains by market capitalization are built on the Cosmos SDK and Tendermint. Clearly, the Cosmos ecosystem is thriving, and the multi-chain future envisioned by Cosmos is becoming a reality.
However, the set of ideas that underpin the Cosmos ecosystem architecture is slowly moving away from its original philosophy: Hub Minimalism. The founders of Cosmos Hub believed that hub functions should be as few as possible, and the main reasons for this were: 1) preventing the network from being flooded by transactions outside the chain, 2) separating zone and hub functions, and 3) simplifying the hub to improve security (the recent Juno Network shutdown confirms this argument).
The deployment and failure of Gravity Dex on the Cosmos hub, combined with the success of Osmosis as the new dominant hub, has sparked controversy in the Cosmos community. According to the Zone Map, Cosmos ranks 3rd in MBK volume and 4th in MBK transfers, indicating that users prefer hubs with more functionality, such as Osmosis and Terra. Arguments that the Cosmos hub should enable CosmWasm smart contacts without permission or adopt a unique feature to help the Cosmos hub regain its position as the top hub are beginning to confuse the community as to where the Cosmos hub should go and whether the ATOM tokenomics need modification.
Other blockchains also face notable problems: Ethereum users suffer from unaffordable gas rates, Solana users suffer from relatively frequent downtime, and Terra users suffer from an over-reliance on the performance of one dapp, which holds most of the native stablecoins.
Amidst the chaos, Jae Kwon, one of the major contributors to Cosmos and Tendermint, is developing a new blockchain called Gnoland to optimize the consensus process between validators, the completeness of smart contract language and the stability of tokenomics.
Smart contract platforms serve as decentralized virtual machines managed by untrusted nodes that validate transactions or run open-source applications, called smart contracts, based on economic incentives. While leading blockchains have enabled the deployment of several thousand applications serving millions of users, the development environment and user experience have yet to be optimized.
Gnoland has adopted a new language, Gnolang, which is a fork of Golang. The obvious advantage of Golang over other languages is evident when dealing with concurrency. While most programming languages such as C++ or Java use multithreading to run parallel programs, Go uses Goroutines.
Multithreading is when multiple threads execute in parallel within a single process. It could be your browser playing music and running a search engine at the same time, or a word processing program displaying the text you entered and checking your grammar at the same time. The problem with multithreading is that it requires context switching when the OS scheduler manages the switching between processes and threads. This often causes overhead and consumes an excessive amount of resources. Goroutine, on the other hand, takes the burden off the OS by implementing the Go Scheduler, a built-in runtime scheduler. Goroutine's creation and destruction consumes significantly less memory (only 0.2% of threads) and makes full use of all hardware cores.
Almost all existing blockchains are single-threaded, which means that processing multiple transactions simultaneously will result in double costs or state conflicts.
Gnoland offers the most viable solution to this problem - goroutines integration, supporting Golang as a smart contract language.
The most commonly used languages in the current blockchain development environment are Solidity for EVM-compatible networks and Rust for Solana and Cosmos SDK-based networks; both Solidity and Rust are inspired by C++. While all of the above languages are excellent, Gnolang inherits from Golang a faster compilation speed, a more concise grammar, and resource-efficient parallelism.
The case for a sustainable token model
The original Cosmos Hub model included a board token called PHOTONs, which limits the use of ATOMs to management and staking. After launch, the board token concept was eliminated, and today ATOMs serve as both control/staking tokens and board tokens. Not only Cosmos, but most tier one cryptocurrencies in the blockchain space, such as Ethereum, Avalanche and Solana, use the single token model.
Gnoland, on the other hand, seeks to adopt a dual token model, similar to the original Cosmos idea, where the "utility board" is separated from the control token.
As Jae Kwon suggested, a dual token model using a board token with a fixed constant-inflation (rather than exponential as in control tokens) would have the following advantages over a single token model:
- Most end users are technically clueless, which means that most of them don't know which validators they should support or how to evaluate management offerings. Simply put, the dual token model reduces operational risk by shifting the responsibility for governance from end users to nodes, validators, and network participants who have a real understanding of the blockchain.
The point of the control token is that the Network is being relied upon to secure the blockchain. The irony of the single token model is that the more the blockchain gains traction, the more tokens are likely to be unlocked for use as gas fees, resulting in less security for the Network. The dual token model solves this problem.
A token with a fixed, inflation-free fee, designed solely to fuel blockchain contracts, would allow users to keep the token in a wallet for future use without worrying about the value of the tokens inflating.
We are exploring more of Je Kwon's dual token model and how to implement it on Gnoland to maximize the sustainability and usability of tokenomics.
Slow, expensive, unintuitive - these are the stereotypical traits that come to mind when using or coding applications on existing blockchains. Despite the large influx of capital into the blockchain sphere in recent years, developers specializing in decentralized applications running on smart contracts are quite few. A likely reason for this is the lack of an effective smart contracts platform for developers to use. We believe that Jae Kwon is creating Gnoland to present a productive blockchain capable of running smart contracts that takes full advantage of Golang and the advanced hardware of modern computers.
As Gnomes, we look forward to contributing to the development and adoption of Gnoland, a scalable blockchain that we believe will attract millions of developers who will deploy innovative applications, accelerating the Internet's transition to Web3.