SlideShare a Scribd company logo
Improving Authenticated Dynamic Dictionaries,
with Applications to Cryptocurrencies
Leonid Reyzin1
, Dmitry Meshkov2
,
Alexander Chepurnoy3
, Sasha Ivanov4
1.Boston University, http://www.cs.bu.edu/faculty/reyzin
Research supported by the Waves platform, wavesplatform.com
2.IOHK Research, dmitry.meshkov@iohk.io
3.IOHK Research, alex.chepurnoy@iohk.io
4.Waves platform, sasha@wavesplatform.com
Motivation: validating transactions
PKA PKD
14
Stateless validation: Check syntax, signature of PKA, etc.
Stateful validation: Check that PKA has 14 (+ fee)
All required info is in the transaction itself
Requires knowing how much PKA has based on prior transactions
Large (and growing!) dictionary data structure.
Currently in Bitcoin: 1.5GB (serialized).
Even worse in multiasset blockchains: one per asset.
PKA 36
PKB 684
PKD  13
PKC  2
PKE 347
PKF 98
PKH  54
PKG  50
PKI 12
PKJ 285
PKL  3
PKK  463
PKM 12
PKN 76
PKP  88
PKO  3
…
Miners should validate transactions efficiently.
They can:
1.Keep State in RAM => Mining centralization
2.Do not keep State => SPV mining
Motivation: big state problems
Problems for users:
● Can’t validate blocks on low-end hardware
● Long validation on commodity hardware
=>
● Users move to centralized services
Motivation: big state problems
Header
Consensus data
Transactions
Merkle tree
Tx_root
Header
Consensus data
Transactions
Merkle tree
Tx_root Tx_proofs_root
Transaction
proofs
Our proposal
Idea [early versions in Miller ‘12, Ethereum/Wood ‘14, White ‘15]:
Use authenticated data structures (root in block header)
and include a proof of sender’s balance with each transaction.
Authenticated Dictionaries to the Rescue
● Make state authenticated
● Easy: proof of a sender's balance (standard
Merkle tree proof with respect to the root).
● More complicated: ensuring the prover changed
the balances correctly.
● Important: we do not wish to trust the prover!
Merkle Root
PKA
: 36 PKB
: 384 PKD
: 13
PKA 36
PKB 684
PKD  13
PKC  2
…
Proofs: authenticated state
● Prover
● Light verifier
Proofs verify balances and calculate new root hash
Root N-1
PKA 36
Root N
Transactions
PKB 684 PKD 13 PKA 22 PKB 684 PKD 27
Txs + proofsRoot N-1 Root N
proofs
Blockchain parties
Skiplist1
Lookup proof size 1.5 H log2
N
Insert proof size 1.5 H log2
N
Deterministic
1) Papamanthou and Tamassia. "Time and space efficient algorithms for two-party
authenticated data structures." 2007.
N = # of PKs
H = length of hash
Prior work
Skiplist1
Red-black tree2
Lookup proof size 1.5 H log2
N (H + K) log2
N
Insert proof size 1.5 H log2
N 3 (H + K) log2
N
Deterministic
1) Papamanthou and Tamassia. "Time and space efficient algorithms for two-party
authenticated data structures." 2007.
2)Miller, Hicks, Katz, Shi. "Authenticated data structures, generically." 2014.
N = # of PKs
H = length of hash
K = length of PK
Prior work
Skiplist1
Red-black tree2
Our AVL+ tree
Lookup proof size 1.5 H log2
N (H + K) log2
N H log2
N
Insert proof size 1.5 H log2
N 3 (H + K) log2
N H log2
N
Deterministic
1) Papamanthou and Tamassia. "Time and space efficient algorithms for two-party
authenticated data structures." 2007.
2)Miller, Hicks, Katz, Shi. "Authenticated data structures, generically." 2014.
N = # of PKs
H = length of hash
K = length of PK
Our improvements: AVL
● For N=106
, AVL+ proof size  765 bytes
(32-byte hashes, 32-byte keys, 8-byte values)
Single operation proof size
Root
● There are a lot of transactions in block
● Transactions may change same public key
● Multiple proofs can be combined together
PKA 36 PKB 684 PKD 13PKC 2 PKE 347 PKF 98 PKH 54PKG 50
hash hash hash hash
hashhash
14
PKD
PKA
Our improvements: batching
Root
● Proofs can contain same hashes
14
PKD
PKA
PKB 684 PKD 13PKC 2 PKE 347 PKF 98 PKH 54PKG 50
hash hash hash hash
hashhash
PKA 36
Our improvements: batching
Root
● Some hashes from one proof may be calculated
from other proofs
14
PKD
PKA
PKA 36 PKB 684 PKD 13PKC 2 PKE 347 PKF 98 PKH 54PKG 50
hash hash hash hash
hashhash
Our improvements: batching
● For tree N=106
and batch B=103
, compressed
proof size is 400 bytes, plain  765 bytes
Multiple operations proof size
Conclusion
Authenticated data structures enable:
● Verification on low-end hardware
● Mining on commodity hardware
● Paper: https://ia.cr/2016/994
● Code: https://github.com/input-output-hk/scrypto
● Coming on: https://wavesplatform.com
● Slides: https://www.slideshare.net/DmitryMeshkov
● Twitter: https://twitter.com/DmitryMeshkov
● Email: dmitry.meshkov@iohk.io
Thank you!

