Hobby, Global Scale, or a Global Scale Hobby?
The costs involved in running a single*proof of stake
blockchain are tiny - easily absorbed by many people as a fraction of their fixed cost internet access subscription, a tiny fraction of their electric bill, a trivial amount of space in a closet to hold the hardware, and an investment of less than $100 in the hardware needed to run it on a dedicated*while a secure server image might be run in a container on a multi-purpose computer, there are still practical problems with multi-purpose computers needing to be restarted for other reasons, capacity loaded by other applications, etc. Far simpler to analyze the dedicated use case and let the hobbyists play with time-share setups.
machine. However, when this scales up to billions of blockchains each transacting dozens of exchanges per week, the costs do become significant and are unlikely to be happily borne by cloud service providers on teaser "free trial" deals.
To provide reliable / robust / rapid service to users, blockchains need to be served from a significant*say 5 to 50, depending on application
number of diverse servers, preferably with diverse operators that the blockchain operator may not necessarily know. Being able to compensate these redundant service providers, whether in cash, shares of the chain, cooperative hosting of their chains, or a combination of all three should incentivize providers to competitively strive to provide reliably rapid service to blockchain users.
Basic Units
Serving a blockchain requires:
Processing Hardware
Conceivably, blockchains could be hosted on smartphones, but the nature of smartphone connectivity is unreliable, and phone users mostly won't care for the negative impact on their battery life or data usage fees*and server software developers and operators won't care for the constantly shifting OS API/security landscape which obsoletes applications like blockchain servers every year or so.
. Minimal hardware like a Raspberry Pi Zero 2 W could serve a surprising number of transactions for a tiny cost, but more likely something in an Intel NUC form factor would be more efficient in the case where a lot of transactions are being served on a regular basis. In any event, the processing hardware has a purchase price, average service life, and a sustained transaction per minute throughput capacity.
For example numbers, consider a fanless industrial NUC for $1000 as the server processor of choice, with an expected 5 year service life and an average of 100 transactions per minute served*server operators who are in it "for the money" would do well to serve multiple blockchains, up to the point that their hardware is significantly utilized at normal peak loading. If they go over-capacity from time to time, that's why the chain operators are supposed to utilize a significant number of redundant services to serve their chain operations.
, that works out to 0.00038 cents per transaction, for the server processing hardware. For a medium traffic chain that is hosted on 10 servers distributed around the planet, that comes to 0.0038 cents per transaction.
Server storage space
Blockchains are immutable records, and as currently implemented many blockchains will grow infinitely large over infinite time. While I appreciate that many businesses transaction volume is small enough that a "standard" 2TB drive can serve all their blockchain storage needs for decades to come*and, of course, during that time the capacity and price of storage is expected to continue falling. We may be in a situation where essentially infinite long term storage is a practical reality, or not. It doesn't hurt to plan for the "not" case, and it also doesn't hurt processing time to reduce the relevant chain history.
, that infinity in the numerator still bothers me. With billions of people utilizing a system of blockchains, the total record size across all chains will be significantly more than 2TB. All this is a(nother) long winded justification for protocol based planned expiration of neglected blockchain records.
Once the infinity is gone from the storage time, a cost of storage can be calculated for blockchain records. Realize that, before they expire, every blockchain record is stored on every active processor, as well as additional archival copies. If 2TB of storage costs $200 with an average service life of 5 years, that's $20 per TB per year. If an "average" blockchain transaction weighs in at 10KB in long term storage (this is generous, optimal transactions might squeak in at 1KB or less, but never underestimate protocol bloat), replicate this across 10 active servers for 7 years and 3 archival servers*in this very rough estimate, the cost of the archival server processors is neglected - assume the archives are kept on removable drives attached to some of the active processors.
for 10 years, that's 100 storage-years, or the equivalent of 1MB stored for a year. So, the total archival costs incurred by one transaction (on a seven year storage protocol) are 0.002 cents. If you prefer longer storage horizons, say 99 years, the cost scales linearly: 0.002 * 99 / 7 = 0.028, or about 7x the cost of processing*there are other increased costs of long life blockchain records, particularly in the performance of a full audit of all active records, but long term storage is probably the biggest one.
. When the proceeds of a value transfer are "fully spent" that record can be ignored in many types of chain analysis, but the record will still be expected to be present in a "full audit."
Network connectivity
Of course, this varies greatly by location, types of service available, and even volume of transactions processed. While some service providers advertise "unlimited data" for low rates like $30 per month, historical experience has shown that unlimited plan users quickly hit a virtual ceiling, bandwidth throttling, etc. when they stray too far outside the normal usage patterns. So, a normal bandwidth provided is in the range of 1TB per month, and in the unfortunate US markets this is billed at something like $76. In our home, we use an average of 500GB per month, so you could say that we have another 500GB per month that we would get "for free" if we just utilized it, and indeed, many low volume chain processors will do just that.
Still, to put something approaching a realistic number on the cost of bandwidth when it is provided to high volume transaction processors, we can start with $76 per TB. I have seen similar numbers for cloud service providers, with a 2x premium for some common hosting plans. When a transaction is processed, we might assume that the exchange is negotiated between the primary contact processor 7x before execution, and communication to 9 other processing nodes might require 2x communication of the transaction data, for a total of 25x communication for each transaction recorded. But wait, there's more. To establish and maintain value blockchain records will be subject to independent audit. How much independent auditing is hard to guess, but over a seven year lifetime a transaction might be read another 25x from the various processors by auditors*Some amount of auditing is required to establish trust and value in a blockchain, but SPAM audit requests can quickly become excessive. If the auditors are deriving value from their research, they can pay for their bandwidth and transaction lookup processing themselves - effectively a wash for the blockchain operators and users, or potentially a profit center.
. So, now, each transaction recorded on a blockchain might need to be communicated 50x among various nodes. 50x 10kB is 500kB of bandwidth per transaction, at a cost of 0.0038 cents per transaction - coincidentally identical to the estimated server processing costs.
Hosting space
Hosting space will undoubtedly be borne at zero marginal cost by most hobbyists, but the fact remains, server hardware does occupy some part of their dwelling space, and the dwelling space costs money to rent or purchase and maintain. Some of the premiums charged by cloud*This whole analysis deserves to be re-performed using cloud service provider costs as a comparison, but perhaps only after prototype software can be exercised on the servers for more realistic cost estimates.
service providers goes toward maintenance of their physical facilities. Climate controlled industrial space rents at rates of $10 to $20 per square foot per year, and while the servers themselves take minimal space, a considerable amount of space must be provisioned around the servers for access. If we assume that a square foot of space can support 250 transactions per minute (2.5x the rate for a single PC assumed above), at a rental rate of $15/sf/year, that's 0.00114 cents per transaction.
Electricity
If a server, serving 100 transaction per minute on average, draws 60 watts*Consider that the power drawn is not just that drawn by the processor, but also the networking equipment and the HVAC keeping all this equipment happy.
on average, that's 6000 transactions per 60 watt hours, or 100 transactions per watt hour. At a cost of 14 cents per kilowatt watt hour, that's 0.014 cents per transaction on a single server. With 10 servers hosting a chain, that comes to 0.14 cents per transaction. While low power processing equipment is a good start, the more important factor is going to be keeping that processing equipment optimally loaded, so it is performing the most transactions per watt. Cooperating servers may be most advantageously located in areas where electricity and network connectivity are cheap, and the use of renewable energy may also build customer goodwill. A system in which servers serve more chains than chains use multiple servers will increase efficiency*Not to mention: sharing the capital equipment costs, which are probably the biggest barrier to entry for most people who might get involved in their own blockchain operation.
, up to the point at which the servers become fully loaded.
Some summary
Using all the above assumptions: 100 transactions per minute on a server, $1000 with 5 year service life for a server, 10 cooperating servers per chain, 7 years expiration time on stored records, 10kB per transaction record, $100/TB w/ 5 year service life for storage, $76 per TB data communication fees, $15/square foot/year hosting space rent, $0.14/kWh electricity costs... the rough total cost per transaction is 0.15 cents, or ~650 transactions per dollar. Of course, this is a rough estimate which can be off by at least a factor of 10 compared to an optimized service delivery model, and can be many orders of magnitude low for a mismanaged case.
An extreme bad example, where one chain is served by 10 dedicated servers drawing a total of 600 watts, but only processing one transaction per month, would result in a cost of approximately $60 per transaction*For some high value business record transactions, for instance in supply chain management, $60 per transaction might be a tremendously good value. Most applications can, and should, do better.
just for the electricity, not quite as expensive as Bitcoin or Ethereum, but not good either. A more typical "shared chain hosting agreement" might ask for a fixed rate of $1 per month (or $10 per year) per chain per server - covering the first 500 transactions per month, with additional transactaions charged at $0.002 each, per server. A chain operator who just buys service from 10 providers would be paying $100 per year for their first 5,000 transactions. If they chose, instead, to make a ~$1000 capital investment and go into shared hosting for their own chain plus ~50 others*Note that 50 chains, processing 500 transactions per month, only comes up to 0.6 transactions per minute. If a server can attract 8000 customers transacting an average of 500 transactions per month, that would put them closer to 100 transactions per minute. Managing 8000 relationships is definitely work, but it would be work that pays a profit of several thousand dollars per month.
, they should be breaking even*Again: assuming a 5 year service life on their capital equipment, plus the added assumption that the other chains mostly operate below the 5000 transactions per year threshold.
with income balancing expenses*That's $500 per year income, $90 per year outflow to other hosting providers for service of the locally managed blockchain. ~$200 per year goes to capital equipment and ~$210 to data charges, electricity, hosting space, etc.
per year. Compared with managing 50 relationships, I am guessing most "blockchain explorers" will opt to pay $10 per year to 10 other providers, particularly if they can do it automatically via shares of their blockchain*The chunky upfront payment monthly or annual billing model is one that providers and subscribers would be familiar with. A better "fit" for blockchain hosting agreements could be where the host accepts a new subscriber for free or a nominal "signup fee," and each transaction recorded gives each recording host $0.002 on the transaction. The hosts are then free to "cash in" accumulated shares in their subscriber chains whenever they feel the need.
.
0.2 cents per transaction, all in, is a highly efficient starting point for a value exchange service. Due to the highly attractive perception of "free," most blockchain operators will probably find that offering their value adding trading partners "free transactions"*or even offering some kind of "cash back" incentive per trade
will drive the value of their currency higher overall than the transaction costs they are absorbing.
Trading partners can "square up" using accepted rates of exchange for the chain-shares they are processing, and particular activities like auditing and research data retrieival can be charged out in accordance with their true impacts on operations.
Hobby Startups
All of the above analysis assumes operation of an at least semi-serious cryptocurrency, with the 10x redundant-diverse servers etc. Of course, people just trying out the technology can get started with a Docker CE container, or similar, and host their chain on their existing PC using their existing network connection, maybe opening a port in their home router firewall, and they're good to go. If their currency starts seeing any serious use, they should have a plan to ramp up their hosting partners*either using trusted friends, or open market providers with established reliable reputations, or more likely a mix of both.
- this could be developed into a nearly automated process, only requiring the operator to approve credit sharing with hosts*In effect, the chain onwer/managers would be giving temporary proxy control of some of their shares to the cooperating hosts to allow them to satisfy proof of share approvals. If a cooperating host "flakes out" in any way, they can be replaced as soon as the proxy assigned shares revert to the owner's control.
who are willing to accept their chain shares as payment for services, or if they prefer, simple cash for services providers.