Zilliqa Project Update #31 — End of Bootstrap Phase

There’s a lot going on in the Zilliqa pipeline, as always. The highlight, as you might have read about in our Twitter and community channel announcements, is that we have come to the end of the bootstrap phase.

Greetings everyone!

There’s a lot going on in the Zilliqa pipeline, as always. The highlight, as you might have read about in our Twitter and community channel announcements, is that we have come to the end of the bootstrap phase. We would like to take this opportunity to thank the growing community for their support during this time — it is truly appreciated. During this phase, we worked through some issues, which are to be expected for a new large-scale decentralized network, and have taken measures to resolve issues and improve the overall quality of the Zilliqa platform.

What comes after the bootstrap phase?

  • People have already begun to use the network to process transactions
  • Miners can start to transfer their tokens to other accounts
  • Community developers can begin trying out payment services

To secure the success of token swap (which is scheduled to start in late April), and better support exchanges and wallets, we have opened the network to only allow payment transactions, i.e., the smart contract feature of the network will be temporarily disabled. We will enable smart contracts on the mainnet via a network upgrade following the token swap, and share updates on the official date during the latter half of May 2019.

Zilliqa’s Experts in Forbes

We are thrilled to share that two members of our community have been nominated in the Forbes 30 under 30 Asia List 2019.

Jia Yaoqi, our co-founder and CTO has been recognised for his tremendous achievements and leadership in technology. He is not just a leader, but also a scholar. With a PhD from the National University of Singapore under his belt, his research has been acknowledged by Google and Apple. He has also published several papers and received awards for his work on W2SP and ICECCS. Read more here.

Christel Quek, Co-founder of open-source mobile entertainment platform BOLT (and one of Zilliqa’s trusted advisors!), has also been nominated! Christel is truly an inspiration for all, especially women and millenials immersed in technology and digital economy. It is truly an honour to have such distinguished leaders advising our team.

Live Advertising Campaign with Mindshare

In other exciting news, we have completed our first blockchain pilot with Mindshare over the past two months. The blockchain pilot is a live advertising campaign that was shown to audiences in Southeast Asia region over the programmatic advertising network.

Project Proton aims to bring transparency into the advertising network and eliminate wasted ad spends due to advertising fraud. By introducing a blockchain-based solution that automate settlement based on viewability-verification methods, it can help advertisers to create a trusted ecosystem where they have to pay only for the ad impressions that are deemed viewable, brand-safe and free from ad fraud.

We aim to consolidate our results and present the findings in the coming months, and will keep the community updated on the progress.

KCL Blockchain A-Z Workshop — Successful Module I

Last week, Saiba Kataruka, our Marketing Lead, successful kicked off Blockchain A-Z workshop in collaboration with KCL Blockchain Society at King’s College London. Module I, hosted in the iconic Bush House at the Strand Campus of King’s College London, focused on an ‘Introduction to Blockchain’, saw fantastic engagement from over 70 attendees, who ranged from students to seasoned professionals, all from various fields. It is quite exciting to see such interaction and interest within blockchain, and it will only continue to grow!

Saiba is now set to deliver the three subsequent modules of his workshop which will cover Use Cases of Blockchain, Launching apps on Blockchain and a Demo Day. We will continue to share updates with you on this fantastic initiative. All those interested are encouraged to sign up on Eventbrite and are also urged to apply for Zilliqa’s Ecosystem Grant Programme, which has a grant pool of $5 million. Here are some pictures of the workshop..

Previous Events

At a recently held Money 20/20 Asia panel, Max Kantelia discussed the importance of high throughput private and public blockchain with industry experts Dovey Wan — Co-Founder of Primitive Ventures; Jeff McDonald — Co-Founder of NEM Foundation and Asheesh Birla — SVP of Product at Ripple.

Earlier this week, Max Kantelia also spoke about the future of blockchain technology and its applications for businesses and consumers at London Blockchain Week.

Upcoming Events

Feel free to reach out if you would like to connect with us at any of our upcoming events.

April

May

Tech Updates

The mainnet’s bootstrap phase has come to a close, and the core tech team worked hard over the final two weeks of this phase to upgrade the mainnet to the latest version 4.4.0 and its subsequent hotfix version 4.4.1. Apart from the security and functional fixes that we regularly introduce in each upgrade, the major improvements in version 4.4.0 revolve around storage, mining, and usability.

On the topic of storage, we noticed during testing that our merkle trie data structure can grow significantly large due to the fact that every update to every account gets added to the trie as a new entry. Moreover, it is unnecessary for our protocol to retain the older entries for those same accounts due to the finality of each epoch. The fix for this storage issue is to periodically refresh the trie (i.e., recreate the account states) after several DS epochs, at the expense of some processing time. Since transactions (and updating of accounts) are processed only after the bootstrap phase, it was therefore obviously important to push in this fix before the end of the phase.

Version 4.4.0 also introduced the new incremental database feature. This feature basically allows new nodes joining the network to first download older blocks from our AWS storage. Afterwards, the remainder of the sync-up process will then be done through the lookup nodes. This alleviates the lookups from having to entertain too many requests for large amounts of historical data from new nodes.

