Barriers to Mass Adoption

This is an article about using bitcoin for real life transactions, buying and selling physical goods and services. We first cover how bitcoin works when you make a transaction, and some of the unique things about transacting with bitcoin. Then we cover the advantages and disadvantages of using bitcoin, and outline what needs to be changed about it to improve in the future, and reach wider adoption.

Bitcoin is a digital asset, like gold, rather than a digital currency. For more information on this distinction, and how it evolved, please see our Introduction to Decentralization parts I and II on this blog. Most people simply use bitcoin for speculation; they buy it and hope the price will go up, and hope to sell it at the peak of a price. More often, people feverishly buy bitcoin when the price is on a steep surge, and panic sell at the first drop. Debating the ethics and usefulness of this phenomenon is entirely other topic, so today we will be focusing on the direct use and utility of bitcoin as a method of exchange of value, in trades such as purchasing physical goods and services.

When two people want to engage in commerce (let’s take for example, e-commerce, with normal fiat currency) they need to both trust each other first. The risk on the seller is that the buyer will promise payment and then fail to make payment, or make payment and somehow reverse it. The risk on the buyer is that they will make payment and the seller simply will not send the promised goods, or will send something other than what was agreed. This problem is mostly one-sided in the real world, because, when a seller has transacted for a long time with many other buyers, they have an established trust and reputation, so the buyer’s risk is significantly reduced. Lots of mechanisms exist to facilitate this: eBay‘s feedback system, or Amazon‘s star-rating system. Less well known about, and less well understood is the mechanism to reduce the risk to the seller. Sellers are at risk, because the buyers could use a stolen credit card (for example), meaning that the seller not only loses the money (after it’s refunded), but they also lose the goods.

Bitcoin is irreversible, which means that once you send a payment, you can’t get it back. There is no such thing as a charge back in bitcoin; once you send a payment, it’s final. This used to be a big issue for the seller, because, if a buyer uses a stolen credit card, and the seller is forced to refund the money, then the seller is out that money. But with bitcoin, it’s not a risk. That said, this creates another problem for the seller, because now they really need to put a lot of effort into proving or convincing everyone that they are in fact trustworthy, and won’t just run off with the irretrievable bitcoin, and not provide the goods or service. That scenario can be a big issue for the buyer, because, if they send the money by accident (perhaps due to a software bug), then they cannot retrieve the funds, as they are broadcast to the network and beyond.

Real example
Let’s now look at how a real world transaction occurs using bitcoin. Let’s take a real concrete example. Suppose you want to buy some physical item, say, a foot and calf massager, from a seller. You go to their website and they only accept bitcoin as a payment method. You happen to have bitcoin, and really want a massage, so you conclude that you wish to purchase the item, entering your shipping details and seeing the total price, in bitcoin. Next, the seller provides their public address (publishing it safely on their website), for everyone to see. Because it’s only the public address, no-one can take the seller’s bitcoin, it’s completely impossible for anyone to steal the seller’s bitcoin with just the public address. Next, you open your bitcoin wallet and transfer the correct amount of bitcoin to the seller’s public address. This is the only time you will see the seller’s public address, as it’s a one-use address. Nor will the seller ever see your private address. All transactions are one way, meaning that seller never needs to worry about the other party not fulfilling their end of the bargain. Once the seller has the bitcoin, it is irreversible. The seller does not need to worry about being scammed, or having to initiate a dispute with some arbitrary court, or anything like that. Because of this, the seller doesn’t need to worry about the reputation of the buyer.

When you pay with a credit card, the transaction is processed nearly instantly. This is because there is a big company (either Visa or MasterCard, usually), who is being paid to run all those servers and make them fast and responsive, and makes sure that they never go down. They of course get paid by the merchant who is accepting the payment, but sometimes the merchant passes that fee onto the customer. So, you trust the credit card company with you money, and you also have to pay for the speed. However, with bitcoin you don’t have to trust anyone, but the downside is the speed. Bitcoin transactions can take 20 minutes to go through, which is a long time to wait if you are ordering food. It’s not necessarily a bad thing for online sellers, because it’s only a few minutes for the seller, they aren’t waiting around, but it’s a really long time for the buyer to wait for the satisfaction of knowing that their item is on the way. The delay is also a big problem for brick and mortar, physical merchants, because they don’t have the option to wait 20 minutes to be sure that payment is confirmed, they need to immediately start cooking the food (for example). This can be a hassle. In fact, if a merchant waited 20 minutes to ship, then they would probably lose all their business, because all their competition would have already provided the goods by that time, and the customer would already be waiting for their confirmation.

