Immutability

          The Blockchain allows data to be stored that is both timestamped and cannot be changed.

Background

          The original blockchain platform was presented in the white paper bitcoin.pdf by Satoshi Nakamoto in 2009. The original blockchain was designed to be a peer-to-peer cash transfer system managed using consensus with no central authority. The original blockchain introduced the concept of an immutable distributed ledger where transactions cannot be deleted or changed once they become part of the blockchain. This provides a permanent record of all transactions stored on the blockchain. The Bitcoin blockchain also introduced the concept of Proof of Work that allows the public to participate in protecting the integrity of the blockchain by solving an intensive problem for a reward. This process called “mining” is based on a security technique called “hash cash” that was introduced in 1999. Mining and proof or work have been an important part of blockchain integrity since the first blockchain was launched in 2009. Although permission blockchains do not continue the process of mining, the ecosystem mining creates is critical to the success of public blockchains.

          To be an effective cash transfer system, the platform must solve the basic problem in cash management, the “double-spend” problem. Solving the double-spend problem ensures that users of the system cannot introduce additional coins into the system or spend the same coins more than once. The Bitcoin blockchain, and all cryptocurrency blockchains since, use an algorithm called unspent transaction output (UTxO) to solve the double spend problem in a distributed environment. The UTxO algorithm also provides transparency and traceability to users of the distributed ledger.

          The blockchain defines a coin as a chain of digital signatures where the inputs to a transaction are the outputs of one or more prior transactions. This causes transactions (data) within the blockchain to be linked and provides full traceability as a byproduct. With early blockchains such as Bitcoin and Ethereum it is possible to trace the history of any coin back to the miner that originally created it. It is also possible to trace any coin forward to see each owner of the coin throughout its history.

          Although traceability is not always desired in a cryptocurrency platform, traceability is important in use cases like manufacturing, logistics and food safety. In 2016 Edward Honour began development of a private blockchain designed to promote the traceability features of blockchain to support tracking non-monetary assets using the blockchain. During the development process it became clear that traceability use-cases are better served using a public blockchain ecosystem like that provided by Ethereum. The Ethereum platform launched in 2015 introduced independent distributed applications (dApps) that run on the Ethereum platform and pay a fee, called gas, to operate.

          The Tritanium hybrid blockchain anchors the blocks created in the business blockchain to the public blockchain by hashing traceability transactions and linking them to cryptocurrency transactions. Traceability application users pay a fee to the miners for validation transactions and protecting the blockchain. Through the implementation of the first distributed applications (dApp), Food Ledger, and real world use cases, the Tritanium platform has evolved to become a way for businesses and blockchain service providers to use the blockchain for traceability.

The Solution

          A cryptocurrency blockchain tracks the transfer of a single type of asset, called the “coin”. To create an effective asset transfer system for non-monetary assets like food, the blockchain must support an unlimited number of asset types. This requires changes to the storage structure within the blocks of the blockchain. Business blockchain platforms such as Hyperledger require data to be stored in a predefined structured format. Assets tracked on the blockchain must be defined before they can be used. Smart Contracts must be created to enforce the business rules of the asset. The Tritanium blockchain stores all data in an unstructured format which is common in modern document style databases. Unstructured data greatly simplifies the development of distributed applications and is the preferred development method of programmers experienced with newer programming tools. Storing data in an unstructured format allows the resulting blockchain architecture to remain closer to the original blockchain.

          Unlike cryptocurrency where coins are identical and interchangeable, non-monetary assets must be uniquely identifiable to be queried and traced at any point in the process. The Tritanium blockchain introduces an asset identification system supported by a key/value store to support serialized assets and item/batch pairs for assets. To be an effective traceability system, the traceability blockchain must also support the transformation of assets into different types of assets. For example; an input of tomatoes, onions, and avocados may provide an output of guacamole. The resulting output must be traceable by any of the inputs used to create the item. The resulting architecture of the Tritanium platform was able to implement these features without deviating from original principles of the Satoshi blockchain.

          The Tritanium platform was designed around four categories of use-cases that are important to product traceability. These categories include the transfer of assets, transformation and manufacture of new products, creating product over time, and storing manufacturing records on the immutable ledger.

          The interaction between end users and the blockchain is performed using wallets. A blockchain wallet scans the blockchain and retrieves transactions owned by the blockchain address of the wallet. In cryptocurrency, the wallets are usually very basic applications that keep track of what blocks have been scanned and scans new blocks each time the application is launched. The wallet application also contains the keys necessary to send transactions to the blockchain. Although the wallet should prevent a user from creating invalid transactions, the actual validation is performed on the blockchain and verified by miners. Traceability blockchain applications use wallets built using the Tritanium API to communicate with the blockchain.

          The traceability blockchain wallet scans the traceability blockchain looking for transactions that are new and copies them to the application maintaining the wallet. When a user transforms a product in the manufacturing process or transfers assets to another user, the wallet creates a transaction on the blockchain signed by the user’s private key. If a user transfers an asset another user, the receiving user’s smart wallet will read the information from the blockchain. In logistics use cases, the transfer on the blockchain creates an advanced shipment notification (ASN).

          The first smart wallet, Food Ledger, was developed as part of the Tritanium development process with specific customers in mind. The creation of the application help form the requirements of the traceability blockchain. The Food Ledger application was designed for small and medium sized food manufacturers with less than $20 million in yearly sales. This demographic is largely underserviced by existing products and has a requirement for product traceability to pass a GMP audit. A cost-effective solution for this specific product requirement provides an enormous opportunity for application developers.