verifier_42-contract-lab/docs/Verifier.md
verifier_42 96c24129ce
Some checks are pending
CI / build-and-test (push) Waiting to run
CI / slither (push) Waiting to run
docs: add documentation for Verifier.sol
2026-04-19 09:10:11 +00:00

2.7 KiB

Overview

The Verifier contract provides a decentralized content verification mechanism on ChunkNet, allowing multiple validators to approve or reject content through a multi-signature process. It enables trustless verification of digital content by requiring a predefined number of signatures within a specified time window.

Interface

Function Params Description
requestVerification contentHash: Unique content identifier
requiredSignatures: Minimum validators needed
validators: List of validator addresses
Initiate a new content verification request
signVerification contentHash: Content to verify
approved: Validator's vote
Allow validators to sign and vote on content

Events

Event Parameters Description
VerificationRequested contentHash
requester
requiredSignatures
Triggered when a new verification is initiated
ValidatorSigned contentHash
validator
approved
Emitted when a validator signs a verification request
VerificationCompleted contentHash
status
Signals final verification outcome

Storage Layout

  • verificationRequests: Maps content hashes to verification request details
  • validatorSignatures: Tracks which validators have signed for a specific content hash
  • MIN_VALIDATORS: Minimum required validators (3)
  • MAX_VALIDATORS: Maximum allowed validators (10)
  • VERIFICATION_TIMEOUT: Request expiration period (1 week)

Access Control

  • requestVerification: Open to any address
  • signVerification: Restricted to predefined validators
  • Contract inherits OpenZeppelin's Ownable for administrative functions

Security Considerations

  • Non-reentrant function modifiers prevent recursive attacks
  • Strict validation of validator addresses and signature counts
  • Timeout mechanism prevents indefinite verification requests
  • No duplicate validators allowed in a single request
  • Prevents re-signing or multiple votes per validator

Deployment

ChunkNet Deployment Parameters

Testing

Test Cases

  1. Verify content verification request creation
  2. Test validator signature workflow
  3. Validate timeout mechanism
  4. Check signature count thresholds
  5. Ensure no duplicate validators
  6. Test verification status transitions
  • Unit tests for each contract function
  • Integration tests with mock validators
  • Fuzz testing for edge cases
  • Gas optimization analysis