Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New node registration transaction (with proof of possession) #110

Open
wants to merge 18 commits into
base: tarak/update-zxlib
Choose a base branch
from

Conversation

tarakby
Copy link

@tarakby tarakby commented Nov 1, 2024

Change:

The PR adds a new transaction SCO.17 to register a node to the network using a new extra parameter: the proof of possession of a staking private key.

The PR keeps the old version of the node registration transaction SCO.03 (without the extra parameter) for backward compatibility of the Hardware wallet. The clients (currently flow-port) would call SCO.17 or SCO.03 depending on the transaction version supported by the chain.
Currently, the old the transaction version only is supported. In the near future, only the new transaction version (added by this PR) will be supported though an on-chain contract upgrade. The old version will become obsolete and can be removed from the flow ledger app.

What's the proof of possession of the private key:

Flow protocol uses BLS signature to authenticate participating nodes in the protocol, including the proof of stake consensus algorithm. BLS signature aggregation requires a mechanism to prevent rogue key attacks. The mechanism chosen in the Flow protocol is called the proof of possession (PoP) of the private key. This requires the nodes to present a public proof of knowing the staking private key corresponding to the staking public key they submit to the network. The new registration transaction SCO.17 is the transaction node operators use to submit their public info to the network, including the PoP of the staking private key.

@tarakby tarakby changed the title Tarak/develop pop New node registration transaction (with proof of possession) Nov 2, 2024
@tarakby tarakby changed the base branch from develop to tarak/update-zxlib January 2, 2025 22:19
@tarakby tarakby force-pushed the tarak/develop-pop branch from 20940c8 to 46e9a48 Compare January 3, 2025 00:39
@tarakby tarakby marked this pull request as ready for review January 3, 2025 10:58
@tarakby tarakby self-assigned this Jan 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant