SlideShare a Scribd company logo
Introduction to BigchainDB
2
DCS triangle
DCS triangle
4
5
6
DCS triangle
7
8
9
10
BigchainDB
Property
12
Architecture
13
14
Behaviour
15
Life of a transaction
16
Estimation of latency
17
Transaction model
{
"id": "<hash of transaction , excluding signatures>",
"version": "<version number of the transaction model>",
"transaction": {
"fulfillments": ["<list of fulfillments>"],
"conditions": ["<list of conditions>"],
"operation": "<string>",
"timestamp": "<timestamp from client>",
"data": {
"hash": "<hash of payload>",
"payload": "<any JSON document>"
}
}
}
18
Block model
{
"id": "<hash of block>",
"block": {
"timestamp": "<block - creation timestamp>",
"transactions": ["<list of transactions>"],
"node_pubkey": "<public key of the node 
creating the block>",
"voters": ["<list of federation nodes public keys>"]
},
"signature": "<signature of block>",
"votes": ["<list of votes>"]
}
19
Vote model
{
"node_pubkey": "<the public key of the voting node>",
"vote": {
"voting_for_block": "<id of the block 
the node is voting for>",
"previous_block": "<id of the block 
previous to this one>",
"is_block_valid": "<true|false>",
"invalid_reason": "<None| DOUBLE_SPEND 
| TRANSACTIONS_HASH_MISMATCH 
| NODES_PUBKEYS_MISMATCH>",
"timestamp": "<timestamp of the voting action>"
},
"signature": "<signature of vote>"
}
20
Consensus algorithm
Block construction order
After nalizing the creation of a block, that
block must not allow any more transactions to
be added to it. For easier detection of double-
spending.
Hashing votes
No need to include votes for computing block
hash. Because votes are digitally signed by
signing nodes, and therefore not malleable.
21
Consensus algorithm
Dropping transactions
Add a way to re-assign transactions if the
previous node assignment got stale.
Denial of service
Not an issue any more than with a traditional
web service.
22
Consensus algorithm
Client transaction order
Must ensure that transactions sent from the
same client in a particular order are processed
in that order, or at least with a bias to that
order.
Database built-in communication vulnerability
Use big data DB’s own built-in consensus
algorithm like Paxos to tolerate benign failures.
Many nodes would have to be affected for it to
have any major consequences.
23
Consensus algorithm
Double spends
All past transactions are checked to make sure
that input was not already spent. This can be
fast for BigchainDB because it can use an
optimized query of the underlying DB.
Malicious behaviour
Because of the federation model, bad behavior
can be detected when a node’s vote on a block is
different than the majority.
24
Consensus algorithm
Admin becoming god
If admin can be god, that constitute a single
point of failure. To prevent it, all write
transactions ( including updating software )
need to be voted on by the federation.
Of ine nodes
One or a few of ine nodes is ne, as a quorum is
still online. Otherwise, wait until enough nodes
come back online to vote.
25
Consensus algorithm
Chaining blocks rather than transactions
It is easier to write 1000 blocks (each
containing up to 1000 transactions) per second
than to write 1 million transactions per second.
Each voting node only has to append a vote to
each block, rather than to each transaction.
Constructing a vote needs to compute a
cryptographic signature. Save time by doing
that only once per block.
26
Possible use cases
Tracking intellectual property assets
Receipts, and certi cation
Legally-binding contracts
Creation and real-time movement of high-volume
nancial assets
Tracking high-volume physical assets
Smart contracts
Data science
27
References
BigchainDB
BigchainDB Whitepaper
BigchainDB Documentation
The DCS triangle
BigchainDB: how we built a blockchain database
on top of RethinkDB
28

More Related Content

PDF
Weaving the ILP Fabric into Bigchain DB
PDF
BigchainDB 2.0 - The Blockchain Database
PDF
Alexander Sibiryakov- Frontera
PDF
BigchainDB and Beyond
PDF
Distributed Ledger Technology
PDF
Blockchain
PDF
Why Blockchain Matters to Big Data - Big Data London Meetup - Nov 3, 2016
ODP
Intro to Blockchain - And, by the way, what the heck is proof-of-work?
Weaving the ILP Fabric into Bigchain DB
BigchainDB 2.0 - The Blockchain Database
Alexander Sibiryakov- Frontera
BigchainDB and Beyond
Distributed Ledger Technology
Blockchain
Why Blockchain Matters to Big Data - Big Data London Meetup - Nov 3, 2016
Intro to Blockchain - And, by the way, what the heck is proof-of-work?

What's hot (18)

PDF
Blockchain Beyond Finance - Cronos Groep - Jan 17, 2017
PDF
Доклад разработчиков Exonum на третьем митапе сообщества блокчейн-разработчик...
PDF
Hyperledger arch wg_paper_1_consensus
PDF
How to develop Decentralized App (ĐApp) on Ethereum
PPTX
Bitcoin & Ethereum Address
PDF
The new decentralized compute stack and its application
PDF
Распределенный blockchain процессинг / Алексей Трошичев (QiWi, Rakuten)
PDF
Vilnius blockchain club 20170413 consensus
PDF
14 Jan17- Nullmeets -Blockchain concept decoded by Ninad Sarang
PPTX
Introduction to blockchain
PPTX
Web3 Full Stack Development
PDF
Distributed Systems for Blockchain using Cloud
PPTX
以比特幣為例的區塊鏈技術介紹 ( Intro to Blockchain using Bitcoin as an example)
PDF
Trent McConaghy- BigchainDB
PDF
BigchainDB - Big Data meets Blockchain
PDF
Bitcoin, Banking and the Blockchain
PDF
Information security in private blockchains
PDF
Blockchain Technology Review and Its Scope
Blockchain Beyond Finance - Cronos Groep - Jan 17, 2017
Доклад разработчиков Exonum на третьем митапе сообщества блокчейн-разработчик...
Hyperledger arch wg_paper_1_consensus
How to develop Decentralized App (ĐApp) on Ethereum
Bitcoin & Ethereum Address
The new decentralized compute stack and its application
Распределенный blockchain процессинг / Алексей Трошичев (QiWi, Rakuten)
Vilnius blockchain club 20170413 consensus
14 Jan17- Nullmeets -Blockchain concept decoded by Ninad Sarang
Introduction to blockchain
Web3 Full Stack Development
Distributed Systems for Blockchain using Cloud
以比特幣為例的區塊鏈技術介紹 ( Intro to Blockchain using Bitcoin as an example)
Trent McConaghy- BigchainDB
BigchainDB - Big Data meets Blockchain
Bitcoin, Banking and the Blockchain
Information security in private blockchains
Blockchain Technology Review and Its Scope
Ad

Similar to Introduction to BigchainDB (20)

PDF
Bigchaindb whitepaper
PDF
BigchainDB: A Scalable Blockchain Database, In Python
PDF
BigchainDB: A Scalable Blockchain Database, In Python
PPTX
UNIT 1 (1).pptx of block chain technologies
PDF
Wwc developing hyperledger applications v4
PDF
Blockchain IoT Night / 25th Oct 2017
PDF
Architecture of the Hyperledger Blockchain Fabric - Christian Cachin - IBM Re...
PDF
Blockchain; how it works, and why you should care
PDF
Concept of BlockChain & Decentralized Application
PDF
Meetup 19/12/2016 - Blockchain-as-a-service voor Antwerpen?
PDF
Blockchain overiew (itc)
PDF
Architecture of the Hyperledger Blockchain Fabric
PPTX
Blockchain presesentation ajinkya_pande
PDF
Blockchain fundamentals
PPTX
Introduction to Blockchain Technology
PPTX
Node.js Blockchain Implementation
PDF
Block Chain meets Big Data
PPTX
NonStop Hadoop - Applying the PaxosFamily of Protocols to make Critical Hadoo...
PPTX
BlockChain Overview Light
PPTX
Blockchain Advances & its Applications.pptx
Bigchaindb whitepaper
BigchainDB: A Scalable Blockchain Database, In Python
BigchainDB: A Scalable Blockchain Database, In Python
UNIT 1 (1).pptx of block chain technologies
Wwc developing hyperledger applications v4
Blockchain IoT Night / 25th Oct 2017
Architecture of the Hyperledger Blockchain Fabric - Christian Cachin - IBM Re...
Blockchain; how it works, and why you should care
Concept of BlockChain & Decentralized Application
Meetup 19/12/2016 - Blockchain-as-a-service voor Antwerpen?
Blockchain overiew (itc)
Architecture of the Hyperledger Blockchain Fabric
Blockchain presesentation ajinkya_pande
Blockchain fundamentals
Introduction to Blockchain Technology
Node.js Blockchain Implementation
Block Chain meets Big Data
NonStop Hadoop - Applying the PaxosFamily of Protocols to make Critical Hadoo...
BlockChain Overview Light
Blockchain Advances & its Applications.pptx
Ad

Recently uploaded (20)