In summary, two problems need to be solved for bitcoin to reach mass adoption. The first problem is that we need a way to trust sellers (or anyone who accepts bitcoin), and secondly we need the bitcoin transaction to occur rapidly, and not take 20 minutes. Hopefully, these things will emerge in the future and we can all reap the benefits of bitcoin.

Difficulty and Hashing on the Blockchain

What is Bitcoin Mining Difficulty?

Difficulty is an inherent property of a blockchain network. It is used to measure how hard it is to find a hash that will meet the current target. The network will adjust the difficulty so that a hash is found every 10 minutes. The difficulty of the network can be measured in hashes per second.

If the hash is not found, it will be decreased by the network and the process will continue. The difficulty of the network is adjusted every 2016 blocks.

The difficulty is an important aspect of the network because it determines how much power is required to mine a block. If the difficulty is high, it takes longer to find a hash that meets the target (in order to be accepted). If the difficulty is is low, then it's easier to find the hash that will win the block.

Some people argue that all this hashing is simply using burning up electricity, and generating heat, in an already warming climate. I can understand that the concern is about "real physical harm" being caused for "imaginary money benefit", but this argument also applies to paper money, which is also imaginary, in a sense. Billions of dollars are printed onto fabric, and swimming pools full of special expensive inks are sloshed onto bills. All of that shipping and printing machinery and lighting also requires electricity. However, because absolutely everyone has (at least a few times in their life) used cash, and so as a result, to most people, it seems like a "necessary" cost, compared to the relatively smaller environmental cost of mining bitcoin. Further to this, miners actually greatly prefer renewable sources of electricity such as solar or geothermal, because they don't have to pay for it: It makes business sense as well as environmental sense.

The benefits to society already are substantial. It takes a lot of power to run the entire financial system. Mining is a way to "outsource" that to a decentralized system, distributing the load, rather than having it all in a few locations.

What is a Hash?

There are a few different ways to compute a hash. The most common is to use the SHA256 hash function. This is a cryptographic hash function that produces a 256-bit hash. SHA256 is designed to be feasibly impossible to reverse. That means it is very hard to find two inputs that hash to the same output.

In this case, the input is the block data, and the output is the hash. A hash will always be the same length, which is usually smaller than the data it is hashing. If the block data was several megabytes, then the hash will be smaller, simply the same length every time. The block hash is a representation of the data in the block.

The block hash is not the same as the transaction hash. A block can contain multiple transactions, but a transaction will only have one hash.

If you are wondering why the hash must be smaller than the data, think about how a hash is made. A hash function is a one-way function that takes an input and returns an output. Data is not returned as part of the output, so information must be lost. In essence, the hash function is like a super-secure checksum. It can be used to detect errors in data. If you start with a certain amount of data, and change it to other data, the hash will change. Blockchain relies on this fact to keep everything secure.

If we are given the block data and want to determine the hash, we would feed the data into the hash function and get back a unique string of 256 bits. This is called hashing the data. We then compare this hash to the target. If the hash is less than the target, we have found a valid block hash.

The target is just a random number that is stored on the network. It is set when the network starts. Every time a new block is mined, the target is increased to ensure that a block is found every 10 minutes. The network can adjust the difficulty of the hash via the target.

In Bitcoin's case, the target is a 256-bit number. It is an extremely large number that requires a lot of power to calculate. The more power you have, the higher the chance you have of finding the hash.

Bitcoin Mining Hardware

The main hardware used in mining is the application-specific integrated circuit (ASIC) which is a piece of hardware designed for Bitcoin mining. The ASIC is designed specifically to do the hashing required for Bitcoin mining. A normal computer is not powerful enough (in this narrow domain) to compete with an ASIC. However, an ASIC cannot perform even the most basic functions that a normal computer can perform.

ASICs are extremely powerful and efficient at the task they are designed for, only. They are very expensive, and can cost thousands of dollars. A normal computer system is not able to compete with ASICs because it will take a very long time to find the hash, even with free electricity. In the early days of bitcoin mining, moving from a normal computer to an ASIC was like putting on a weight lifting belt. You just feel so much more powerful.

ASICs have a lot of hash power. Currently, the best ASIC miners are able to mine about 5 TH/s. That is 5 trillion hashes per second. The Bitcoin network is designed to generate 1 block every 10 minutes, so that means the network is over 500 trillion hashes per second.

The advantage to having so much power is that you are very likely to find the hash first. Then you will be able to add the block to the block chain before anyone else does. You will get the reward for finding the block.

What is the Block Reward?

