verifier_42-contract-lab/docs/IVerifier.md

2.2 KiB

Overview

The IVerifier interface defines a flexible verification mechanism for the ChunkNet protocol, enabling decentralized content validation through a robust challenge and submission workflow.

Interface

Function Parameters Returns Description
submitVerification contentHash, proofData, challengePeriod submissionId Submit content for verification
challengeSubmission submissionId, challengeProof challengeAccepted Challenge an existing submission
getSubmissionStatus submissionId VerificationStatus Retrieve current submission status
getSubmissionDetails submissionId VerificationSubmission Retrieve full submission details
finalizeSubmission submissionId bool Finalize a verified submission
calculateRequiredStake contentHash uint256 Calculate required stake for verification

Events

  • SubmissionCreated: Emitted when a new verification submission is created
  • VerificationStatusChanged: Emitted when a submission's verification status changes

Storage Layout

  • Verification submissions stored as mapping(bytes32 => VerificationSubmission)
  • Supports tracking submission metadata, status, and proof data
  • Uses bytes32 as unique submission identifier

Access Control

  • Permissionless submission mechanism
  • Stake-based participation
  • Challenge and finalization require specific conditions

Security Considerations

  • Cryptographic proof validation
  • Stake-based economic security
  • Challenge period prevents premature finalization
  • Prevents Sybil attacks through stake requirements

Deployment

Network Details

Deployment Recommendations

  • Use environment variable CHUNK_CHAIN_RPC_URL
  • Ensure sufficient native token for stake
  • Validate network connectivity before deployment

Testing

  • Unit test each interface method
  • Verify state transitions
  • Test edge cases in verification workflow
  • Simulate challenge scenarios
  • Validate stake calculation logic
  • Perform gas optimization analysis