Witnet-Rust 1.3.0 Introduces TAPI: Threshold Activation of Protocol Improvements

This innovative mechanism allows for no-drama protocol upgrades, as it delays activation of new protocol rules until a supermajority of Witnet miners have signaled support for them.

Adán Sánchez de Pedro
The Witnet Oracle Blog

--

What is TAPI

TAPI stands for Threshold Activation of Protocol Improvements.

TAPI, as specified by Witnet Improvement Proposal 0014, allows the Witnet network to upgrade the protocol and its validation rules without any significant segmentation risk, aka hard forks.

The mechanism allows mining nodes to signal support for specific network upgrades — normally one or more Witnet Improvement Proposals — by embedding special bits in the blocks they mine.

For a network upgrade to be activated, more than 80% of the blocks mined over a fixed 2–weeks period need to be signaling support for it. On the contrary, if the 80% threshold is not met, the upgrade will remain inactive and the 2-weeks period will be reset.

What TAPI is not

TAPI is not a governance mechanism. When we say “support for”, we are not referring to social acceptance or approval of protocol improvement proposals or WIPs but rather to whether the software actually includes code that implements a set of protocol rules, and is ready to enforce those rules.

By the time a Witnet Improvement Proposal is signaled through TAPI, it needs to be in the Proposed stage, which means that it has already been extensively discussed, reviewed and vetted by the Witnet community at large.

The point of TAPI is simply to prevent the situation in which some part of the network has upgraded to the latest protocol rules, but a similar number of miners have still not done so, which would cause a nearly immediate superblock rollback episode. If this situation continued for a while, chances were that at some point the upgraded and non-upgraded chains would consolidate different superblocks, thus causing an irreversible hard fork.

The origins of TAPI

A mechanism like this has been lingering the minds of the Witnet development community for quite a while.

However, it was the launch of Witnet-Rust 1.2 which put TAPI into the front of the agenda. By the 1.2 activation date on April 28, only a rough half of the network had upgraded, leading to a lengthy superblock rollback episode, and causing some nodes to lag behind or simply fork away from the main chain.

Activation of TAPI

TAPI has an initial activation date set to July 13 2021 at 9am UTC.

Node operators can start upgrading their nodes to Witnet-Rust 1.3.0 immediately, following the same standard procedure as always.

Upgrading before the activation date is highly encouraged. However, as the activation of TAPI will be using TAPI itself, the soonest that TAPI can actually enter into force is July 27, because of the 2-weeks signaling period. Up until the eventual activation — either on July 27, August 10, or whenever it takes place — nodes can safely upgrade without any risk of local hard fork.

Along with TAPI, Witnet-Rust 1.3.0 will be also introducing WIP-0016, which sets a maximum threshold when computing data request eligibility. WIP-0016 will only be activated once TAPI itself is activated.

The Witnet community is full of unstoppable BUIDLers. Stay tuned, because there are many more surprises coming this summer!

--

--

Adán Sánchez de Pedro
The Witnet Oracle Blog

@Witnet_io board member, CTO at @StamperyCo, founder of @LoquiIM. Microelectronics aficionado. I write code, give talks, make music, brew beer and laugh a lot.