Technical AMA Series 1 (Part 1): An Insider Talk With TOP’s Engineering and Product Team
On Dec.5, we hosted our first LIVE technical AMA in our Chinese community with our Senior Product Manager Rockey and Engineering Director Justin. This AMA marks the beginning of significant changes coming to post-Mainnet launch operations — our technical team members, who barely appeared in our community before, will be showing up more frequently to create a more open, inclusive community.
The AMA recap is broken down into two parts considering it is very long and informative. In this section, we will take a look at our updated roadmap with Rockey, and learn about TOP’s technological innovations with Justin. We will delve deep into the questions from our community in the next part.
Rockey: Hello everyone. Thank you for having me here. As we just released an updated version of our roadmap last week, I’d like to go through the details with you about what we are currently doing and what we will do in the upcoming year.
We are currently optimizing TOP Mainnet for enhanced stability and performance, and an updated version with slight changes is scheduled to come out in a month. We will also release a DApp for node recruitment so that community nodes can join, vote and earn rewards in our ecosystem without much effort. More notably, we are implementing a novel cross-chain technology as Ethereum to support cross-chain voting and dividends on TOP Chain so that users holding ERC-20 TOP can participate as well.
Moderator: Why did we develop cross-chain voting in addition to on-chain voting?
Rockey: Considering that TOP is a PoS Chain, it would be risky if we directly swap the ERC-20 tokens to native tokens on our Mainnet, as there may not be sufficient nodes and stake in the early stages to ensure sufficient security. Cross-chain voting will also engage more global nodes to join TOP’s ecosystem as they don’t have to swap their ERC-20 TOP beforehand.
In Q1, 2020, we will migrate the communication Apps and games developed by our team to the blockchain. These Apps are running on our Testnet to protect user assets, but they will be ported to our Mainnet once we have completed the swap.
Moderator: What’s the difference between our Testnet and Mainnet?
Rockey: The testnet is basically for developers to flexibly develop and modify their Apps, and also a platform for our in-house developers to launch new features for testing and debugging before the public release. You could say that the Testnet is a beta version of the Mainnet, where TOP test token, the currency in circulation, has no real value.
We will start the Mainnet swap allowing for the conversion of ERC-20 TOP to the native TOP token in Q2 2020, once we have a sufficient number of tokens staked(10%) to ensure sufficient security. Please note that the schedule not only depends on our development team, but the progress of node recruitment. Once the Mainnet swap is complete, we will migrate our pre-existing Apps to TOP Chain, and then open the ecosystem to third-party developers.
Last but not least, we will launch Mainnet 2.0 in Q3, 2020 which incorporates a series of new features, the most important of which is side-chain technology. We will develop two side-chains for specific purposes, one of which is decentralized data storage.
We depicted our side-chain solution in our whitepaper two years ago. I think the biggest hurdle for blockchain mass adoption is the lack of qualified underlying technology architecture, lack of business use cases, and lack of talent. A majority of the public chains in the market are unable to handle the massive transaction volume required for large-scale DApps, thus creating huge barriers for DApp developers. Most of the existing so-called DApps only have a few simple features like user assets and game props which are deployed on the blockchain. Our side-chain technology offers a solution. I would expect that every type of service will have its associated service side-chain in the future, such as a storage side-chain specifically designed to increase the decentralized data storage capacity, and a messaging side-chain allowing for peer-to-peer encrypted messaging.
Right now our smart contracts only support the LUA programming language, but we will provide smart contracts that support additional programming languages like C, Python, JS, Go, and more to engage many more developers.
Justin: Thank you so much for having me! Let me first briefly introduce TOP Chain. TOP Chain is a general-purpose high-performance public blockchain innovated and developed by our R&D team in China. We wrote and continue to write every line of code from scratch, and as such we ran into numerous challenges that we have never encountered before. I feel very honored to have such an amazing team that has been relentlessly striving to build and launch the Mainnet over the past two years. However, I would also like to apologize for the delay due to the unexpected challenges. I appreciate all the understanding and support from our community.
Moderator: As we often mention, TOP Chain is the world’s first full-state sharding public chain, but most of our community members do not really understand this concept. Can you explain TOP’s innovative sharding technology to our audience?
Justin: Sure. TOP Chain is powered by sharding technology that supports horizontal scale-out. Each shard can achieve 500 TPS. In terms of full-state sharding, TOP Chain scales through three types of comprehensive sharding: network sharding, state sharding, and compute sharding.
The consensus network is split into three layers: the Edge Network which provides client access points, the Routing Network that audits and synchronizes cross-chain transactions, and the Consensus Network that validates transactions sent to each shard. State sharding manages storage across the lattice data structure, and compute sharding partitions the computation between clusters and shards to perform transaction validation in parallel.
Thanks to the comprehensive multi-layer sharding technology, TOP Chain is able to achieve horizontal scale-out to reach up to 1024 shards in total. Moreover, we can increase scalability essentially linearly by simply increasing the number of shards.
Moderator: So how do we manage the shards on TOP Chain?
Justin: We implement voting in our ecosystem to ensure the security of TOP Chain. The beacon chain committee, composed of nodes nominated according to the amount of stake they have, manages the primary selection of nodes. It sets a barrier to entry based on the amount of stake the candidate nodes have, so as to make sure the network is reliable and secure by ensuring malicious nodes will have to pay an extremely high cost. The network nodes are selected by the FTS (Follow-The-Satoshi) algorithm and are assigned to perform different tasks including auditing, validating, accessing, and documenting based on their stake and reputation.
The node selection process allows for the layered p2p overlay network powered by sharding, and is set to help reaching consensus in the ecosystem.
Moderator: How does TOP’s consensus algorithm make our public chain suitable for real-world businesses?
Justin: We use a novel parallel pBFT consensus mechanism based on the traditional pBFT consensus mechanism which greatly optimizes the performance of nodes. There are two layers of consensus on TOP Chain which helps to grant higher security: Validator nodes validate transactions, and auditing nodes audit transactions after validation. This not only allows for real-time transactions to be confirmed faster, but also enhances the network security combined with the efforts of the leader chosen through verifiable random functions (VRF) to prevent attackers.
Moderator: How do we optimize the network design?
Justin: We have implemented a series of design choices to optimize the network, including optimization of the p2p kad network, efficient network routing and transferring protocol, efficient Gossip protocols, an automated compression algorithm to reduce network consumption, and more. We would not have been able to come up with such innovative methods without years of experience in the communications industry.
Moderator: Besides the underlying core architecture, what tools do we provide for developers?
Justin: We provide two types of smart contracts: platform smart contracts, and application layer smart contracts. Platform smart contracts are designed for token economics and on-chain governance in TOP’s ecosystem. Application smart contracts, which currently only support LUA, are used for DApp development, and have already been validated at the hackathon we co-hosted in Prague in September of this year. We will develop WebAssembly (Wasm)-based frameworks that support many more programming languages, and will provide side-chain solutions to enable the seamless interconnection between TOP and other public chains like Ethereum and EOS.