Blockchain. It's the basis for cryptocurrency and now businesses are looking into other use cases. Engineering use cases have been proposed, though implementations are essentially nonexistent at this early stage in the distributed digital ledger's development. That's what EDN learned from speaking with several instrument makers and publishers of calibration software who, when asked, replied “not thinking about it” or “no comment.”
Why the lack of enthusiasm in the engineering community? Despite the hype and large number of blockchain descriptions and tutorials available, there is still not even a formal, accepted definition of a blockchain. See ” Blockchain resources,” for links to papers and articles where you can learn how the technology works.
Computer scientists at NIST have written a paper that contains the closest thing to a standard description. NISTIR 8202, Blockchain Technology Overview describes a blockchain:
Blockchains are distributed digital ledgers of cryptographically signed transactions that are grouped into blocks. Each block is cryptographically linked to the previous one (making it tamper evident) after validation and undergoing a consensus decision. As new blocks are added, older blocks become more difficult to modify (creating tamper resistance). New blocks are replicated across copies of the ledger within the network, and any conflicts are resolved automatically using established rules.
The NIST Blockchain Technology Overview, which I highly recommend as a starting point, describes permissioned and permissionless blockchain digital ledgers. In a permissionless blockchain such as cryptocurrency, anyone with the software and enough computing power can become a node in the blockchain network. People who add blocks to the chain use public addresses, concealing their true identities.
Permissioned blockchains—where the identity of those able to add blocks is known—have so far received considerably less discussion, but that's changing. In a permissioned blockchain, only those computers with permission can become nodes in a blockchain network. Such blockchains might have value in documenting engineering activities and storing engineering data as a product moves from design to production. NIST has proposed using blockchain to securely store manufacturing data.
Blockchains might find a place in the supply chain to provide proof of origin for parts and prove authentication. Another potential application is to store data as components are assembled onto boards and boards go into systems. EDN spoke with Dylan Yaga, author of NISTIR 8202, who noted this possible use.
In addition to its use in the supply chain, blockchain has been proposed as a method for storing calibration data. The authors of Blockchain-based for Calibration of Digital Multimeter System Design point to blockchain's ability to store data in a way that makes it difficult to change once a block of data is added to a chain.
The paper's authors propose a permissioned blockchain where only authorized parties add blocks of data to the chain. Because the calibration data is stored on every computer in this private blockchain network, it can't be lost in the event of a data breach, fire, or other calamity occurring at a single location. Today, each lab maintains its own database of equipment it's calibrated. Many users keep their own copies of data on calibrations performed on their equipment. Figure 1 shows how data might be stored in a blockchain from more than one lab. Each lab would have its own application software (single app shown).
Figure 1 Calibration labs, each using their own software (one shown), could share a single blockchain for measurement data.
Query a blockchain?
The paper's authors note that simply storing data in a blockchain isn't enough. The data needs additional software to be organized and needs software to calculate a measurement's uncertainty and verify traceability to a national lab such as NIST. Michael Schwartz, automation engineer at CalLab Solutions echoed that need. In developing metrology.net, Schwartz and others considered in 2015 implementing a blockchain database for storing calibration data but ran into problems when designing the database for storing data but ran into issues. “We needed a way to query the blockchain data and couldn't find one,” he told EDN . Instead, Schwartz chose to store the data in XML files.
When asked about Schwartz's claim of no queries, Yaga replied by saying, “Blockchains need additional software to make them usable. You can construct a relational database that uses the blockchain-stored data to perform queries.”
“It's possible,” he continued, “to query a blockchain's data block by block, but that's inefficient. The relational database can cache the blockchain's data for queries, provide a more useable interface for the data, and perform data processing.” Figure 2 shows a relational database with data copied from a blockchain. “Most people aren't comfortable with command lines found in most blockchain software. The primary reason for storing the data in a blockchain is because changing the data is difficult.” Yaga added that labs would need to verify that data in the relational database has not been altered by comparing its contents against that of the blockchain.
You can also use a block explorer to search data in a blockchain. They're mostly used for searching cryptocurrency blockchains and go by names such as Blockchair, Gold Explorer, and Cardano Blockchain Explorer.
Figure 2 A relational database can perform queries of data copied from a blockchain.
“Trust” means different things
In blockchain terms, trust refers to the integrity of a transaction and in the decentralized database's underlying cryptographic mechanisms as well. Permissionless blockchains rely on a rigorous mathematical process that results in consensus from the community, which creates trust in a transaction's validity. That's essential for a permissionless cryptocurrency blockchain because there's no central authority as there is in traditional currency.
According to Yaga, permissioned blockchains might not have the same level of trust (in blockchain terms) as permissionless blockchains because of the limited number of users available to mathematically reach consensus. He noted that a blockchain with a single user has no way to assign such trust to anything put into it.
In a permissioned blockchain, anyone with data-entry permission can add blocks to the chain. With few nodes in the network, the users must implicitly trust each other to keep the data valid. But, engineers usually trust the work performed at a calibration lab anyway. If you don’t trust a lab's procedures and results, look for another lab regardless of how the lab stores test results.
In measurement and calibration, it's trust in the data that counts. The metrology industry has established calibration procedures that accreditation bodies audit when they visit a lab. In the blockchain paper on DMM calibration, labs are the nodes of the blockchain network. But, before data is entered in the blockchain, software calculates uncertainty, creates a calibration certificate for an instrument, and establishes traceability to a national lab before writing to the blockchain. A lab's customers can log in to an account at a lab and retrieve calibration certificates created by the external software, but not have access to the blockchain.
While not blockchain based, Schwartz's software calculates the uncertainty in a calibration. That software also compares calibration data against a lab's “scope of uncertainty,” a set of data that results from a lab's audit, which is based on calibration procedures, equipment used, and the equipment's traceability to a national lab. The calculated uncertainty can't be less than a lab's scope of uncertainty for a given measurement, lest the data be invalid in a calibration sense. Although blockchains rely on “trust,” that trust has nothing to with trusting the quality of the data itself. Thus, s blockchain can have invalid data even though the blockchain software concludes that the data entered is “trusted” from a blockchain perspective. In other words, “garbage in, garbage out.”