Sign modules

Overview

Signature modules in the Veive protocol are distinct from validation modules; they specifically handle the verification of digital signatures. While validation modules can include checks for valid signatures, signature modules define the methods used to verify these signatures. This separation allows Veive to support multiple signature verification methods, providing flexibility and enhancing security.

Flow

Signature modules are called during the is_valid_signature method, which is invoked whenever the authenticity of a transaction needs to be verified. This is a crucial step in the operation workflow, as it ensures that the transaction was authorized by the legitimate owner of the account.

The system uses the active signature module to verify the provided signature against the transaction details, including the sender's public key and the transaction's hash. This process ensures that the operation has not been tampered with and is indeed from the authorized user.

Scope

In Veive, the scope for signature modules is unique compared to other modules:

  • Global Scope: Only one signature module can be active at any given time for an account. This global scope means that the signature module's method is universally applied to all operations requiring signature verification. Users can switch between different signature modules, but only one can be active, ensuring consistent signature verification across all transactions.

This design ensures that only one signature verification method is used at a time, simplifying the validation process and maintaining the integrity of signature verification.

Examples

  1. ECDSA Signature Module: Verifies signatures using the ECDSA algorithm, a widely used cryptographic method. It checks if the signature matches the public key of the user and the transaction data.

  2. WebAuthn Signature Module: Utilizes the WebAuthn standard for passwordless authentication. It allows users to sign transactions using biometric data, hardware keys, or other secure methods, and verifies these signatures against stored credentials.

The distinction between signature modules and validation modules in Veive allows for a flexible and secure approach to transaction authorization, supporting various signature methods while maintaining clear validation logic.

Last updated