Time is running out! Submit now
Sloane Brakeville, Bhargav Perepa | Updated August 21, 2017 - Published May 9, 2016
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.
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.
Can you tell the difference between a public vs. private blockchain? Between bitcoin vs. blockchain for business?
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 participants, 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.
Explore the problems and solutions to legacy ledgers in this introduction to distributed 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.
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.
Hyperledger Fabric is a blockchain framework implementation and one of the Hyperledger projects hosted by The Linux Foundation. Hyperledger Fabric allows components, such as consensus and membership services, to be plug-and-play.
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 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.
Walk through a chaincode sample that shows you how to create assets on the ledger.
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 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:
And the list goes on! Check out these and many other industries and use cases that are benefiting from blockchain technology.
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 some great ways to continue your blockchain exploration:
Stop by the Blockchain Hub on IBM Developer. It’s your source for free tools and tutorials, along with code and community support, for developing and deploying blockchain solutions for business.
Subscribe to the IBM Developer Blockchain newsletter for a monthly roundup of the best free tools, training, and community resources to put Blockchain to work. You can also check out recent issues to see what we’ve been up to.
Build a kick-starter blockchain network and start coding with the next generation Blockchain Platform from IBM.
Get the Code »
Use the IBM Blockchain Platform's VS Code extension to streamline the process of developing, testing, and deploying a smart contract.
Back to top