Blockchain technology

Novatrace uses a “permissioned” blockchain system suitable for long term storage of large amounts of data. All data inserted and uploaded by our system users is added to the blockchain, which consists of a network of interconnected nodes. The nodes are in sync and form a distributed database. Partners and stake holders are able to add nodes to the blockchain for network expansion and additional trust.

Our blockchain is guaranteed to provide a high level of trust for storing certification and supply chain data while being cost effective to operate. There are no Crypto coins, no data upload costs and no energy intensive mining processes.

All data added to the blockchain cannot be altered by anyone including us. Information can be updated for correction and adjustment purposes, however an immutable history log displays all edits and previous versions. Everything can be reviewed by independent auditors.

Data ledger

A blockchain is a system which stores data in an immutable and trustless manner. Two elements are required to do so. The first is a database (ledger) with “blocks” of data “chained” together with cryptographic algorithms (hashes). When a block is full its “hash” is calculated. The value of the hash is inserted in the next block. By doing so it connects (chains) the blocks together. If data in a block is altered, the hash of that block changes. If the hash changes it doesn’t correspond to the hash stored in the next block anymore. The only way to chain the blocks back together is to alter the hashes all the way up to the last block.

Node network

The second element is a network of synced servers (nodes) which run the same database (ledger) in parallel. Node can “vote” which data gets accepted and added to new blocks. The democratic majority of nodes forms the “mainnet”. If one node or a minority of nodes broadcasts different data than the majority of nodes, for example due to a data edit by node operators, there will be a difference in hash in the last block. When that happens the majority of nodes agrees to reject the minority of nodes, excluding them from participating on the mainnet. This way a blockchain can exist democratically in the cloud, run by multiple parties with no one in control other than the majority.

Public chains

There are two main types of blockchains. The first is a “public” chain consisting of nodes openly run by the community. Anyone can add a node to the network and explore all information stored on its ledger. Running a public node either costs mining power (electricity), server costs (maintenance), or a “stake” in value. A public blockchain makes use of cryptographic coins or tokens commonly referred to as “Crypto”. Crypto can be bought on exchanges and fulfills two functions. The first is network spam prevention. Using the blockchain (adding data to the ledger) costs Crypto which cost money to obtain. This disables bad actors from flooding the system as it costs money to do so. The second function of Crypto is payment to node operators as a financial incentive to run their nodes.

Private chains

The other blockchain type is a “permissioned” (private) chain. Ledger data is not accessible to the public, but only to node operators and front-end system users. Nodes require permission to participate, enforced by network security and firewall policies. A private chain is run by consortium members known as stake holders. Stake holders have an incentive to keep the blockchain operational without needing to be financially rewarded for doing so.

Public vs private

Private chains contain less nodes than public chains and are therefor less suited for open public services such as digital currencies. In this case public chains with a high degree of decentralization (a very large number of nodes operated by many different entities) are preferred. Public chains however are challenging to store data on, expensive to develop software application for and their smart contracts require rigorous security testing to protect against exploits. Public chains cost money to update data to, which is needed for node payment and network spam prevention. Private chains are free to use for permissioned accounts. As of yet public chain technology has not fully matured yet, making private chains the current go-to blockchain choice for most businesses and enterprises.

While blockchain technology is mature enough to live up to it’s expectations when used correctly, after researching the market and talking with multiple developers to find the right blockchain solution to implement for our services, we noticed that the technology is currently in a stage of hype.

Crypto coins

The blockchain market consists of tens of thousands of Crypto projects. The intention of many developers is finding use cases for Crypto coins to profit from the coin price increase, instead of implementing blockchain technology for its utility value. Many cases don’t have a working project (while pretending to), are shorted lived, or have a disproportionate focus on low level network programming vs user interface experience.

Network effect

Many projects implement their own project specific Crypto coin as a payment type for their service. Users would need to buy “coffee coins” to pay for blockchain traced fair trade coffee in an app, a “concert coins” to pay for blockchain powered ticket services, or a “supplement coins” to pay for origin traced supplements in webshops. In most cases the intent is to create a network effect, aiming to pull more businesses in as the user base grows. In reality there is little need for consumers to own different coins to pay for different services, especially if each coin fluctuates in price and the amount of projects keeps increasing.

Unconditional trust

Many software developers market their blockchain applications as “cut out the middle man” solutions. Suggesting that any data stored on a blockchain is automatically “the truth”. In reality the principle of “garbage in = garbage out” applies. Use cases such as certification and traceability require central entities to verify information and prevent participants from uploading inaccurate or false data without penalty. A blockchain system on its own cannot grantee that uploaded data is true and correct without oversight and a system of control.

Looking past the challenges mentioned above we believe that blockchain technology will play a prominent role in the future. There will be a mix of public and permissioned chains coexisting using “bridges” and “oracles” to move data from one network to another. When the technology becomes common practice many organizations will have blockchain systems quietly running in the background, or make use of data from external blockchain sources.