92fff5f87ff79921762cf11822241c760ea60a8e
FELDMAN
Registro consolidado - Sistema TZZR
Rol
Contable del sistema. Valida y archiva registros en bloques inmutables.
Posición en el Flujo
MASON ─────────────────┬──► FELDMAN
│ │
ALFRED/JARED (OK) ─────┘ │
▼
┌─────────────────────┐
│ COLA (24h) │
│ ○ ○ ○ ○ ○ │
└─────────┬───────────┘
│
cada 24h
│
▼
┌─────────────────────┐
│ BLOQUE INMUTABLE │
│ #1 → #2 → #3 → ... │
└─────────────────────┘
Fases
1. Cola (24h)
- Registros esperando consolidación
- Usuario puede devolver a MASON
- Configurable
2. Bloques
- Registros inmutables
- Hash encadenado
- Preparado para blockchain
Estructura de Bloque
{
"numero": 127,
"id": "sha256-bloque",
"hash_anterior": "def456...",
"merkle_root": "789abc...",
"validado_at": "2025-12-22T00:00:00Z",
"registros": [...],
"cantidad": 45
}
Estructura del Contenedor en FELDMAN
Cuando un registro se consolida, FELDMAN anade la seccion bloque al contenedor (ver esquema completo):
{
"bloque": {
"id": "sha256-bloque",
"numero": 127,
"registro_hash": "sha256-este-registro",
"merkle_proof": ["sha256-1", "sha256-2", "sha256-3"]
},
"estado": {
"actual": "en_feldman_bloque",
"historial": [
{"paso": "clara", "entrada": "...", "salida": "..."},
{"paso": "mason", "entrada": "...", "salida": "..."},
{"paso": "feldman_cola", "entrada": "...", "salida": "..."},
{"paso": "feldman_bloque", "entrada": "...", "procesado_por": "feldman-service"}
]
}
}
Campos del bloque
| Campo | Tipo | Descripcion |
|---|---|---|
id |
SHA-256 | Hash del bloque completo |
numero |
Int | Numero secuencial del bloque |
registro_hash |
SHA-256 | Hash de este registro especifico |
merkle_proof |
Array | Prueba de inclusion en el arbol Merkle |
Verificacion
Con merkle_proof se puede verificar que un registro pertenece a un bloque sin tener acceso a todos los registros del bloque.
merkle_root
│
┌───────┴───────┐
│ │
hash_ab hash_cd
│ │
┌────┴────┐ ┌────┴────┐
│ │ │ │
reg_a reg_b reg_c reg_d
Inmutabilidad
- Una vez consolidado, el registro es inmutable
estado.actualcambia aen_feldman_bloque- La seccion
bloquese anade y nunca cambia - El hash del registro se incluye en el arbol Merkle
Arquitectura
Ver documentación completa en contratos-comunes/architecture
Componente del sistema TZZR
Description
Languages
Python
77.6%
PLpgSQL
22.4%