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

What's hot

2014.10 - How to Formulate and Validate Constraints (DC 2014)
2014.10 - How to Formulate and Validate Constraints (DC 2014)2014.10 - How to Formulate and Validate Constraints (DC 2014)
2014.10 - How to Formulate and Validate Constraints (DC 2014)
Dr.-Ing. Thomas Hartmann
 
Update on OpenTSDB and AsyncHBase
Update on OpenTSDB and AsyncHBase Update on OpenTSDB and AsyncHBase
Update on OpenTSDB and AsyncHBase
HBaseCon
 
Streaming kafka search utility for Mozilla's Bagheera
Streaming kafka search utility for Mozilla's BagheeraStreaming kafka search utility for Mozilla's Bagheera
Streaming kafka search utility for Mozilla's BagheeraVarunkumar Manohar
 
Data Presentations Cassandra Sigmod
Data  Presentations  Cassandra SigmodData  Presentations  Cassandra Sigmod
Data Presentations Cassandra Sigmod
Jeff Hammerbacher
 
Work Stealing For Fun & Profit: Jim Nelson
Work Stealing For Fun & Profit: Jim NelsonWork Stealing For Fun & Profit: Jim Nelson
Work Stealing For Fun & Profit: Jim Nelson
Redis Labs
 
Druid realtime indexing
Druid realtime indexingDruid realtime indexing
Druid realtime indexing
Seoeun Park
 
Delex 2020: Deep diving into the dynamic provisioning of GlusterFS volumes in...
Delex 2020: Deep diving into the dynamic provisioning of GlusterFS volumes in...Delex 2020: Deep diving into the dynamic provisioning of GlusterFS volumes in...
Delex 2020: Deep diving into the dynamic provisioning of GlusterFS volumes in...
Artem Romanchik
 
openTSDB - Metrics for a distributed world
openTSDB - Metrics for a distributed worldopenTSDB - Metrics for a distributed world
openTSDB - Metrics for a distributed world
Oliver Hankeln
 
Bitcoin
BitcoinBitcoin
Шардинг в MongoDB, Henrik Ingo (MongoDB)
Шардинг в MongoDB, Henrik Ingo (MongoDB)Шардинг в MongoDB, Henrik Ingo (MongoDB)
Шардинг в MongoDB, Henrik Ingo (MongoDB)
Ontico
 
syslog-ng: from log collection to processing and information extraction
syslog-ng: from log collection to processing and information extractionsyslog-ng: from log collection to processing and information extraction
syslog-ng: from log collection to processing and information extractionBalaBit
 
Logs management
Logs managementLogs management
Logs management
Mantas Klasavicius
 
Identity Management: Data Intake as a Service
Identity Management: Data Intake as a ServiceIdentity Management: Data Intake as a Service
Identity Management: Data Intake as a Service
bkoehmstedt
 
Real-Time Integration Between MongoDB and SQL Databases
Real-Time Integration Between MongoDB and SQL DatabasesReal-Time Integration Between MongoDB and SQL Databases
Real-Time Integration Between MongoDB and SQL Databases
Eugene Dvorkin
 
Safely Protect PostgreSQL Passwords - Tell Others to SCRAM
Safely Protect PostgreSQL Passwords - Tell Others to SCRAMSafely Protect PostgreSQL Passwords - Tell Others to SCRAM
Safely Protect PostgreSQL Passwords - Tell Others to SCRAM
Jonathan Katz
 
Sharding - patterns & antipatterns, Константин Осипов, Алексей Рыбак
Sharding -  patterns & antipatterns, Константин Осипов, Алексей РыбакSharding -  patterns & antipatterns, Константин Осипов, Алексей Рыбак
Sharding - patterns & antipatterns, Константин Осипов, Алексей Рыбак
Ontico
 
Scaling Concurrency Without Getting Burned
Scaling Concurrency Without Getting BurnedScaling Concurrency Without Getting Burned
Scaling Concurrency Without Getting Burned
Alex Garibay
 
State of the art logging
State of the art loggingState of the art logging
State of the art loggingBalaBit
 

What's hot (18)

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

Similar to Improving Authenticated Dynamic Dictionaries, with Application to Cryptocurrencies

Improving Authenticated Dynamic Dictionaries, with Application to Cryptocurre...
Improving Authenticated Dynamic Dictionaries, with Application to Cryptocurre...Improving Authenticated Dynamic Dictionaries, with Application to Cryptocurre...
Improving Authenticated Dynamic Dictionaries, with Application to Cryptocurre...
Dmitry Meshkov
 
Architecture of the Hyperledger Blockchain Fabric - Christian Cachin - IBM Re...
Architecture of the Hyperledger Blockchain Fabric - Christian Cachin - IBM Re...Architecture of the Hyperledger Blockchain Fabric - Christian Cachin - IBM Re...
Architecture of the Hyperledger Blockchain Fabric - Christian Cachin - IBM Re...
Romeo Kienzler
 
tezos_hands-on-training.pdf
tezos_hands-on-training.pdftezos_hands-on-training.pdf
tezos_hands-on-training.pdf
Neven6
 
Consensus Algorithms - Nakov @ jProfessionals - Jan 2018
Consensus Algorithms - Nakov @ jProfessionals - Jan 2018Consensus Algorithms - Nakov @ jProfessionals - Jan 2018
Consensus Algorithms - Nakov @ jProfessionals - Jan 2018
Svetlin Nakov
 
Presentation topalidis giorgos
Presentation topalidis giorgosPresentation topalidis giorgos
Presentation topalidis giorgos
Giorgos Topalidis
 
Presentation_Topalidis_Giorgos
Presentation_Topalidis_GiorgosPresentation_Topalidis_Giorgos
Presentation_Topalidis_GiorgosGiorgos Topalidis
 
Managing your Black Friday Logs - Antonio Bonuccelli - Codemotion Rome 2018
Managing your Black Friday Logs - Antonio Bonuccelli - Codemotion Rome 2018Managing your Black Friday Logs - Antonio Bonuccelli - Codemotion Rome 2018
Managing your Black Friday Logs - Antonio Bonuccelli - Codemotion Rome 2018
Codemotion
 
Day 1.pptx
Day 1.pptxDay 1.pptx
Day 1.pptx
MansiRaj26
 
Ethcon seoul 2019 presentation final
Ethcon seoul 2019 presentation finalEthcon seoul 2019 presentation final
Ethcon seoul 2019 presentation final
Heung-No Lee
 
Blockchain meets database
Blockchain meets databaseBlockchain meets database
Blockchain meets database
YongraeJo
 
Data correlation using PySpark and HDFS
Data correlation using PySpark and HDFSData correlation using PySpark and HDFS
Data correlation using PySpark and HDFS
John Conley
 
Introduction P2p
Introduction P2pIntroduction P2p
Introduction P2p
Davide Carboni
 
NIX Case Study: ARTIFACTS - A Blockchain Platform for Scientific Research Dat...
NIX Case Study: ARTIFACTS - A Blockchain Platform for Scientific Research Dat...NIX Case Study: ARTIFACTS - A Blockchain Platform for Scientific Research Dat...
NIX Case Study: ARTIFACTS - A Blockchain Platform for Scientific Research Dat...
NIX
 
Scaling up genomic analysis with ADAM
Scaling up genomic analysis with ADAMScaling up genomic analysis with ADAM
Scaling up genomic analysis with ADAM
fnothaft
 
Analyzing Blockchain Transactions in Apache Spark with Jiri Kremser
Analyzing Blockchain Transactions in Apache Spark with Jiri KremserAnalyzing Blockchain Transactions in Apache Spark with Jiri Kremser
Analyzing Blockchain Transactions in Apache Spark with Jiri Kremser
Databricks
 
Keccak
KeccakKeccak
Keccak
Rajeev Verma
 
Open Security Operations Center - OpenSOC
Open Security Operations Center - OpenSOCOpen Security Operations Center - OpenSOC
Open Security Operations Center - OpenSOC
Sheetal Dolas
 
On Private Blockchains, Technically
On Private Blockchains, TechnicallyOn Private Blockchains, Technically
On Private Blockchains, Technically
Alex Chepurnoy
 