More Related Content

PDF
Improving Authenticated Dynamic Dictionaries, with Applications to Cryptocurr...
PDF
OpenTSDB for monitoring @ Criteo
PDF
Data Structures and Performance for Scientific Computing with Hadoop and Dumb...
PDF
Building OpenDNS Stats
PDF
OpenTSDB 2.0
PPTX
Logs @ OVHcloud
PPTX
MongoDB - External Authentication
PDF
JEEConf. Vanilla java
Improving Authenticated Dynamic Dictionaries, with Applications to Cryptocurr...
OpenTSDB for monitoring @ Criteo
Data Structures and Performance for Scientific Computing with Hadoop and Dumb...
Building OpenDNS Stats
OpenTSDB 2.0
Logs @ OVHcloud
MongoDB - External Authentication
JEEConf. Vanilla java

What's hot (18)

PPTX
2014.10 - How to Formulate and Validate Constraints (DC 2014)
PPTX
Update on OpenTSDB and AsyncHBase
PPTX
Streaming kafka search utility for Mozilla's Bagheera
PPT
Data Presentations Cassandra Sigmod
PDF
Work Stealing For Fun & Profit: Jim Nelson
PPTX
Druid realtime indexing
PPTX
Delex 2020: Deep diving into the dynamic provisioning of GlusterFS volumes in...
PDF
openTSDB - Metrics for a distributed world
PDF
Шардинг в MongoDB, Henrik Ingo (MongoDB)
PDF
syslog-ng: from log collection to processing and information extraction
PPTX
Logs management
PDF
Identity Management: Data Intake as a Service
PPTX
Real-Time Integration Between MongoDB and SQL Databases
PDF
Safely Protect PostgreSQL Passwords - Tell Others to SCRAM
PPTX
Sharding - patterns & antipatterns, Константин Осипов, Алексей Рыбак
PDF
Scaling Concurrency Without Getting Burned
PPTX
State of the art logging
2014.10 - How to Formulate and Validate Constraints (DC 2014)
Update on OpenTSDB and AsyncHBase
Streaming kafka search utility for Mozilla's Bagheera
Data Presentations Cassandra Sigmod
Work Stealing For Fun & Profit: Jim Nelson
Druid realtime indexing
Delex 2020: Deep diving into the dynamic provisioning of GlusterFS volumes in...
openTSDB - Metrics for a distributed world
Шардинг в MongoDB, Henrik Ingo (MongoDB)
syslog-ng: from log collection to processing and information extraction
Logs management
Identity Management: Data Intake as a Service
Real-Time Integration Between MongoDB and SQL Databases
Safely Protect PostgreSQL Passwords - Tell Others to SCRAM
Sharding - patterns & antipatterns, Константин Осипов, Алексей Рыбак
Scaling Concurrency Without Getting Burned
State of the art logging
Ad

