The Globally Distributed Ledger Software of the Future — Part II

Jeff Zhou
RingNetwork
Published in
10 min readOct 23, 2018

In the first article on this subject, I explained why blockchains are simply a shared database of transactions rather than a distributed computing system or any operating system. I also explained the reasons why I believe the public blockchains of the future should be positioned as a single globally distributed ledger system designed for the transfer of value using tokens as medium of exchange.

Now, let’s take a look at today’s popular technologies addressing the scalability issue faced by many public blockchains, with comparisons on those popular consensus algorithms.

The comparison of various expansion plans

As the knowledge of its revolutionary potential is spreading, the blockchain industry experienced a strong cycle of hype-driven development, but until now, rather than scenarios like “digital gold” and ICOs, it has yet to attain mainstream adoption or practical application, mainly due to a lack of safe and effective solutions to address the problem of scalability.

As of today, side-chains, sharding, and DAGs (Directed Acyclic Graphs) are three options emerged for improving blockchain’s scalability. I believe that the development of side-chain and sharding technologies will eventually converge and evolve into the adoption of DAGs, because the DAG technology provides a solution to the problem of scalability that is elegant, efficient, and unaffected by some of the problems and limitations that exist with side-chains and sharding. The public blockchains of the near-future will all be based on DAG ledger technology.

From my own personnel experiment, developers from TrustNote have used Hyperledger Fabric and developed applications using Fabric’s Channel technology. Channel is a typical example of the side-chain technology. In practice, we found that side-chain technology requires participants in transactions must establish a Channel based on a relationship of mutual trust according to the application scenario. This tightly coupled the creation of sidechains with the specific function and logic of the application, and made it impossible to be transparent to the app developers. As a result, programming extensibility, or a systemic measure of the ability to extend the software and the level of effort required to implement the extension is lost.

The sharding technique has similar extensibility problems which affect programming. Although sharding undoubtedly improves the scalability of the underlying blockchains, it is not easy to adaptively adjust the way shards are sub-divided. It is therefore impossible to dynamically adapt to improve transaction concurrency.

We need a scalable solution which combines the benefits of side-chain and sharding technologies, allowing for automatic adaptive adjustment, and thus ensuring the scalability of app development and adaptive improvements to concurrency.

It’s my view that DAG technology is just such a dynamic adaptive combination of both side-chain and sharding technology. When the network experiences high transaction volume, each transaction quickly constructs a branch path within the DAG network through which it completes transaction verification and bookkeeping. When the transaction volume is low, the DAG network converges and degenerates into a single chain, with a data structure resembling a classic blockchain. When there are many cross-region nodes in the DAG network, new transactions are first verified by those most immediately adjacent, thereby forming a local approximation of a side-chain.

IOTA is an early adopter of the DAG technology, and like many pioneers of a new technology, there are many deficiencies in its overall design. First, IOTA adopts a three-state cryptographic algorithm that is not recognized by the mainstream cryptography community. The security of this algorithm has been questioned. Secondly, IOTA promotes itself as IoT-oriented, but runs Proof of Work (PoW) on its nodes as the basis for transaction verification and consensus. In my view this is not a smart choice, because most IoT nodes (devices) are battery-powered and their hardware capabilities are relatively limited, meaning that the way it uses a PoW consensus model increases the transaction overheads for IoT devices.

In addition, IOTA offers an inelegant solution to the problem unique to the DAG technology, in situations where transactions are limited, new transactions within a DAG ledger structure struggle to find other adjacent transactions to be verified by. IOTA’s solution to this problem is to use a fully-centralized coordinator for transaction verification. This solution compromises on decentralization, reduces the innate scalability benefits and high concurrency benefits of the DAG data structure, and is generally reflective of IOTA’s poor consideration of overall architecture design.

