SDX Protocol

On-demand (pull)

A recipient pulls a specific record when it is needed, and verifies it at read time.

A recipient pulls a specific record when it is needed, and verifies it at read time.

Diagram

This diagram is free to copy into your own presentation. Nothing is pushed: the verifier pulls a specific record when it is needed and checks it at the moment of use.

When to use, when not to use

When to use. Use on-demand (pull) when the recipient should fetch a specific record when it is needed rather than receive a push, and should verify it at read time. Admission is by authorisation: the holder authorises a party to pull, and delivery happens only when the recipient asks. This is the right pattern when reads are occasional and specific, when the recipient does not want a continuous stream, and when verification belongs at the moment of use.

When not to use. If the producer needs to deliver a record proactively to a known set of recipients, use one-to-many instead: on-demand is mode: pull, whereas one-to-many is mode: push. If the exchange is a bounded question expecting a bounded answer rather than the retrieval of a full record, use request-response.

Example configuration (YAML)

on-demand.yaml
pattern: on-demand
protocol_version: "0.1"
exchange:
  topology: point-to-point
  participants:
    - public-body
    - verifier
  admission: authorised
delivery:
  mode: pull
  ordering: none
payload:
  encryption: field-level
  disclosure: selective
audit:
  anchor: public-audit-layer
  proof: per-record

Use case

This template fits a verifier that pulls and checks a specific record at the moment of need, illustrated by the content authenticity protocol, where a party retrieves and verifies a single record when it has to act on it rather than subscribing to a stream. It configures the base data-sharing protocol.

On this page