Blockchain
BlockchainBlockchain
Tribeflow on bitcoin data
Tribeflow on bitcoin dataTribeflow on bitcoin data
Tribeflow on bitcoin data
Abdullah Khan Zehady
 

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

Improving Authenticated Dynamic Dictionaries, with Application to Cryptocurre...
Improving Authenticated Dynamic Dictionaries, with Application to Cryptocurre...Improving Authenticated Dynamic Dictionaries, with Application to Cryptocurre...
Improving Authenticated Dynamic Dictionaries, with Application to Cryptocurre...
 
Architecture of the Hyperledger Blockchain Fabric - Christian Cachin - IBM Re...
Architecture of the Hyperledger Blockchain Fabric - Christian Cachin - IBM Re...Architecture of the Hyperledger Blockchain Fabric - Christian Cachin - IBM Re...
Architecture of the Hyperledger Blockchain Fabric - Christian Cachin - IBM Re...
 
tezos_hands-on-training.pdf
tezos_hands-on-training.pdftezos_hands-on-training.pdf
tezos_hands-on-training.pdf
 
Consensus Algorithms - Nakov @ jProfessionals - Jan 2018
Consensus Algorithms - Nakov @ jProfessionals - Jan 2018Consensus Algorithms - Nakov @ jProfessionals - Jan 2018
Consensus Algorithms - Nakov @ jProfessionals - Jan 2018
 
Presentation topalidis giorgos
Presentation topalidis giorgosPresentation topalidis giorgos
Presentation topalidis giorgos
 
Presentation_Topalidis_Giorgos
Presentation_Topalidis_GiorgosPresentation_Topalidis_Giorgos
Presentation_Topalidis_Giorgos
 
Managing your Black Friday Logs - Antonio Bonuccelli - Codemotion Rome 2018
Managing your Black Friday Logs - Antonio Bonuccelli - Codemotion Rome 2018Managing your Black Friday Logs - Antonio Bonuccelli - Codemotion Rome 2018
Managing your Black Friday Logs - Antonio Bonuccelli - Codemotion Rome 2018
 
Day 1.pptx
Day 1.pptxDay 1.pptx
Day 1.pptx
 
Ethcon seoul 2019 presentation final
Ethcon seoul 2019 presentation finalEthcon seoul 2019 presentation final
Ethcon seoul 2019 presentation final
 
Blockchain meets database
Blockchain meets databaseBlockchain meets database
Blockchain meets database
 
Data correlation using PySpark and HDFS
Data correlation using PySpark and HDFSData correlation using PySpark and HDFS
Data correlation using PySpark and HDFS
 
Introduction P2p
Introduction P2pIntroduction P2p
Introduction P2p
 
NIX Case Study: ARTIFACTS - A Blockchain Platform for Scientific Research Dat...
NIX Case Study: ARTIFACTS - A Blockchain Platform for Scientific Research Dat...NIX Case Study: ARTIFACTS - A Blockchain Platform for Scientific Research Dat...
NIX Case Study: ARTIFACTS - A Blockchain Platform for Scientific Research Dat...
 
Scaling up genomic analysis with ADAM
Scaling up genomic analysis with ADAMScaling up genomic analysis with ADAM
Scaling up genomic analysis with ADAM
 
Analyzing Blockchain Transactions in Apache Spark with Jiri Kremser
Analyzing Blockchain Transactions in Apache Spark with Jiri KremserAnalyzing Blockchain Transactions in Apache Spark with Jiri Kremser
Analyzing Blockchain Transactions in Apache Spark with Jiri Kremser
 
Keccak
KeccakKeccak
Keccak
 
Open Security Operations Center - OpenSOC
Open Security Operations Center - OpenSOCOpen Security Operations Center - OpenSOC
Open Security Operations Center - OpenSOC
 
On Private Blockchains, Technically
On Private Blockchains, TechnicallyOn Private Blockchains, Technically
On Private Blockchains, Technically
 
Blockchain
BlockchainBlockchain
Blockchain
 
