Files
feldman/README.md
tzzrgit 4af5f7226d Add bloque structure and Merkle proof to README
- Documents block structure with id field
- Shows contenedor.bloque section added on consolidation
- Explains Merkle proof for verification
- Adds visual diagram of Merkle tree
- Links to contratos-comunes schema
2025-12-22 11:54:34 +01:00

3.4 KiB

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.actual cambia a en_feldman_bloque
  • La seccion bloque se 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