Nowadays, managing a supply chain is becoming much more complicated than before. A supply chain can have over hundreds of workflows, many suppliers or vendors involved, participants span over multi-geographical locations, cycles extend over months or even years, etc.
As examples, it’s very difficult to know what the shipment status of your goods, where ingredients of your meal originates from, trace the trading records of your jewelry…
Blockchain comes into help in the following aspects:
- Transparency & Traceability
anybody who have the permission can participate in a blockchain by joining as a “node”. Being a “node” on the blockchain is actually owing the data. On the other hand, any data changes made by one participant are visible to and checked by every other participants in the blockchain platform.
- Increase Security
information inside the blockchain can only be added, but not edited or deleted (once data is being recorded, it’s chained together making it impossible for anybody to change). Any change is recorded as a visible addition to the datastore, making it immutable.
a blockchain smart contract is a digital agreement that self-executes when predetermined conditions are met. These code-based contracts enable agreed upon actions (such as shipments and payments) to occur automatically, immediately and without intermediaries, upon the satisfaction of contract terms. For example, we can automate the payment release process when customer confirms the receipt of their goods.
- Time and Cost Saving
There is no need for a blockchain platform to have a single party for authoritative control. This can save a lot for time and cost for setting up a central party for data ownership/administration and the trouble of synchronizing data with the peers.
Requirements for the Blockchain Platform
There are plenty of blockchain platforms out there in the market. For us, it has to fulfil the following requirements:
In contrary to public blockchain platform such as bitcoin, the one we are building is restricted to be accessed by parties with permissions only. In other words, we need to choose a “permissioned” type of blockchain platform. It should uses access control lists (ACLs) to manage access to resources by associating policies which specify rules that evaluates to true or false, given a set of identities
- Channel for private communication
for the blockchain platform we are building, the feature of sharing data only with certain parties is needed. For example, we have vendors A & B and customers C & D in our platform. All participants have the possibility of sharing information with each other. But for a particular product, price information can only be shared between vendor A and customer C only.
- Production ready
Although a lot of platforms in the market are feature-rich, only few of them are tested extensively and production-ready. We need a proved one that has good community support and is already running in the market.
Considering all the above requirements we have, Hyperledger (initially contributed by Digital Asset and IBM) is the best choice. It is actually an umbrella project of open source blockchains and related tools, started by the Linux Foundation. In building our platform, we will make use of the following projects:
Hyperledger Fabric is the main project for the blockchain framework implementation.
Hyperledger Composer is a set of collaboration tools for building blockchain business networks that make it simple and fast to create smart contracts and blockchain applications.
Hyperledger Explorer is to used create a user-friendly Web application. It can view, invoke, deploy or query blocks, transactions and associated data, network information (name, status, list of nodes), chain codes and transaction families, as well as any other relevant information stored in the ledger.
In the coming articles, we will go through how we build our blockchain platform for supply chain using the Hyperledger projects mentioned above. See you soon. Cheers.