ULedgerNET Cross-Merkleization
Descripción General
Cross-Merkleization es el mecanismo propietario de ULedgerNET para establecer confianza criptográfica entre múltiples instancias de blockchain independientes. Permite el anclaje verificable de estado entre cadenas sin requerir interacción directa entre ellas.
Concepto
El Problema
En entornos de múltiples cadenas, verificar el estado de una cadena desde otra tradicionalmente requiere:
- Acceso directo a la cadena
- Intermediarios de confianza
- Protocolos de puente complejos
La Solución de ULedgerNET
Cross-Merkleization proporciona pruebas criptográficamente verificables y sin confianza que pueden ser validadas de forma independiente utilizando Zero-Knowledge Proofs.
Cómo Funciona
Estructura de Bloque con Cross-References
Cada bloque de ULedgerNET puede contener referencias a otras cadenas:
Contenido de las Cross-References
Una cross-reference contiene información suficiente para verificar de forma independiente el bloque referenciado:
| Campo | Descripción |
|---|---|
| BlockchainId | Identificador de la cadena de origen |
| BlockHash | Hash del bloque referenciado |
| Height | Altura del bloque en el momento de la referencia |
| Timestamp | Marca de tiempo del bloque |
| MerkleRoot | Raíz del árbol Merkle del bloque de origen |
| ZK Proof | Prueba de conocimiento cero de validez del bloque |
| MerkleDepth | Profundidad del árbol Merkle |
| MerkleElements | Elementos del camino de prueba Merkle |
Construcción del Árbol Merkle
Flujo de Datos
Estructura del Árbol Merkle
Propiedades Clave:
- Utiliza la función hash MiMC compatible con ZK
- Tamaño de chunk fijo para compatibilidad de pruebas
- La profundidad del árbol varía según el tamaño de los datos (2-16 niveles)
- Estructura de árbol balanceado (potencia de 2 hojas)
Integración de Zero-Knowledge Proof
Dónde Se Utilizan las ZK Proofs
Sistema de Prueba: PLONK
ULedgerNET utiliza PLONK (Permutations over Lagrange-bases for Oecumenical Noninteractive arguments of Knowledge) para las pruebas de bloque:
| Aspecto | Detalles |
|---|---|
| Curve | BLS24-315 |
| Proof Size | Constante (~1KB) |
| Verification | O(1) - tiempo constante |
| Trust Setup | Universal (basado en ceremonia) |
Qué Verifica la Prueba
La ZK proof atestigua criptográficamente que:
- ✅ La raíz Merkle fue calculada correctamente a partir de los datos
- ✅ El índice del bloque es válido (anterior + 1)
- ✅ Existe al menos una transaction en el bloque
- ✅ El camino de prueba Merkle es válido
Comunicación entre Cadenas
Transmisión de Cross-References
Estructura de Topics
Proceso de Verificación
Validación de una Cross-Reference
Entradas de Verificación
Para verificar una cross-reference, el verificador necesita:
Public Inputs:
├── Block Index (Height)
├── Previous Block Index
├── Merkle Root
└── Merkle Proof Elements
Proof:
└── PLONK Proof (from cross-reference)
Casos de Uso
1. Despliegue Empresarial Multi-Inquilino
Beneficios:
- Cada departamento tiene autonomía
- La cadena principal proporciona una pista de auditoría unificada
- Las pruebas entre cadenas permiten el cumplimiento normativo
2. Verificación de Cadena de Suministro
3. Cumplimiento Normativo
Propiedades de Seguridad
| Propiedad | Garantía |
|---|---|
| Integrity | Las cross-references no pueden ser falsificadas sin ZK proof |
| Non-repudiation | La cadena de origen no puede negar el estado referenciado |
| Independence | La verificación no requiere confianza en los operadores de la cadena de origen |
| Efficiency | Verificación en tiempo constante independientemente del tamaño de la cadena |
Configuración
Cross-Merkleization se habilita a través de la configuración del blockchain:
{
"blockchainId": "chain-a",
"principalBlockchainId": "main-chain",
"features": {
"enableXMOnBlockMint": true
}
}
| Configuración | Descripción |
|---|---|
principalBlockchainId | ID de la cadena que recibirá las cross-references |
enableXMOnBlockMint | Habilita la transmisión automática de cross-references |
Siguiente: Base Criptográfica