⁉️Challenge-Response
PoP attests to two facts. That the machine actively consumed or produced energy and that the machine can prove data availability and integrity as stated by its CID notarization.
Last updated
PoP attests to two facts. That the machine actively consumed or produced energy and that the machine can prove data availability and integrity as stated by its CID notarization.
Last updated
At the end of an epoch (2 min), the proposing Validator initiates the PoP-related challenge response by sending MQTT messages to the challenger and the challengee (see Actor Selection paragraph).
The initialized challenge-response process is described below:
Challenger and challengee request the details of the PoP by calling /planetmint/dao/challenge/{height}.
The challenger selects a random CID
from a list of CIDs for a certain period provided by calling /planetmint/dao/address/{address}/{lookupPeriodInMin} .
The challenger subscribes to the PoPChallengeResult-
topic of the challangee (stat/<challangee-address>/POPCHALLENGERESULT
).
The challenger sends the cmnd/<challangee-address>/PoPChallenge <CID>
command to the challengee.
The challengee looks up the corresponding CID data and transfers it to the challenger via the POPCHALLENGERESULT
command.
The challenger receives the data via the subscribed topic and computes the CID'
of the provided content.
The challenger notarizes a ReportPopResult message with Success = true
if the computed CID'
equals the requested CID
and Success = false
, otherwise.
The challenger unsubscribes from stat/<challangee-address>/POPCHALLENGERESULT
.