Other early DAG projects have similar problems or are missing important functions to varying degrees, and are thus not well suited to current and future application needs. Solving the problems of existing DAG ledgers is akin to solving the overall problems with present-day blockchain technology. It requires a high level of capability on software economics, architecture and technical design, and engineering, all of which require the long-term accumulation of talent and time. At present, I believe TrustNote did a better job in terms of solveing the problems of DAG ledger technology than any other public ledger. Today, the blockchain industry is undergoing a period of massive change and development, players will need to work together to shape its future direction, TrustNote is open to collaborate with anyone who share the same vision.

The comparison of various consensus algorithms

The most commonly used consensus algorithms are Proof of Work (PoW), Proof of Stake/Delegated Proof of Stake (PoS/DPos), and Byzantine Fault Tolerance/Practical Byzantine Fault Tolerance (BFT/PBFT).

Let’s first talk about the BFT/PBFT type. This type of consensus algorithm is based on a system of voting and node election. The outcome of this consensus algorithm is that whoever controls the largest number of nodes within the network is able to exert control over the network’s consensus algorithm. This creates a serious security issue. In many cases, the cost of hijacking network nodes is not prohibitively high, and it is relatively easy for an attacker to gain control of a majority of network nodes.

In addition, the BFT consensus algorithm requires negotiation and interaction between nodes. When the number of nodes is large and there are more than 100 nodes involved in the verification of network transactions, it becomes impossible for consensus to be reached quickly. Therefore, BFT is not a suitable consensus algorithm for many public ledger implementations when involving a large number of bookkeeping nodes.

Some of the latest BFT consensus algorithm adds an element called Verifiable Random Function (VRF). The resulting BFT+VRF consensus algorithm that some projects have adopted sees the probability of the VRF controlled by whoever controls the majority of the network nodes, thus suffering from the same problem.

As for the PoS/DPoS consensus algorithm, the general principle is to compete according to the amount of assets in the wallet, which leads to two problems. The first can be called the Nothing at Stake problem. When the value of tokens on the public ledger are low, the cost of attacking the PoS blockchain system will also be low, meaning that the PoS blockchain system is inherently unsafe and susceptible to attack.

Another problem is that the PoS algorithm allows hackers to identify potential attack targets based on which nodes hold the greatest number of network assets. With a DPoS consensus-based blockchain project, more than 20 super nodes are used for verifying transactions on the network. The election of these super nodes exposes the offline identity of the node owner, losing the anonymity inherent to other forms of blockchain network. The owner of a super node becomes an obvious target to attack. At the same time, the election of the super node occurs through a centralized process, further adding to the insecurity of a DPoS blockchain network. A DPoS-based blockchain is in essence a consortium blockchain, with inherently low network security.

The PoW consensus algorithm is the only public ledger consensus algorithm which has so far been proven to be both stable and secure, although there are issues related to the problems of excessive energy consumption and mining centralization.

In a truly decentralized distributed ledger system, anonymity and openness to competition are the keys to ensuring decentralized security. When designing a consensus algorithm, it is absolutely vital that nodes can compete anonymously to verify the network throughput.

Balancing the issues of present-day PoW consensus algorithms with the benefits these offer over other consensus methods, it is clear that ongoing researches from global research institutions and technical communities are needed to further optimize this method of consensus algorithm.

Integrating DAG with PoW, a move made by TrustNote

TrustNote is aimed at being a public blockchain which is very light, fast, and smart. Based on a distributed DAG ledger system, TrustNote utilizes a unique “DAG + TrustME” two-tier consensus mechanism to write into the ledger. The move from multi-node synchronous competition to asynchronous collaboration perfectly solves blockchain’s scalability problem without compromising on decentralization. If Bitcoin’s lightning network sidechain scaling solution is “external grafting” of the mainchain and Ethereum’s sharding is “internal segmentation” of the mainchain, then TrustNote can be understood as the ultimate integration of side-chains and sharding. Each node within the TrustNote network is a “side-chain” and the network is completely decentralized.

