Draft ยท v0

receipts/v0

A receipt is a BSV transaction that witnesses a web document by its fingerprint. The document stays on the web. The ledger holds only the fingerprint and where to find the document.

Format

One output of the transaction is a data-carrier script with five pushes, all plain text:

OP_FALSE OP_RETURN
  "https://ryanwold.net/receipts/v0"
  "sha256"
  <64 lowercase hex characters>
  <URL of the exact version>
  <media type, e.g. "text/vcard">
Push Meaning
1 This page's URL. The receipt explains itself.
2 The digest algorithm.
3 The digest of the document's exact bytes, as hex text. It's text, not raw bytes, so it reads in any block explorer.
4 A URL for that exact version, not a URL whose content changes. The server also sends an RFC 9530 Repr-Digest header.
5 The document's media type.

Checking a receipt

  1. Fetch the document at push 4, or use a copy you already hold.
  2. Compute its SHA-256 and compare with push 3.
  3. The tx's block time is the latest moment the document could have existed. Mempool receipts are witnessed but not yet timestamped by a block.

Principles

Not yet

v0 proves existence and integrity, not authorship. A later version may add a signature from the key published in the card's vCard KEY property.

In use: ryan-wold (.vcf).