Overview

The core architecture behind Storage Proofs consists of several key components that work together.

High-Level Component Overview

Smart Contracts

These form the on-chain backbone of the Storage Proofs system.

Contract Name
Short Description

CommitmentsInbox

Receives and processes data from other chains.

FactsRegistry

Stores and manages verified blockchain data.

HeadersStore

Efficiently stores and manages block headers.

TimestampRemapper

Maintains mapping between timestamps and block numbers.

Read more about these smart contracts here.

Off-Chain Proof Generation

This component generates the cryptographic proofs required for data verification.

Storage Proof API

Provides an interface for developers to request Storage Proofs.

Turbo

A smart contract interface that simplifies the integration of Storage Proofs into applications.

Historical Block Hash Accumulator

Enables efficient access to historical block hashes.

Native Messaging Systems

Facilitate secure communication between different blockchain networks.

Component Interactions

When a smart contract on Chain B needs to access data from Chain A, it initiates a request through Turbo.

Turbo interfaces with the Storage Proof API to request the necessary proofs.

The Off-Chain Proof Generation system creates the required cryptographic proofs.

These proofs are sent back through the API and Turbo to the requesting smart contract. The smart contract on Chain B uses the CommitmentsInbox to receive and verify the data from Chain A.

The HeadersStore and FactsRegistry contracts store and manage the verified data. Other smart contracts can now access this verified data through the FactsRegistry.

Throughout this process, the Historical Block Hash Accumulator enables efficient verification of historical data.

Native Messaging Systems facilitate the secure transmission of critical data (like block hashes) between chains.

Last updated