Tribeflow on bitcoin data
Tribeflow on bitcoin dataTribeflow on bitcoin data
Tribeflow on bitcoin data
 

More from Dmitry Meshkov

Dymmax Protocol overview
Dymmax Protocol overviewDymmax Protocol overview
Dymmax Protocol overview
Dmitry Meshkov
 
Ergo details
Ergo detailsErgo details
Ergo details
Dmitry Meshkov
 
Ergo Hong Kong meetup
Ergo Hong Kong meetupErgo Hong Kong meetup
Ergo Hong Kong meetup
Dmitry Meshkov
 
Ergo platform overview
Ergo platform overviewErgo platform overview
Ergo platform overview
Dmitry Meshkov
 
The New Generation Of Blockchains – What Is It Capable Of?
The New Generation Of Blockchains – What Is It Capable Of?The New Generation Of Blockchains – What Is It Capable Of?
The New Generation Of Blockchains – What Is It Capable Of?
Dmitry Meshkov
 
Ergo platform's approach
Ergo platform's approachErgo platform's approach
Ergo platform's approach
Dmitry Meshkov
 
Блокчейн - проблемы и потенциальные решения
Блокчейн - проблемы и потенциальные решенияБлокчейн - проблемы и потенциальные решения
Блокчейн - проблемы и потенциальные решения
Dmitry Meshkov
 
On Space-Scarce Economy In Blockchain Systems
On Space-Scarce Economy In Blockchain SystemsOn Space-Scarce Economy In Blockchain Systems
On Space-Scarce Economy In Blockchain Systems
Dmitry Meshkov
 
Исследовательские задачи в области блокчейна
Исследовательские задачи в области блокчейнаИсследовательские задачи в области блокчейна
Исследовательские задачи в области блокчейна
Dmitry Meshkov
 
Real world blockchains
Real world blockchainsReal world blockchains
Real world blockchains
Dmitry Meshkov
 
Blockchain introduction
Blockchain introductionBlockchain introduction
Blockchain introduction
Dmitry Meshkov
 
Real world blockchains
Real world blockchainsReal world blockchains
Real world blockchains
Dmitry Meshkov
 
Blockchain: under the hood
Blockchain: under the hoodBlockchain: under the hood
Blockchain: under the hood
Dmitry Meshkov
 
Blockchain comparison
Blockchain comparisonBlockchain comparison
Blockchain comparison
Dmitry Meshkov
 
Scrypto designed 4
Scrypto designed 4Scrypto designed 4
Scrypto designed 4
Dmitry Meshkov
 
Real world blockchains
Real world blockchainsReal world blockchains
Real world blockchains
Dmitry Meshkov
 
Scorex framework
Scorex frameworkScorex framework
Scorex framework
Dmitry Meshkov
 

More from Dmitry Meshkov (17)

Dymmax Protocol overview
Dymmax Protocol overviewDymmax Protocol overview
Dymmax Protocol overview
 
Ergo details
Ergo detailsErgo details
Ergo details
 
Ergo Hong Kong meetup
Ergo Hong Kong meetupErgo Hong Kong meetup
Ergo Hong Kong meetup
 
Ergo platform overview
Ergo platform overviewErgo platform overview
Ergo platform overview
 
The New Generation Of Blockchains – What Is It Capable Of?
The New Generation Of Blockchains – What Is It Capable Of?The New Generation Of Blockchains – What Is It Capable Of?
The New Generation Of Blockchains – What Is It Capable Of?
 
Ergo platform's approach
Ergo platform's approachErgo platform's approach
Ergo platform's approach
 
Блокчейн - проблемы и потенциальные решения
Блокчейн - проблемы и потенциальные решенияБлокчейн - проблемы и потенциальные решения
Блокчейн - проблемы и потенциальные решения
 
On Space-Scarce Economy In Blockchain Systems
On Space-Scarce Economy In Blockchain SystemsOn Space-Scarce Economy In Blockchain Systems
On Space-Scarce Economy In Blockchain Systems
 
Исследовательские задачи в области блокчейна
Исследовательские задачи в области блокчейнаИсследовательские задачи в области блокчейна
Исследовательские задачи в области блокчейна
 
