Saltar al contenido principal

Sistema de Gobernanza

nota

Prerrequisitos: Para entender la gobernanza, es fundamental conocer el Patrón Diamond y el Modelo de Control de Red.

Público: Para quienes busquen entender el control de red.

Contexto de uso: Para comprender el ciclo de vida de los despliegues y los mecanismos de seguridad de la red.

El Sistema de Gobernanza de ISBE es el contrato central que controla el despliegue y gestión de todos los casos de uso en la red mediante el patrón Diamond (EIP-2535).

Visión General

ISBE utiliza una arquitectura de gobernanza centralizada:

  • Diamond de Gobernanza: Contrato central que coordina toda la red
  • Diamonds de Casos de Uso: Cada aplicación/organización tiene su propio diamond independiente
  • Facets: Módulos reutilizables desplegados mediante factories

Principios:

  1. Centralización: Un único diamond de gobernanza coordina toda la red
  2. Modularidad: Casos de uso independientes mediante patrón Diamond
  3. Control de Acceso: Roles específicos para cada operación
  4. Seguridad: Pausado global y gestión centralizada de DIDs

Capacidades del Diamond de Gobernanza

Factories (Despliegue):

  • BusinessLogicFactory: Despliega y versiona facets reutilizables
  • ConfigurationManagement: Crea configuraciones (conjuntos de facets)
  • ProxyFactory: Despliega diamonds de casos de uso

Gestión:

  • AccessControl: Control de roles y permisos
  • DiamondCut/Loupe: Gestión e introspección del diamond
  • GlobalPause: Pausado de emergencia de cualquier caso de uso
  • DidRegistry: Registro centralizado de identidades (DIDs)
  • ENS: Sistema de nombres descentralizado

Roles

Roles de Gobernanza:

  • GOVERNANCE_MANAGER_ROLE: Gestiona el diamond de gobernanza
  • BUSINESS_LOGIC_DEPLOYER_ROLE: Despliega facets mediante factory
  • GOVERNANCE_CONFIGURATION_MANAGER_ROLE: Crea configuraciones
  • PROXY_DEPLOYER_ROLE: Despliega casos de uso
  • ISBE_PAUSER_ROLE: Pausado global de emergencia
  • DID_REGISTRY_ROLE: Gestiona DIDs (onboarding institucional)
  • DEFAULT_ADMIN_ROLE: Administración de roles

Roles en Casos de Uso:

  • DEFAULT_ADMIN_ROLE: Admin local del caso de uso
  • ISBE_ROLE: Representante de gobernanza (inmutable)
  • PAUSER_ROLE: Pausado local
  • Roles específicos: Según las facets incluidas

ISBE_ROLE: Este rol es inmutable y garantiza que gobernanza siempre mantiene control sobre los casos de uso.

Cómo Funciona

1. Despliegue de Facets

ISBE despliega facets mediante la BusinessLogicFactory:

  • Cada facet se identifica con un businessId único
  • El sistema versiona automáticamente: misma facet → v1, v2, v3...
  • Las facets son módulos reutilizables que implementan funcionalidad específica

2. Configuraciones

Las configuraciones son conjuntos predefinidos de facets:

  • Se crean mediante ConfigurationManagement
  • Ejemplo: Config "Trazabilidad" = HashTimestamp + Pausable + AccessControl
  • También se versionan automáticamente al actualizarse

3. Despliegue de Casos de Uso

La ProxyFactory crea diamonds de casos de uso:

  • Se selecciona una configuración existente
  • Se añaden automáticamente facets de gobernanza
  • Se configuran roles iniciales
  • Resultado: Diamond completo listo para usar

4. Gestión Continua

  • Pausado local: Cada caso de uso puede pausarse individualmente
  • Pausado global: Gobernanza puede pausar cualquier caso de uso (emergencias)
  • DIDs: Registro centralizado consultable por todos los casos de uso

Resumen Gobernanza

AspectoDescripción
ArquitecturaDiamond central de gobernanza coordina todos los casos de uso
FactoriesBusinessLogic, Configuration, Proxy - despliegan facets y casos de uso
RolesControl granular: GOVERNANCE_MANAGER, BUSINESS_LOGIC_DEPLOYER, PROXY_DEPLOYER, etc.
ConfiguracionesConjuntos predefinidos de facets, versionados automáticamente
SeguridadPausado local/global, roles inmutables (ISBE_ROLE), DIDs centralizados
ModularidadPatrón Diamond (EIP-2535) permite facets ilimitadas y actualizables

El sistema de gobernanza proporciona despliegue controlado y gestión centralizada de toda la red ISBE.


Otros temas de la referencia técnica: