FHE Validation for POS

šŸ” Proof of Stake (POS) is a consensus mechanism where stakeholder voting power determines validation results. POS is widely used in blockchain, AI, DePin and other decentralised worlds. For example, vote if Ethereum status is the longest chain to avoid unnecessary forks, can vote if Bittensor select the best performed models, can vote if IoTex conducts fair community governance, and so on.

šŸ¤ FHE Validation focuses on preventing "collusion" risk, a dark shadow exists from day 1 of POS. Vitalik discussed it in 2016, 2019, and 2024, echoed widely by others recently, for example Ethereum, Polkadot, and Binance. A short summary of "collusion" risk is caused by stakers who have "clue" with each other. For example, if a16z voted "no" in a proposal, it could influence other nodes who saw a16z's vote also to vote "no". To increase difficulty of "collusion" risk, the current used solution is to randomise validators selection. It is acceptable in super large networks like Ethereum which has more than 8192 validators, but not in small networks which only have a few hundreds or even dozens of validators or even less. It is because a small number of validators could accumulate a significant amount of tokens and control a large portion of the network's decision-making power, which is called "POS timebomb" and the communities have already seen in several networks.

šŸ›”ļø FHE Validation addresses "collusion" risk by encrypting votes, ensuring privacy while achieving consensus. It is due to the nature of FHE to enable computation directly on encrypted data without decryption. While the mathematical details of FHE are complex, its basics can be illustrated as follows:

  1. Alice encrypts her value privately.

  2. Alice sends the encrypted value to Bob for computation.

  3. Bob computes the function on the encrypted data and returns the result.

  4. Alice decrypts the result to obtain the final value.

šŸ”’ With FHE, POS is developed into a consensus of mathematical production of stake by encrypted vote. Being different from classical POS, before and after voting, each validator node can not see what others have votes and is called "private voting", but their encrypted votes can reach consensus with FHE. Without "clue", validators are enforced to make independent decisions. You can see from the diagram below as an example. As you can see in the above diagram, to be independent, the validator does everything the same, apart from only needing to encrypt the votes. So FHE validators do not add too much extra effort.

šŸ” In Mind Network, FHE validators vote for subnets and are known as Subnet Independent Validators (SIV). This improved POS mechanism is termed POSIV (POS with Independent Validation). We've developed an SDK in multiple languages to facilitate FHE Validation. SIVs encrypt their votes using a specified FHE Public Key and submit them to the FHE Validation Consensus. To participate in validation, SIVs must register, meet staking criteria, and opt-in to specific validation tasks, which will be discussed further in remote staking.

/*SIV SDK key functions */
// load fhe public key required by validation task
public async loadFhePk(fhePk: bigint)
// to encrypt votes with FHE
public async fheEncrypt(vote: bigint) 
// to sign with wallet and send the encrypted votes to chain
public async signSendFheEncrypted(encryptedVote: bigint)

Last updated