Real world blockchains
Real world blockchainsReal world blockchains
Real world blockchains
 
Blockchain introduction
Blockchain introductionBlockchain introduction
Blockchain introduction
 
Real world blockchains
Real world blockchainsReal world blockchains
Real world blockchains
 
Blockchain: under the hood
Blockchain: under the hoodBlockchain: under the hood
Blockchain: under the hood
 
Blockchain comparison
Blockchain comparisonBlockchain comparison
Blockchain comparison
 
Scrypto designed 4
Scrypto designed 4Scrypto designed 4
Scrypto designed 4
 
Real world blockchains
Real world blockchainsReal world blockchains
Real world blockchains
 
Scorex framework
Scorex frameworkScorex framework
Scorex framework
 

Recently uploaded

Nucleic Acid-its structural and functional complexity.
Nucleic Acid-its structural and functional complexity.Nucleic Acid-its structural and functional complexity.
Nucleic Acid-its structural and functional complexity.
Nistarini College, Purulia (W.B) India
 
PRESENTATION ABOUT PRINCIPLE OF COSMATIC EVALUATION
PRESENTATION ABOUT PRINCIPLE OF COSMATIC EVALUATIONPRESENTATION ABOUT PRINCIPLE OF COSMATIC EVALUATION
PRESENTATION ABOUT PRINCIPLE OF COSMATIC EVALUATION
ChetanK57
 
Circulatory system_ Laplace law. Ohms law.reynaults law,baro-chemo-receptors-...
Circulatory system_ Laplace law. Ohms law.reynaults law,baro-chemo-receptors-...Circulatory system_ Laplace law. Ohms law.reynaults law,baro-chemo-receptors-...
Circulatory system_ Laplace law. Ohms law.reynaults law,baro-chemo-receptors-...
muralinath2
 
Comparing Evolved Extractive Text Summary Scores of Bidirectional Encoder Rep...
Comparing Evolved Extractive Text Summary Scores of Bidirectional Encoder Rep...Comparing Evolved Extractive Text Summary Scores of Bidirectional Encoder Rep...
Comparing Evolved Extractive Text Summary Scores of Bidirectional Encoder Rep...
University of Maribor
 
Astronomy Update- Curiosity’s exploration of Mars _ Local Briefs _ leadertele...
Astronomy Update- Curiosity’s exploration of Mars _ Local Briefs _ leadertele...Astronomy Update- Curiosity’s exploration of Mars _ Local Briefs _ leadertele...
Astronomy Update- Curiosity’s exploration of Mars _ Local Briefs _ leadertele...
NathanBaughman3
 
Hemostasis_importance& clinical significance.pptx
Hemostasis_importance& clinical significance.pptxHemostasis_importance& clinical significance.pptx
Hemostasis_importance& clinical significance.pptx
muralinath2
 
4. An Overview of Sugarcane White Leaf Disease in Vietnam.pdf
4. An Overview of Sugarcane White Leaf Disease in Vietnam.pdf4. An Overview of Sugarcane White Leaf Disease in Vietnam.pdf
4. An Overview of Sugarcane White Leaf Disease in Vietnam.pdf
ssuserbfdca9
 
Multi-source connectivity as the driver of solar wind variability in the heli...
Multi-source connectivity as the driver of solar wind variability in the heli...Multi-source connectivity as the driver of solar wind variability in the heli...
Multi-source connectivity as the driver of solar wind variability in the heli...
Sérgio Sacani
 
Observation of Io’s Resurfacing via Plume Deposition Using Ground-based Adapt...
Observation of Io’s Resurfacing via Plume Deposition Using Ground-based Adapt...Observation of Io’s Resurfacing via Plume Deposition Using Ground-based Adapt...
Observation of Io’s Resurfacing via Plume Deposition Using Ground-based Adapt...
Sérgio Sacani
 
Leaf Initiation, Growth and Differentiation.pdf
Leaf Initiation, Growth and Differentiation.pdfLeaf Initiation, Growth and Differentiation.pdf
Leaf Initiation, Growth and Differentiation.pdf
RenuJangid3
 
