5

I understand that the BigChainDB is a distributed DB at the basic level. It claims that is solves the problem of Scalability in the BlockChain world. What i don't understand is that how it fits into the overall block chain architecture.

  1. In the typical Block Chain world, each node has the full copy of the data and validates any new transactions? How does this work in the BigChain DB when the data is distributed? Each node validates only the blocks that it holds? Even if thats the case, it needs the entire chain? Not clear on the processing scalability here.

  2. Can i build a block chain network just with the BigChainDB or do i need something like Ethereum or Hyperledger to build the block chain network itself?

  3. If i can build the blockchain network with BigChainDB, then what is the equivalent of smart contract in BigChainDB?

Community
  • 1
  • 1
Manikandan Kannan
  • 8,684
  • 15
  • 44
  • 65
  • Btw maybe some HyperLedger implementation can solve your use cases. Even I ended up here researching on BlockChain DB. I'm looking for a "Registry" implementation for Master Data Management using BlockChain (Or something like Merkle Trees) – Ravindranath Akila Jul 20 '17 at 11:46
  • Bigchaindb is a Decentralized (immutable) database and a combination of both traditional distributed Database & traditional blockchain database. It stores data in blocks like blockchain stores data of transactions. [Read full story here](https://blockchain.oodles.io/blogs/decentralized-mobile-app-development/) – user2175 Oct 26 '18 at 11:49

2 Answers2

0

I was try to explain your questions

1- BigChainDB is a distributed database that aims to address the scalability issues of traditional blockchain technology. You know that in blockchain network, each node has a copy of the entire blockchain. Then the chain validates new transactions by referencing previous transactions on the chain but bigChainDB distributes the storage and processing of data across a network of nodes, with each node containing a portion of the data. When a new transaction is submitted to the network, the nodes containing the relevant data validate the transaction. After then a subset of nodes add the transaction to the shared database. this is a more scalable and efficient network since each node does not have to process and validate each transaction.

2- BigChainDB can be used as the central database layer of a blockchain network, but it is not a full-fledged blockchain platform like Ethereum or Hyperledger. Ethereum and Hyperledger have features data storage, such as smart contract functions, consensus mechanisms and APIs to build decentralized applications.

3- BigChainDB has no direct smart contracts, but it does provide a Ruffian scripting language. So that you can define custom transaction types and enforce rules on how those transactions can be created and processed. You can build complex applications on the BigChainDB database layer.

dincer.unal
  • 67
  • 1
  • 2
  • 13
-1
  1. BigchainDB internally uses RethinkDB as a datastore. Technically, the blockchain is stored as JSON strings inside RethinkDB. And BigchainDB is a kind of wrapper on top of this storage which provides the needed cryptography, techniques for building the blocks, parsing the blocks and provides utility methods to access the database. RethinkDB provides clustered storage with possible shard based architecture. This makes BigchainDB scalable when RethinkDB is configured accordingly.

  2. Yes. It is possible to build a blockchain network just with BigchainDB.

  3. BigchainDB library provides APIs to be called from our code. So we can build any application(preferably in Python) and integrate BigchainDB into it. This means, the business logic stays inside our application code. This is totally different from Smart contracts used in Ethereum.

You can have a look at my github code for more insights. It is my college project and not much documentation is available :-D It is a voucher transfer application where company like Sodexo issue vouchers and users can redeem it in private companies like Starbucks.

  • How does "clustered storage with sharding" enable bandwidth scalability? How are they even related? Or does it only solve one aspect of scalability and no the other(>1mb blocks)? – Kang Feb 18 '17 at 11:45
  • @Kang I am not sure what do you mean by bandwidth scalability. what i meant is: In Bitcoin, as the size of the chain increases, it is hard to store all the blockchain information in every node. So, by using sharding, we can split and store data across systems which make it scalable. I used BigchainDB for about 6 months(with sharding) and I didnt face any lags because of sharding. I would say, it was faster than ethereum and bitcoin. There are many drawbacks as well. For eg: if we drop database in one node of a cluster, it merely replicates and deletes the whole database in all nodes. – Lakshminarayanan Feb 21 '17 at 14:25