Single-Use-Seals Peter Todd July 3rd 2018 Building on Bitcoin - - PowerPoint PPT Presentation

single use seals
SMART_READER_LITE
LIVE PREVIEW

Single-Use-Seals Peter Todd July 3rd 2018 Building on Bitcoin - - PowerPoint PPT Presentation

Single-Use-Seals Peter Todd July 3rd 2018 Building on Bitcoin Peter Todd 37EC 7D7B 0A21 7CDB 4B4E 007E 7FAB 1142 67E4 FA04 What problem are we trying to solve? Peter Todd 37EC 7D7B 0A21 7CDB 4B4E 007E 7FAB 1142 67E4 FA04 What problem are we


slide-1
SLIDE 1

Single-Use-Seals

Peter Todd July 3rd 2018 Building on Bitcoin

Peter Todd 37EC 7D7B 0A21 7CDB 4B4E 007E 7FAB 1142 67E4 FA04

slide-2
SLIDE 2

What problem are we trying to solve?

Peter Todd 37EC 7D7B 0A21 7CDB 4B4E 007E 7FAB 1142 67E4 FA04

slide-3
SLIDE 3

What problem are we trying to solve?

Peter Todd 37EC 7D7B 0A21 7CDB 4B4E 007E 7FAB 1142 67E4 FA04

slide-4
SLIDE 4

Physical Single-Use-Seal

Peter Todd 37EC 7D7B 0A21 7CDB 4B4E 007E 7FAB 1142 67E4 FA04

slide-5
SLIDE 5

Cryptographic Single-Use-Seal Gen(p) → l Close(l, m, s) → wl Verify(l, wl, m) → bool (1)

Peter Todd 37EC 7D7B 0A21 7CDB 4B4E 007E 7FAB 1142 67E4 FA04

slide-6
SLIDE 6

Single-Use-Seal Guarantee Secure if ∄ m1, w1, m2, w2 where m1 = m2 such that Verify(l, w1, m1) and Verify(l, w2, m2) return true.

Peter Todd 37EC 7D7B 0A21 7CDB 4B4E 007E 7FAB 1142 67E4 FA04

slide-7
SLIDE 7

Blockchain Implemented Via Single-Use-Seals Series of blocks Bi = (wi, li, bi) such that Verify(li, wi+1, H(li|bi)) is true for each block.

Peter Todd 37EC 7D7B 0A21 7CDB 4B4E 007E 7FAB 1142 67E4 FA04

slide-8
SLIDE 8

Implementation: Seal Structure

Peter Todd 37EC 7D7B 0A21 7CDB 4B4E 007E 7FAB 1142 67E4 FA04

slide-9
SLIDE 9

Implementation: Seal Serialization

Peter Todd 37EC 7D7B 0A21 7CDB 4B4E 007E 7FAB 1142 67E4 FA04

slide-10
SLIDE 10

Implementation: Witness Structure

Peter Todd 37EC 7D7B 0A21 7CDB 4B4E 007E 7FAB 1142 67E4 FA04

slide-11
SLIDE 11

Implementation: Witness Validation

Peter Todd 37EC 7D7B 0A21 7CDB 4B4E 007E 7FAB 1142 67E4 FA04

slide-12
SLIDE 12

Implementation: Chain of Seals

Peter Todd 37EC 7D7B 0A21 7CDB 4B4E 007E 7FAB 1142 67E4 FA04

slide-13
SLIDE 13

Scaling: Proof-of-Publication Seal Seal defined as l = (Bn, p) where Bn is an initial block and p is a pubkey. Verify takes wl = (Bn..Bm) and verifies that CheckSig(p, m, Bi) returns false for all n ≤ i < m, and true for i = m.

Peter Todd 37EC 7D7B 0A21 7CDB 4B4E 007E 7FAB 1142 67E4 FA04

slide-14
SLIDE 14

Scaling: Indexed Proof-of-Publication Seal If block Bn is a merkelized key-value tree, proving Bn[p] = m takes O(log2(m)) bytes.

Peter Todd 37EC 7D7B 0A21 7CDB 4B4E 007E 7FAB 1142 67E4 FA04

slide-15
SLIDE 15

PoP Seal Proof Cost

1250bytes

  • tx w/ SPV proof

+ 32bytes level 32levels

  • key-value path

+ 100bytes

  • sig

3kB block 356days year

× 12blocks

day

× 3kB

block =

13MB seal·year

Peter Todd 37EC 7D7B 0A21 7CDB 4B4E 007E 7FAB 1142 67E4 FA04

slide-16
SLIDE 16

Scaling: Proof-of-Publication Seal Why isn’t this implemented yet?

Peter Todd 37EC 7D7B 0A21 7CDB 4B4E 007E 7FAB 1142 67E4 FA04

slide-17
SLIDE 17

Thank you!

Peter Todd 37EC 7D7B 0A21 7CDB 4B4E 007E 7FAB 1142 67E4 FA04