An introduction to the Block-Lattice
The technology that solves the problems of today’s blockchains
Next-generation payment cryptocurrencies like Nano and Nollar make some bold promises that sound almost too good to be true. They offer fast and feeless transactions without the need for environmentally-harmful mining. Today, we take a look at the system architecture underlying these next-gen payment cryptocurrencies, the so-called block-lattice, and compare it to its predecessor, the blockchain.
We will try to keep the explanations as simple as possible, without getting too deep into the technical details, so that readers that are new to the world of cryptocurrencies can get the most value out of this article. We will thus abstract away some of the technical aspects, which will be covered in future articles.
The block-lattice architecture was introduced by software developer and Nano founder Colin LeMahieu in his Nano white paper in 2014. LeMahieu took the basic principles that had been introduced in the Bitcoin white paper six years earlier and improved on them. His goal was to design a cryptocurrency which would meet the requirements of a global payment system and that which could thus compete with corporations like MasterCard, VISA or PayPal. Since the NOS protocol is derived from Nano, it inherited all of its features and abilities.
To understand how the block-lattice architecture works and why it is needed, we should first take a look at traditional blockchains and their shortcomings.
A blockchain is a data structure consisting of chronologically ordered blocks which contain pieces of information, where each of the blocks refers to the preceding block, all the way to the first one, which is called the genesis block. This creates the eponymous chain-like structure:
The blockchain data structure offers some interesting characteristics that make it a useful tool to create a distributed ledger of information.
One of the most common use-cases of blockchain technology is the transfer of monetary value, because the chaining mechanism seamlessly tracks the transactional history of every participant on the network and makes sure that the possession of a single coin is not assigned to multiple accounts at the same time. Among others, each piece of information includes the sender and the receiver of a certain transaction and the number of coins to be sent. By analysing all the transactions from the genesis block to the current block, one can derive a ledger of all the accounts’ current balances.
How are new transactions created? The process of making a new transaction is defined in the protocol of the specific cryptocurrency. In the case of Bitcoin, this process includes the following (simplified) steps:
- The sender of a transaction authorizes and broadcasts his desired transaction to the rest of the network.
- Special network participants called miners pick up the broadcasted transaction and add it to a pool of unprocessed transactions.
- A competition starts, in which the winning miner chooses and verifies some of the unprocessed transactions (e.g. make sure that the sender has enough balance to make the desired transaction and that he cannot send the same coins to two different accounts). The successful miner adds the transactions to a new block and appends the block to the chain. He is rewarded for this effort with newly minted Bitcoins.
- Once the successful miner has added his new block to the chain and everyone else agreed to the result, a new competition between the miners starts.
In a system that uses Proof-of-Work, the miners try to guess a random number, called the nonce. The first miner to correctly guess the nonce wins. Because coming up with random numbers is a computational task, the probability of winning is proportional to the share of computational power that a miner adds to the total computational power of the entire network.
Blockchains have many use cases, like Distributed Storage, Digital Identities, Decentralized Apps or Smart Contracts. However, they have some inherent drawbacks that make them unsuitable as a tool for monetary transactions:
- Firstly, the PoW system underlying traditional payment cryptocurrencies creates an economic incentive for the miners to use ever more computational power and thus consume more electricity.
- Secondly, each block can only contain a limited number of transactions, creating a bottleneck that limits the transaction throughput of blockchain-based cryptocurrencies. For instance, the Bitcoin protocol can only handle a maximum of seven transactions per second. If the demand for transactions is high, the successful miner must choose which transactions to add to his block. To make sure that a specific transaction gets added, the sender includes a fee in the transaction. As a result, Bitcoin transactions become more costly when the demand for transactions is high. On December 21, 2017, the daily average transaction fee on the Bitcoin network reached an all-time high of $37.50.
- Thirdly, blockchains are slow. In the case of Bitcoin, a new block is created every 10 minutes on average. To make sure that a transaction is settled and thus irreversible, the sender must wait at least 30 minutes. In a world where transactions at retail stores usually take just a few seconds, this amount of time is clearly not reasonable and will prevent the adoption of traditional cryptocurrencies for everyday transactions.
Now that we have a basic understanding of the functionality of blockchains and of their shortcomings, let us take a look at block-lattices and how they overcome these shortcomings.
To understand the architecture of a block-lattice, just imagine a row of parallel blockchains. Each of the chains belongs to one account on the network and is thus called an account chain. Only the owner of the account himself can update his account chain and append new blocks to it.
An account chain is created by broadcasting an open block. All subsequent blocks refer to the previous block on the same account chain. This design allows the network participants to update their account chains asynchronously of the other chains.
In contrast to a traditional blockchain system, the blocks in a block-lattice system do not contain thousands of bundled transactions. Instead, every transaction consists of a send block on the sender’s account chain and a corresponding receive block on the receiver’s account chain. This separation of transactions into two parts, combined with the fact that each network participant can alter his own chain allow the sender to make transactions even when the receiver is offline.
To make a transaction, the sender creates a send block which contains the address of the receiving account, the number of coins to be sent and a reference to the last block on his account chain. He then adds the block to his chain and broadcasts it to the network. Once the network agrees on the transaction’s validity, the coins are deducted from the sender’s balance and the transaction is settled. This entire process usually takes less than 3 seconds.
To receive the funds, the owner of the receiving account now simply creates a corresponding receive block and appends it to his own account chain. Once he broadcasts the block to the network, the funds are added to his balance.
The Nano protocol uses a consensus technique called delegated Proof-of-Stake (dPoS) to prevent users from double-spending their coins. According to dPoS, every account owner appoints a representative to verify new blocks on his behalf. If one of the network participants tries to double-spend his coins by broadcasting two blocks that refer to the same preceding block, the representatives vote on which block to keep and which one to discard. Their voting weight is proportional to the number of coins that other accounts have delegated to them. A block is considered settled once it has been verified by representatives with a combined voting weight of more than 50%. This way, only one of the conflicting blocks is kept and double-spending is prevented. Since the account chains are independent from another, the rest of the accounts can continue to make transactions during the voting process.
The dPoS-architecture allows for feeless and near-instantaneous transactions and a much higher transaction throughput, as it removes the costs and time associated with the block mining. On August 17, 2018, the Nano beta network reached a maximum transaction throughput of 756 transactions per second, compared to Bitcoin’s 7 transactions per second.
We at NOS are confident that next-gen payment cryptocurrencies like Nano or Nollar have the potential to replace traditional payment cryptocurrencies and meet the technical requirements to compete with the traditional financial institutions involved in the process of moving money around the world.