Similar to Improving Authenticated Dynamic Dictionaries, with Application to Cryptocurrencies (20)

PDF
Improving Authenticated Dynamic Dictionaries, with Application to Cryptocurre...
PPTX
Merkle Trees and Fusion Trees
PDF
Predicate-Preserving Collision-Resistant Hashing
PDF
Revisiting authentication - Systems Distributed NYC, 2024
PPTX
Bitcoin MOOC Lecture 1.pptx
PDF
Bitcoin.pdf
PDF
The New Generation Of Blockchains – What Is It Capable Of?
PPTX
A Zero-Knowledge Proof: Improving Privacy on a Blockchain
PDF
Protocols for Provable Solvency
PPTX
Merkle Trees in Blockchain,use,implementation .pptx
PPTX
Alternative cryptocurrencies
PPTX
Alternative cryptocurrencies
PPTX
Blockchain talk english
PDF
The Mathematics Behind Bitcoin
PDF
Decipher Multi-Factor Authentication - A Developers Introduction
PDF
Blockchain Technologies for Data Science
PPTX
What is merkle tree
PDF
Anonymous credentials with range proofs, verifiable encryption, ZKSNARKs, Cir...
PDF
Markle Root hgfyttdytdyrrsrsrtHash.pptx.pdf
PPTX
Lecture 1_Blockchain.pptx
Improving Authenticated Dynamic Dictionaries, with Application to Cryptocurre...
Merkle Trees and Fusion Trees
Predicate-Preserving Collision-Resistant Hashing
Revisiting authentication - Systems Distributed NYC, 2024
Bitcoin MOOC Lecture 1.pptx
Bitcoin.pdf
The New Generation Of Blockchains – What Is It Capable Of?
A Zero-Knowledge Proof: Improving Privacy on a Blockchain
Protocols for Provable Solvency
Merkle Trees in Blockchain,use,implementation .pptx
Alternative cryptocurrencies
Alternative cryptocurrencies
Blockchain talk english
The Mathematics Behind Bitcoin
Decipher Multi-Factor Authentication - A Developers Introduction
Blockchain Technologies for Data Science
What is merkle tree
Anonymous credentials with range proofs, verifiable encryption, ZKSNARKs, Cir...
Markle Root hgfyttdytdyrrsrsrtHash.pptx.pdf
Lecture 1_Blockchain.pptx
Ad

More from Dmitry Meshkov (16)

PDF
Dymmax Protocol overview
PDF
Ergo details
PDF
Ergo Hong Kong meetup
PDF
Ergo platform overview
PDF
Ergo platform's approach
PDF
Блокчейн - проблемы и потенциальные решения
PDF
On Space-Scarce Economy In Blockchain Systems
PDF
Исследовательские задачи в области блокчейна
PDF
Real world blockchains
PDF
Blockchain introduction
PDF
Real world blockchains
PDF
Blockchain: under the hood
PDF
Blockchain comparison
PDF
Scrypto designed 4
ODP
Real world blockchains
ODP
Scorex framework
Dymmax Protocol overview
Ergo details
Ergo Hong Kong meetup
Ergo platform overview
Ergo platform's approach
Блокчейн - проблемы и потенциальные решения
On Space-Scarce Economy In Blockchain Systems
Исследовательские задачи в области блокчейна
Real world blockchains
Blockchain introduction
Real world blockchains
Blockchain: under the hood
Blockchain comparison
Scrypto designed 4
Real world blockchains
Scorex framework

Recently uploaded (20)

