BigchainDB_A_scalable_blockchain_database.pptx

removed_d60a659b5ed8cd7a5e0931e92447dc14 6 views 16 slides Mar 02, 2025
Slide 1
Slide 1 of 16
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16

About This Presentation

A scalable blockchain distributed database has some of blockchain characteristics
- Decentralization : no one owns or controls a network.
- Immutability : data once stored can’t be deleted or changed.
- Owner-controlled assets : only the owner can create and transfer the asset ownership to a new ...


Slide Content

BigchainDB A scalable blockchain database Ali Rajab

BigchainDB - A big data distributed database has some of blockchain characteristics : - Decentralization : no one owns or controls a network. - Immutability : data once stored can’t be deleted or changed. - Owner-controlled assets : only the owner can create and transfer the asset ownership to a new owner. - Store any kind of data, but it’s designed to be particularly suitable for storing assets (car, house, data set).

Decentralization - Each node has its own local MongoDB database. - All Communication between nodes is done using Tendermint protocol. - Tendermint protocol is used for consensus and transaction replication. - Tendermint is Byzantine Fault Tolerance. No single point of failure

Decentralization

Immutability - Every node has a full copy of all the data in a standalone MongoDB database. - Every block has an id equal to the hash of its transactions, timestamp, voters list and public key of node creator. - All transactions are cryptographically signed. - No APIs to change or erase stored data.

Owner-controlled assets - Users can create as many assets (divisible or indivisible) as they need . - All assets created by the user are cryptographically signed by his private key. - Only the owner of an asset can transfer that asset.

BigchainDB Use Cases - BigchainDB used in almost all the scenarios where there is a need of immutable and tamper-proof storage of data assets at high throughput with ability to search and query like : - Supply Chain - Digital Twins and IoT. - Identity. - Intellectual Property

Case Study : Supply Chain Management in Agriculture Using Blockchain and IoT - Assets are digitally stored in BigchainDB . - Every asset will have its digital twin with a public key and private key. - All the assets can be tracked using the public key. - The assets can be anything: tomatoes, mangoes, milk products, etc. - All the transactions between the stackholders are recorded in this way any malpractice or dishonest handling of the asset can be caught. - IoT devices are used to update the real-time quality and transit time of the product. - Consumers can scan the QR code using the mobile application and then all the transactions of the asset will be retrieved with perfect data analytics.

BigchainDB Transactions - In BigchainDB  transactions are used to register, issue, create or transfer assets. - There are two kinds : CREATE transactions and TRANSFER transactions. - A CREATE transaction : to register any kind of asset(divisible or indivisible). - A TRANSFER transaction : to transfer the asset ownership to a new owner.

CREATE Transaction - To create a new asset user must do the following: 1- Generate a pair of public/private key. 2- Define the asset. 3- Define metadate contains information about the asset (OPTIONAL). 4- Construct a transaction payload that includes : an asset - asset metadata - transaction output . 5- Sign the transaction using the asset owner private key. 6- Send the transaction to a BigchainDB network.

TRANSFER Transaction: - To transfer the asset ownership to a new owner the asset owner must construct a TRANSFER transaction and prepare it with the following: 1- Signed Transaction 2- Transaction output include a new owner public key. 3- Send the transaction to a BigchainDB network. - User can use a BigchainDB driver(software package) to create valid transactions, generate key pairs, sign transactions and post the transaction to the BigchainDB API.

Example : Create and Transfer an asset using BigchainDB JavaScript driver - Install BigchainDB JavaScript driver package : npm install bigchaindb -driver - Import BigchainDB driver : const driver = require(‘ bigchaindb -driver’) - Generate a pair of public/private key : const alice = new driver.Ed25519Keypair() - Create a connection with BigchainD B : const connection = new driver.Connection ('https://test.ipdb.io/ api /v1/')

- Asset creation: driver.Transaction.makeCreateTransaction ( { ‘painting’ : { ‘name’ : ‘ Monaliza ’ , ‘year’ : ‘2021’}}, {‘Country’ : ‘Syria’}, [ driver.Transaction.makeOutput ( driver.Transaction.makeEd25519Condition( alice.publicKey ))], alice.publicKey ) - Sign the transaction with private key of Alice: driver.Transaction.signTransaction ( alice_transaction,alice.privateKey ) Example : Create and Transfer an asset using BigchainDB JavaScript driver

- Send the transaction to a BigchainDB network: connection.postTransactionCommit ( signed_transaction ) - Transfer asset ownership to bob : driver.Transaction.makeTransferTransaction ( [{ signed_transaction , output_index:0}], [ driver.Transaction.makeOutput ( driver.Transaction.makeEd25519Condition( bob.publicKey ))], {‘Country’ : ‘Italy’}) Example : Create and Transfer an asset using BigchainDB JavaScript driver

References - Borah, Malaya & Naik, Vadithya & Patgiri , Ripon & Bhargav, Aditya & Phukan , Barneel . (2019). Supply Chain Management in Agriculture Using Blockchain and IoT. 10.1007/978-981-13-8775-3_11. - BigchainDB . BigchainDB 2.0 – The Blockchain Database, May 2018. https://www.bigchaindb.com/whitepaper/ - MCCONAGHY, Trent, et al. Bigchaindb : a scalable blockchain database. white paper, BigChainDB , 2016.‏ - BigchainDB . BigchainDB Documentation. https://docs.bigchaindb.com/en/latest/

Thank you