Blockchain basics: Glossary and use cases
Key blockchain terms and infinite potential applications
Blockchain is a popular topic these days, to put it mildly! Take a spin through the lingo and see how businesses stand to capitalize on this emerging technology.
Blocks and blockchain networks
A blockchain is a type of distributed ledger that is shared across a business network. Business transactions are permanently recorded in sequential, append-only, tamper-evident blocks to the ledger. All the confirmed and validated transaction blocks are hash-linked from the genesis block to the most current block, hence the name blockchain.
A blockchain is thus a historical record of all the transactions that have taken place since the beginning of the blockchain in the network. The blockchain serves as a single source of truth for the network.
A blockchain network can be either permissioned or permissionless. Permissionless networks are open to any participant, and transactions are verified against the pre-existing rules of the network. Any participant can view transactions on the ledger, even if participants are anonymous. Bitcoin is the most familiar example of a blockchain network that is permissionless and public.
Permissioned networks, on the other hand, are usually private and are limited to participants within a given business network. On permissioned blockchains, participants are allowed to view only the transactions relevant to them. Hyperledger is a collaborative effort, hosted by the Linux Foundation, to support the development of permissioned blockchains for business.
A distributed ledger is a type of database, or system of record, that is shared, replicated, and synchronized among the members of a network. The distributed ledger records the transactions, such as the exchange of assets or data, among the participants in the network. This shared ledger eliminates the time and expense of reconciling disparate ledgers.
Participants in the network govern and agree by consensus on the updates to the records in the ledger. No central, third-party mediator, such as a bank or government, is involved. Every record in the distributed ledger has a timestamp and unique cryptographic signature, thus making the ledger an auditable history of all transactions in the network.
One implementation of distributed ledger technology is the open source Hyperledger Fabric blockchain, which is one of several open source projects hosted by The Linux Foundation.
A blockchain network for business is a collectively owned peer-to-peer network that is operated by a group of identifiable and verifiable participants. Participants may be individuals or institutions, such as a business, university, or hospital, for example.
Assets, transactions, and channels
Anything that can be owned or controlled to produce value is an asset. Assets can be tangible (such as a car or farm-fresh peaches) or intangible (such as a mortgage or patent). A transaction is an asset transfer onto or off of the ledger. In a Hyperledger Fabric blockchain, assets are represented as a collection of key-value pairs (for example, vehicleOwner=Daisy) in binary or JSON form, or both.
In a Hyperledger Fabric blockchain, a channel is a private "subnet" of communication between two or more specific network members, for the purpose of conducting private and confidential transactions. If two participants form a channel, then those participants — and no others — must be authenticated and authorized to transact on that channel and share copies of the ledger for that channel. Thanks to channels, the network members who need private and confidential transactions can coexist on the same blockchain network with their business competitors and other restricted members.
Consensus is the collaborative process that the members of a blockchain business network use to agree that a transaction is valid and to keep the ledger consistently synchronized. Consensus mechanisms lower the risk of fraudulent transactions, because tampering with transactions added to the ledger would have to occur across many places at the same time.
To reach consensus, participants agree to the transaction and validate it before it is permanently recorded in the ledger. Participants can also establish rules to verify transactions. No one, not even a system administrator, can delete a transaction that has been added to the ledger. A trusted network of participants reduces the costs of establishing consensus, relative to the higher costs present in permissionless blockchains.
In a business blockchain, a wide variety of consensus mechanisms are available to choose from. Where trust is high, a simple majority voting may suffice, or the network may choose to use a more sophisticated method.
Smart contracts and chaincode
Smart contracts govern interactions with the ledger, and they can allow network participants to execute certain aspects of transactions automatically. For example, a smart contract could stipulate the cost of shipping an item that changes depending on when it arrives. With the terms agreed to by both parties and written to the ledger, the appropriate funds change hands automatically when the item is received.
In the context of Hyperledger Fabric, smart contracts are written into chaincode, and the terms are considered essentially synonymous.
in Hyperledger Fabric, chaincode is a piece of code, written in Go, that defines the network assets and the transaction instructions (business logic) for modifying the assets. Chaincode is installed and instantiated onto a channel by an appropriately authorized member. When a transaction is invoked in that channel, a function in chaincode reads and writes values to the ledger.
A blockchain application requires three interdependent components: the user-facing application, the smart contract, and the ledger.
The top layer is the user-facing application that meets the needs of the network participants. The application lets users invoke smart contracts that trigger transactions in the business network. The smart contract encapsulates the business logic of the network: assets, ownership, and transfers. Each invocation of a smart contract creates a transaction in the network and updates the ledger. The ledger holds the current value of smart contract data (for example, vehicleOwner=Daisy), and is distributed across the network.
Blockchain use cases
Blockchain technology is a powerful game-changer for many industries because it organizes activities with less friction and more efficiency. And it does so at a greater scale among collaborative participants. Blockchain is already helping reshape industries in domains as varied as finance, healthcare, and government. Here's just a sampling of its infinite possibilities:
- Internet of Things
- Freight transportation: Move freight with multiple transportation companies, ensuring transparency and timely delivery
- Component tracking and compliance: Store provenance records for original and replacement parts for fleet maintenance
- Log operational maintenance data: Store operational and maintenance records for sharing among business partners or for regulatory purposes
- Build a trusted digital identity
- Improve traceability, transparency, and efficiency in the food safety network
- Financial services
- Know Your Customer: Access to trusted up-to-date information on customers improves the accuracy of customer services in financial institutions
- Clearing and settlement: Real-time point-to-point transfer of funds between financial institutions accelerates settlement
- More examples: Letters of credit, Corporate debts and bonds, Trading platforms, Payment remittance, Repurchase agreements, and Foreign exchange
- Electronic medical records
- Virus banks
- Doctor-vendor RFP services and assurance contracts
- Blockchain health research commons
- Blockchain health notaries
- Claims processing
- P2P insurance
- Ownership titles
- Sales and underwriting
- Government tender processes
By understanding key blockchain terms, you can begin to appreciate how this dramatically disruptive technology works and how it can be applied to productive use in many industries.
We'll wrap up with four great ways to continue your blockchain exploration:
- Stay in know with the Blockchain Newsletter from developerWorks. Check out the current issue and subscribe.
- Stop by the Blockchain Developer Center on developerWorks. It's your source for free tools and tutorials, along with code and community support, for developing and deploying blockchain solutions for business.
- Take the Blockchain essentials course for developers to learn the ins and outs of asset transfers. At the end of the free, self-paced course, take a quiz, get a badge, and start planning useful blockchain applications for your business network.
- Deploy a blockchain network and start coding — just follow the steps in IBM Blockchain 101: Quick-start guide for developers. Happy blockchaining!
- IBM Blockchain Platform
- IBM Blockchain Platform: Developers
- Blockchain Developer Center
- Blockchain basics: Introduction to distributed ledgers
- Blockchain 101: Quick-start guide for developers
- Blockchain essentials (free course for developers)
- Blockchain solutions and services from IBM
- Hyperledger Composer
- Hyperledger Fabric
- Hyperledger Fabric application samples
- Hyperledger community