Zilliqa Project Update
— Upcoming Mainnet Launch: What to Expect
It has been around a year and a half since we made the first commit to our GitHub repository (under the initial project name nuQoin). With that first commit, we set out to build a secure and scalable blockchain platform. Now, after picking a much better name, and more than 7,000 commits and countless hours later, we eagerly await the upcoming launch of our mainnet on January 31, 2019.
Revisiting the beginning, it has been a very unique scientific and engineering journey for us. We have had learnings at each step, faced unforeseen challenges and refined the protocol designs whenever required. Along the way, we have been enormously helped by the community on various technical and non-technical aspects. Our heartfelt thanks go to them for their tenacious support to the project. This accomplishment is just as much yours as it is ours. Congratulations!
In this post, we would like to share in a bit more detail the features available on the Zilliqa mainnet when launched, and mechanisms to secure the nascent network.
Mainnet Features
At Zilliqa, our goal has always been to build a better blockchain platform — one that will be capable of powering an ecosystem of decentralised applications and products. In particular, we focus on creating a platform that will bring real value to the end user and drive meaningful adoption of blockchain technology. For any application to be viable, it is imperative that the platform it is built on is not only robust and scalable, but most importantly, secure. That is why security is a key priority for us and drives a great deal of our decision-making.
The upcoming mainnet is bundled with novel features with sharding at the core. Below we discuss some of the core features of the Zilliqa mainnet:
Sharding: The network supports transaction sharding for both regular payment transactions and those that invoke smart contracts. Processing smart contract transactions on a sharded architecture come with its own set of challenges. To learn more about Zilliqa’s approach to the problem, check out this blog post.
PBFT-style blockchain: Zilliqa will be one of the very few PBFT-style (for Practical Byzantine Fault Tolerance) blockchains available today. A PBFT-style consensus mechanism is efficient and gives finality to transactions so that confirmations are not required.
Safe smart contracts: The protocol comes shipped with a new smart contract language named Scilla. The language has been designed to eliminate many known vulnerabilities in existing smart contracts and make them amenable to formal verification.
Dual and eco-friendly mining: It is possible to dual mine an Ethash-based PoW blockchain such as Ethereum and Zilliqa. This comes from the fact that Zilliqa uses a combination of PoW and PBFT, where, PoW is only used for Sybil resistance, while, PBFT is used for consensus. Since the PoW period on Zilliqa will last for roughly 1 min every 2–3 hours, we believe that the energy footprint of mining on Zilliqa will be much smaller compared to the blockchains that use PoW to reach consensus on every block.
Low variance in block rewards: The protocol employs a novel incentive mechanism to reward miners by measuring their contributions in the consensus protocol. As a result, thousands of (or more) miners may get rewarded for a single block resulting in low variance.
Securing the Initial Network against Potential Attacks
As with other blockchains such as Bitcoin and Ethereum, the Zilliqa blockchain network is capable of processing transactions and maintaining the global state of a distributed ledger. Unfortunately, though, there are some critical differences between different blockchain networks with regard to potential attackers. On the one hand, Bitcoin grew organically with little valuation at the start, while Zilliqa, on the other hand, bears a considerable value today. This difference in valuation leads to threat models when the Zilliqa network is nascent which were not necessarily a serious concern for a network like Bitcoin when it first started.
With this in mind, the Zilliqa mainnet will be released with protection mechanisms and conservative settings to minimize the chance of attacks on the nascent network. We describe these mechanisms in further detail:
Bootstrap phase: We will first launch the network in a bootstrap phase. We expect that it will take some time to gather the computing power required for our blockchain to run faster, more efficiently, and more securely. We need to ensure that our network is protected against attacks during this initial launch period when the hash power is relatively low.
During the bootstrap phase, miners will get mining rewards, but no transactions will be processed. Once a set number of blocks are mined, this bootstrap phase will automatically end — we anticipate this to happen around March 2019.
Guard nodes: During the nascent stage of the new Zilliqa network, we have a mechanism in place that will automatically spawn new nodes to join the network for safeguarding purposes (guard nodes). The number of such nodes are dynamically adjusted and will increase whenever the network is to fall below the expected size, or significant instability is detected. These nodes will be run by the Zilliqa team and will make it easier for us to quickly fix any bugs or issues that may appear post-mainnet release. To ensure such nodes are able to join the network even under adversarial circumstances, these nodes are given higher priority in the PoW phase and thus are not awarded any mining rewards for fairness to other nodes.
Over time, the number of guard nodes will gradually be lowered as the network stabilizes and the mining difficulty increases, and eventually be replaced by other nodes run by the community.
Lookup & Seed nodes: For a high throughput blockchain like Zilliqa that is expected to generate a huge amount of data rapidly, it is untenable to expect all nodes to store the entire transaction history. Although not every client or decentralized application would require such information, certain applications such as block explorers, exchanges and wallets require it to function.
In Zilliqa, we offload the full storage responsibility from the nodes that run consensus, while setting up lookup nodes and seed nodes to maintain the transaction history and the global state of the blockchain. For added communication efficiency and resilience against Denial-of-Service (DoS) attacks, the upcoming Zilliqa mainnet leverages seed nodes as the gateway for users and clients to access the Zilliqa network. Seed nodes further consolidate all users’ transaction requests before forwarding them to the lookup nodes, initially run by the Zilliqa team. Potentially hosted by the Zilliqa team, exchanges, wallets, explorers, and as well as the community over time, seed nodes serve as direct access points for end users and clients.
Currently, we have plans ahead to design a secure and efficient protocol to further decentralize lookup/seed nodes, rendering the network more open.
With the launch of the Zilliqa mainnet, we will be taking a big step towards exciting opportunities for adoption of the platform. Moving forward, the team will continue upholding the high standards in blockchain innovation and work closely with the community and different industries to bring real-world use cases to the platform.
We be sharing more about our future plans and developments when we launch our mainnet on January 31.
As always, please feel free to connect with us in any of our social channels:
Discourse Forum: https://forum.zilliqa.com/
Telegram: https://t.me/zilliqachat
Slack: https://invite.zilliqa.com/
Twitter: https://twitter.com/zilliqa
Reddit: https://www.reddit.com/r/zilliqa/
Github: https://github.com/Zilliqa/zilliqa
Gitter: https://gitter.im/Zilliqa/ (Dev-related topics including the Ecosystem Grant)