When a block is found, a fixed amount of bitcoin is created. The reward for mining is the bitcoin. The reward is given to the block's miner. The amount of bitcoin the miner is rewarded is the block reward. The block reward was huge in the early days, but decreases over time.

The block reward was 50 bitcoin when Bitcoin was first released, which seems like a huge amount of money now, but back then, it was worth nothing. The block reward is halved every 210,000 blocks. This is called "halving the block reward". This will continue until 21 million bitcoin have been mined.

Why Do We Use Proof of Work?

Proof of work is the main way that Bitcoin secures the block chain. Proof of work is the cryptographic hash function that miners use to find the hash. Proof of work ensures that a miner must do some work to find the hash. This is what secures the network.

Proof of work is very hard to calculate, but easy to verify. That means that it is easy to check if someone has done the work, but very hard to come up with the answer without actually doing the work. This is one of the few important properties pf the mathematics that make Bitcoin's proof of work so useful.

Alright, that is enough theory on the inner workings of blockchain for this article, thank you for reading!

Blockchain and Internet Privacy

Privacy on the internet is a hot topic. Blockchain, the topic of this blog, has a large part to play. But how private are transactions on the Blockchain really? On the one hand, transactions are pseudonymous in the sense that they can’t be directly traced back to an individual person or business in the same way as fiat transactions. But on the other, the blockchain itself is public and stored for eternity – what could be less private? In this post I will discuss the privacy behind bitcoin, how it can be made more secure, and some future research into blockchain security and privacy. Let’s get started!

Bitcoin is pseudonymous, not anonymous

Bitcoin and other cryptocurrencies are pseudonymous, meaning that they cannot be traced back to a specific person. However, it is sometimes possible to link transactions to real-world identities. This is a problem for two reasons. Firstly, if a person’s identity is linked to a transaction, then all their prior transactions are also linked. This means that it is possible to track a person’s digital footprint. Secondly, the pseudonymous nature opens the possibility for criminals and hackers to use cryptocurrencies for illegal activities.

In order to identify who owns a specific wallet, bitcoin addresses are sometimes traceable to IP addresses and other personal information. One way this happens is through the mining process. Bitcoin transactions are broadcast to the blockchain and stored in blocks. Each block must be confirmed by the nodes in the blockchain, in order to be added to the blockchain. In this process, the miners verify the transactions in the block. In order to do this, they need to identify the sender and receiver of the transaction. To do this, they can use a variety of methods. They can look at the IP addresses of both the sender and receiver to see where they are connected to the internet. Alternatively, they can simply ask and the receiver will tell them.

Once the miner knows the sender and receiver, they can link their bitcoin address to their real-world identity and track all their transactions. All this information is stored on the blockchain and is public. Anyone is able to access this information with a simple internet search. The blockchain is a public ledger, meaning that it is exposed to everyone.

Instead, secure the network

One way to increase your privacy on the blockchain is to use a Virtual Private Network (VPN). A VPN service is a private network that uses a public network to connect remote sites or users. For instance, a company might use a private network to connect its branches. It might use the public internet to connect remote sites to the private network. In this case, the VPN is used to provide privacy. The data is encrypted as it travels between the remote sites or users and the VPN server. This ensures that no one can see the content of the data. If the data is intercepted, it is useless to the interceptor.

A VPN can be used to send bitcoin transactions securely between two users. The transactions are encrypted and sent over the VPN, meaning that no one can see the IP addresses associated with coins being sent or received. The VPN hides the IP addresses, and transactions are not traceable. While using a VPN is a good way to stay private and safe on the blockchain, it does have some limitations. Firstly, VPNs are not free. If you are a casual user, you might not want to pay a lot of money for a VPN. They also come with a small security risk. A VPN is a shared network, so you are connecting to the internet through other users. This can increase your risk of being hacked. A VPN is a good way to increase your privacy on the blockchain, but there are other solutions as well.

Privacy on the blockchain

The future of blockchain is bright. New technologies are being developed to improve security and privacy. One of the most promising technologies is the use of zero knowledge proofs. Zero knowledge proofs are mathematical functions that allow someone to prove that they know a piece of data without releasing that data. They are commonly used in cryptography to prove that you know a secret without revealing the secret. The sender proves that they own the bitcoin they are transferring without revealing the address where the bitcoins are stored. This is done by sharing a cryptographic code with another party. The second party then uses this code to prove that the transaction is valid. However, the code does not reveal the sender’s identity.

Zero knowledge proofs are a good way to increase privacy on the blockchain. However, they are still not perfect. For starters, the process can be complicated. It can be hard for a beginner to understand. Secondly, zero knowledge proofs are very computationally intensive. In fact, the process is so intensive, that it slows down the entire transaction. This is a problem, because blockchain-based technologies are already slow enough.


