Skip to content

fix: make ledger persisted transactions verifiable #1001

@bmuddha

Description

@bmuddha

Currently when a transaction is written to the ledger, it fails to be signature verfied upon replay. This is most likely caused by binary-representation distortion due sequence conversion (txn -> sanitized -> version txn -> protobuf -> versioned txn -> binary bincode). In order to make replication work, we must ensure that any transaction persisted to the ledger can be re-verfied after being read.

Reproduction:

  1. Create valid legacy transaction, ensure it can be sig-verified
  2. Convert it to sanitized transaction
  3. Convert it to version transaction
  4. Write it to the ledger
  5. Read that transaction from ledger
  6. Try to sig-verify, this step should fail.

The work can be based on top of the #1004

Metadata

Metadata

Assignees

Labels

P0Very high priority

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions