GanyChain: a satellite chain for smartBCH
The blockchain industry is actively exploring some non-financial fields, such as social networks and games. In social networks and games, the interactions are mostly for information exchanging, instead of value transferring. When using blockchains for information exchanging, the cost of transactions would be too high and unacceptable. However, blockchains’ decentralization nature, is not only very valuable for financial use cases, but also very helpful for pure information exchanging: it can prevent the centralized platforms from monopolizing the acquisition, recommendation, and censorship of information.
To take full advantage of blockchains’ decentralization in information exchanging, we must overcome its shortage of high cost. So, we develop a satellite chain for smartBCH: Gany Chain. Its name comes from Ganymede, a satellite of Jupiter and the largest satellite in the solar system. A satellite chain is a state-less, token-less blockchain, that cannot run on its own and must rely on its host chain for governance and payment. The host chain of Gany Chain is smartBCH.
A satellite chain can run at a low cost and is easy to scale up by adding more shards. It is very suitable for publishing short contents, such as tweets, comments, and bullet screens. It can also be used to record players’ operations in non-realtime games, such as chess, cards, and board games.
Background
IPFS, as a decentralized storage solution, has met the requirement of storing long contents. High-resolution pictures, long articles with many figures, and long audios and videos can all be stored easily. However, it is not convenient to store and transfer short contents, because its default chunk size is 256KB, while the typical short contents (tweets, bullet screens, and comments) are less than 8KB, or even less than 1KB.
Short contents have an important character: they are always about some topic and people can view them according to some topic. For example, we can view the tweets from an account, view the comments on a tweet, view the bullet screens and comments under a video, or view comments on a comment. However, IPFS uses content-addressing and does not support topic-indexing.
Short contents are the base of user-generated contents. Its decentralization is very helpful. If all the short contents are published on one single centralized platform, it will have tremendous power: it can decide what information you can get or what information is hidden from you; it can tune the algorithm used for recommending to influence public opinion; it has exclusive rights of censorship to delete your published contents. Power tends to corrupt, absolute power corrupts absolutely. Centralized platforms are tempted to do evil.
On a decentralized platform for publishing show contents, multiple entities are engaged in the acquisition, recommendation, and censorship. They compete with each other and supervise each other. The room for any single entity to do evil is very limited.
technical details of the satellite chain
We’d like to use blockchains to store and index short contents, such that users can view them according to topics. It is generally believed that blockchains’ cost is too high to store normal data. However, we believe that there are plenty of measures to reduce a blockchain’s cost:
-
A satellite chain does not store any state under consensus. It does not have any accounts, any smart contracts, any UTXO, or any world states. It is state-less and token-less. Its transactions are only used for witnessing and storing information, instead of transferring value. Thus, the storage pressure is reduced.
-
Because there is no state, we can start synchronizing from any height, instead of the genesis block. In normal nodes, only recent blocks are stored. Only a few nodes store all the historical blocks.
-
The information recorded in transactions is stored in off-chain KV databases, such that users can query them given a topic and a time range. And this information has an expiration date and after this date, it will be deleted from databases.
-
Use the smart contracts deployed on smartBCH to elect the validators on the Gany Chain. The Gany Chain watches the states and events of smartBCH to trace the change of the validator set.
When the cost of running one single chain is reduced, it would be cheap to scale up through multi-shard. We assign transactions to different shards according to some specific bits of their topics. Each shard can run independently without reading the state of other shards (because there is no state).
A satellite chain has no state or tokens, so it cannot collect gas fees. Then, what can we use to incentive the validators and prevent malicious users from sending spam transactions? We use stochastic payment. Each transaction must be attached with a ticket of stochastic payment and every node on satellite must verify this ticket: the transaction is allowed to be broadcasted on the P2P network only when the validators have a chance to get some coins on smartBCH with this ticket. Since there is no value transferring on the satellite chain, the validators can not get benefit by doing evil. If a validator does evil by packing transactions without valid stochastic payment tickets into blocks, the stakeholders can vote against it and take off its duty as a validator.
Because of its unique technical character, a satellite chain cannot be classified as an existing concept, such as the side chain or rollup. Yes, a satellite chain is similar to a side chain or rollup because it is also developed for a specific host chain. But there is a fundamental difference: both the side chain and rollup can exchange tokens bidirectionally with the host chain, but a satellite chain has no tokens.
Optimize social applications
Open Information. All the non-encrypted contents on the Gany Chain are public. They are the opinions that the authors would like to express to the whole world. For humankind, these contents are valuable. In the Web 1.0 era, web crawlers collect information from websites, which are the basis of search engines. In the Web 2.0 era, most of the data are isolated inside individual Apps, which are unfriendly to (or even against) web crawling. Isolated islands of information are created and the local search engine within each App is not satisfying.
Once an author chooses to publish his/her contents on the Gany Chain, these contents can be got very easily by all the parties who want to index and categorize them. They do not even need to run crawlers. Running a node of Gany Chain is enough.
Easy Archive. In the Web 1.0 and 2.0 era, much useful information has been forever lost just because the web pages or Apps containing them disappeared. It is extremely hard to find and archive all the contents that ever existed on the web. The Gany Chain has a large enough capacity to hold multiple social applications’ contents. Just backup its historical blocks and you’ll get a backup of all the short contents generated in these applications. Humans in the future can analyze and study these contents in their historical research.
It is still very challenging to backup the long contents which are stored in IPFS. It is impossible to archive all the long contents generated by human kinds, with the current storage technology. The Gany Chain can hint at which long contents are most worthwhile to archive. The hottest long contents, whose URLs are frequently mentioned in short contents, are the most valuable ones for archiving.
Open Development. The Gany Chain only provides the basic functions and anyone can develop her own API on top of them. The definition, development, and usage of APIs are totally free. On a centralized platform, only a limited set of APIs are open to third parties and you must apply for them and have limitations when using them.
The basic functions provided by the Gany Chain are only enough to develop social applications with limited user experience: you can publish and browse posts and that’s all. Other enhanced features, such as account ranking, full-text searching, top searches, and content pushing, need more development work upon the raw data recorded on chain. On centralized platforms, the raw data are monopolized and isolated. The Gany Chain opens all the raw data to developers and a better product will win most of the customers in the competition.
Decentralized Real-name Certification. Fake users and spammers are a threat to all social applications. People want to communicate with real people, instead of computer programs. In a centralized social platform, only the platform itself has the right to certificate users’ real names. And you must reveal your personal information to it and trust it will not leak your privacy. The Gany Chain does not provide a real-name certification service but allows any third party with public credibility to endorse users’ identities. You are anonymous on chain by default. But if you want to be certified, you can choose an organization that you trust.
Decentralized Censor and Moderation. Censorship and moderation do not always mean evil. They are indispensable in public spaces, including social networks. On one hand, the contents against laws and/or public order should be blocked, on the other hand, contents against the community’s agreement and consensus should be hidden, such as advertisements. But if the platform monopolies the power of censorship and moderation, there would chaos and controversy. The best-known example that happened in history is that Twitter banned Donald Trump.
The information that is ever published on the Gany Chain, cannot be thoroughly deleted as they are part of the historical blocks. This is reasonable because these immutable records are also possible evidence of a crime.
The Gany Chain allows anyone to act as a censor or moderator and mark posts as blocked or hidden. If you choose to agree with a moderator, then all the posts blocked by her will be hidden from your device’s screen. Different users will choose different moderators.
Censorship and moderation apply to the whole history. A new moderator can pick any historical posts from a forum for blocking. If a guy adds her as his moderator, the forum will show a new view to him. If he is not satisfied with this view, he’ll remove her from his moderators.
Optimize games on blockchain
Traditionally, there are two ways to develop blockchain games. One way is to implement the game’s logic in a smart contract and deploy it on chain. The players only interact with the blockchain. This is good for decentralization, but the cost is high and the game’s capacity is limited by the chain’s throughput. The other way is to implement the game’s logic off-chain. The players interact with the blockchain and an off-chain server. Some events that happen on chain are acknowledged by the server, for example, the transfer of coins and NFTs. This is good for the game’s capacity, but the centralized server is a risk for all the players.
The Gany Chain does not have an on-chain state or logic, so it is impossible to directly deploy game logic on it. But it does provide a new method to improve games’ capacity without compromising decentralization.
A game can be looked at as a finite state machine. From a given start state, it can reach a fixed final state, after a sequence of stimulations. The players’ operations are the stimulations of the game. After serializing the operations into JSON, Protobuf, or other formats, players can post their operations onto the Gany Chain as short contents.
For all the short contents which have been posted on the Gany Chain, there is a unique order. Wherever you execute the game’s logic, it will see the same sequence of operations and will reach the same final state. So, it is possible to use multiple parties to execute the same game’s logic. These parties will vote for the final state. If the majority of them are honest, the players are safe. In such a way, the game’s execution is decentralized.
To make the game more secure, we can require that the game’s logic must run inside a TEE, for example, Intel SGX enclave. Multiple enclaves hold private keys which can vote to control a smart contract on the host chain. This contract interacts with the players on the host chain, for value transferring. Different enclaves from different games can also send operations through the Gany Chain to each other, which means the games are interoperable.
Enrich smartBCH’s ecosystem
The Gany Chain will bring more transactions to smartBCH and burn more gas fee, because its governance and payment are done on smartBCH. This is the direct benefit.
However, the more important benefits are the indirect ones. The Gany Chain will make smartBCH more suitable for social and game DApps. It will attract more developers to join the smartBCH ecosystem and its functions will differentiate the DApps on smartBCH.
Conclusion
The Gany Chain is a satellite chain for smartBCH. The satellite chain is a brand new concept and the Gany Chain is its first implementation. It is optimized for sharing information at low cost and focusing on non-financial applications such as social networks and games. The Gany Chain will enrich smartBCH’s ecosystem by enabling new kinds of applications.