Although TrustNote’s innovative consensus mechanism utilizes PoW, PoW is only used to determine witness nodes. PoW does not affect transaction verification or bookkeeping, and it does not affect the detection of double-spend transactions. Therefore, this two-layer consensus mechanism not only guarantees the decentralization of the entire network, but also guarantees a high degree of concurrent scalability.

The usability of public blockchains

Blockchain is a very new and revolutionary technology. It is still unclear how blockchain technology can best be used in many application areas. Discovering this requires that developers, makers, and thinkers explore innovation through an extensive process of trial and error. However, there are many problems related to the usability of present-day public blockchains, which leads to very high trial and error costs for decentralized app development. To encourage a large-scale blockchain application innovation and development, we need a public ledger which is easy to use and can be used at low cost.

The first issue to consider is that when a client of the blockchain requires both storage space and computing resources. Because data stored within the public ledger is shared across network nodes, each node is required to use a large amount of storage space in order to store a copy of the ledger. Mobile phones and IoT devices do not have sufficient storage space to do this, which makes it impossible for mobile phones and IoT devices to operate as full network nodes. Many present-day blockchain projects do not take this restriction into account, no security protocols have been designed for mobile phones and IoT devices. The new generation of public ledgers should design and develop light node and micro node protocols for the use of mobile phones and IoT devices.

A second pressing issue is that the security of smart contracts is currently very poor, and application development costs are very high. Ethereum’s smart contracts use a Turing-complete contract language, which has an incredibly steep learning curve and a lack of good contract review and verification tools. This lethal combination of coding difficulty and security inefficiency means that it’s all too easy for flawed smart contracts to suffer serious security failures, doing great harm to the overall credibility of blockchain technology. The new generation of public blockchain should simplify the design of their smart contract systems, focusing on the practical fulfillment of specified contractual requirements, lowering the immense knowledge barrier blocking smart contract creation, and improving the ability to review and verify smart contracts, so that smart contracts can be used with confidence.

A third issue to consider is combining all the elements needed to create a satisfactory next-generation public blockchain, and having these elements integrated at all levels of its design. The next generation of public chains should construct a ledger based on infrastructure that allows for high concurrency, high security, and improved user experience. The principles underscoring the development of such a public ledger are as follows:

  • The reasonable setting of project objectives, ensuring technical feasibility and application feasibility, and the positioning of these principles within a globally distributed ledger system, with a core goal of being fit for practical real-world use.
  • The management of the project is best done through a foundation, which allows for the joint development of open-source projects by a broad range of people with unique insights, knowledge, and skills from around the world, hopefully this will lead to a truly global software infrastructure.
  • The adoption of a DAG technology which adopts a deterministic consensus algorithm to better achieve cross-chain verification, providing high concurrency and scalability, reducing transaction costs, and meeting large-scale transaction needs.
  • The use of Proof of Work to ensure real decentralization, with 100% of the base token being produced through mining operations. PoW is not only a method of ensuring decentralization of consensus; it also acts as an important form of community development. It is an excellent solution for ecosystem development and community-based governance.
  • The design of client protocols for mobile apps and IoT devices, ensuring the public ledger is truly a value exchange network optimized to fit for the era of the Internet of Things.
  • The implementation of a lightweight verifiable smart contract system, providing all types of contract template to improve the security of the smart contract system.
  • The development of rich development tools and software libraries to minimize the learning curve for users and developers.

TrustNote is implementing all of these 7 principles. I believe TrustNote can be used as a basis for the next-generation of public blockchain technology.

Recently, in order to boost community development interest around the TrustNote network and ecosystem, we decided to open source itoken.top, the smart token platform that build with the TrustNote network. We also launched the TrustNote Software Developers Incentive program, it is designed to support the developer and contributor community along with our developers’ portal.

developers.trustnote.org

With all these initiatives, I am eager to see what new ideas developers, makers, and contributors come up with and make a globally distributed ledger software of the future into reality. Please leave your comment below, and let me know what you think!

Jeff Zhou

Founder, TrustNote foundation

October 23th, 2018

--

--