hashi
  • Welcome
  • Introduction
    • What is Hashi?
    • Why Hashi?
    • Key Features
    • The SSN
  • Getting Started
    • How Hashi Works
    • Quick Start
      • Verifying foreign event
        • Setting the scene
        • Getting the Event Proof
        • Validating your statements
      • Reading foreign state
        • Setting the scene
        • Getting the Storage Proof
        • Validating your statements
      • Pushing a message
        • Writing your message sending contract
        • Implementing your callback
        • Waiting for the cross-chain execution
  • Core Concepts
    • Block Header Relaying
    • Message Dispatching
    • Oracles
    • Additive Security Model
  • Deployments
    • Blockchains
    • Oracles
  • Smart Contracts
    • Key Contracts
    • HashiProver API
  • TOOLS
    • SP1 storage proof verifier
    • Solana integration
  • APPS / INTEGRATIONS
    • Safe Crosschain
    • Aragon UCG
    • Openfort Chain Abstraction
  • META
    • Developer resources
    • Audits
    • Explorer
    • Community
Powered by GitBook
On this page
Export as PDF
  1. Core Concepts

Block Header Relaying

Block headers are at the heart of Hashi’s security model. Rather than just relying on arbitrary messages between chains, Hashi works by relaying entire block headers from one blockchain to another. This means that dApps can verify not only the content of a message but the actual state of the originating chain.

  • Why Block Headers? Block headers contain essential information about the state of a blockchain, including the hash of the previous block, timestamp, and the Merkle root of all transactions. By relaying these, Hashi ensures that cross-chain interactions are based on cryptographic proofs tied to actual blockchain states, making them much more secure than simple message relays.

  • How Hashi Uses Block Headers Multiple independent oracles relay these block headers, which are then aggregated and validated by Hashi. The result is a robust verification process where only confirmed, valid block headers are accepted, ensuring data integrity across chains.

PreviousWaiting for the cross-chain executionNextMessage Dispatching

Last updated 7 months ago