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(swingset): hash kernel state changes into 'crankhash'
The multiple members of a consensus machine are supposed to perform identical
exection of every crank. To detect any possible divergence as quickly as
possible, the kernel maintains the "crankhash": a constantly-updated string
which incorporates (by SHA256 hash) a copy of every DB write and delete.
`controller.getCrankHash()` can be run after one or more cranks have
finished, and the resulting hex string can be e.g. stored in a host
application consensus state vector. If two members diverge in a way that
causes their swingset state to differ, they will have different crankhashes,
and the consensus state vectors will diverge. This should cause at least one
of them to fall out of consensus.
Some keys are excluded from consensus: currently just those involving vat
snapshots and the truncation (non-initial starting point) of the transcript.
refs #3442
0 commit comments