⁉️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.
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 computedCID'
equals the requestedCID
andSuccess = false
, otherwise.The challenger unsubscribes from
stat/<challangee-address>/POPCHALLENGERESULT
.
Last updated