(May 29th, 2024) Advancements in Intravital Microscopy- Insights for Preclini...
(May 29th, 2024) Advancements in Intravital Microscopy- Insights for Preclini...(May 29th, 2024) Advancements in Intravital Microscopy- Insights for Preclini...
(May 29th, 2024) Advancements in Intravital Microscopy- Insights for Preclini...
Scintica Instrumentation
 
EY - Supply Chain Services 2018_template.pptx
EY - Supply Chain Services 2018_template.pptxEY - Supply Chain Services 2018_template.pptx
EY - Supply Chain Services 2018_template.pptx
AlguinaldoKong
 
Comparative structure of adrenal gland in vertebrates
Comparative structure of adrenal gland in vertebratesComparative structure of adrenal gland in vertebrates
Comparative structure of adrenal gland in vertebrates
sachin783648
 
erythropoiesis-I_mechanism& clinical significance.pptx
erythropoiesis-I_mechanism& clinical significance.pptxerythropoiesis-I_mechanism& clinical significance.pptx
erythropoiesis-I_mechanism& clinical significance.pptx
muralinath2
 
insect taxonomy importance systematics and classification
insect taxonomy importance systematics and classificationinsect taxonomy importance systematics and classification
insect taxonomy importance systematics and classification
anitaento25
 
filosofia boliviana introducción jsjdjd.pptx
filosofia boliviana introducción jsjdjd.pptxfilosofia boliviana introducción jsjdjd.pptx
filosofia boliviana introducción jsjdjd.pptx
IvanMallco1
 
What is greenhouse gasses and how many gasses are there to affect the Earth.
What is greenhouse gasses and how many gasses are there to affect the Earth.What is greenhouse gasses and how many gasses are there to affect the Earth.
What is greenhouse gasses and how many gasses are there to affect the Earth.
moosaasad1975
 
Lab report on liquid viscosity of glycerin
Lab report on liquid viscosity of glycerinLab report on liquid viscosity of glycerin
Lab report on liquid viscosity of glycerin
ossaicprecious19
 
GBSN - Biochemistry (Unit 5) Chemistry of Lipids
GBSN - Biochemistry (Unit 5) Chemistry of LipidsGBSN - Biochemistry (Unit 5) Chemistry of Lipids
GBSN - Biochemistry (Unit 5) Chemistry of Lipids
Areesha Ahmad
 
Lateral Ventricles.pdf very easy good diagrams comprehensive
Lateral Ventricles.pdf very easy good diagrams comprehensiveLateral Ventricles.pdf very easy good diagrams comprehensive
Lateral Ventricles.pdf very easy good diagrams comprehensive
silvermistyshot
 

Recently uploaded (20)

Nucleic Acid-its structural and functional complexity.
Nucleic Acid-its structural and functional complexity.Nucleic Acid-its structural and functional complexity.
Nucleic Acid-its structural and functional complexity.
 
PRESENTATION ABOUT PRINCIPLE OF COSMATIC EVALUATION
PRESENTATION ABOUT PRINCIPLE OF COSMATIC EVALUATIONPRESENTATION ABOUT PRINCIPLE OF COSMATIC EVALUATION
PRESENTATION ABOUT PRINCIPLE OF COSMATIC EVALUATION
 
Circulatory system_ Laplace law. Ohms law.reynaults law,baro-chemo-receptors-...
Circulatory system_ Laplace law. Ohms law.reynaults law,baro-chemo-receptors-...Circulatory system_ Laplace law. Ohms law.reynaults law,baro-chemo-receptors-...
Circulatory system_ Laplace law. Ohms law.reynaults law,baro-chemo-receptors-...
 
Comparing Evolved Extractive Text Summary Scores of Bidirectional Encoder Rep...
Comparing Evolved Extractive Text Summary Scores of Bidirectional Encoder Rep...Comparing Evolved Extractive Text Summary Scores of Bidirectional Encoder Rep...
Comparing Evolved Extractive Text Summary Scores of Bidirectional Encoder Rep...
 
