Home < Scaling Bitcoin Conference < Milan (2016) < Chainbreak

Chainbreak

Transcript By: Bryan Bishop

Table of Contents

braids

Properties of a braid system

Inclusivity

Equal pay for equal proof-of-work

Delayed tx fee allocation

You can’t allocate tx fees until you see the state of the network

  1. do you split fees?

    1. if you don’t, you can fee-snipe

    2. if you do, smart wallets will cheat the fee reallocation

      1. smart wallets that pay specific miners compromise centralization

      2. tx fees should be the best way to get your tx confirmed

    3. could eliminate gossip broadcast of txs (“p2p layer”)

      1. PoW required to get any transaction confirmed

      2. PoW started as a spam prevention mechanism, becomes this again

    4. “deep mempool”

      situation in bitcoin today - more txs waiting than the content of a block

      1. arguably you always have this, because there is always demand for backing up data, at a lower price

Network size measured by graph structure

  1. cohort can only be delineated once no blocks appear for a certain period

  2. can a system not depend on cohort delineation?

    (yes - that’s Jute)

cohort algorithm / sub-cohort ordering

outstanding problem - merging blocks of different difficulty

  1. question of how bead/block difficulty is determined

    1. chains are synchronous, block is a network-wide event

    2. braids are parallel, beads appear simultaneously

    3. can difficulty & reward algorithms have multiple values at different points in the graph?

fee sniping

what even is fee sniping?

  1. miner sees high-fee tx in one block

  2. makes competing block with same tx

definition of a cohort

series of blocks where everything before is an ancestor of everything that comes after

tx processing system must process all txs

tx never sits in limbo indefinitely

can you have both high blocktime and a braid?

problem is double spends

double spending is free

  1. use a miner

  2. try to double-spend

  3. in bitcoin, if you get 5 out of 6 blocks but fail on the 6th, your 5 blocks’ worth of work is wasted

  4. in an inclusive DAG, you submit those blocks late, and still get paid

two ways to get paid - inflation, and tx fees

braids are a constant-factor improvement, not “scalability”

Bitcoin conflates source-of-scarcity with source-of-value

treechains

goal

miners are working as a team to make replay/rewind of history difficult

we want to make their job easier, so they don’t have to track everything to contribute to this effort

how do you keep your spot?

potentially infinite depth of chains

this is a proof-of-publication system

everyone has top chain

broadness of chain backups decreases as chain depth increases

you can pick which depth you target based on your hashpower

validators don’t know validity, but do notice changes

does including data in your block reduce the chance other miners will build on it?

validity of separate outputs within a single transaction is independent?

transactions must specify precise flow from each input to each output

treechains could be implemented with bitcoin as the root - undetectably

don’t need to put all data in the chain, only commitments