Skip to content

Commit

Permalink
Added clarification on how to perform an audit of history.
Browse files Browse the repository at this point in the history
Signed-off-by: Richard Esplin <[email protected]>
  • Loading branch information
esplinr committed Mar 9, 2021
1 parent 3291be4 commit 79b394a
Showing 1 changed file with 2 additions and 0 deletions.
2 changes: 2 additions & 0 deletions text/0162-frozen-ledgers/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,8 @@ If a ledger is added (so its root hash is expected by the audit ledger), but it

But the third property will not be preserved if there is a history of transactions on a ledger and then the ledger is removed. This is because the LEDGERS_FREEZE transaction only stores the most recent root hash, and not the entire history of root hashes, so that history can not be recreated after the plugin ledger is removed. Instead, the frozen ledger should be retained in its read-only state.

Note that Indy Node does not include functionality to perform an audit of the ledger history based on the original validation rules. Indy transaction handlers perform validation on new transactions, but not during the catchup process. This is because the transaction is already on the ledger (it has a state signature), so we know that validation was already performed and we don't need to do it again. An audit of the history would have to be done outside of Indy Node by replaying the transactions using the original validation logic, using the audit ledger to compare the state among the various ledgers. Freezing a ledger does not change this process, but dropping a frozen ledger that contains historical transactions would eliminate data that would be necessary to perform a complete audit of the ledger history.


## Rationale and alternatives
[alternatives]: #alternatives
Expand Down

0 comments on commit 79b394a

Please sign in to comment.