The diagram reads left to right across five lanes: Requester, Relayer, the committee of Regular Nodes, the
round's Leader Node, and the on-chain IrisVerifier contract, with each of the six phases
marked as a band spanning all five lanes. In Idle, the Requester
hands a DataRequest — an Area of Interest and a
timestamp — to the Relayer. Observing begins when the Relayer publishes that request on iris/requests/v1; each Regular Node
independently fetches imagery from a Data Provider inside its own
TEE. In Aggregating, nodes gossip a manifest of their result on iris/observations/v1, and the Leader Node pulls the full payloads directly over point-to-point
libp2p streams. PreCommit shows the Leader Node running the
normalization pipeline and selecting the medoid. In Voting, the Leader Node proposes that medoid back to the committee, and each Regular Node returns a BLS signature share once it verifies the
selection. Commit closes the loop: the Leader Node aggregates the
shares into a single threshold signature, then hands the finalized panel and
signature to the Relayer, who calls IrisVerifier.deliverReport — the diagram's last arrow,
landing in the IrisVerifier lane, where the contract
checks the signature against the committee's aggregate BLS key.