This is a notice that Node Registration will be undergoing a temporary breaking change update on Testnet
From: October 21 through October 25
What is the change
Node registrations into the Flow protocol are managed by the Flow core-contracts (FlowIDTableStaking, FlowStakingCollection, LockedTokens). As part of implementing the PoP scheme, these node registration core contracts will get updated to read the staking PoP data from registration requests and make sure they match the staking public key provided.
In order to test the new core-contract changes, as well as other node staking tools like Flow-Port and the Flow application on Ledger Hardware Wallet, we would need to temporarily update the Testnet core-contracts. This will be a breaking change for node registration on Testnet for 5 days starting on October 21.
The contracts will be reverted to their current version after the testing phase ends on October 25 . The permanent contract update and the permanent breaking change to the node registration process will happen at a future date and will be announced for with enough notice. This will be accompanied with an update to the staking and registration tools provided to node operators.
The Testnet core-contracts and functions impacted by the change are:
- FlowIDTableStaking (addNodeRecord function)
- LockedTokens (registerNode function)
- FlowStakingCollection (registerNode function)
Why is the change
Flow internal node communication is authenticated using BLS signatures. Flow protocol takes advantage of multiple BLS multi-signature features, in particular signature aggregation and threshold signatures. BLS aggregations require a defense against rogue key attacks and there are a few schemes Flow can implement to secure the protocol as described by the BLS IEFT draft ( BLS Signatures )
Flow protocol has chosen the Proof of Possession scheme (simply referred to as PoP) to optimize for aggregating signatures on the same message. The PoP scheme is also required to secure the BLS-based SPoCK scheme from rogue key attacks. Nodes registering to participate in the Flow protocol are currently required to provide staking information including their BLS public key (also called staking public key). As Flow moves towards permissionless node participation, The PoP scheme is being implemented into the protocol and is currently being tested.
The PoP scheme requires that a proof of possession of the staking private key is provided along with the staking public key. The protocol only accepts registration requests from new nodes that provide a proof of possession of the private key that matches their public key.