Skip to main content

Introduction

In this course, we will build a simple digital warehouse where users are authorized by providing a fictional payment on another chain. The proofs are constructed and verified by the Inter-Chain Confirmation Facility (ICCF).

ICCF provides a simple way of constructing proof that a transaction has occurred on a chain and verifying this proof on another chain. Although it's possible to use this facility for sending messages, this must not be confused with the Inter-Chain Messaging Facility (ICMF), which you can read more about here.

Confirming an event (transaction) can be described by the following sequence:

  1. The user sends a transaction to the source chain.
  2. The source chain confirms the transaction and includes it in a block.
  3. Block is sent to the cluster anchoring chain as a transaction.
  4. Cluster anchoring chain verifies the block (anchors) and includes it in a block
  5. The user constructs a proof by obtaining a proof of confirmation for the transaction.
  6. The user presents the proof to the Target chain as another transaction.
  7. Target chain validates the proof by checking that it is anchored in the cluster anchoring chain.
  8. The Target chain finished its verification by including the proof in a block.

As seen in the flow above, the user drives this operation. The user is the one who constructs and presents the proof. This means that this step is entirely asynchronous and can be done anytime after blocks have been confirmed. The types of applications suitable could be when you aren't so interested in transferring data but instead proving that something has happened. Although this can be used for sending messages, if the user isn't interested in verifying when the message arrived, you might be better off using the messaging facility (ICMF).

In this course, we will look at a scenario where one blockchain handles money and subscriptions, and another chain handles the business logic. In this way, we will only prove that a monetary transaction has occurred, but the money itself will never leave the first chain.