Evidence Passing es un patrón de diseño en sistemas distribuidos que permite a los componentes probar criptográficamente sus acciones o estados a otros componentes. En lugar de depender de una autoridad central o un consenso global para validar operaciones, los participantes generan y firman digitalmente 'evidencia' (por ejemplo, hashes de estados, firmas de transacciones, logs inmutables) que pueden ser verificados de forma independiente por cualquier otro participante. Esto construye una cadena de confianza y auditabilidad, donde la validez de una operación se deriva de la evidencia criptográfica adjunta, no de la confianza implícita en un tercero.

Este patrón se implementa ampliamente en sistemas que requieren alta integridad y resistencia a la censura o manipulación. Las Blockchains, como Bitcoin y Ethereum, son el ejemplo más prominente, donde cada bloque contiene evidencia criptográfica (hashes del bloque anterior, firmas de transacciones) que prueba su validez y su lugar en la cadena. Otros ejemplos incluyen sistemas de almacenamiento distribuido que usan Merkle Trees para verificar la integridad de los datos (como IPFS o algunos sistemas de almacenamiento en la nube), o sistemas de auditoría distribuida donde los logs de eventos son firmados y encadenados para asegurar su inmutabilidad y procedencia. También se observa en algunos protocolos de seguridad y privacidad que utilizan pruebas de conocimiento cero (Zero-Knowledge Proofs) como forma de evidencia sin revelar la información subyacente.

Para un Arquitecto de Sistemas, Evidence Passing es crucial para diseñar sistemas con alta resiliencia, auditabilidad y confianza descentralizada. Permite reducir los puntos únicos de fallo y la dependencia en autoridades centrales, mejorando la seguridad y la robustez. Sin embargo, introduce trade-offs significativos: el costo computacional de generar y verificar evidencia criptográfica puede ser alto, impactando la latencia y el rendimiento. La gestión de claves criptográficas y la rotación de certificados se vuelven complejidades operativas críticas. Además, el diseño de los mecanismos de evidencia debe ser meticuloso para evitar ataques de falsificación o manipulación. Un arquitecto debe evaluar cuidadosamente si los beneficios de seguridad y descentralización superan la sobrecarga de rendimiento y la complejidad operativa para el caso de uso específico.