Stanford BPASE 2018 Day Two
2018 . 05 . 08
...

You can find the program for the conference and all slides and videos here, and day-one notes here.

Table of Contents

  1. Talk 1: Cryptocurrency privacy: research-based guidelines for protocol designers
  2. Talk 2: Simplicity: new language for blockchains
  3. Talk 3: Schnorr signatures for bitcoin: challenges and opportunities
  4. Talk 4: Spectre, Phantom: BlockDAG Protocols
  5. Talk 5: A new design for a Blockchain Virtual Machine
  6. Talk 6: Beyond Hellman’s time-memory trade-offs with applications to proofs of space
  7. Talk 7: Verifiable Delay Functions: Applications and Candidate Constructions
  8. Talk 8: Settling Payments Fast and Private: Efficient Decentralized Routing for Path-based transactions
  9. Talk 9: Network and Revive: secure payment hubs supporting Off-Blockchain Rebalancing

Talk 1: Cryptocurrency privacy: research-based guidelines for protocol designers

By Malte Moser, Arvind Narayanan

Anonymity and privacy enhancing techniques

Overview

Anonymity:

observations from looking at old techniques image-title-here

reasons for low adoption:

CryptoCurrency inherits the worst of:

Monero:

CoinJoin:

Payment with BTC (“when cookies meets the blockchain” by Goldfeder et al):

5 principles for designers:

  1. Be cautious about privacy claims:
    • claims purely based on protocol design may overestimate privacy.
    • Depends on usage patterns, and external environment.
    • validity can only be evaluated empirically.
  2. invite and incentivize researchers to perform independent measurement studies
    • example1: zcash foundation, and monero funds protocol research
  3. respect power of defaults:
    • “anonymity loves company”
    • user’s anonymity depends on behavior and choices of others insystem
  4. allow parameters to change
    • revisit from time-to-time and allow to change based on empirical evaluations
  5. articulate trade-offs
    • these are inevitable, vis-a-vis perf and usability
    • detectability versus unlinkability

q. LN privacy implications, and improvements

q. 2 years back people were using miner-fees to do CoinJoin obfuscation. Thoughts? they would launder money through the fees.

q. analysis not including Exchanges. is there a formal way to include the influence of the exchanges?

q. implications of designs like MimbleWimble?

q. lot of parameters may change from empirical analysis. Is there a criteria for how to select these parameters?

Talk 2: Simplicity: new language for blockchains

By Russell O’Connor, Blockstream. very readable Paper. Philip Wadler is a fan, with some valuable feedback. Last, you can also find an awesome implementation of Simplicity in haskell here.

A language for the consensus layer.

Tony Hoare:

we have a choice: make one’s program so simple, there are obviously no errors. Or, make it so complex there are no obvious errors.

We want the former!

Simplicity:

Type System:

Expressions: are functions Core typing rules: have nine combinators

Denotational Semantics for this fits on a t-shirt based on Sequent-Calculus and not Lambda-Calculus

2 = 1 + 1 (a bit) 2^2 = 2 x 2 (a two-bit word) 2^4 = 2^2 x 2^2 (a four-bit word) …

Simplicity in a Blockchain:

Formal verification:

Talk 3: Schnorr signatures for bitcoin: challenges and opportunities

By Pieter Wuille et al, Blockstream

some reading for context on Schnorr Signatures in Bitcoin.

threshold signatures require multiple sigs k-of-n threshold: publish n keys and require k sigs for a valid sig

bitcoin currently uses ECDSA scheme. Seems like one could add new opcodes to bitcoin that accept schnorr instead of ECDSA.

other advantages:

cross-input aggregation:

Talk 4: Spectre, Phantom: BlockDAG Protocols

By Yonatan Sompolinsky, Hebrew Univ of Jerusalem, DAGLabs

motivation:

Very similar to most of Satoshi’s paradigm. One deviation.

Blockchain with 10 blocks per second

DAG mining protocol:

