What is Zilliqa? | The Ultimate Beginner’s Guide
Zilliqa is a scalability-focused, blockchain-based payment processing and decentralized application (dapp) platform currently in advanced development.
The core feature allowing Zilliqa to scale beyond what is possible with existing similar platforms, such as Ethereum, is sharding. Sharding refers to dividing the blockchain network into smaller subnetworks that can process transactions and execute computing operations in parallel (at the same time).
Unlike many other platforms in which transaction rates decrease as the network grows, Zilliqa transaction speeds will theoretically increase as the number of network nodes increases. The network should ultimately be able to match the transaction processing speeds of VISA and MasterCard, according to the Zilliqa development team, but with lower fees and without relying on a centralized network.
We’ll take a look at these and other aspects of Zilliqa in this article by exploring the following topics:
- What is Zilliqa?
- The Technology Behind Zilliqa
- How to Buy and Store Zilliqa
Zilliqa began development on June 1, 2017, and had an internal test net (testing network) operational by September 1, 2017. Since then, the project has released: a public test net (December 1, 2017), different types of sharding protocols, persistent data storage, a smart contract language and framework, and a test net wallet. Dapps are scheduled to begin development on the platform in Q3 of 2018. However, since the main net (the first version of Zilliqa’s fully functional, independent, decentralized blockchain network) is not yet operational, their ZIL token is currently an Ethereum based ERC20 token transacted on the Ethereum blockchain. ERC20 tokens will be swapped at main net launch for ZIL blockchain tokens.
Zilliqa (a play on the word silica, the substance that powers the computer industry) is focused on secure, data-driven dapps that require fast transaction times. This could encompass most dapps that operate on a large scale, but is especially important for high-volume auctions, payment networks, digital advertising networks and machine learning applications.
On one recent test on their testnet, Zilliqa executed 2,488 transactions per second with 6 network shards running only 3,600 nodes (network servers that process and confirm transactions) total, compared to Ethereum’s 10 or so transactions per second using four times the number of nodes. (It should be noted that Ethereum is also working on implementing sharding, which will significantly alter this number.)
Like Ethereum, Zilliqa supports smart contracts, but it does so using a new scripting language built specifically for sharding, with the ability to run programs in parallel to make use of the full computational power of the network.
As mentioned, Zilliqa will process more transactions per second as the number of nodes on the network increases. This is the reverse of most blockchain platforms, which tend to yield slower throughput as the network grows. This is because as more nodes join the network, block data (data within groups of transactions) must travel further to be broadcast to the entire network.
Simply put, distributing information among more computers takes longer. Even permissioned, private blockchains are limited by this fact. Zilliqa’s ability to scale in this way is called “linear scaling” and is possible because of sharding.
Although sharding as a concept has existed in the database field for some time, Zilliqa is the first blockchain platform to actually implement it. There are three different ways that Zilliqa performs sharding: Network Sharding, Atomic Transaction Sharding, and Computational Sharding.
Network sharding refers to the process by which the network is broken up into subnetworks. The network sharding protocol uses a consensus algorithm called Proof of Work (PoW) to choose and continually update what is called a directory service committee (DS committee) and to carry out an identity validating process for nodes entering the network. The DS committee coordinates the sharding process and validates blocks of transactions proposed by shards.
Whereas many blockchain platforms (including Bitcoin and Ethereum) use PoW to reach network consensus (where they agree on valid blocks to be added to the blockchain), Zilliqa uses PoW only to prevent Sybil attacks (a type of network attack based on the attacker forging their identity) and to carry out sharding.
A transaction in Zilliqa looks like this: a user initiates a transaction, which is then sent to a shard. The shard validates the transaction, grouping it with other transactions to form a “microblock” of transactions, and a consensus is reached by the shard on the validity of the microblock (more on this below). This microblock is sent to the DS committee, which combines the microblocks into what is called the “final block” and runs a final consensus on this block before adding it to the blockchain.
This network sharding process means that subsets of transactions can be processed in parallel, which results in much faster throughput of transactions than singular blockchain networks.
Zilliqa also uses what is called an atomic transaction sharding protocol, which means it allows transactions to be confirmed by the network in a final operation as if there were no sharding.
This is done through Zilliqa’s “account-based design” in which transactions are sharded based on the accounts sending the transaction. This ensures the same shards can prevent double spending or replay exploits from a given account, while also allowing transaction commits to happen without cross-shard communication, which would make network communications slower and more costly. The same mechanisms allow transactions to be processed at the same time as consensus processes of the blockchain
The final way that Zilliqa uses a sharding process is through a computational sharding framework that allows resource intensive dapps to be run on the network very efficiently.
Computational sharding refers to the ability of the Zilliqa network to run more than one instruction at once, in contrast to other dapp and smart contract platforms such as Ethereum that allow only one instruction at a time to be processed.
Whereas other platforms require computation tasks to be repeated across all network nodes for validation, Zilliqa uses a “dataflow programming paradigm” that allows dapps to run operations in parallel across different nodes in the network. This is done by coordinating the data dependencies between operations and allowing independent operations to be executed by a shard, or even a portion of the nodes in a shard, as soon as the operations have acquired all dependencies (everything they need to run). This in turn allows dapps to run much more quickly and scale to many more transactions than current non-sharding solutions.
Computational sharding also allows users to specify the size of consensus groups that will compute subtasks for a given dapp. These groups can then be used to continually run the same tasks, producing the same results.
One potential downside to the dataflow programming model is that it requires developers to use a new programming language called Scilla. However, Zilliqa plans to provide a front-end language similar to Solidity (Ethereum’s programming language) along with a way to convert these Solidity-like smart contracts into Scilla, which should ease programmers’ transition to the platform.
Zilliqa’s consensus protocol is called Elliptic Curve Based Schnorr Signature Algorithm (EC-Schnorr), and uses a type of “practical byzantine fault tolerance” (PBFT). This enables shards to agree on blocks they propose to the DS Committee and for the DS Committee to reach consensus on the final block. Zilliaqa’s PBFT based protocol is optimized for scaling, with added steps and checks to detect malicious behaviors.
As mentioned earlier, Zilliqa uses Proof of Work (PoW) as a consensus mechanism only to establish network node identity, and thus, it is not performed for every block. This is much more efficient and dramatically reduces the energy footprint of the network compared to blockchains that use PoW for general blockchain consensus.
This is because to be rewarded with tokens, PoW forces nodes to solve arbitrarily difficult mathematical problems—requiring huge amounts of computational resources and power. Even though all computers on the network are working hard to solve the same problem, only one is rewarded for that work, with most of the energy being completely wasted.
Zilliqa adds a new block to the blockchain at regular intervals, and although its block time is not pinned down yet, the team estimates a block time of within 2 minutes based on current tests (assuming a throughput of 2,500 transactions per second).
When a node (AKA miner) successfully “mines” a transaction block, it is rewarded with newly created tokens. The final supply of tokens, called ZIL, will be 21 billion, with the block reward spread out over 10 years and decreasing with time.
80% of tokens will be mined in the first 4 years, with the remaining 20% spread over the next 6 years. Token emission reductions will happen gradually. After 10 years, Zilliqa aims to have a network functioning at sufficient scale, with a stable and high enough token price to ensure that transaction fees will be able to sustain the network.
Zilliqa’s smart contract language, Scilla, has these features:
- Data sharing between smart contracts via virtual memory space.
- 2-phase commit for atomic execution.
- A way to easily compute MapReduce tasks (a programming model and implementation for processing and generating big data sets that can use a parallel, distributed algorithm).
- Flexible security budgeting via computational sharding.
As mentioned, Zilliqa’s smart contracts use a dataflow programming architecture that makes it possible to execute dapp operations in parallel, thus making use of the transaction sharding architecture. The Zilliqa team’s goal is to develop the Scilla language so that mutable (alterable) smart contracts can be implemented in a secure way. This would allow bugs to be easily fixed and for the contracts to be modified if user needs change. Such immutability of blockchain based smart contracts is why some projects, such as NEM, for example, choose not to run smart contracts on the public blockchain.
Finally, unlike Ethereum’s smart contract programming language, for example, Zilliqa’s language will not be Turing complete. The Zilliqa team believes this will make it less prone to bugs, since it will be simpler.
You can purchase Zilliqa on Binance, Huobi, IDEX, and Gate.io.
Since it is best not to store cryptocurrencies on exchanges due to security concerns, we recommend using any compatible ERC20 wallet where you can hold the private keys (which you may need to get your new ZIL tokens when the main net launches). These include MyEtherWallet, MyCrypto, or Coinfy.
As popular cryptocurrencies such as Bitcoin and Ethereum have become increasingly slow in recent months with wider use, scalability has become a hot topic in the cryptocurrency space. It’s no surprise then that Zilliqa has gained a lot of attention in the market recently by claiming to solve the low throughput blockchain problem.
With its multi-layered sharding solution that claims to only get faster with the growing size of the network, it wouldn’t be surprising if the platform became one of the top cryptocurrencies in coming years—assuming the team can deliver on their promises. If, on the other hand, the platform fails to perform as a user-friendly option for implementing blockchain technology on an organizational level, it may have difficulty competing with other platforms designed for the speed and usability needed for mainstream adoption.