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 trying to solve? Peter Todd 37EC 7D7B 0A21 7CDB 4B4E 007E 7FAB 1142 67E4 FA04
Physical Single-Use-Seal Peter Todd 37EC 7D7B 0A21 7CDB 4B4E 007E 7FAB 1142 67E4 FA04
Cryptographic Single-Use-Seal Gen( p ) → l Close( l , m , s ) → w l (1) Verify( l , w l , m ) → bool Peter Todd 37EC 7D7B 0A21 7CDB 4B4E 007E 7FAB 1142 67E4 FA04
Single-Use-Seal Guarantee Secure if ∄ m 1 , w 1 , m 2 , w 2 where m 1 � = m 2 such that Verify( l , w 1 , m 1 ) and Verify( l , w 2 , m 2 ) return true. Peter Todd 37EC 7D7B 0A21 7CDB 4B4E 007E 7FAB 1142 67E4 FA04
Blockchain Implemented Via Single-Use-Seals Series of blocks B i = ( w i , l i , b i ) such that Verify( l i , w i +1 , H ( l i | b i )) is true for each block. Peter Todd 37EC 7D7B 0A21 7CDB 4B4E 007E 7FAB 1142 67E4 FA04
Implementation: Seal Structure Peter Todd 37EC 7D7B 0A21 7CDB 4B4E 007E 7FAB 1142 67E4 FA04
Implementation: Seal Serialization Peter Todd 37EC 7D7B 0A21 7CDB 4B4E 007E 7FAB 1142 67E4 FA04
Implementation: Witness Structure Peter Todd 37EC 7D7B 0A21 7CDB 4B4E 007E 7FAB 1142 67E4 FA04
Implementation: Witness Validation Peter Todd 37EC 7D7B 0A21 7CDB 4B4E 007E 7FAB 1142 67E4 FA04
Implementation: Chain of Seals Peter Todd 37EC 7D7B 0A21 7CDB 4B4E 007E 7FAB 1142 67E4 FA04
Scaling: Proof-of-Publication Seal Seal defined as l = ( B n , p ) where B n is an initial block and p is a pubkey. Verify takes w l = ( B n .. B m ) and verifies that CheckSig( p , m , B i ) returns false for all n ≤ i < m , and true for i = m . Peter Todd 37EC 7D7B 0A21 7CDB 4B4E 007E 7FAB 1142 67E4 FA04
Scaling: Indexed Proof-of-Publication Seal If block B n is a merkelized key-value tree, proving B n [ p ] = m takes O (log 2 ( m )) bytes. Peter Todd 37EC 7D7B 0A21 7CDB 4B4E 007E 7FAB 1142 67E4 FA04
PoP Seal Proof Cost + 32 bytes 3 kB ≈ 1250 bytes level 32 levels + 100 bytes block � �� � � �� � � �� � tx w/ SPV proof sig key-value path 356 days × 12 blocks × 3 kB 13 MB block = ⇒ year day seal · year Peter Todd 37EC 7D7B 0A21 7CDB 4B4E 007E 7FAB 1142 67E4 FA04
Scaling: Proof-of-Publication Seal Why isn’t this implemented yet? Peter Todd 37EC 7D7B 0A21 7CDB 4B4E 007E 7FAB 1142 67E4 FA04
Thank you! Peter Todd 37EC 7D7B 0A21 7CDB 4B4E 007E 7FAB 1142 67E4 FA04
Recommend
More recommend