TD TrustDrop Docs

Protocol

How TrustDrop Makes Delivery Provable

TrustDrop turns delivery into a protocol-visible condition for settlement. The seller is paid after the delivery path is backed by commitments, data availability evidence, proof verification, and buyer-recoverable key material.

Protocol Components and Evidence

TrustDrop makes payment and delivery atomic and verifiable. The same original-file commitment also anchors extensible evidence adapters for different asset types.

flowchart TB
  subgraph Delivery["TRUSTDROP · VERIFIABLE DELIVERY"]
    direction LR
    Seller["SELLER
Publishes encrypted package"] Walrus["WALRUS + ORACLE
Encrypted data is available"] VSS["VSS · VERIFIABLE KEY DELIVERY
The buyer's key package contains
the asset's real data key"] VDD["VDD · VERIFIABLE ENCRYPTION
That key decrypts the stored ciphertext
into the committed original"] Contract["SMART CONTRACT
Valid delivery and payment
are atomic"] Buyer["BUYER
Recovers the data key
and decrypts the asset"] Seller --> Walrus --> Contract Seller --> VSS --> Contract Seller --> VDD --> Contract Contract --> Buyer end Original["ORIGINAL BLOB ID
Identifies the exact asset"] Original --> VDD subgraph Evidence["EXTENSIBLE ASSET EVIDENCE"] direction LR Adapters["ASSET EVIDENCE ADAPTERS
Different asset types use
different evidence methods"] Video["VIDEO ASSETS
Verifiable Preview"] Structured["STRUCTURED DATA
Verifiable Sampling
Other Evidence"] Other["OTHER ASSETS
Asset-specific Evidence"] Result["VERIFIABLE EVIDENCE
Proof-backed claims and outputs
bound to the original asset"] Adapters --> Video --> Result Adapters --> Structured --> Result Adapters --> Other --> Result end Original --> Adapters Result -.-> Buyer classDef storage fill:#e7f5ee,stroke:#27745a,color:#16211d classDef proof fill:#edf1fb,stroke:#4263a8,color:#182033 classDef contract fill:#f1ebfa,stroke:#7651a8,color:#20182c classDef evidence fill:#fff4d8,stroke:#a87619,color:#2c2415 classDef future fill:#f2f2ee,stroke:#767b75,color:#262826 class Walrus storage class VSS,VDD proof class Contract contract class Original,Adapters,Video,Structured,Result evidence class Other future

Walrus + Oracle prove that the encrypted package is actually available for the buyer to download.

Smart Contract releases payment only after the required delivery and availability checks pass.

VSS · Verifiable Key Delivery proves that the key package created for this buyer contains the asset's real data key.

VDD · Verifiable Encryption proves that this data key decrypts the stored ciphertext into the exact original committed by the seller.

Asset Evidence Adapters let each asset type define appropriate proof-backed evidence: video uses Verifiable Preview, while structured data can use Verifiable Sampling or other evidence.

Other Assets can add their own evidence adapters without changing the verifiable-delivery protocol.

The Problem

Many digital transactions depend on an off-chain promise: the seller says delivery happened, the buyer has to check later, and payment settlement may not be bound to whether the delivered material is recoverable. TrustDrop makes the relevant delivery conditions visible to the protocol before the seller can settle.

The Basic Structure

The buyer's payment is first locked in a channel. The seller then has to complete a delivery path that the contract can verify. The contract does not inspect a large payload directly; instead, it verifies two zk proofs generated by two separate SP1 guest programs.

VSS: Valid Key Material

VSS handles the key-sharing side of the exchange. During purchase, the buyer submits a commitment related to the buyer's purchase secret. During fulfillment, the seller submits encrypted key material that should let this buyer recover the asset key.

The VSS zk program checks that the seller's encrypted key material is consistent with the buyer's commitment and the sale's data key commitment. This prevents a seller from submitting random bytes that look like a key package on-chain but do not actually help the buyer decrypt the file.

VDD: Recoverable Delivery

VDD handles the data-delivery side. It checks the seller's claim that the encrypted payload stored for delivery is tied to the committed asset. This prevents settlement with unrelated encrypted bytes or a corrupted delivery.

The current VDD design uses the structure of erasure-coded data together with ChaCha20-style stream encryption. Erasure coding is linear over byte data, and ChaCha20 encryption is an XOR with a keystream, so the encoded plaintext, encoded keystream, and encoded ciphertext preserve the same XOR relation. This is the homomorphism VDD uses for efficient checking.

With erasure coding, the buyer does not need every original storage piece to recover the file; enough valid encoded pieces are sufficient. The proof samples a small part of the encoded/encrypted structure. If the seller has damaged or replaced enough data to stop recovery, the chance of escaping these checks drops quickly.

In this document, availability means recoverability: the buyer can recover the complete payload from the delivered encrypted data and the key material. It does not merely mean that a storage server returned some bytes.

Settlement

Settlement is only the final step after the protocol has the required evidence: the buyer has valid key material, and the delivered encrypted data is tied to the committed asset with high recoverability confidence. The seller does not get paid just for claiming delivery.