The blockchain is a great way to send money. It is faster and more secure than traditional methods. However, it doesn’t provide very good anonymity for users. Bitcoin is pseudonymous, not anonymous. This means that all transactions can sometimes be linked to a real-world identity. A Virtual Private Network is a good way to increase your privacy on the blockchain. However, it does come with a risk. Zero knowledge proofs are also being developed to increase privacy. However, they are still in the early stages of development.

The future of blockchain technology is bright. New developments will only increase the security and privacy of the blockchain!

Distributed devices


This article gives a brief explanation of two topics, and their intersection: Internet Of Things, and Blockchain. We then discuss the implications of these two technologies coming together, and the societal impacts.

Internet of Things (IoT)

The Internet of Things is a network of physical devices, vehicles, home appliances, and other items embedded with electronics, software, sensors, actuators, and connectivity which enables these objects to connect and exchange data [1] Each thing is uniquely identifiable through its embedded computing system but is able to interoperate within the existing Internet infrastructure. Experts estimate that the IoT will consist of about 30 billion objects by 2020.


While readers of this blog will be intimately familiar with the topic, we will include here a very cursory and condensed summary of what the blockchain is, for those new readers. Without further ado: The blockchain is a distributed database that maintains a continuously growing list of data records that are hardened against tampering and revision. It consists of data structure “blocks”—which hold data in most blockchain implementations—and two rules: (1) that the block can contain only a certain type of information and (2) that the information in a block cannot be altered retroactively without the alteration of all subsequent blocks containing the altered block. Each block contains a timestamp and a link to a previous block.

Blockchain technology was introduced in the 2008 paper, Bitcoin: A Peer-to-Peer Electronic Cash System. The blockchain was conceptualized by an unknown person or group of people under the name of Satoshi Nakamoto. To date, no one knows the identity of the person or group. Now that we have that out of the way, let’s continue.

How blockchain and IoT come together

It is not a surprise that IoT and blockchain are coming together given the fact that both are emerging technologies at this time in history. They’re also well suited to each other, because blockchain is based on a distributed database, and IoT is based on a network of physical devices, often physically distributed around the world. Blockchain can be used to provide a tamper-proof data storage capabilities for IoT applications. Further, blockchain can also be used to manage and control devices, especially ownership of the devices, and any credits used to make use of the devices.

Blockchain technology is a good fit for IoT applications due to the following reasons: Firstly, it’s a cryptographically secure distributed system: you don’t want your toaster to start going haywire when hackers break into the toaster manufacturer’s centralized servers. These kinds of problems are less of a risk with blockchain, because it is a distributed architecture with no central point to act as a weak point, and blockchain inherently provides data integrity and authentication. That is, it is a secure system (built on cryptography), as opposed to frail and fallible human checks and balances.

Blockchain and IoT applications

It is interesting to see how IoT and blockchain are coming together. The following are some of the applications, as pointed out by us:

Supply chain management: The use of blockchain can be leveraged in managing the supply chain of IoT devices. The blockchain technology provides a tamper-proof data structure that can be used for providing a secure and efficient supply chain management. The blockchain can also be used for controlling and monitoring the supply chain assets, vehicles and packages, including location and unique items.

Smart contracts: Smart contracts can be used for transferring money to a device for a service or product provided. It can also be used for transferring data from one device to another under certain circumstances in a "trustless" environment. Smart contracts can also be used for controlling the physical operations of a device, such as opening and closing a door.

Privacy implications

The privacy of the users of IoT devices is at stake due to the following reasons:

Because all of the information on the blockchain is permanently, publically available to everyone, some privacy concerns should be considered. It is entirely possible that a careful analysis of a blockchain could reveal patterns of behavior that were not intended to be shared or made public. In one of the examples above, this approach could lead to tracking the location of the supply chain items, and inferring the amount of trade or volume that a business is undertaking. Commercial businesses are better prepared to deal with such problems, and also (mostly) have less personal information to be concerned about. However, individuals are both less aware of the risks, and have much more personal information to protect. Combine this thought with the fact that more and more intimate and personal devices are becoming internet enabled (For example, a high quality pelvic floor trainer). So, careful consideration about whether to use blockchain or standard, highly secure internet protocols, should be undertaken.


Blockchain is a new technology that has gained popularity in the last few years, and it has applications in various industries, including banking, finance, healthcare, and supply chain management. It is interesting to see how the blockchain is coming together with the IoT, and the implications of this combination, including privacy impacts. We will continue to discuss the implications of this combination as IoT and blockchain become more mainstream.