Role of Each Component

Challenger

  • Composed of a MultiSigWallet.

    • A block update can occur if a consensus of K of N is achieved among the various nodes constituting the challenger.

  • Initiates verification of the block header containing the message when a Message event occurs in the source chain's verifier.

  • Stores verified block header information in the destination chain's C2CC Node.

  • Acts as a type of price oracle.

Notifier

  • Collects Message events from the source chain's verifier and delivers the transaction receipt information containing that Message to the destination chain.

    • It is forwarded to the verifier on the destination chain side.

    • Challenger and notifier are operated by completely different entities.

C2ccOperator

  • Can receive message transmission commands to other chains from dapps.

    • function sendMessage

  • Delivers messages received from the verifier to a specific contract address.

    • function receiveMessage

C2ccVerifier

  • Receives messages from the challenger and forwards them to the operator.

    • function forwardReceipt

      • At this point, it conducts receipt trie verification using the verified block header.

C2ccNode

  • Records verified block headers.

Last updated