Link to home
Start Free TrialLog in
Avatar of curiouswebster
curiouswebsterFlag for United States of America

asked on

Setting up a Blockchain database

I am about to start to play around with the Bitcoin open source, source code, and got introduced to a new term: a Blockchain database.

What technologies are needed for this? Is this NO-SQL?

Thanks.
ASKER CERTIFIED SOLUTION
Avatar of Shaun Vermaak
Shaun Vermaak
Flag of Australia image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of curiouswebster

ASKER

I see. I was not even thinking about using a Microsoft paradigm, but certainly should be.

On a side note, what open sourced options are there?
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
thanks
People like to throw around terms like Blockchain Database, which is nonsense. In essence, the blockchain is a mutable transaction log. We know the promise of blockchain immutability is nonsense because after the Bitcoin hack, Bitcoin was restarted from an earlier block which effectively changed history. The same thing happened to Ethereum after the DAO hack. If you had done the same thing in Oracle, all the transactions that were backed out would be preserved in the transaction logs, preserving the database history. Because blockchain operates like a transaction log, you cannot query a blockchain in the same way you can a modern database.
Blockchain satisfies only the most basic database definition: a shared electronic stored collection of raw facts and metadata. To make the blockchain into a useful database requires adding additional characteristics and adhering to database properties. Blockchain technologies satisfy neither the ACID nor the BASE database properties, making them an incoherent mix of centralized and distributed database characteristics.
There is a fundamental difference between the data value stored in a database and the record of the transactions that resulted in that value. My bank statement provides me with my account starting balance, a list of my account transactions for the month, and my ending account balance. But when I go the ATM to get my account balance, the ATM provides me with a single value, which is stored in the bank’s database. However, if I want to know the balance of my Bitcoin wallet, the entire transaction log has to be read from beginning to end to provide the value. The only time this happens with a database is when the database is being rebuilt after a catastrophic failure. I do not know how anyone can describe blockchain as a database when it stores transactions, not values.The-Nakamoto-Blockchain.docx