Bitcoins underlying technology
This is a living document which will be updated to reflect recent changes in the technological space. Feel free to comment below if you think something is missing.
A Blockchain is a distributed ledger making it possible to store data in a tamper proof way.
A predecessor of todays Blockchain technology was first invented in 1991 by Stuart Haber and W. Scott Stornetta to sign digital documents and prevent unnoticed modifications.
This first implementation was slightly modified and adapted throughout the years but caught new attention when Satoshi Nakamoto pushed it futher and released his infamous paper “Bitcoin — A peer-to-peer Electronic Cash System” in 2008 and the cryptocurrency Bitcoin, in 2009.
In Blockchains, data is stored within data containers called blocks. The blocks content is used to create a cryptographic hash (one can think of this hash as the blocks fingerprint). Blocks are then linked and chained together to form a sequential list (hence “Blockchain”).
Each block usually stores the actual data, as well as metadata such as the transactions timestamp and the previous blocks hash. All of this data is used to compute the current blocks hash.
Especially the inclusion of the previous blocks hash into the dataset to compute the current blocks hash makes this whole system tamper evident since modifications in prior blocks will change the hashes of all subsequent blocks, rendering the chain invalid.
A Blockchain is usually shared amongst different participants in a network.
Upon joining this network each new client downloads and validates the whole Blockchain. Furthermore each and every new transaction is stored and validated on each device which is a part in the network.
Together, all participants form a quorum and establish a consensus about the Blockchains current “state of the world“.
Using cryptographic hashes as a foundation for authenticity and a distributed network of clients which store, process and validate each transaction to form a consensus ensures that the data is stored in a transparent, safe and tamper evident way without the need for a central authority.
The following are main characteristics which form the foundations for a Blockchain implementation.
Blockchains are shared with multiple participants in a peer-to-peer network. Every client in the network is treated equally, stores the whole Blockchain, processes and therefore validates every single transaction.
Every client can share and request data from all other clients in the network. This means that the Blockchain is “alive” as long as one single client runs the software and therefore serves as a node to access data from when joining the network.
No central authority
Blockchains make it possible to agree on a consensus about the correct “state of the world” without the need for a central authority since every client is treated equally and stores, processes and validates every transaction in the Blockchain.
Letting every client authenticate and propagate the correctness of every transaction in the whole network yields to the fact that at least more than 50% (Note: this may vary based on the implementation) of all clients in the network need to agree on the correctness of a new transaction and form consensus about “the truth” which makes it unnecessary to introudce a single authority taking care of the networks truthiness.
Using cryptography to hash the data of each block and chain blocks together based on the previous blocks hashes results in a tamper evident structure which makes it (almost) impossible to alter data without everyone else in the network noticing.
Every transaction in a Blockchain is timestamped and stored in a block which is added to the chain of blocks in a chronological order.
A Blockchain has no restrictions about the amount of blocks and therefore data it can store. Blockchains can grow infinitely.
The following opportunities arise when implementing Blockchain technology in a business context.
Given the fact that the Blockchain is shared amongst different clients in the network ensures more transparency since all participants store and therefore have access to the whole Blockhain.
The Blockchain can help to establish organization-wide transparency when its implementation is accessible by different clients within the organization.
Another level of transparency can be achieved when the Blockchain is shared with other business or even the customer.
An imaginable application could be to use a Blockhain-powered distributed ledger to record and share supply-chain related data collaboratively with other businesses and customers in near real-time. This greatly improves inter-business processes and makes it easier for end-users to see the whole product lifecycle end-to-end.
Since Blockchains store transactional data in a sequential and tamper evident way it’s a perfect use-case to record historic data about assets and the involved processes which operated on this data.
The ensured transparency and authenticity makes a Blockhain-powered ledger perfectly suitable for auditing purposes.
Using the Blockchain as a single-source-of-truth and implementing business logic atop of it makes it possible to significantly streamline and optimize the different steps involved in the respective process.
Processes which usually took several different parties to check, validate and sign-off different steps can be trimmed-down since the Blockchain automatically ensures authenticity without the need for a central authority.
Such optimizations will also yield to faster transaction times since multiple process-heavy steps can be combined or removed at all.
Relying on Blockchain technology as the backbone for new and optimizing existing businesse processes makes it possible to reduce costs at a large scale.
Especially expenses around data authenticity and visibility can be saved when introducing Blockchain technologies.
Note: The limitations listed here may be implementation specific and therefore vary based on the Blockchain implementation in question.
Blockchain implementations are usually tailored to serve different applications or purposes and may mitigate certain limitations listed here.
Each Blockchain implementation has a limited throughput meaning that at any given time only a maximum number of transactions can be processed.
Bitcoin for example can only process ~7 transactions per second (as of 2017).
The more users a Blockchain has, the more robust it gets, since more nodes in the distributed network need to agree on “the truth” and find consensus.
Especially small Blockhain networks are vulnerable to “voting fraud” since the attacker can taker over the whole network more easily.
While the whole size of the Blockchain can grow infinitely a huge Blockchain size can be a limitation for everyone joining the network since every single transaction needs to be downloaded and validated by each new participant.
Public Blockchains such as Bitcoin face privacy concerns because every client which joins the network and stores the entire Blockchain can see all the transactions that ever happened.
Since Blockchains can not be altered it makes it impossible to introduce new changes to its protocol without an agreement by the majority of nodes in the network.
Introducing new changes to the protocol of the Blockhain and diverging from the original implementation is called “hard forking”.
A notable hard fork was the introduction of “Bitcoin Cash” as an alternative for Bitcoin to tackle its scaling issues (see other limitations above).
Blockchain technology has already been successfully used in different enterprise contexts over the last couple of years.
One such implementation is the collaboration between Maersk and IBM to create a Blockchain powered cross-border supply-chain ledger which makes it possible to store and share data throughout the whole shipment process of goods.
This distributed ledger makes it possible to greatly improve document workflows and reduce costly point-to-point communications.
The country of Sweden is looking into a ways to use Blockchain technology to implement a digital ledger in which land registrations are tracked.
The idea is to store records about ownership of land once the buyer and seller agree on a price and start to seal the deal.
This way, other involved parties such as financial institutions, the government, etc. can use the Blockchain as a single source of truth which greatly reduces the overall time spent on processing the registration request.
The following is a list of different use-cases which show how Blockchains can be used in real-world scenarios.
The Blockchains ledger capabilites are often used to track different steps in a supply-chain, making the whole process transparent and more collaborative due to the nature of being a single source of truth.
Different enterprises have successfully adopted Blockhains for their supply-chain visibility. Such solutions include Walmarts food safety solution or Maersk cross-border supply-chain.
The more different devices are connected to the internet, the more it becomes a necessity to coordinate all the different interactions between them.
IOTA is a project which introduces a distributed ledger for IoT devices powered by Blockchain-related technology.
Making it possible to programatically define, store and execute transactional processes in a Blockchain is the main focus area for so called Smart Contracts.
Smart Contracts make it possible to automate and run certain transactions without human interaction. This way agreements can be codified and third-parties such as lawyers or notaries don’t need to be involved in the process anymore (Note that this is still something which needs regulation by governments).
The famous Bitcoin whitepaper is worth a read since it coined modern Blockahin technologies and is pretty approachable (even for non-tech folks).
While working on solutions for enterprises, different Blockchain projects emerged which can be found on the project homepage. It’s worthwhile to note that Hyperledger is an Open Source project, meaning that everyone can look into the Blockchains code and extend it at will.
IBM Blockchain research group
IBM has a dedicated Blockchain research group with a focus on real-world usage.
The research group has already successfully developed and implemented Blockchain powered business solutions in several different industries.
The Ethereum projects mission is to build a Blockchain application which makes it possible to program and run Smart Contract in a decentralized fashion with the help of Blockchain technology.
- Smart Contracts
- Distributed Ledger