Skip to content

Signature Cache is not being used, even when activated, leading to poorer performance #1850

Description

@SergioDemianLerner

The signatures of transactions in blocks re verified in Transaction.validate() when getSender() is called.
Transaction.validate() is called by Transaction.verify() which is called by the rules BlockTxsValidationRule and BlockTxsFieldsValidationRule.

The solutions is either to inject the sender from the cache into into the Transaction, or to pass the signatureCache to the verify() method, so that the cached sender is used instead of getSender().

I think that getSender() should be marked as a debug method to avoid being used by mistake, and getSender(cache) should be used everywhere.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions