Fundamento Criptográfico de ULedgerNET
Descripción General
ULedgerNET implementa un framework criptográfico integral que soporta múltiples esquemas de firma, funciones hash y sistemas de prueba de conocimiento cero. Este enfoque multi-algoritmo proporciona flexibilidad para diferentes requisitos de seguridad, incluyendo preparación post-quantum.
Algoritmos Criptográficos Soportados
Esquemas de Firma
Comparación de Algoritmos
| Algoritmo | Tipo | Tamaño de Clave | Tamaño de Firma | Nivel de Seguridad | Resistente a Quantum |
|---|---|---|---|---|---|
| secp256k1 | ECDSA | 256 bit | 64-72 bytes | 128-bit | ❌ |
| ED25519 | EdDSA | 256 bit | 64 bytes | 128-bit | ❌ |
| BLS12-377 | Pairing | 384 bit | 96 bytes | 128-bit | ❌ |
| ML-DSA-87 | Lattice | 2592 bytes | 4627 bytes | 256-bit | ✅ |
Esquemas de Firma en Detalle
secp256k1 (Predeterminado)
El esquema de firma predeterminado, ampliamente utilizado en sistemas blockchain.
Casos de Uso:
- Transacciones estándar
- Operaciones de wallet
- Interacciones con smart contracts
- Máxima compatibilidad con el ecosistema
ED25519
Firmas EdDSA de alto rendimiento.
Ventajas:
- Verificación de firmas más rápida
- Firmas deterministas (sin nonce aleatorio)
- Resistencia a ataques de canal lateral
- Menor huella de código
Casos de Uso:
- Entornos de alto rendimiento
- IoT y sistemas embebidos
- Aplicaciones críticas en rendimiento
BLS12-377
Criptografía basada en emparejamiento que habilita funcionalidades avanzadas.
Capacidades Únicas:
- Agregación de firmas (múltiples firmas → una)
- Firmas de umbral
- Compatibilidad con ZK-SNARK
- Firma eficiente multi-parte
Casos de Uso:
- Agregación de votos de consensus
- Wallets multi-firma
- Protocolos de preservación de privacidad
ML-DSA-87 (Post-Quantum) 🔒
Estándar Post-Quantum del NIST basado en el algoritmo CRYSTALS-Dilithium.
Propiedades de Seguridad:
- Basado en el problema de Aprendizaje Modular con Errores (MLWE)
- Nivel de Seguridad 5 del NIST (equivalente a 256-bit)
- Resistente a ataques tanto clásicos como quantum
- Estandarizado en FIPS 204 (2024)
Compromisos:
- Tamaños mayores de clave y firma
- Adecuado para requisitos de seguridad a largo plazo
- Recomendado para transacciones de alto valor o sensibles
Funciones Hash
Algoritmos Hash Soportados
Selección de Función Hash
| Función Hash | Tamaño de Salida | Caso de Uso | Compatible con ZK |
|---|---|---|---|
| SHA-256 | 256 bit | Propósito general | ❌ |
| SHA3-256 | 256 bit | IDs de transacción | ❌ |
| SHA3-512 | 512 bit | Hashing de bloques | ❌ |
| MiMC-BN254 | 254 bit | Pruebas Groth16 | ✅ |
| MiMC-BLS24315 | 315 bit | Pruebas PLONK | ✅ |
| MiMC-BW6-761 | 761 bit | Pruebas BLS | ✅ |
¿Por Qué Hashes Compatibles con ZK?
Las funciones hash estándar como SHA-256 son computacionalmente costosas de probar en circuitos de conocimiento cero. MiMC está diseñado específicamente para una computación ZK eficiente:
Sistemas de Prueba de Conocimiento Cero
Descripción General de los Sistemas de Prueba
Groth16 (Pruebas de Transacción)
Se utiliza para probar la validez de transacciones sin revelar entradas privadas.
Estructura del Circuito:
Tipos de Clave Soportados para Groth16:
- secp256k1 (circuito ECDSA)
- BLS12-377 (circuito BLS)
PLONK (Pruebas de Bloque)
Se utiliza para probar la integridad del encabezado de bloque y la correctitud del árbol Merkle.
Qué Prueba PLONK:
Comparación de Sistemas de Prueba
| Aspecto | Groth16 | PLONK |
|---|---|---|
| Tamaño de Prueba | ~200 bytes | ~500 bytes |
| Tiempo de Verificación | ~1-2ms | ~3-5ms |
| Configuración | Por circuito | Universal |
| Caso de Uso | Transacciones | Bloques |
Derivación de Claves
Generación Determinista de Claves
Todos los tipos de clave pueden derivarse de una única semilla:
Beneficios:
- Respaldo único para todos los tipos de clave
- Identidad consistente entre algoritmos
- Rotación y recuperación de claves sencilla
Configuración de Criptografía
Configuración a Nivel de Blockchain
{
"blockchainId": "my-chain",
"keyType": "secp256k1",
"hashingStrategy": "HASH_SHA3_256"
}
Tipos de Clave Disponibles
| Valor de Configuración | Algoritmo |
|---|---|
secp256k1 | ECDSA en secp256k1 (predeterminado) |
ed25519 | EdDSA en Curve25519 |
bls12377 | Firmas BLS |
mldsa87 | ML-DSA-87 (post-quantum) |
Estrategias de Hashing Disponibles
| Valor de Configuración | Algoritmo |
|---|---|
HASH_SHA256 | SHA-256 |
HASH_SHA3_256 | SHA3-256 |
HASH_SHA3_512 | SHA3-512 |
HASH_MIMC_BN254 | MiMC en BN254 |
HASH_MIMC_BLS24315 | MiMC en BLS24-315 |
Ruta de Migración a Post-Quantum
Enfoque Recomendado
Consideraciones
| Factor | Clásico | Post-Quantum |
|---|---|---|
| Tamaño de Clave | Pequeño (33 bytes) | Grande (2.5 KB) |
| Tamaño de Firma | Pequeño (64-72 bytes) | Grande (4.6 KB) |
| Velocidad de Verificación | Rápida | Moderada |
| Seguridad a Largo Plazo | En riesgo | Garantizada |
Siguiente: Arquitectura de Red