Last week, NEO developers upgraded their network’s mainnet consensus nodes, including the core consensus protocol. The updated delegated Byzantine Fault Tolerance (dBFT) consensus mechanism is designed to provide strict one-block finality, a challenge both in terms of technical specification and research.
The new features are expected to reduce the need for network maintenance and downtime, as well as their impact on the running processes of decentralized applications.
These instability issues may have delayed or prevented NEP-5 tokens from being listed on individual exchanges. Guardian Circle, which utilizes a NEP-5 token for their decentralized emergency response service, is a possible case in point.
According to Guardian Circle CEO Mark Jeffrey, “for a year, several exchanges we’ve spoken with refused to list $GUARD or any NEP-5 tokens because of the inherent instability of NEO nodes.”
What was the problem?
The issues with downtime and maintenance became evident as far back as September of 2018, but were partially resolved in instances such as PR 320: Stage 3 of dBFT.
According to Vitor Coehlo of NeoResearch, the recent “network instability was due to lack of a recover mechanism, which [can now] recover [downed] nodes from local failures and network issues.”
Another problem affecting the previous version was block forks. According to EdgeDLT, a moderator of the r/NEO subreddit:
“block forks were caused when a consensus node would validate a block, but then lose its connection. The other nodes would start on a replacement block, but then if that faulty node reconnected, it could share that newly orphaned block to the rest of the network. Consensus itself would be fine, but network nodes that accepted the orphaned block would get stuck.”EdgeDLT, Moderator of /r/NEO
While these periods of downtime didn’t put project or dApp data at risk, they did cause transaction delays lasting for minutes and sometimes hours at a time.
With these problems causing significant disruptions for blockchain users, NEO core and community developers collaborated to develop an update to NEO’s consensus protocol and node software.
Consensus Protocol Improvement
NeoResearch is a NEO community developer group based out of Latin America, which contributes to core code, distributes rewards for contributing to the ecosystem, and much more.
The team was instrumental in contributing to the updates to dBFT v2.0. “[C]ompared to dBFT 1.0, the changes are minor,” said NeoResearch founders, Vitor and Igor Coelho. [B]ut [we] believe that dBFT 2.0 [can become] a living template for other future projects.”
The updates improved the reliability and stability of the consensus mechanism, reducing the frequency of delays caused by node failures (i.e., duplicate blocks). Further, the update incorporates a new regeneration strategy for recovering faulty or disconnected nodes more quickly.
According to NEO Economy founder Vincent Geneste, the graph above shows “that block rates have drastically lowered since the upgrade went live.” Block times, which previously averaged 20 to 30 seconds, instantly went back down to 15-20 seconds. There are now only occasional spikes to 30 seconds or longer.
The improved dBFT protocol should provide a better experience for dApp developers by removing block forks. “[T]he whole process of running a node to interact with the blockchain will become much lower maintenance,” said EdgeDLT.
Improved Fee Definitions
In addition to the consensus update, neo-cli, the software tasked with operating dBFT 2.0 on the consensus nodes, was upgraded to v2.10.2.
The new version of neo-cli has a more precise definition of transaction priorities and the way fees are calculated. The new priority mechanism differentiates transactions based on their size and network fee.
With the new update, any transaction that is less than 1,024 bytes and pays a network fee of less than 0.001 GAS, will be placed in the “low priority” list. Only 20 of these transactions are allowed in each block.
Any transaction may be placed in the “high priority” list by attaching a network fee of 0.001 GAS or higher. However, slots are limited to 500 per block when no free transaction is pending.
In this sense, transactions larger than 1,024 bytes will now be charged a mandatory fee of 0.001 GAS, as well as an additional fee of 0.00001 GAS per byte over 1,024. However, the conversation surrounding larger transactions is still ongoing.
More Robust Than Ever?
NEO’s Community developers are optimistic about the updates to the consensus mechanism and new fee structure. City of Zion co-founder Tyler Adams pointed out that it could reduce “network congestion due to spam transactions,” as well as other historical issues in the NEO blockchain.
“With these updates,” he added, “the platform is more robust than ever.”
dApp developers and project leads are already looking forward to the benefits of true finality on the upgraded blockchain. In the case of Guardian Circle, Jeffrey iterated, “our hope is that this Mainnet update fixes the stability issues at last and NEP-5 listings can proceed.”
Credit: Source link