Astronomy Update- Curiosity’s exploration of Mars _ Local Briefs _ leadertele...
Astronomy Update- Curiosity’s exploration of Mars _ Local Briefs _ leadertele...Astronomy Update- Curiosity’s exploration of Mars _ Local Briefs _ leadertele...
Astronomy Update- Curiosity’s exploration of Mars _ Local Briefs _ leadertele...
 
Hemostasis_importance& clinical significance.pptx
Hemostasis_importance& clinical significance.pptxHemostasis_importance& clinical significance.pptx
Hemostasis_importance& clinical significance.pptx
 
4. An Overview of Sugarcane White Leaf Disease in Vietnam.pdf
4. An Overview of Sugarcane White Leaf Disease in Vietnam.pdf4. An Overview of Sugarcane White Leaf Disease in Vietnam.pdf
4. An Overview of Sugarcane White Leaf Disease in Vietnam.pdf
 
Multi-source connectivity as the driver of solar wind variability in the heli...
Multi-source connectivity as the driver of solar wind variability in the heli...Multi-source connectivity as the driver of solar wind variability in the heli...
Multi-source connectivity as the driver of solar wind variability in the heli...
 
Observation of Io’s Resurfacing via Plume Deposition Using Ground-based Adapt...
Observation of Io’s Resurfacing via Plume Deposition Using Ground-based Adapt...Observation of Io’s Resurfacing via Plume Deposition Using Ground-based Adapt...
Observation of Io’s Resurfacing via Plume Deposition Using Ground-based Adapt...
 
Leaf Initiation, Growth and Differentiation.pdf
Leaf Initiation, Growth and Differentiation.pdfLeaf Initiation, Growth and Differentiation.pdf
Leaf Initiation, Growth and Differentiation.pdf
 
(May 29th, 2024) Advancements in Intravital Microscopy- Insights for Preclini...
(May 29th, 2024) Advancements in Intravital Microscopy- Insights for Preclini...(May 29th, 2024) Advancements in Intravital Microscopy- Insights for Preclini...
(May 29th, 2024) Advancements in Intravital Microscopy- Insights for Preclini...
 
EY - Supply Chain Services 2018_template.pptx
EY - Supply Chain Services 2018_template.pptxEY - Supply Chain Services 2018_template.pptx
EY - Supply Chain Services 2018_template.pptx
 
Comparative structure of adrenal gland in vertebrates
Comparative structure of adrenal gland in vertebratesComparative structure of adrenal gland in vertebrates
Comparative structure of adrenal gland in vertebrates
 
erythropoiesis-I_mechanism& clinical significance.pptx
erythropoiesis-I_mechanism& clinical significance.pptxerythropoiesis-I_mechanism& clinical significance.pptx
erythropoiesis-I_mechanism& clinical significance.pptx
 
insect taxonomy importance systematics and classification
insect taxonomy importance systematics and classificationinsect taxonomy importance systematics and classification
insect taxonomy importance systematics and classification
 
filosofia boliviana introducción jsjdjd.pptx
filosofia boliviana introducción jsjdjd.pptxfilosofia boliviana introducción jsjdjd.pptx
filosofia boliviana introducción jsjdjd.pptx
 
What is greenhouse gasses and how many gasses are there to affect the Earth.
What is greenhouse gasses and how many gasses are there to affect the Earth.What is greenhouse gasses and how many gasses are there to affect the Earth.
What is greenhouse gasses and how many gasses are there to affect the Earth.
 
Lab report on liquid viscosity of glycerin
Lab report on liquid viscosity of glycerinLab report on liquid viscosity of glycerin
Lab report on liquid viscosity of glycerin
 
GBSN - Biochemistry (Unit 5) Chemistry of Lipids
GBSN - Biochemistry (Unit 5) Chemistry of LipidsGBSN - Biochemistry (Unit 5) Chemistry of Lipids
GBSN - Biochemistry (Unit 5) Chemistry of Lipids
 
Lateral Ventricles.pdf very easy good diagrams comprehensive
Lateral Ventricles.pdf very easy good diagrams comprehensiveLateral Ventricles.pdf very easy good diagrams comprehensive
Lateral Ventricles.pdf very easy good diagrams comprehensive
 

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!