key observations:

  1. two honest blocks unconnected in the DAG only if created at approx same time
  2. rarely more than k honest blocks created at approx same time (because use proof of work), where k is … a parameter we can play with
  3. atttacker can create arbitrary structures, but < 50% of

BlockDAG is a paradigm not a solution, still need to resolve conflicts like double-spends

Phantom protocol

Phantom protocol:

  1. search for largest k-cluster
  2. order its blocks via some topological ordering
    • solving consensus is same as agreeing on order of messages.
  3. iterate over blocks in the prescribed order, and accept transactions consistent with history
    • Note: this protocol is NP hard for step 1.
    • why is this secure:
      • hold this thought

satoshi’s design was intended to identify which blocks in the tree belong to honest nodes and which do not

Satoshi first decided on longest chain and set throughput to lowest level that satisfies protocol. Phantom flips this on its head: set throughput and find k.

theorem: if attacker < 50%, then under any throughput, the largest k-cluster was created by honest nodes, …

To get around NP-Hard issue:

Phantom:

throughput:

protocol (throughput limited by) (confirmation times w/o conflict) (w/t conflict) ordering
BTC latency slow slow linear
Spectre capacity very fast not guaranteed pairwise
Phantom capacity slow very slow linear
Spectre + Phantom capacity very fast very slow pairwise

Phantom recognizes “blue set” (i.e. honest nodes) and instead of doing topological ordering, run “spectre” inside it and get fast confirmation time but lose linear ordering.

q. “chain quality”:

q. if throughput is high,

q. can one prune uncles from a year ago?

q. if topology, where some nodes are very isolated, can they be mistaken to be attacking, or will they get rolled in?

Talk 5: A new design for a Blockchain Virtual Machine

By Cathy Yun, Dan Robinson et al, at Chain

background:

similar goals to Simplicity. But approach it from a solution-oriented, empirical versus formal, math approach.

TxVM:

Tx is the program:

language:

two laws:

  1. constrained ops that preserve a “law of conservation” cannot create or destroy value without satisfying some conditions.
  2. must be cleared from vm at end of execution

example for first-class values: Example ride-sharing tx

example 2: by careless engineer

example 3, same as example 2:

Internals:

diving into contracts:

q. model a tx with contract. Does that enable formal verification, compared to Solidity?

q. is there persistent store of memory like eth?

Talk 6: Beyond Hellman’s time-memory trade-offs with applications to proofs of space

By Bram Cohen

Outline:

goal: prover must convince the verifier that it is using N space.

Talk 7: Verifiable Delay Functions: Applications and Candidate Constructions

By Ben Fisch, Stanford University

Related Work: see Simple Proofs of Sequential Work by Bram Cohen. Best paper at EuroCrypt 2018.

VDF Definition:

time-lock puzzles

proofs of sequential work

Application 1: publicly verifiable random beacon

Application 2: consensus from any Proof of Resource

VDF Formalism:

Construction steps:

In this work, we will be practical! square roots modulo a prime:

Talk 8: Settling Payments Fast and Private: Efficient Decentralized Routing for Path-based transactions

By Stefanie Roos

security:

Talk 9: Network and Revive: secure payment hubs supporting Off-Blockchain Rebalancing

By Rami Khalil, Arthur Gervais

current PoW Blockchains won’t scale beyond 100 tx/s with: 1 minute block interval and 1 Mb blocksize =>

options for scaling:

off-chain payment lifecycle:

how:

Transaction Set Generation Algorithm:

Setup:

guarantees for honest parties:

usability-adoption consideration:

must need a cycle in topology to rebalance. a tree will not do.

2-party payment channel hubs:

to make this efficient, proposing a liquidity network. efficient offchain payment hubs. n-party payment hubs

main architecture:

@liquiditynet https://liquidity.network Development now Eth testnet in march 2018 Paper published.

q. what is the trust model for n-party payment model?

q. would have expected revive to be a series of rebalances, rather than offchain resolution