The blockchain technology behind bitcoin isn't just going to change financial industry. It's going to revolutionize everything from contracts to voting through the construction of internet applications. But, what exactly are the components of these of applications?
Joel Monegro took the time to identify the most common patterns and trends that made up the architecture of bitcoin applications, which he calls the 'Blockchain Application Stack.' This stack includes the following components;
Miners and the Blockchain
Bitcoin Wiki provides us with a little in-depth explanation of the process of mining and how the blockchain is involved;;
Mining is the process of adding transaction records to Bitcoin's public ledger of past transactions. This ledger of past transactions is called the block chain as it is a chain of blocks. The block chain serves to confirm transactions to the rest of the network as having taken place. Bitcoin nodes use the block chain to distinguish legitimate Bitcoin transactions from attempts to re-spend coins that have already been spent elsewhere.
Mining is intentionally designed to be resource-intensive and difficult so that the number of blocks found each day by miners remains steady. Individual blocks must contain a proof of work to be considered valid. This proof of work is verified by other Bitcoin nodes each time they receive a block. Bitcoin uses the hashcash proof-of-work function.
The primary purpose of mining is to allow Bitcoin nodes to reach a secure, tamper-resistant consensus. Mining is also the mechanism used to introduce Bitcoins into the system: Miners are paid any transaction fees as well as a "subsidy" of newly created coins. This both serves the purpose of disseminating new coins in a decentralized manner as well as motivating people to provide security for the system.
Bitcoin mining is so called because it resembles the mining of other commodities: it requires exertion and it slowly makes new currency available at a rate that resembles the rate at which commodities like gold are mined from the ground.
Mining bitcoins, and it's alternatives, can be expensive. As we've previously discussed, you'll have to invest in a mining system and handle transaction fees. In some cases, it may be too costly to mine coins.
Overlay Networks
Sidechains, which are "private or public networks that may or may not be based on the Bitcoin protocol," are an example of overlay networks. This includes exciting production sidechains like Liquid and Chromaway.
Monegro adds,
"Whatever form these overlay networks take, the one thing they have in common is their connection to the Bitcoin blockchain, and how they benefit from its network effects to achieve liquidity without having to bootstrap their own alternative cryptocurrency and/or blockchain like alternative solutions such as Ethereum require."
Decentralized Protocols
The potential of decentralized protocols is that they can "undo every single part of the stacks that make these services valuable to consumers and investors." For example, a common and decentralized data set could be created to allow for peer-to-peer-transactions that are powered by bitcoin. OpenBazaar has been using this component for its P2P marketplace.
Open Source and Commercial APIs
Examples of this are Chain.com's APIs and Coinbase's Toshi for Bitcoin.
However, there is a slight difference between the two that should be kept in mind.
Open source = decentralized software development
Open APIs = decentralized business development
Toshi would be an open source example, while Chain.com would be an open API.
Applications
The difference between, however, is that because they're built on decentralized protocols, "they will be able to talk to each other, just like different e-mail applications and bitcoin wallets can interoperate."
Blockchain Architecture Considerations
- The Blockchain platform itself
- The role of Nodes in constituting the overall blockchain & the Node discovery process
- Transactions that make up the blocks running in the Nodes
- Security implementation that generates the Blocks
- The process of adding newer blocks to the Chain
Components of a Bitcoin Application was originally published on Invoice by John Rampton.