Distributed Computing In Blockchain

By Oscar Hjelde, KCL Blockchain

There is no question thatBlockchain is going to contribute to shaping the future of technology. As the emerging technology grows older the space is slowly learning what it can and, maybe more importantly, cannot be used for. One of the most promising fields within Blockchain is the use of the technology for distributed computing. With platforms such as Ethereum, TRON and EOS experiencing more usage we look at how they work and what the current market looks like.

What is distributed computing?

Distributed computing is equivalent to a virtual machines running on a network rather than just one computer. Normally a virtual machine only runs on one computer using its operating system. It runs on a virtual CPU (or vCPU) which in essence means that it uses part of the CPU of the computer to run on.

When a network runs a virtual machine it means that it runs on every single node of the network. Every node in the network allocates all, or part of their resources to the virtual machine. These resources include network bandwidth, storage and most importantly processing power.

When Blockchain platforms use distributed computing they use peer-to-peer networks. As a result of this every single node in the network is both a client and a server as opposed to the traditional client-server model, where one centralized node is the server. This means that there is no single point of failure and if one node goes down it does not affect the overall performance of the virtual machine. However, this also implies that the virtual machine is more prone to remote exploits. Due to the virtual machine being distributed everybody has access to it. It is also harder to resolve bugs in the system. As a result of these two factors anybody can exploit bugs in the system, without much resistance. This was the reason behind the famous DAO hack in June of 2016. Luckily the space has grown a lot since then and today we have several promising platforms.

Distributed computing in Blockchain – status quo

The most well-known platform in distributed computing is Ethereum, and the EVM (Ethereum Virtual Machine). Ethereum runs smart contracts using the programming language Solidity. In many ways Ethereum is also the biggest plat-form, having the majority of dApps (decentralized applications) on State of the Dapps. However, other platforms, such as NEO, EOS and TRON are quickly catching up. In the end of November TRON actually passed ethereum in number of dApp users as well as number of transactions and value per transaction.

There might be a couple of reasons for this. First of all TRON has 0 gas, meaning that it is cost free to run a piece of code on it. Even though Ethereum claims to be Turing complete, some critics claim that the fact that it has gas which limits the complexity of code disputes this. The fact that TRON has 0 gas means that it is both theoretically and practically Turing complete. In addition to this TRON has a much higher TPS (transactions per second), reaching 2000. Another possible reason why so many choose TRON over Ethereum might be due to the fact that the TVM (Tron virtual machine) is compatible to the EVM. As a result of this a developer can easily run his Solidity smart contracts on the TVM. This makes the transition from TRON to Ethereum a lot easier for the developers.

Even though TVM has passed EVM as the most promising distributed virtual machine Ethereum can’t be counted out. Ethereum is currently in the developing stages of upgrading to Ethereum 2.0, which will include several features which are sure to attract both developers and users to the platform. One of the main features is that they’re going to upgrade the EVM to eWASM (Ethereum flavoured WebAssembly). This will result in a more efficient Virtual Machine as well as providing developers the opportunity to programme in high level languages such as Python and Rust.

It is hard to predict what platforms will take over the space in the future. However, there is much to be learned from the success that both Ethereum and TRON has had lately. It is evident that developers are drawn to the efficiency of the TRON platform. At the same time it is clear that adopting traditional high-level languages such as Python and Rust will attract both Blockchain developers and developers in general to Ethereum 2.0. It is however clear that distributed computing is a section of Blockchain which is only growing.