I am reading the “white paper” and trying to learn little bit about the “internals”. While reading about the “consensus and message routing layers”, I was wondering about a case where all replicas are working as expected (and none is a bad actor) but the output from of each replica after executing an update call is different (e.g. if an update call returns the current system time retrieved with rust), then each replica would return a slightly different value.
From sections 2.2 and 2.3, I understand that only the so called “leader of the round replica” will be responsible to insert the new block with the corresponding “non deterministic” output (i.e. different time). Then, the “per round certified state” functionality in the “routing layer” of all “replicas” will be responsible to guarantee the consistency across all replicas using chain key cryptography. So, all replicas would detect that the block inserted by the “leader of the round” is not consistent with their execution output (in this example, a different time), so all replicas would raise a flag of “non deterministic behavior”.
Is this “mental” simulation correct?