What Is Distributed Computing? Examining Blockchain’s Backbone
Distributed computing is one of the fundamental computing principles that drives blockchain. But what exactly is distributed computing? Many people now have a basic understanding of a blockchain as a network of computers verifying transactions. However, for anyone interested in digging a little deeper, wondering how key encryption works, or finding out about distributed computing can lead to a better understanding of blockchain technology. Understanding how the technology works isn’t just for the scientifically curious. It can also help you make more informed investment decisions by focusing on projects with a solid technological basis.
This article is in two parts. The first covers what distributed computing is, how it’s used, and the pros and cons. In the second part, we look further at the different architectures of distributed systems and deep-dive into the peer-to-peer architecture of blockchain.
So what is distributed computing? And why do blockchains make use of it to drive entire markets of cryptocurrencies like bitcoin?
What Is Distributed Computing?
At the simplest level, distributed computing is merely a network of computers working together as one system. The machines can be located in close proximity to one another and connected physically as part of a local network. Other networks such as blockchains use geographically dispersed computers.
Distributed computing has been around for far longer than blockchain itself. As the use of computers in universities and research labs grew during the 1960s, the need arose for computers to start talking to one another, sharing hardware like storage and printers. The 1970s saw the establishment of the first local area networks. The first distributed computing systems were local area networks such as Ethernet, a family of networking technologies developed by Xerox. Now they are everywhere. Each time you join a new Wifi connection, you’re entering a new computer network.
Computers in distributed networks don’t need to be in any specific format or hardware configuration. They could be laptops or mainframes, PCs or Macs. In blockchains, they may be PCs running a CPU or GPU, or dedicated hardware like an ASIC miner.
However, regardless of the type of machine on the network, they must all work as a single computer. The end user should be unable to identify that there is a distributed computing network behind the interface.
Why Use Distributed Computing?
To illustrate the basics of what distributed computing is, think about a company that owns and runs a web application, let’s say a job board site. As the application gains more and more users, both candidates and recruiters, the company needs more and more computing resources to continue running the site.
At the start, the company can upgrade its server infrastructure to accommodate new users, adding more memory and bandwidth. We call this type of expansion vertical scaling. However, at a critical level, this becomes impractical both physically and economically.
At this critical point, distributed computing provides a solution, in the form of horizontal scaling. Rather than upgrading the existing computer infrastructure, the company adds more computers to the system to accommodate the increased workload.
In our job board site example, the company knows that most of the traffic is people browsing the job boards. So it can add a slave server to take the weight of the browsing activity. The slave server receives information from a master server, which updates the database with new candidate and job records.
A blockchain is a peer-to-peer network, which is a different kind of distributed system than illustrated in this example. We’ll dive into the different types of distributed systems in part two, covering distributed computing architectures.
Pros of Distributed Computing
When answering the question, “What is distributed computing,” it’s also relevant to look at the pros and cons. When we look at these pros and cons, consider that distributed computing is more than just blockchain. A company implementing a distributed computing system may have issues that don’t affect public blockchains and vice versa.
Fault Tolerance and Redundancy
One of the most significant advantages of distributed computing is that it doesn’t matter if one or more machines on the network go down because the rest can pick up the slack. This means that a network can be always on. This enables 24/7 trading in crypto, however, in a blockchain context it also has other advantages. For example, companies like Walmart that use blockchain in their supply chain systems, experience no downtime. This is a massive bonus for a global supply chain operation.
Cost Effectiveness and Overall Efficiency
Distributed systems offer better efficiencies regarding both cost and overall efficiency compared to centralized systems. Centralized systems are efficient up to a point. However, our job board example shows that once computing needs reach a certain size, it makes more sense to scale horizontally than vertically. Adding more machines to a network is more efficient both technologically and economically.
Concerning pure computing power, distributed computing offers easier scalability than centralized computing. It’s relatively easy to add more machines to gain more computing power and reduce them when power needs are lower.
However, blockchain has different scalability issues. In a blockchain, the number of transactions processed in a fixed period limits transaction speed. Therefore, the scalability issue is one of transaction speed. This scalability limitation is due to the need for the nodes in a blockchain to reach consensus on the transactions taking place. Therefore, while distributed computing itself offers a high degree of scalability, the game theory element of blockchain is generally what hampers scalability on transaction speeds.
Cons of Distributed Computing
Distributed computing offers many benefits. However, it does also come with some drawbacks.
Distributed systems are more complex and difficult to troubleshoot than a centralized system. In a blockchain context, managing the community of developers, node operators and investors can be challenging without any centralized entity in control. Therefore, a large part of the complexity in running a blockchain comes from the need for decentralized governance at scale.
Companies implementing distributed systems need to ensure the security of each device on the network, as well as assure consistency of data between different machines.
Blockchain gets around this using consensus protocols, which ensure that the entire network agrees on a single source of truth. The consensus protocol also helps to protect against malicious actors. As long as 51 percent of the network is acting in the interests of the group, the network remains secure. This becomes a challenge if mining pools aggregate sufficient hashing power to launch a 51 percent attack. This risk is why so many in the blockchain community push for full decentralization, railing against companies like Bitmain, which dominate the mining of major cryptos.
An organization implementing a distributed computing system will incur a higher initial setup cost than a centralized system. This is simply because distributed systems need more hardware.
In blockchain, the costs hit in a slightly different way. In a decentralized blockchain, the project needs to establish an initial base of node operators running the blockchain software on their machines. Although a blockchain project isn’t buying those machines, they do need to attract the node operators into running their blockchain software over the software of other projects. For this reason, many ICOs put aside a portion of the initial funds raised for marketing and promotional purposes, part of which is around building a user base of node operators to run the network.
This article has covered all the main points to answer the question what is distributed computing. We’ve also looked at the pros and cons of distributed computing in the context of blockchain. The next part of this article focuses on the peer to peer distributed computing architecture of blockchain, and how it works by comparison to other distributed computing architectures.
Featured image courtesy of Pixabay
Cargo is an all-in-one platform to create, manage, and sell digital collectibles. Because of the interoperability that…
Cargo is an all-in-one platform to create, manage, and sell digital collectibles. Because of the interoperability that Ethereum provides, users can manage all of their compatible digital collectibles on Cargo– not just the ones created on Cargo. Launched in July 2020, Cargo represented several years of Founder Sean Papanikolas’ research and experimentation within the Ethereum…
ABOUT THE AUTHOR
ABOUT THE AUTHOR
Sarah ran away from a corporate job so she could travel the world. After doing that, she found herself a much-loved new career as a freelance blockchain technology writer. She’s authored and ghostwritten more than 250 pieces on blockchain and cryptocurrencies. In addition to writing and researching, she also runs her own websites – find out more at sarahrothrie.com. You can usually locate her somewhere near the food.