Como un programador apasionado por la tecnología, vengo a hablar sobre cómo el Protocolo Fabric logra la cooperación. En pocas palabras, lo hace a través de un ingenioso proceso de "propuesta-aprobación-ordenación-envío" que permite a las partes, que no se confían entre sí, trabajar juntas de manera segura y eficiente.
Imagina que yo y algunos compañeros tenemos que gestionar juntos un libro de activos digitales. Cuando quiero iniciar una transacción (por ejemplo, una transferencia), no escribo directamente en el libro, sino que primero creo una propuesta de transacción, explicando lo que quiero hacer y firmándola con mi firma digital. Esta propuesta se enviará a varios nodos de aprobación (Endorsing Peer) previamente acordados.
Estos nodos de aprobación son como "notarios" independientes. Cada uno ejecuta la lógica de mi propuesta en un entorno privado (como un contenedor Docker), simula el resultado de la transacción y genera un "conjunto de lectura-escritura" (Read-Write Set) que contiene datos de lectura y escritura. Luego, cada uno firma la aprobación de este resultado y me lo devuelve.
Una vez que recojo suficientes firmas que cumplen con la estrategia de aprobación (por ejemplo, requieren que al menos 2 de 3 nodos estén de acuerdo), empaqueto estos resultados de transacción aprobados y los envío al servicio de ordenación (Ordering Service). El servicio de ordenación está compuesto por un grupo de nodos Orderer que no se preocupan por el contenido específico de la transacción, solo se encargan de ordenar globalmente todas las transacciones recibidas y empaquetarlas en bloques.
Este bloque ordenado se transmite a todos los nodos de envío (Committing Peer) en la red. Cada nodo de envío verifica de manera independiente si las firmas de aprobación de cada transacción dentro del bloque cumplen con la estrategia y verifica si los datos dependientes de la transacción han sido modificados durante este tiempo. Solo si toda la verificación pasa, la transacción se envía finalmente al libro de contabilidad inmutable de la cadena de bloques y se actualiza la base de datos del estado mundial.
Como puedes ver, todo el proceso de cooperación no tiene una autoridad centralizada, sino que, a través de firmas criptográficas, reglas de contrato y consenso distribuido, logra una colaboración confiable manteniendo la privacidad y soberanía de cada uno de los datos. Esta es la red de colaboración tejida por el Protocolo Fabric.