PPTX
Funds Management Learning Material for Beg
PPTX
Power Point - Lesson 3_2.pptx grad school presentation
PPTX
newyork.pptxirantrafgshenepalchinachinane
PPTX
Introduction about ICD -10 and ICD11 on 5.8.25.pptx
PPTX
Digital Literacy And Online Safety on internet
PPTX
Introuction about WHO-FIC in ICD-10.pptx
PDF
Automated vs Manual WooCommerce to Shopify Migration_ Pros & Cons.pdf
PPT
Ethics in Information System - Management Information System
PDF
FINAL CALL-6th International Conference on Networks & IOT (NeTIOT 2025)
PPTX
SAP Ariba Sourcing PPT for learning material
PDF
Decoding a Decade: 10 Years of Applied CTI Discipline
PDF
Exploring VPS Hosting Trends for SMBs in 2025
PPTX
innovation process that make everything different.pptx
PPTX
international classification of diseases ICD-10 review PPT.pptx
PPTX
introduction about ICD -10 & ICD-11 ppt.pptx
PPT
tcp ip networks nd ip layering assotred slides
PDF
Best Practices for Testing and Debugging Shopify Third-Party API Integrations...
PPTX
Internet___Basics___Styled_ presentation
PPTX
Job_Card_System_Styled_lorem_ipsum_.pptx
PPTX
PptxGenJS_Demo_Chart_20250317130215833.pptx
Funds Management Learning Material for Beg
Power Point - Lesson 3_2.pptx grad school presentation
newyork.pptxirantrafgshenepalchinachinane
Introduction about ICD -10 and ICD11 on 5.8.25.pptx
Digital Literacy And Online Safety on internet
Introuction about WHO-FIC in ICD-10.pptx
Automated vs Manual WooCommerce to Shopify Migration_ Pros & Cons.pdf
Ethics in Information System - Management Information System
FINAL CALL-6th International Conference on Networks & IOT (NeTIOT 2025)
SAP Ariba Sourcing PPT for learning material
Decoding a Decade: 10 Years of Applied CTI Discipline
Exploring VPS Hosting Trends for SMBs in 2025
innovation process that make everything different.pptx
international classification of diseases ICD-10 review PPT.pptx
introduction about ICD -10 & ICD-11 ppt.pptx
tcp ip networks nd ip layering assotred slides
Best Practices for Testing and Debugging Shopify Third-Party API Integrations...
Internet___Basics___Styled_ presentation
Job_Card_System_Styled_lorem_ipsum_.pptx
PptxGenJS_Demo_Chart_20250317130215833.pptx

Introduction to BigchainDB

  • 2. 2
  • 5. 5
  • 6. 6
  • 8. 8
  • 9. 9
  • 10. 10
  • 14. 14
  • 16. Life of a transaction 16
  • 18. Transaction model { "id": "<hash of transaction , excluding signatures>", "version": "<version number of the transaction model>", "transaction": { "fulfillments": ["<list of fulfillments>"], "conditions": ["<list of conditions>"], "operation": "<string>", "timestamp": "<timestamp from client>", "data": { "hash": "<hash of payload>", "payload": "<any JSON document>" } } } 18
  • 19. Block model { "id": "<hash of block>", "block": { "timestamp": "<block - creation timestamp>", "transactions": ["<list of transactions>"], "node_pubkey": "<public key of the node creating the block>", "voters": ["<list of federation nodes public keys>"] }, "signature": "<signature of block>", "votes": ["<list of votes>"] } 19
  • 20. Vote model { "node_pubkey": "<the public key of the voting node>", "vote": { "voting_for_block": "<id of the block the node is voting for>", "previous_block": "<id of the block previous to this one>", "is_block_valid": "<true|false>", "invalid_reason": "<None| DOUBLE_SPEND | TRANSACTIONS_HASH_MISMATCH | NODES_PUBKEYS_MISMATCH>", "timestamp": "<timestamp of the voting action>" }, "signature": "<signature of vote>" } 20
  • 21. Consensus algorithm Block construction order After nalizing the creation of a block, that block must not allow any more transactions to be added to it. For easier detection of double- spending. Hashing votes No need to include votes for computing block hash. Because votes are digitally signed by signing nodes, and therefore not malleable. 21
  • 22. Consensus algorithm Dropping transactions Add a way to re-assign transactions if the previous node assignment got stale. Denial of service Not an issue any more than with a traditional web service. 22
  • 23. Consensus algorithm Client transaction order Must ensure that transactions sent from the same client in a particular order are processed in that order, or at least with a bias to that order. Database built-in communication vulnerability Use big data DB’s own built-in consensus algorithm like Paxos to tolerate benign failures. Many nodes would have to be affected for it to have any major consequences. 23
  • 24. Consensus algorithm Double spends All past transactions are checked to make sure that input was not already spent. This can be fast for BigchainDB because it can use an optimized query of the underlying DB. Malicious behaviour Because of the federation model, bad behavior can be detected when a node’s vote on a block is different than the majority. 24
  • 25. Consensus algorithm Admin becoming god If admin can be god, that constitute a single point of failure. To prevent it, all write transactions ( including updating software ) need to be voted on by the federation. Of ine nodes One or a few of ine nodes is ne, as a quorum is still online. Otherwise, wait until enough nodes come back online to vote. 25
  • 26. Consensus algorithm Chaining blocks rather than transactions It is easier to write 1000 blocks (each containing up to 1000 transactions) per second than to write 1 million transactions per second. Each voting node only has to append a vote to each block, rather than to each transaction. Constructing a vote needs to compute a cryptographic signature. Save time by doing that only once per block. 26
  • 27. Possible use cases Tracking intellectual property assets Receipts, and certi cation Legally-binding contracts Creation and real-time movement of high-volume nancial assets Tracking high-volume physical assets Smart contracts Data science 27
  • 28. References BigchainDB BigchainDB Whitepaper BigchainDB Documentation The DCS triangle BigchainDB: how we built a blockchain database on top of RethinkDB 28