By Maj Neil B. Barnas, USAF, Air Force Cyber College
/ Published July 06, 2017
Blockchains are a new information technology that have the potential to invert the cybersecurity paradigm. First, blockchain networks are trustless: they assume compromise of the network by both insiders and outsiders. Second, blockchains are transparently secure: they do not rely on failure-prone secrets but rather on a cryptographic data structure that makes tampering both exceptionally difficult and immediately obvious. Finally, blockchain networks are fault tolerant: they align the efforts of honest nodes to reject those that are dishonest. As a result, blockchain networks not only reduce the probability of compromise but also impose significantly greater costs on an adversary to achieve it. The Air Force should research and develop blockchain technology and leverage it for national defense.
What Is a Blockchain?
A blockchain is a shared, distributed, tamper-resistant database that every participant on a network can share—but that no one entity controls. In other words, a blockchain is a database that stores digital records. The database is shared by a group of network participants, all of whom can submit new records for inclusion. However, those records are only added to the database based on the agreement, or consensus, of a majority of the group. Additionally, once the records are entered, they can never be changed or erased.1 In sum, blockchains record and secure digital information in such a way that it becomes the group's agreed-upon record of the past.
Blockchain: A Brief History
The blockchain was first proposed in 2008 by Satoshi Nakamoto (a pseudonym) in conjunction with the cryptocurrency Bitcoin. Nakamoto's vision was to "allow online payments to be sent directly from one party to another without going through a financial institution."2 However, without a trusted central authority to oversee accounts and transactions, there would be no way to prevent dishonest actors from spending a single Bitcoin twice. Nakamoto's solution was a distributed database of time-stamped, consensus-based, cryptographically tagged transactions that form a record that cannot be changed—a blockchain.3 Bitcoin became a reality in 2009, and since then its market capitalization has gone from zero to more than $6.3 billion as of April 2016. Each day, some of Bitcoin's 6.6 million users exchange more than $75 million in 120,000 transactions across the network.4
Bitcoin offers a noteworthy example of a blockchain's potential. All of Bitcoin's currency, transactions, and accounts that have ever existed are recorded in a blockchain database that lives on the open Internet. It is fully exposed to the hostile efforts of governments, criminal organization, and hackers. Yet, the Bitcoin blockchain has never been hacked.5 Clearly, this technology deserves study.
While "the blockchain" was virtually synonymous with Bitcoin for several years, it should be made clear that they are two separate technologies. Bitcoin is just the first popular application of blockchain, just as e-mail was the first popular application of the Internet.6 Its potential is so vast, in fact, that advocates compare the maturity and innovative potential of blockchain technology today to that of the Internet in 1992, an Internet before the World Wide Web.7 However, because blockchain technology simply rides on the existing Internet infrastructure, the maturity of blockchain technology is likely to progress three times faster than the Internet, with mainstream use expected within the next eight years.8
Industry has recognized the potential of blockchain technology. Since 2013 more than $1 billion of venture capital has been invested into 120 blockchain start-ups.9 Aims are diverse, ranging from finance to the tracking and trade of indivisible assets (such as diamonds and art) to digital notary services that can serve as evidence in a court of law; however, interest has expanded beyond just start-ups. Large, mature companies such as Lockheed Martin, IBM, and Goldman Sachs have also begun investigating potential blockchain applications in their respective sectors.10
Why Do Blockchains Matter?
Blockchains solve a challenging problem in data science: how to reliably exchange information over an unreliable network on which some of the participants cannot be trusted.11 The blockchain security model inherently assumes that these dishonest participants will attempt to create friction by not only generating false data but also attempting to manipulate valid data passed from honest participants.12 By using a variety of messaging and consensus techniques, blockchains ensure data integrity by both rejecting invalid data and preventing valid data from being secretly modified or deleted.
Blockchain technology is worthy of examination because it offers three significant advantages over traditional cyber defense strategies. First, rather than trying to defend boundaries from compromise, blockchains assume compromise by both adversaries and trusted insiders. They are designed to defend data in a contested cyber environment. Second, blockchain networks harness the aggregate power of the network to actively resist the efforts of malicious actors. Specifically, blockchains take advantage of the asymmetry of many against few. Finally, the security that blockchains provide is not dependent on secrets or trust. There are no passwords to be exposed, cryptographic keys to be protected, or administrators to be trusted.13 Blockchains provide an inherent security function on which additional security functions can be added, depending on the application. As result of these advantages, blockchains are capable of operating successfully and securely on the open Internet, without a trusted central authority, while fully exposed to hostile actors.
Elements of Blockchain Technology
Like most technologies, blockchains combine other nascent technologies to provide a new, unique function or capability. This section explains some of technologies and functions they provide.
Hashing: The Digital Fingerprint
Blockchains employ a form of cryptography known as secure hash algorithms (SHA), or hashing.14 Unlike encryption, SHAs do not use secrets, such as passwords or keys. Instead, the National Institute of Standards and Technology develops hashing specifications, making them publicly available for use by both government and private entities. Hashing is used to convert any piece of digital information (text, images, videos, and so forth) to a string of bits with a prescribed length. For instance, digital information processed through the SHA-256 algorithm will output as a 256-bit string, equivalent to a 32-character string of alphanumeric text. Secure hashes have two important properties. First, the algorithm only works in one direction (for example, the input cannot be derived from the output). Second, the output string is universally unique to any input.15 Processing the piece of information through the same hash algorithm will always return the same result, and no other input will produce the same output. Changing any portion of an input—even one character—will significantly alter the output.16 Table 1 illustrates this point. The geographic coordinates of the Washington Monument were processed through the SHA-1 hash algorithm, resulting in the first string of 40 alphanumeric characters. The location was processed again after changing the longitude's fourth decimal place by one increment, resulting in an offset of 8.5 meters. Notice that the resulting hash differs from the original almost completely. A similar change could be expected from changing one pixel in an image or one letter of the US Constitution. Thus, hashing is an effective tool for verifying the integrity of a piece of data without having to inspect the data directly.
Table 1. Example input and output of secure hash function
Database Structure and Contents
A blockchain is a database composed of "blocks" (e.g., a group) of records, with each block containing a cryptographic link to the previous block, forming a chain. A blockchain begins as a single block, sometimes called the genesis block.17 As new blocks are added, they are "stacked" on top of the previous block. A visualization of a blockchain can be seen in figure 1.
Blockchains can be compared to pages in a book.18 Each block, or page, has a header—identifying information at the top of the page—and contents (text).19 The header of each block contains several pieces of information, but only three are highlighted here. First, and most important, is the digital fingerprint, or hash, of the previous block. Next, is a timestamp that denotes when the block was created. Finally, there is the hash of the block's contents.20
Figure 1. Visualization of blockchain data structure
This content hash is also known as a Merkle hash, which is the highest value of a Merkle hash tree. The Merkle hash tree is a cryptographic data structure that mathematically links the entirety of a block's contents to a single hash value. This allows any user to rapidly reconstruct any block to quickly confirm the integrity of its contents using the least amount of information. By linking each block to the one before it, the blockchain has an internal consistency that can be verified without ever inspecting the contents of any block, just as one can verify the presence of every page in a book without reading it.21 This section on blockchain security will illuminate the importance of this data structure.
The collection of information stored in each block can be any digital content, including simple text, structured messages, images, and videos. Any information stored in the blockchain is permanently secured—a historical record that can never be changed.
There are two fundamental trade-offs to consider in determining a blockchain's contents: confidentiality and file size. All network participants can view anything stored in the blockchain. This has obvious advantages, including the ability to easily authenticate information across the network, and disadvantages, such as no control over who in the network can see the information. Further discussion on confidentiality is addressed in the section on security. File size is important because a complete blockchain contains every data record that has ever been added to it. If the data records are large and added frequently, then the blockchain will become enormous, a problem known as bloat.22 Bloat becomes more problematic in decentralized blockchain networks, where multiple network nodes will independently construct the database.
Consensus is a process that enables "a set of distributed processes [to] achieve agreement on a value or an action despite a number of faulty processes."23 This is formally known as the Byzantine Generals Problem.24 One of the best-known consensus algorithms, known as practical Byzantine fault tolerance, is used pervasively in safety-critical systems, such as quad-redundant navigation systems aboard aircraft.25 In a blockchain network, consensus is used to prevent dishonest actors from writing potentially invalid information to the database.26 The specific consensus mechanism used for any given blockchain depends on a number of assumptions, including the amount of trust between parties and the alignment of their interests, as well as factors concerning the shape and synchronization of the network.27 The Bitcoin consensus model, for example, is decentralized and without trust. As a result, each node independently verifies each transaction in addition to new blocks and—in case of "forks" in the blockchain—independently chooses the branch with the most cumulative computation.28 Militarily, the consensus mechanism creates asymmetric advantage over an adversary by aligning the preponderance of honest nodes against a smaller number of dishonest nodes. Consequently, the blockchain becomes increasingly difficult to compromise as the network size increases.
Blockchains can be established on a variety of network architectures ranging from completely centralized to completely distributed, as illustrated in figure 2.29 It is important to note, however, that each of these network architectures represents trade-offs in security and efficiency. For instance, in a centralized network, all outer nodes are reliant on the center node for network functionality. Thus, if the center node becomes compromised, then the network as a whole is subject to compromise. At the other end of the spectrum is the distributed network, where each node is functionally independent from any other node. As a result, the compromise of individual distributed nodes does not necessarily compromise the network as a whole.30
Figure 2. Diagram of generic network topologies. (Reprinted from Paul Baran, RAND Corporation, to Distributed Communications Networks, memorandum, August 1964.)
Access control of blockchains can be accomplished in two ways: permissioned and unpermissioned. Unpermissioned, or public, blockchains operate without access control. Anyone with the appropriate software and connectivity can join the network and interface with the blockchain without permission from a central authority. Conversely, a permissioned, or private, blockchain allows administrators to control the participants on the network, the portions of the blockchain that can be viewed, the participants who can write to the blockchain, and the composers of the consensus group.31
Network Node Types
Network nodes serve as both the users and defenders of the blockchain. As users, they generate new records to be included in the blockchain and reference the blockchain for historical information. Network nodes defend the blockchain by participating in the consensus mechanism, although not all nodes need to participate in every aspect of consensus, depending on access control, for instance. The types of nodes in any blockchain network will vary depending on the network's purpose.
In an Air Force context, nodes could be envisioned in three categories depending on their relative capability (processing, storage, communication, and so forth): full nodes, partial nodes, and simple nodes. Examples and responsibilities of each node type are summarized in table 2. Full nodes serve as the backbone of the blockchain network. Their most important function is to build and maintain a complete, up-to-date copy of the blockchain database. Another important function performed by full nodes is generating new blocks, which are then distributed to other nodes. Next, full nodes will verify new transactions or blocks received from other nodes, ensuring they are in accordance with the consensus rules and maintain the database's internal consistency. Finally, like all other nodes, full nodes generate and transmit new records for inclusion in the database.
a. Air operations center
b. Airborne Warning and Control System
c. Geosynchronous Earth orbit
The next category type is partial nodes. Due to platform design constraints, partial nodes lack sufficient capability to maintain a complete copy of the blockchain database. Instead, a partial node retains a "headers-only" version of the blockchain, containing just the headers of every block. Recall that the block headers contain the previous block's header hash, a timestamp, and the hash of the current block's contents. This allows the partial node to not only verify the consistency of the blockchain but also to completely verify every new block. Once verified, only the block's header data in retained. In Bitcoin this limited blockchain model reduces the database's size from 45 gigabytes to just 45 megabytes, a factor of 1,000. However, because the block's contents are discarded, a partial node requires the support of full nodes to verify any previous transaction.
The final category type is simple nodes. As can be seen in table 2, simple nodes only generate, transmit, and verify new records. Simple nodes are, by design, low-cost commoditized items with limited capability. However, their presence on the network could still serve a valuable role in the consensus mechanism.
Security and Attack Vectors
The strength of blockchain security is attributable to its core elements: secure hashing, back-linked data structure, and consensus mechanism. First, the hash is not secured by a secret key; it is simply a universally unique cryptographic representation of a piece of data—a digital fingerprint. Recall that the hash of the previous block is embedded in the header of the current block, which directly affects the current block's own hash. Thus, if the previous block changes in any way, its hash will change, affecting the hash of the current block and every block thereafter.32 As a result, making changes to the data in a blockchain becomes more difficult the farther back the change is implemented; an attacker must recompute not only the target block but also every block after it as well, which is both time and resource intensive. As a general rule, any block with six additional blocks on top of it is considered irrevocable.33 Finally, the rules of the consensus mechanism control which new data entries are transmitted, verified, and ultimately appended to the blockchain. Consensus makes use of the blockchain's internal consistency, which any node can easily verify. Any data entry or block that breaks that consistency is immediately obvious to honest observers and is ignored. Together, these three elements build a database of historical records that is considered immutable.34
Confidentiality is an important issue for blockchain security. All permissioned users in the network can view anything in the blockchain. However, additional security measures can be added to a blockchain network. One example is traditional public key infrastructure, which is used in Department of Defense common access cards and network tokens. This approach allows a data owner to encrypt a record, store it in the blockchain, and subsequently maintain controlled access to it. This approach has been adopted in Estonia, which now protects every citizen's healthcare record inside a blockchain. The patient—the data owner—can now control which healthcare providers have access to his or her healthcare record, inspect the changes that have been made to the record, and revoke access when it is no longer necessary.35
Because records become extremely difficult to alter once secured in the blockchain, the target for attackers becomes new records—both valid and invalid.36 The vector for executing attacks on a blockchain is through the consensus mechanism. By controlling a majority of the consensus nodes, attackers could control the content added to the blockchain in two ways. First, attackers could independently generate, transmit, verify, and secure invalid transactions normally rejected by honest nodes. Second, attackers can conduct a denial-of-service attack against honest nodes by simply ignoring any messages the attackers did not generate themselves.37 While certainly possible, the chance of a consensus attack succeeding is mitigated by three factors: network size, identity management, and access controls. As the number of consensus nodes increases, the effort required for an attacker to control its majority increases as well. Thus, larger networks provide greater security. Additionally, identifying management and access controls prevents the so-called Sybil attack, wherein individual attackers create multiple identities to control a disproportionate number of consensus nodes.38
1. Mike Gault, "Forget Bitcoin—What Is the Blockchain and Why Should You Care?," e-Estonia.com (website), 21 October 2015, https://e-estonia.com/forget-bitcoin-what-is-the-blockchain-and-why-should-i-care/. See also "What Is Blockchain Technology?," Blockgeeks.com (website), n.d., http://blockgeeks.com/guides/what-is-blockchain-technology-a-step-by-step-guide-than-anyone-can-understand/.
2. Satoshi Nakamoto, "Bitcoin: A Peer-to-Peer Electronic Cash System," Bitcoin.org (website), 2008, 1, https://bitcoin.org/bitcoin.pdf.
4. "The Great Chain of Being Sure about Things," Economist, 31 October 2015, http://www.economist.com/news/briefing/21677228-technology-behind-bitcoin-lets-people-who-do-not-know-or-trust-each-other-build-dependable.
5. Statement of Andreas M. Antonopoulos, unclassified statement before the Canadian Senate, Proceedings of the Standing Senate Committee on Banking, Trade and Commerce, Issue 15, Parliament of Canada, 8 October 2014, http://www.parl.gc.ca/content/sen/committee/412/BANC/15EV-51627-E.HTM.
6. Melanie Swan, Blockchain: Blueprint for a New Economy (Sebastopol, CA: O'Reilly and Associates Inc., 2015), chapter 2.
7. David Wessel, "Beyond Bitcoin: The Future of Blockchain and Disruptive Financial Technologies," (panel discussion, Brookings Institution, Washington, DC, 14 January 2016), http://www.brookings.edu/~/media/events/2016/01/14-bitcoin/20160114_blockchain_bitcoin_transcript.pdf.
8. Statement of Andreas M. Antonopoulos.
9. Eric Piscini, Joe Guastella, Alex Rozman, and Tom Nassim, "Blockchain: Democratized Trust," Deloitte University Press (website), 24 February 2016, http://dupress.com/articles/blockchain-applications-and-trust-in-a-global-economy/, 83.
10. "The Great Chain."
11. Andreas M. Antonopoulos, Mastering Bitcoin (Sebastopol, CA: O'Reilly and Associates, Inc., 2014), chapter 1.
12. Leslie Lamport, Robert Shostak, and Marshall Pease, "The Byzantine Generals Problem," ACM Transactions on Programming Languages and Systems 4, no. 3 (July 1982): 382–401, http://doi.org/fj7rt7.
13. Mike Gault, "Blockchain Implications for Trust in Cybersecurity," Guardtime.com (blog), 16 March 2016, https://guardtime.com/blog/blockchain-and-implications-for-trust-in-cybersecurity.
14. "The Trust Machine," Economist, 31 October 2015, http://www.economist.com/news/leaders/21677198-technology-behind-bitcoin-could-transform-how-economy-works-trust-machine.
15. Department of Commerce, Federal Information Processing Standards Publication 180-4, Secure Hash Standard (Washington, DC: National Institute of Standards and Technology, August 2015), http://dx.doi.org/10.6028/NIST.FIPS.180-4.
16. "The Trust Machine."
17. Antonopoulos, Mastering Bitcoin, chapter 7.
18. Antony Lewis, "A Gentle Introduction to Blockchain Technology," Bits on Blocks (blog), 9 September 2015, http://bitsonblocks.net/2015/09/09/a-gentle-introduction-to-blockchain-technology/.
20. Antonopoulos, Mastering Bitcoin, chapter 7.
21. Lewis, "A Gentle Introduction."
22. Swan, Blockchain, 6.
23. Miguel Correia, Giuliana Santos Veronese, Nuno Ferreira Neves, and Paulo Verissimo, "Byzantine Consensus in Asynchronous Message-Passing Systems: A Survey," International Journal of Critical Computer-Based Systems 2, no. 2 (2011): 141–61, http://doi.org/cbrz54.
24. Lamport, Shostak, and Pease, "The Byzantine Generals Problem," 382–401.
25. Kevin Driscoll, Brendan Hall, Håkan Sivencrona, and Phil Zumsteg, "Byzantine Fault Tolerance, from Theory to Reality," in Computer Safety, Reliability, and Security, ed. Stuart Anderson, Massimo Felici, and Bev Littlewood (Heidelberg, Germany: Springer-Verlag Berlin, 2003), 235–48, http://link.springer.com/chapter/10.1007/978-3-540-39878-3_19.
26. Tim Swanson, "Consensus-as-a-Service: A Brief Report on the Emergence of Permissioned, Distributed Ledger Systems," Great Wall of Numbers (blog), 6 April 2015, http://www.ofnumbers.com/2015/04/06/consensus-as-a-service-a-brief-report-on-the-emergence-of-permissioned-distributed-ledger-systems/.
27. Correia, Veronese, Neves, and Verissimo, "Byzantine Consensus."
28. Antonopoulos, Mastering Bitcoin, chapter 8.
29. Nils Diewald, "Decentralized Online Social Networks," in Handbook of Technical Communication, ed. Alexander Mehler and Laurent Romary (Berlin: Degruyter, 2012), 461–505, http://www.nils-diewald.de/dsn-chapter.html.
30. "Beyond Distributed and Decentralized: What Is a Federated Network?" Institute of Network Cultures, accessed 30 March 2016, http://networkcultures.org/unlikeus/resources/articles/what-is-a-federated-network/.
31. Lewis, "A Gentle Introduction."
32. Antonopoulos, Mastering Bitcoin, chapter 7.
33. Ibid., chapter 2.
34. Piscini, Guastella, Rozman, and Nassim, "Blockchain: Democratized Trust," 89.
35. Matthew Johnson, chief technology officer, Guardtime (address, Asia Cyber Liability Conference, Singapore, June 2015), https://guardtime.com/blog/matt-johnsons-keynote-at-asia-cyber-liability-conference-in-singapore.
36. Antonopoulos, Mastering Bitcoin, chapter 8.
38. John R. Douceur, "The Sybil Attack—Microsoft Research," Proceedings of 1st International Workshop on Peer-to-Peer Systems, accessed 4 April 2016, http://research.microsoft.com/apps/pubs/default.aspx?id=74220.
Maj Neil Barnas is a USAF developmental engineer and acquisition manager. He holds a bachelor of science degree in engineering mechanics and a master of engineering degree in systems engineering. His assignments include engineering and program management for the B-2 Spirit multirole bomber, F-22 Raptor stealth tactical fighter, F-35 Lightning II stealth multirole fighter, and other classified programs. He most recently served as a Blue Horizons Fellow at Air University.
The views expressed in this article are those of the author and do not necessarily reflect the official policy or position of the Air Force, the Department of Defense, or the US government.