ULedgerNET Cross-Merkleization
Overview
Cross-Merkleization is ULedgerNET's proprietary mechanism for establishing cryptographic trust between multiple independent blockchain instances. It enables verifiable cross-chain state anchoring without requiring direct chain interaction.
Concept
The Problem
In multi-chain environments, verifying the state of one chain from another traditionally requires:
- Direct chain access
- Trusted intermediaries
- Complex bridge protocols
The ULedgerNET Solution
Cross-Merkleization provides trustless, cryptographically verifiable proofs that can be independently validated using Zero-Knowledge Proofs.
How It Works
Block Structure with Cross-References
Each ULedgerNET block can contain references to other chains:
Cross-Reference Content
A cross-reference contains sufficient information to independently verify the referenced block:
| Field | Description |
|---|---|
| BlockchainId | Identifier of the source chain |
| BlockHash | Hash of the referenced block |
| Height | Block height at time of reference |
| Timestamp | Block timestamp |
| MerkleRoot | Root of the source block's Merkle tree |
| ZK Proof | Zero-knowledge proof of block validity |
| MerkleDepth | Depth of the Merkle tree |
| MerkleElements | Merkle proof path elements |
Merkle Tree Construction
Data Flow
Merkle Tree Structure
Key Properties:
- Uses ZK-friendly MiMC hash function
- Fixed chunk size for proof compatibility
- Tree depth varies based on data size (2-16 levels)
- Balanced tree structure (power of 2 leaves)
Zero-Knowledge Proof Integration
Where ZK Proofs Are Used
Proof System: PLONK
ULedgerNET uses PLONK (Permutations over Lagrange-bases for Oecumenical Noninteractive arguments of Knowledge) for block proofs:
| Aspect | Details |
|---|---|
| Curve | BLS24-315 |
| Proof Size | Constant (~1KB) |
| Verification | O(1) - constant time |
| Trust Setup | Universal (ceremony-based) |
What the Proof Verifies
The ZK proof cryptographically attests that:
- ✅ The Merkle root was correctly computed from the data
- ✅ The block index is valid (previous + 1)
- ✅ At least one transaction exists in the block
- ✅ The Merkle proof path is valid
Cross-Chain Communication
Broadcasting Cross-References
Topic Structure
Verification Process
Validating a Cross-Reference
Verification Inputs
To verify a cross-reference, the verifier needs:
Public Inputs:
├── Block Index (Height)
├── Previous Block Index
├── Merkle Root
└── Merkle Proof Elements
Proof:
└── PLONK Proof (from cross-reference)
Use Cases
1. Multi-Tenant Enterprise Deployment
Benefits:
- Each department has autonomy
- Main chain provides unified audit trail
- Cross-chain proofs enable compliance
2. Supply Chain Verification
3. Regulatory Compliance
Security Properties
| Property | Guarantee |
|---|---|
| Integrity | Cross-references cannot be forged without ZK proof |
| Non-repudiation | Source chain cannot deny referenced state |
| Independence | Verification requires no trust in source chain operators |
| Efficiency | Constant-time verification regardless of chain size |
Configuration
Cross-Merkleization is enabled through blockchain configuration:
{
"blockchainId": "chain-a",
"principalBlockchainId": "main-chain",
"features": {
"enableXMOnBlockMint": true
}
}
| Setting | Description |
|---|---|
principalBlockchainId | ID of the chain to receive cross-references |
enableXMOnBlockMint | Enable automatic cross-reference broadcasting |
Next: Cryptographic Foundation