I've seen many claims that the blockchain can be used to provide traceability for various goods but I don't get it. For one thing this isn't trustless, the blockchain doesn't know what a diamond is so if a person entering a new diamond to the blockchain "database" decides to lie there's no way to prevent it "trustlessly". How do you prevent the same diamond to be entered twice in the chain? How do you prevent somebod…
I am more familiar with pharmaceutical and food safety applications and so will comment on those.
Firstly, with chain-of-custody one is tracking something external to the blockchain, so there is no getting around the fact that one needs to place some trust in the entities writing to the blockchain.
The better way to think about it is that the blockchain allows you to trust "who" wrote to it and "what" they wrote, not whether what they wrote was an accurate reflection of the real world or not. (The real-virtual mapping problem)
In the pharma industry for example you have hundreds of manufacturers and thousands of wholesalers and tens of thousands of pharmacies, thousands of carriers, thousands of re-packers, thousands of customs brokers, hundreds of freight forwarders and 3PLs etc.
Furthermore, unlike Diamonds, it is not a simple linear flow of serialized items. Many items are actually lot-tracked and not serial-tracked. So, now you have the notion of splitting of lots and blending and combining of lots. Additionally items will go back and forth between distributors.
Additionally, you have IOT readings along the entire provenance history like temperature, humidity, location etc.
When an entity receives a serial or lot tracked item they can trace its provenance on the blockchain and decide whether and to what degree they want to trust whether what the previous entities wrote to the blockchain needed to be second guessed.
Often when receiving, entities will perform some sort of QA. The degree of QA will be dictated by who, what, when and where the item went through in its entire journey.
If they have high trust in the entities in the chain of custody they may only do partial check (eg. check for no broken seals), but if they don't trust the entities in the chain they may do a full assay of a sample or they may take the middle ground and do a quick spectrophotometry analysis. With any of these results they can write their certification to the blockchain so that subsequent entities may not have to re-certify if they trust this intermediate entity.
So, one way to think about this is that chain-of-custody is not all or nothing, but rather based on degrees of trust. Also every participant views the situation differently based on whom they trust.
Now back to the original question of whether this could be done with a central database instead of blockchain. The answer is "of course", but now even the who and the what is potentially suspect IN ADDITION to the virtual-physical mapping problem.
Blockchain-based chain-of-custody solutions allows one to design a system focused only on mitigating the real-virtual mapping problem.