Blockchain Transaction Lifecycle Security Standard Audit Framework

previous: Re-verify Application Transactions | Contents | next: Secure Stored Transactions

Implement Protected Delivery Paths

Statement of Requirement

Deployers SHOULD enable protected delivery paths that limit the visibility of transactions before they are included in a block.

See it in the specification

Applicability

Purpose

Minimize exposure to Ordering Attacks.

Audit Procedure

Identify the endpoints the Deployer submits to, and determine for each whether it broadcasts to a public mempool or delivers to a constrained set of parties. Determine what happens when the protected path is unavailable.

Verify that a User can request a delivery path per transaction, and that a requested path is the one used.

Success Criteria

A delivery path is available that limits pre-inclusion visibility, and is selectable per transaction by the User per Enable Transaction Policies for Deployment.

Where no path is requested, the Deployer uses a protected path for the transaction types it identifies as exposed to timing attacks.

Alternatively, the Deployer documents that the network does not make pending transactions publicly visible.

Where the protected path can fail, the behaviour on failure is a documented decision rather than an implicit fallback to public broadcast.

Best Practice

The Deployer uses a path whose confidentiality is cryptographically enforced where the network offers one, monitors whether transactions sent by a protected path are observable in the public mempool before inclusion, and reports rather than silently absorbs a failure of the protected path.

Failure Criteria

Justifiable Exceptions

This is a useful feature. Its absence is justifiable on grounds including keeping code or interfaces simple, or because there is no effective mechanism available on a given network.

There needs to be an explicit reasonable justification for not meeting this requirement.

Key Evidence

previous: Re-verify Application Transactions | Contents | next: Secure Stored Transactions