How a Blockchain Differs from a Database
Blockchain is a relatively new technology and essentially means a ‘chain of blocks’. This article outlines the basic differences between a blockchain and a database.
Blockchain is basically a ledger that stores details of transactions that are digital in nature. Data is stored in a chain of shared, immutable, interconnected, decentralised, tamper-proof, and signed blocks. Transparency of transactional/contract data is another key feature of blockchains. It is virtually impossible to change data in a blockchain without breaking the chain.
The key aspects of blockchain storage are:
- It should have a flexible schema to store complex transactional data.
- It should be highly secured.
- It should allow efficient query capabilities and perform easy lookups.
- It should be amenable to enterprise grade applications and allow modules/APIs for various programming languages (Go, JavaScript, and C++).
- It should have event-driven processing capabilities to trigger events when needed.
- It should be decentralised, distributing data across the nodes in a network.
- Data is often partitioned using sharding techniques, which help to distribute it using a sharding key. Each shard stores some data.
- By using the swarming pattern and peer-to-peer file sharing protocol, data can be stored in swarm nodes that are separate from the blockchain networks.
- Each blockchain file will typically contain transactional data, block header, magic bytes and size of block.
Database | Blockchain | |
Transparency | Allows CRUD (create, read, update, delete) operations | Allows read/add operations |
Transactions | Transactional databases are very fast | Blockchain query performance is slower |
Management | Databases are centrally managed by an ‘admin’ | Blockchains are decentralised and typically don’t have a central authority |
Data security | Databases are susceptible to malicious attacks | Virtually impossible to change data without breaking the chain |
Reliability of systems | Can have a single point of failure | Don’t have a single point of failure |
Data integrity | Can have bad and inconsistent data | Blockchains contain only trusted and reliable data |
Data validation | No implicit data validation | New data is automatically validated by participants |
Business interference | Shared databases between distinct parties are susceptible to wrongful manipulation | Data is trusted based on smart contracts |
Limitations of blockchain
Blockchains are generally complex in structure. They require a large user base for optimum performance. They are prone to ‘consensus of lies’ security flaws. Typically, they are not useful for querying data because of slow speed. Also, blockchain networks are costly to maintain.
However, any organisation that wants to perform secure transactions can rely on blockchain technology. This includes asset management, contract management and banking systems that must maintain proof of records securely.
The post How a Blockchain Differs from a Database appeared first on Open Source For You.
This content was originally published here.