PDF
Biophysics 2.pdffffffffffffffffffffffffff
PDF
AlphaEarth Foundations and the Satellite Embedding dataset
PPTX
G5Q1W8 PPT SCIENCE.pptx 2025-2026 GRADE 5
PPTX
GEN. BIO 1 - CELL TYPES & CELL MODIFICATIONS
PDF
Mastering Bioreactors and Media Sterilization: A Complete Guide to Sterile Fe...
PPTX
DRUG THERAPY FOR SHOCK gjjjgfhhhhh.pptx.
PDF
Phytochemical Investigation of Miliusa longipes.pdf
PDF
An interstellar mission to test astrophysical black holes
PPT
protein biochemistry.ppt for university classes
PPTX
2Systematics of Living Organisms t-.pptx
PPTX
2. Earth - The Living Planet earth and life
PDF
SEHH2274 Organic Chemistry Notes 1 Structure and Bonding.pdf
PPTX
cpcsea ppt.pptxssssssssssssssjjdjdndndddd
PPTX
The KM-GBF monitoring framework – status & key messages.pptx
DOCX
Viruses (History, structure and composition, classification, Bacteriophage Re...
PDF
Sciences of Europe No 170 (2025)
PPTX
ANEMIA WITH LEUKOPENIA MDS 07_25.pptx htggtftgt fredrctvg
PPTX
Microbiology with diagram medical studies .pptx
PPTX
7. General Toxicologyfor clinical phrmacy.pptx
PPTX
Cell Membrane: Structure, Composition & Functions
Biophysics 2.pdffffffffffffffffffffffffff
AlphaEarth Foundations and the Satellite Embedding dataset
G5Q1W8 PPT SCIENCE.pptx 2025-2026 GRADE 5
GEN. BIO 1 - CELL TYPES & CELL MODIFICATIONS
Mastering Bioreactors and Media Sterilization: A Complete Guide to Sterile Fe...
DRUG THERAPY FOR SHOCK gjjjgfhhhhh.pptx.
Phytochemical Investigation of Miliusa longipes.pdf
An interstellar mission to test astrophysical black holes
protein biochemistry.ppt for university classes
2Systematics of Living Organisms t-.pptx
2. Earth - The Living Planet earth and life
SEHH2274 Organic Chemistry Notes 1 Structure and Bonding.pdf
cpcsea ppt.pptxssssssssssssssjjdjdndndddd
The KM-GBF monitoring framework – status & key messages.pptx
Viruses (History, structure and composition, classification, Bacteriophage Re...
Sciences of Europe No 170 (2025)
ANEMIA WITH LEUKOPENIA MDS 07_25.pptx htggtftgt fredrctvg
Microbiology with diagram medical studies .pptx
7. General Toxicologyfor clinical phrmacy.pptx
Cell Membrane: Structure, Composition & Functions

Improving Authenticated Dynamic Dictionaries, with Application to Cryptocurrencies

  • 1. Improving Authenticated Dynamic Dictionaries, with Applications to Cryptocurrencies Leonid Reyzin1 , Dmitry Meshkov2 , Alexander Chepurnoy3 , Sasha Ivanov4 1.Boston University, http://www.cs.bu.edu/faculty/reyzin Research supported by the Waves platform, wavesplatform.com 2.IOHK Research, dmitry.meshkov@iohk.io 3.IOHK Research, alex.chepurnoy@iohk.io 4.Waves platform, sasha@wavesplatform.com
  • 2. Motivation: validating transactions PKA PKD 14 Stateless validation: Check syntax, signature of PKA, etc. Stateful validation: Check that PKA has 14 (+ fee) All required info is in the transaction itself Requires knowing how much PKA has based on prior transactions Large (and growing!) dictionary data structure. Currently in Bitcoin: 1.5GB (serialized). Even worse in multiasset blockchains: one per asset. PKA 36 PKB 684 PKD  13 PKC  2 PKE 347 PKF 98 PKH  54 PKG  50 PKI 12 PKJ 285 PKL  3 PKK  463 PKM 12 PKN 76 PKP  88 PKO  3 …
  • 3. Miners should validate transactions efficiently. They can: 1.Keep State in RAM => Mining centralization 2.Do not keep State => SPV mining Motivation: big state problems
  • 4. Problems for users: ● Can’t validate blocks on low-end hardware ● Long validation on commodity hardware => ● Users move to centralized services Motivation: big state problems
  • 5. Header Consensus data Transactions Merkle tree Tx_root Header Consensus data Transactions Merkle tree Tx_root Tx_proofs_root Transaction proofs Our proposal Idea [early versions in Miller ‘12, Ethereum/Wood ‘14, White ‘15]: Use authenticated data structures (root in block header) and include a proof of sender’s balance with each transaction. Authenticated Dictionaries to the Rescue
  • 6. ● Make state authenticated ● Easy: proof of a sender's balance (standard Merkle tree proof with respect to the root). ● More complicated: ensuring the prover changed the balances correctly. ● Important: we do not wish to trust the prover! Merkle Root PKA : 36 PKB : 384 PKD : 13 PKA 36 PKB 684 PKD  13 PKC  2 … Proofs: authenticated state
  • 7. ● Prover ● Light verifier Proofs verify balances and calculate new root hash Root N-1 PKA 36 Root N Transactions PKB 684 PKD 13 PKA 22 PKB 684 PKD 27 Txs + proofsRoot N-1 Root N proofs Blockchain parties
  • 8. Skiplist1 Lookup proof size 1.5 H log2 N Insert proof size 1.5 H log2 N Deterministic 1) Papamanthou and Tamassia. "Time and space efficient algorithms for two-party authenticated data structures." 2007. N = # of PKs H = length of hash Prior work
  • 9. Skiplist1 Red-black tree2 Lookup proof size 1.5 H log2 N (H + K) log2 N Insert proof size 1.5 H log2 N 3 (H + K) log2 N Deterministic 1) Papamanthou and Tamassia. "Time and space efficient algorithms for two-party authenticated data structures." 2007. 2)Miller, Hicks, Katz, Shi. "Authenticated data structures, generically." 2014. N = # of PKs H = length of hash K = length of PK Prior work
  • 10. Skiplist1 Red-black tree2 Our AVL+ tree Lookup proof size 1.5 H log2 N (H + K) log2 N H log2 N Insert proof size 1.5 H log2 N 3 (H + K) log2 N H log2 N Deterministic 1) Papamanthou and Tamassia. "Time and space efficient algorithms for two-party authenticated data structures." 2007. 2)Miller, Hicks, Katz, Shi. "Authenticated data structures, generically." 2014. N = # of PKs H = length of hash K = length of PK Our improvements: AVL
  • 11. ● For N=106 , AVL+ proof size  765 bytes (32-byte hashes, 32-byte keys, 8-byte values) Single operation proof size
  • 12. Root ● There are a lot of transactions in block ● Transactions may change same public key ● Multiple proofs can be combined together PKA 36 PKB 684 PKD 13PKC 2 PKE 347 PKF 98 PKH 54PKG 50 hash hash hash hash hashhash 14 PKD PKA Our improvements: batching
  • 13. Root ● Proofs can contain same hashes 14 PKD PKA PKB 684 PKD 13PKC 2 PKE 347 PKF 98 PKH 54PKG 50 hash hash hash hash hashhash PKA 36 Our improvements: batching
  • 14. Root ● Some hashes from one proof may be calculated from other proofs 14 PKD PKA PKA 36 PKB 684 PKD 13PKC 2 PKE 347 PKF 98 PKH 54PKG 50 hash hash hash hash hashhash Our improvements: batching
  • 15. ● For tree N=106 and batch B=103 , compressed proof size is 400 bytes, plain  765 bytes Multiple operations proof size
  • 16. Conclusion Authenticated data structures enable: ● Verification on low-end hardware ● Mining on commodity hardware
  • 17. ● Paper: https://ia.cr/2016/994 ● Code: https://github.com/input-output-hk/scrypto ● Coming on: https://wavesplatform.com ● Slides: https://www.slideshare.net/DmitryMeshkov ● Twitter: https://twitter.com/DmitryMeshkov ● Email: dmitry.meshkov@iohk.io Thank you!