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

No fields configured for Bug.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions