Public blockchain Aurora Chain has published a new feature – Upgradable Block, which brings more flexibility and utility to the public chain landscape. Developers using Aurora chain will be able to enjoy the latest features that Aurora brings and reduce cases of hard forking.
Hard forking has been a prevalent issue during the blockchain industry’s short history. Bitcoin alone has more than 6 hard forks including Bitcoin Classic and Bitcoin Cash. Furthermore, the already forked Bitcoin Cash forked again last year by it’s two major mining pools, creating BCHABC and BCHSV.
While hard forks can be a good way to gain attention in social media, ultimately it lowered the utility of bitcoins and undermined its mining capability. For more up-to-date and advanced blockchains, this could potentially be catastrophic. As a result, the Aurora tech team developed a solution that can reduce this risk.
The solution requires mining agents or agent candidates to vote for upgrading the blockchain within a 14 day limit. When votes for an upgrade exceeds the total number of voting agents and agent candidates, this upgrade passes and a block height will be chosen for implementing the new upgrade.
An upgrade should include URL of the version released on Github, the version code, description of the update and md5 information of the new upgrade.
When the upgrading program on the network receives an upgrading request, it will automatically retrieve the new release and proceed to verify this version. Once the verification is successful, the test network will be activated.
“This is a major step for us, we’ve been aware of the scalability issues that the industry is facing.”
Users can try this new version on the test network. If any problems or glitches occur before the implementation of the release, the agent that requested the upgrade can put the upgrade to a halt. Until the halt is revoked, the upgrade will not be carried out even if the network reaches the agreed block height.
The solution has two smart contracts and an upgrade control:
Smart contract A manages the upgrade smart contract, which is smart contract B. It can substitute the old version of the blockchain code with the new one
Smart contract B regulates the process of voting and retrieving of an upgrade. It supervises 5 major parts of the solution:
- Agents and Agent node candidate votings
- Other mining agents or agent candidates participating in the voting process
- The upgrade is passed when “Yes” votes exceed 2/3 of the total number of the mining agents and agent candidates
- The agent that requests the upgrade can halt the upgrading process in case of emergency
- The agent that requests the upgrade can resume the upgrading process
Upgrading control has three purposes:
- To oversee the whole network, supervise the initiation, processing, and pausing/abandoning the upgrade.
- Monitor the communication between contract A and contract b,
- Optimize the concurrence of Testnet and Mainnet.
Aurora chain CEO Aqua Zhao commented:
“This is a major step for us, we’ve been aware of the scalability issues that the industry is facing. Our network is already faster than most public chains, however ‘Upgradable Blockchain’ further boosts our scalability and utility.”