Commit Reveal

A mechanism that prevents validators from copying each other's weights by keeping them hidden until the blockchain automatically reveals them.

When validators submit weights openly, other validators can see those scores and copy them instead of doing their own work. This undermines the purpose of having multiple independent validators, if everyone copies the top validator the subnet loses the diversity of evaluation that makes Yuma Consensus reliable.

Commit reveal solves this by hiding weights during the period when copying would be possible. Validators submit encrypted weights that nobody can read. The weights only become visible after the window for copying has passed.

The process has two phases. In the commit phase, a validator encrypts their weights using timelock encryption and submits the encrypted data to the blockchain. The encryption is tied to a future randomness value from an external source (drand), meaning nobody can decrypt the weights early (not even the validator who submitted them).

In the reveal phase, the blockchain automatically decrypts and applies the weights. The validator does not need to do anything manually, the blockchain handles the reveal on its own.

TIMELOCK ENCRYPTION

Timelock encryption locks data so that it can only be decrypted after a specific point in time. The encryption uses a future random value from drand (a distributed randomness beacon). Until drand publishes that value, the encrypted data remains unreadable.

From a validator's perspective, the process is straightforward encrypting their weights, submitting them, and the blockchain takes care of the rest. The benefit is that during the time between committing and revealing, no other validator can see their scores. By the time the weights become visible, it is too late for anyone to copy them.

Leave a Comment

Sign In

Comments (0)

Comments may be translated automatically.