Keyboard shortcuts

Press ← or β†’ to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Contents

Problem Statement

Protocol Suite

  • Overview - Collaborative transaction construction, privacy, fault tolerance and coalition formation.
  • Abstract transport interfaces - Send, receive and bidirectional channels, the kinds of messaging the protocol needs, and broadcast built from peer to peer channels.
  • πŸ€– Peer and broadcast channels - Broadcast to a group or to the world, built by gossip over peer to peer channels.
  • Contacts and payment messaging - What interactive payments need from peer to peer messaging between payer and payee.
  • Market-based coalition formation - Bilateral negotiation and aggregation of co-spend proposals into a unanimously accepted coalition formation proposal.
  • Transaction construction - Content and state synchronization, the phases, the optimistic and recovery tracks, and what the validity proofs enforce.
    • Block DAG - The validator blocks both tracks share, with their objects, nonce commitments and equivocation evidence, genesis, causal order and frontiers.
    • πŸ€– Optimistic track: blocks and phase states - Unanimity and phase closure on the optimistic track, phase by phase.
    • Recovery track - How a stalled phase of the optimistic track turns into a recovery coalition formation proposal. Draft.
  • πŸ€– Peer set reconciliation - Requesting hash preimages, naive reconciliation, unordered sets, and range and rateless reconciliation as optimizations.
  • πŸ€– Protocol messages - The messages peers exchange, who sends them, when, and what each requires of its channel.
  • πŸ€– Validity proofs - Selected design: proving outputs are covered by inputs through anonymous allocation registration.

Privacy Optimization Strategy

  • Optimization framework for Bitcoin wallets - Objective costs, privacy liabilities and payment utility as the basis for automated wallet decisions.
  • πŸ€– Pure Strategy Evaluation - How the cost of a pure strategy is evaluated: the structure of the cost function, its privacy liability terms, and the privacy metrics they take as input.
    • πŸ€– Cost function structure - The structure shared by the family of cost functions that evaluate pure strategies: time dependence, linear combination of terms and bracketing.
    • πŸ€– Privacy liability terms - The privacy objectives assessed by each liability term and how the terms interact.
      • Randomized selection - Selection preferences that randomize which coins are co-spent, and a lower bound on the size of the order book they were selected from.
      • πŸ€– Sybil resistance - Observed resource requirements and sampled cost estimates assessed against the user’s threat model.
      • πŸ€– Subset sum ambiguity - Outline of a concrete cost function term for the subset sum ambiguity of input and output values.
      • πŸ€– Consolidation penalty - Outline of a concrete cost function term penalizing consolidation unless the subset sums are very dense and the coins are impervious to intersections.
      • πŸ€– Sibling output penalty - Outline of a concrete cost function term penalizing spending sibling outputs together.
    • πŸ€– Privacy metrics - Measures computed from public data that the privacy liability terms take as input.
      • πŸ€– Order book size estimation - A relatively conservative estimate of a lower bound on the number of candidate coins a transaction’s inputs were selected from, and how to find the block hash they were selected with.
      • πŸ€– Subset sum density - How many subsets of a multiset of effective values sum into a target interval, a quantity the subset sum ambiguity and consolidation terms reuse, how it’s estimated, and how co-spend proposals and the aggregator optimize it.
      • πŸ€– Counterfactual paths - Outline of how to count disjoint counterfactual paths with one max flow, and how to estimate the count.
  • πŸ€– Mixed strategy - How to compose a mixed strategy from the cost of pure strategies: randomization, time dependence, internalization and the decision loop.
  • Tactics - Generating the decision tree bottom up, with coin selection and change decomposition, and when to re-evaluate it.
    • Bottom-up construction - Building the decision tree from the leaves: partitions of the intent queue, coin selection, change construction, order book coins, action sequences, and bracketing.
    • Radix CoinJoin Denominations - Why small Hamming weight denominations suit CoinJoin outputs, and how closely sums of a few of them approximate arbitrary amounts.

BIP Drafts

  • PSBT Scrubber - Which PSBT fields can be shared with trusted and untrusted parties such that privacy is preserved.
  • Concurrent PSBT Construction - PSBT fields and rules for combining partial transactions and terminating concurrent construction.