On 23rd July, Zilliqa released its 13th update of ‘Building on Zilliqa’ on its official Medium blog. These updates include the team’s latest efforts on the core blockchain protocol, dev ops, consensus layer and more. They also talk about the progress made in each area.
Zilliqa has migrated its public Testnet to Kubernetes, post the launch of Testnet 2.0. The Testnet components running on Kubernetes clusters are maintained on AWS Cloud and include Zilliqa Wallet, Zilliqa Explorer and Testnet nodes. The team has also combined the functioning of product delivery with the internal development to better suit its engineers.
Kubernetes is a container-centric management platform and organizes the infrastructures involved in computing, storage and networking for user workloads. This facilitates portability across infrastructure by blending the simplicity of Platform as a Service [PaaS] with the flexibility of Infrastructure as a Service [IaaS]. Kubernetes has also helped Zilliqa detect multiple issues that are only visible in Testnets on large-scale.
A pull request template was also created by the Dev Ops team on Github to smoothen out a developer’s experience when coding on the Zilliqa codebase. The template acts as a instructions’ guide and displays the details of the changes made by the developer.
A pull request is sent on Github to notify other parties of the recently made changes in the repository. This is done in order for them to discuss these modifications, make changes and opt for a push-follow up if felt necessary. Zilliqa has made efforts to enhance its pull request management system as it believes that its fast moving development team requires it. Regarding the same, Zilliqa in its blog wrote:
“To this end, we have created a PR tracking board in the projects section in the Github repository, which would show what every team member is working on and the PRs that need reviewing. The team will pilot the usability of this board next week and see if reviewing and merging becomes easier to manage moving forward.”
To manage broken messages in the consensus protocol, the team has tweaked the consensus layer to bring multiple improvements in the respective layer.
Error Codes in the Consensus Layer
Consensus process gives rise to many kinds of errors. Of late, the team has enhanced its consensus layer by implementing functions that exhibit errors, along with its string in the error code. This feature was inspired by Linux error number.
Out-of-Order Consensus Messages
Out-of-order consensus messages are broken and can be the reason for consensus failure. Ordering is a major part of verifying the ‘honest nodes’. This is because the next step is always dependent on the preceding one. For instance, an announcement regarding a block is made by the leader. This is followed by a multi-signature protocol run by other nodes [S1]. A similar step is repeated the second time [S2] to fetch the ultimate results.
In a new hotfix, the nodes will be blocked, processing consensus to read the messages in the right order. The blog also read:
“We have also fixed other out-of-order issues. For instance, synchronization between announcements at shard-level and the DS-level so as to ensure that operations at the DS-level are handled after operations at the shard-level have terminated.”
These are only a few significant updates brought by the Zilliqa team in its Update #13.