Smart Factories/Busit Blockchain: defects traceability
In the context of high volume of sensor data originating from dozens of smart factories, it is important to be able to track down a production step that led to a defective product. A ledger composed of all measurements can be constructed using a Blockchain mechanism and independently computed by the operational management and the quality control officer. This mechanism provides proofs and guarantees about the production process to external authorities and governments with the ability to provide a quality label on the end-product. I.e.: cold chain preservation, chemical composition, emission of pollutants and environmental footprint.
Using the Busit traceability Blockchain comes down to a single drag&drop in the existing workflow. The implementation time is null, and the provided guarantees are priceless.
Technically speaking, in order to increase the reliability of the Blockchain and provide efficient indexing of the transactions, Busit computes the message identifier as a hash of the message itself. Therefore, any altered, corrupted or missing transaction can be quickly identified without the need to verify the integrity of the ledger beforehand.
Routine checks can be performed in a limited amount of time, providing low-cost metrics on the state of the factory production process ; and when a defect or malfunction is detected on the final product, a deeper analysis can be performed using the strong cryptographic chaining hash.
The goal of a Blockchain is to provide an unalterable ledger and thereof ensure traceability of a set of information dispatched over time.
The most famous application of the Blockchain mechanism is cryptocurrency such as Bitcoin. However, the intrinsic properties of the Blockchain principle are to be distinguished from all the surrounding functionalities that are linked to that singular application.
In order to best understand the application of the traceability via block-chaining, lets get rid of what Blockchain is not in itself:
- Decentralized: although a blockchain can be decentralized, it does not have to be. And the properties and verifiability of the ledger is no less ensured because a single trusted entity maintains the chain.
- Computed by miners: independent miners may earn incentives to carry out the computational cost of adding transactions to the chain. However, this is not a requirement and does not have to be computationally hard, it only needs to be stable and cryptographically secure.
- Grouped into blocks: as the name suggests, a Blockchain can link some chunks of data. Although, it can as well chain unitary information in the same way at the expense of a larger record keeping.
- Complete: it is not required to recompute the entire chain from the dawn of time in order to verify the validity of a transaction. Trusted anchor points may be agreed upon to define viable rewinding positions in the chain.
- Identical: multiple entities maintaining the chain may have completely different ordering and still provide the same accuracy and integrity in terms of traceability.
- Pruned: having a single trunk is easier to maintain and to synchronize amongst different locations. Meanwhile, orphan branches are no less valid as long as the chaining is persisted.
For illustration purposes, lets define two independent services that are required to collaborate to solve a situation with an equal level of responsibility. Both actors are liable for their doing but depend on the coordination and actions of the other party. In such situation, it is preferable that all parties keep their own records of the coordination orders in the form of an unalterable blockchain to be able to unambiguously trace back the progress of the situation at hand.
For each message exchanged between the two entities, it is necessary to generate a cryptographic hash of the message itself that also include the hash of the previous message. As such, messages –or blocks of data– are chained over time to their predecessor. The two services do not have sufficient trust in each-other to allow only one of them to be the sole book keeper. Meanwhile, some degree of trust exists between parties since both of them agreed to willingly collaborate and thus eliminate the need for an independent third party blockchain.
Given the large quantity and fast data emission rate, the probability of concurrent chaining of the two Blockchains is very high, resulting in different ordering of the blocks and thereof different hashes. However, this does not alter the correctness of either ledger and the traceability can still be achieved on all of those. Meanwhile, this reduces the cost incurred by trying to eternally synchronize the ledgers for very little added value.
On a high availability Busit infrastructure, messages are processed asynchronously in parallel and thus multiple blocks can be chained simultaneously. This principle greatly increases the throughput and fault tolerance by adding the messages to the ledger as fast as possible, but may produce single-block forks in the chain. Although chain forks are not pretty, it does not impact the traceability of the forked blocks. In order to avoid such forks, it is required to either prune the forked block and reprocess it further in the chain, or to enforce an artificial constraint such that only one block can be computed at once. Most of the time, the additional computing cycles and delay incurred by trying to avoid those forks is not quite worth its prettiness.
Busit brings the Blockchain technology in existing enterprise-wide processes with a very small footprint and enable production entities to leverage a cryptographically-strong traceability system.