Storage Proofs
HomeDashboard
  • Getting Started
    • Introduction
    • Use Cases
    • Quick Start Guide
    • Key Concepts
  • Storage Proofs
    • Overview
    • Workflow
      • Workflow Examples
    • Accessing Block Hash
  • Solutions
    • Storage Proof API
      • Authentication
      • Payload Examples
    • Turbo
      • Workflow
      • RPC Endpoint
      • Turbo Compute
  • Architecture
    • Overview
    • Smart Contracts
    • Cross-Chain Storage Proofs
      • Native Messaging Systems
      • OP Stack Chains
  • Guides
    • Using Storage Proof API
    • Integrating Storage Proofs
    • Building a Storage Proof Powered Bridge
    • Writing Turbo Smart Contracts
    • Sending Turbo Transactions
  • References
    • Contract Addresses
    • Supported Networks
    • Glossary
  • Media Links
    • Twitter
    • Telegram
Powered by GitBook
On this page
  • CommitmentsInbox
  • FactsRegistry
  • HeadersStore
  • TimestampRemapper
  • AggregatorsFactory
  • SharpFactsAggregator
  • HeadersProcessor
  • L1MessagesProxy
  1. Architecture

Smart Contracts

CommitmentsInbox

What it does: The CommitmentsInbox contract receives and processes block headers and other data sent from Layer 1 to Layer 2. It verifies the authenticity of the data using signatures and stores it for further processing. Relevance: This contract is crucial for ensuring secure and reliable data transfer from Layer 1 to Layer 2, maintaining data integrity in cross-chain operations.

FactsRegistry

What it does: The FactsRegistry contract stores and manages verified blockchain data, such as account balances, storage values, and block headers. It provides functions to prove and access this data on-chain.

Relevance: This contract is the core of the Storage Proofs system, allowing smart contracts to access and verify data from other chains or historical states trustlessly.

HeadersStore

What it does: The HeadersStore contract manages a Merkle Mountain Range (MMR) of block headers. It allows for efficient storage and verification of a large number of block headers.

Relevance: This contract enables efficient historical data access and verification, which is essential for cross-chain and historical data proofs.

TimestampRemapper

What it does: The TimestampRemapper contract maintains a mapping between timestamps and block numbers. It allows for efficient querying of block numbers by timestamp.

Relevance: This contract is important for time-based queries and proofs, allowing users to reference data by time rather than block number.

AggregatorsFactory

What it does: The AggregatorsFactory contract creates and manages instances of SharpFactsAggregator contracts. These aggregators are responsible for accumulating and verifying proofs from the Starkware SHARP.

Relevance: This contract is crucial for the scalability and efficiency of the Storage Proofs system, allowing for batched verification of multiple proofs.

SharpFactsAggregator

What it does: The SharpFactsAggregator contract receives and verifies batches of proofs from the SHARP system. It updates the state of the HeadersStore and FactsRegistry based on these verified proofs.

Relevance: This contract is key to the efficient and secure updating of the Storage Proofs system state, bridging the off-chain proof generation with on-chain state updates.

HeadersProcessor

What it does: The HeadersProcessor contract verifies and processes block headers. It checks the validity of block headers and their relationship to previously processed headers.

Relevance: This contract ensures the integrity and continuity of the block header chain, which is fundamental to the security of the Storage Proofs system.

L1MessagesProxy

What it does: The L1MessagesProxy contract acts as a proxy for sending messages from Layer 2 to Layer 1. It aggregates messages and handles the cross-chain communication protocol.

Relevance: This contract is essential for enabling Layer 2 to Layer 1 communication, allowing for data and state updates to be propagated back to the main chain.

These contracts work together to create a secure, efficient, and flexible system for proving and accessing blockchain data across different chains and historical states. The system leverages zero-knowledge proofs and efficient data structures to minimize on-chain computation and storage while maintaining high security guarantees.

PreviousOverviewNextCross-Chain Storage Proofs

Last updated 10 months ago