You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(evm): endorsers return the delta, the initiator stops building one
The initiator ran the full validator on every request through the same
DeltaFactory as the responder, to get a digest to verify signatures against
and a delta to put in the transaction. That is the work this flow delegates,
and it bought nothing: the contract's rule is that a threshold of registered
endorsers signed the digest, so a quorum wanting to apply something else
would never need the initiator.
It did cost something. The delta covers the public parameters hash and
version, so an initiator reading parameters on the other side of an update
from its endorsers computed a different digest and discarded every signature
as an unknown signer. Its ledger read had the same shape: a lagging node
failed to build a delta and never contacted an endorser at all.
EndorseResponse now carries the delta the endorser signed, the way a Fabric
proposal response carries the RWSet. The initiator binds each delta to the
anchor it asked about, checks the invariants, recovers the signature over
that delta's digest, and groups by delta so a divergent endorser is outvoted
rather than fatal. A shortfall where more than one delta was seen reports
ErrDivergentDeltas next to ErrInsufficientEndorsements, since that is a
determinism failure and not an availability one.
Raised by Angelo in the sync of 2026-08-14.
Signed-off-by: atharrva01 <atharvaborade568@gmail.com>
0 commit comments