Proposals to implement blockchain as a replacement for existing approaches to exchange data are often accompanied by promises of significant technological, legal and organisational improvements. But do these improvements also lead to financial benefits? In a series of blog posts, TNO investigates the costs of different types of blockchain technology, and compares the costs with those of existing methods to exchange data. In the first part, we discuss the costs of running a single full blockchain node.
Part I: The costs of running a full Blockchain node
Different set-ups of blockchain require different levels of investment. In a previous blog post, Oskar van Deventer explained how a blockchain can be described by two main characteristics: Permission type (permissioned or unpermissioned), and accessibility type (public or private). Using these definitions as a point of departure, our goal is to specify the costs of four blockchain archetypes: Worldwide unpermissioned blockchains, worldwide permissioned blockchains, national permissioned blockchains, and privately owned permissioned blockchains.
Each one of the four archetypes requires investments of different sizes on different levels. Following the development and deployment levels of IT, we intend to gradually build our case bottom-up from technique to end user (Figure 1). In this first blog post, we wish to discuss the very first level of the blockchain business case: The costs of running a single blockchain node.
Figure 1: Building the blockchain case bottom-up
We defined the blockchain node in terms of a number of common financial parameters. Each archetype has different values associated with every parameter, the combination of which should yield a complete characterisation of an archetype. Because apart from the potential pain and agony that may be experienced while setting up a full node and trying to keep it running, running a node will undeniably also cost you money. The amount of money one needs to invest depends on the chosen set-up and implementation, i.e., the archetype associated with the needs and requirements of the investor.What should result is a one-to-one comparable value of the costs of running a full node for each archetype.
Figure 2 shows the overall estimated annual costs of running a blockchain node per archetype. The overall investment in these figures can be decomposed in six separate key components, each resulting from their own set of underlying parameters. These six common key components that we defined for each archetypes are hardware investments, software investments, bandwidth costs, energy expenses, costs related to tech support and organisational expenditures.
Figure 2: Annual costs per blockchain node for each archetype
It should be noted that we purposely left the costs of running a consensus algorithm (and therefore, costs associated with mining) out of the scope of the business case for now. Although we are aware that running a consensus algorithm can be a sizeable – arguably even the biggest – chunk of the overall costs, we deem the current costs estimates of running a consensus algorithm not accurate enough nor representative for an unambiguous discussion of the costs of a specific archetype. For example, including the costs of running the proof-of-work algorithm for Bitcoin would not be representative for running the same algorithm for certain types of altcoins, or running a proof-of-stake algorithm on the same node. Consensus algorithms and mining address a whole other dimension of the blockchain costs that requires a dedicated and thorough study of its own. Because the number of nodes in the Blockchain network could play a role in establishing the costs of mining, we intend to include those costs in the follow-up study where we discuss the costs of running a network of nodes.
The remaining six key components are build up as a function of their underlying financial parameters. The decomposition is defined as follows.
Hardware involves investments for the CPU or GPU, and the harddrive. Regardless of the archetype, the total costs of a typical processing unit and harddrive that could host a blockchain should not exceed €150 per year.
The software required to run a blockchain typically relies on open source software solutions, which are typically available free of charge.
The costs associated with bandwidth may vary a lot from one blockchain archetype to another.
Incoming bandwidth is calculated directly from the assumed number of transactions per day, the size of a block, and the number of transactions per block.
The number of daily transactions for public blockchains varies from 200,000 to 300,000 per day on average for worldwide unpermissioned blockchain solutions such as Bitcoin with a maximum of 604,800, to 864,000 transactions for worldwide permissioned blockchain solutions such as Hyperledger Fabric. Smaller, private blockchain solutions typically process a fewer number of transactions. We assume 1 transaction per minute, or 1,440 daily transactions, for national permissioned blockchains, and a modest 100 transactions per day for small private, permissioned blockchain solutions.
The block sizes and the number of transactions contained by a single block are usually dictated by the technical limitations induced by the speed of the hosting network. For example, Bitcoin enforces its controversial maximum block size of 1 MB per block each containing 2,000 transactions on average, while implementers of private blockchains for high-speed networks could easily allow bigger blocks of 15 MB, each holding 1,000 transactions. As a result, the average size of a transaction can be anything up to 15 kB for worldwide public blockchains, to 50 kB per transaction for smaller, private blockchains.
Combined with the transaction volumes, the total incoming data ranges from 0.302 GB/day for worldwide unpermissioned blockchains and 12.960 GB/day for worldwide permissioned blockchains, down to 0.072 GB/day and 0.012 GB/day for private unpermissioned blockchains and private permissioned blockchains, respectively. These values translate into a range of 1.11 kb/s to 1.20 Mb/s. Regardless of the exact value, a typical lightweight broadband plan from any ISP should suffice for the required incoming bandwidth, amounting to roughly €25 per month (or equivalently, €300 a year).
Outgoing bandwidth largely depends on the number of full blockchain downloads each day. Running a full Bitcoin node, for example, requires an outgoing connection of roughly 700 kB/s, or 60.5 GB daily. Worldwide permissioned blockchains may demand even more upload speed. Based on an average – and inefficient – 10 daily full downloads of an entire 10GB blockchain would require 100 GB a day. Smaller blockchains are assumed to consume less outgoing bandwidth. For simplicity, we assume that worldwide permissioned blockchains consume 50.0 GB daily, national permissioned blockchains 10.0 GB per day, and small permissioned blockchains 5.0 GB per day.
These volumes translate into upload speeds of up to 9.3 Mb/s, which could easily be accommodated by the same €25 monthly lightweight broadband plan suggested for incoming bandwidth.
Energy costs are a returning topic of debate in the blockchain community. The energy consumption of a full node – not considering any specific form of cooling or dedicated server space – can be either relatively minor or massive depending on the specs of the chosen hardware. Most of the energy costs, however, are associated with running a consensus algorithm (i.e., mining) rather than the simple task of running a full node. For that matter, a full Bitcoin node – like the other considered archetypes – does not require to be run on dedicated hardware.
As running a consensus algorithm is beyond the scope of this blog post, we restrict our attention to the energy consumption of a simple device such as a Raspberry Pi (the energy costs for mining will be back with a vengance when we move up the stack towards the application layer). A Raspberry Pi consumes 12.0 Watt approximately, or 105.2 kWh per year. At an assumed electricity rate of €0.20 per kWh, this amounts to a mere €21.04 a year.
Tech support involves all the costs of maintaining a full node in order to keep it up and running. Hardware fixes, software updates and answering phone calls from angry customers are all part of the game. Depending on the exact demands of the node, tech support can take up a large chunk of the overall costs. Although we are well-aware that blockchain nodes of the worldwide unpermissioned blockchains (e.g., Bitcoin) are usually entirely run by volunteers, we do not shy away from the economic truth that time costs money.
We estimate the time spent on maintaining a worldwide unpermissioned blockchain node to be 1 day a week, 0.5 days a week for worldwide permissioned blockchain nodes, and 2 hours per week for national permissioned and small private blockchains. With an average cost of €50 per hour for tech support, this amounts to €20,000 a year for worldwide unpermissioned blockchain nodes, €10,000 per year for worldwide unpermissioned blockchain nodes, and €5,000 per year for national permissioned and small, privately held blockchain nodes.
Organisational costs are taken to be all costs associated with governing a node on the blockchain. For the sake of simplicity, we assume that there is a single board headed by one director and a secretary overseeing the network of blockchain nodes. The board’s tasks include all the administrational elements of allowing new members to enter (e.g., voting mechanisms and time taken to discuss the position), decisions about potential blockchain updates (e.g., forks), staff overhead, and perhaps even the occasional press and media coverage.
An hourly rate of €125 for the director and €25 for the secretary corresponds to an annual cost of roughly €250,000 and €50,000 per fte, respectively. We assume that a worldwide blockchain network, regardless of its permission level, requires the director about 1 day work each week and 2.5 days a week for the secretary, and a national permissioned blockchains and small, privately owned blockchains only require 0.5 days a week (director) and 1 day a week (secretary). Assuming that our node is part of a (sub)network consisting of 10 nodes, we are attributed with our share of the organisational costs of €7,500 for worldwide blockchain subnetworks and €3,500 for national and private blockchain solutions.
Figure 3: Build-up of annual costs per archetype
What have we learned?
In this first part of our study of the blockchain business case, we took a look at the costs of running a single full blockchain node. Having analysed four blockchain archetypes, from a worldwide unpermissioned to a small pension blockchain, we found that the costs aren't in hard- and software, nor in energy or bandwidth. In all four cases, it's the people that define the costs - both in tech support to keep the node in the air and up to date, and in the contribution to the organisation that governs the blockchain that our nodes are part of.
As we said in the beginning, this study is a first step towards understanding the financial side of blockchain. What about the costs for the whole blockchain, including the energy consumed by miners? What about the new roles that are required (or are they?) to facilitate the applications that will be running on our blockchains? And what about the comparison with the way we did it before blockchain showed up? Can blockchain live up to the promise that it will be easier, more transparent and cheaper? We look forward to discussing these questions, and do some math on them, in subsequent blog posts.
Finally, note that the reported figures in this blog post are no more than just wild guesstimates. They are merely meant to open up the discussion that Blockchains cost money. If you believe that a particular figure is way out of bounds, feel that something is missing, or want to contribute to the discussion in any meaningful way, then please drop us an email.