For the mining code update, the most notable one involves the introduction of a new difficulty adjustment algorithm. Miners may have observed during the bootstrap phase that the network would periodically lose and regain an entire shard. Every time the difficulty value increases by one, the actual difficulty doubles, requiring a doubling of the hashrate with it. The nodes were able to keep up with the hashrate requirement up until recently, at which point the shard drop began to occur with regularity. To address this issue, we integrated the code proposed by one of our community contributors (deepgully). In the new code, the difficulty step increases by one only up to a certain point, after which fractional increments then take over. With the fractional increments, the increase in the required hashrate follows a smoother, more gradual trajectory, effectively avoiding the shard drop observed.

In our continued efforts to improve usability for our miners, we have added the option for enabling an API server in community nodes. With the server enabled, basic information can be more easily retrieved from the node. This information includes the current state of the node, the latest DS and Tx epochs, and the members of the DS committee. We’ll continue to build up this feature to add more relevant information when necessary.

Finally, the Zilliqa code base leverages on multiple open source tools, and in the spirit of contributing to these projects, the core tech team helped fix a vulnerability in the libjson-rpc-cpp framework. Libjson-rpc-cpp is an open source framework that provides cross-platform JSON-RPC (a remote procedure call protocol) support for C++. The framework previously was not able to handle certain malformed JSON messages. Our code fix was submitted (see https://github.com/cinemast/libjson-rpc-cpp/pull/264) and subsequently accepted and released in libjson-rpc-cpp version 1.2.0 (see https://github.com/cinemast/libjson-rpc-cpp/releases/tag/v1.2.0).

The end of the bootstrap phase doesn’t change the status quo. Users can continue to expect the core tech team to work dedicatedly on bug fixes, improvements, and new innovative features as we strive to perfect the system.

Scilla Interpreter

Core interpreter: We have finished implementing support for external libraries in Scilla. With this, libraries are now imported and built into a tree structure, capturing their dependencies. The scope of an imported library is limited to its immediate importer. In case of name clashes between two immediate imports, an error is raised. There is a pending issue to add namespaces to help users avoid name clashes. Since it is not urgent, it will be taken on at a later time. We recall readers that library support will allow smart contract developers to write longer and more involved contracts as a contract’s library component may now be separated from its non-library component and be deployed separately.

Static analysers: We have spent some time fixing bugs in the cashflow analyser, and worked on a few documentation issues. We have also been working on the gas analyser, to which we have added code to bail-out in case of unsolvable/unrecognized recurrences. We are also working on managing containers a bit differently to enable recognizing recurrences for non-linear programs.

For our new readers, we would like to inform that Scilla’s design makes it easier to write static analysers. To this end, we have been working on two distinct analysers namely: the cashflow analyser and the gas analyser. The former checks whether a given contract handles money correctly while the latter one estimates the gas cost (as a function of certain input and contract parameters) to be paid in order to invoke a transition.

Design of future components: The Scilla language and the interpreter is now sufficiently mature and as a result, we are now looking into ways to improve the performance and usability aspects of the language. To this end, we have been actively working during the last two weeks on architecting several designs.

For example, on the usability side, we have been fleshing out ideas for a higher-level language on top of Scilla, which led to a number of discussions about current and future challenges with Scilla. In particular, we have decided to add procedures/subroutines to Scilla, which would limit code duplication in Scilla contracts. This could also lead to iterators being added to the language, although some design kinks need to be worked out before that happens.

On the performance side, we have been looking into the design of an efficient backend for Scilla. More details will follow in due course.

Zilliqa in the News

Our CTO Yaoqi was included in this year’s Forbes 30 Under 30 Asia list as one of the top tech innovators in the region making waves in enterprise technology:

Our CEO Xinshu participated on a panel discussion on smart contract platforms during this year’s TOKEN 2049. If you were unable to make it, watch it now and hear his thoughts on our vision for Zilliqa as a smart contract platform, the development of Scilla, what it takes to build and nurture a blockchain community, and the importance of use cases to further mainstream adoption:

Our CEO Xinshu speaks with DecryptAsia on the recent mainnet launch and where he sees the future of the blockchain industry as projects work to develop solutions that serve to enrich the blockchain ecosystem.

Curious about what it takes to become a blockchain developer? Our Application Lead Edison shares his experiences as a blockchain developer and the state of the industry today from a developer’s perspective:

Our Developer Marketing Lead Saiba shares why education is a critical priority for the Zilliqa team and his thoughts on the current state of blockchain education initiatives in the industry:

Our Head of Business Development En Hui reflects on Cboe’s recent announcement that it will no longer be adding new Bitcoin futures contracts and why this shouldn’t be a cause for concern:

Did you hear? We’ve partnered with Unstoppable Domains to launch .zil, a blockchain domain system with multi-currency support.

Need a bit of a primer on our consensus protocol? Captain Altcoin included us as one of the industry’s blockchain projects using Practical Byzantine Fault Tolerance.

That’s all for now! 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)