Blockchain-based technologies have moved away from just supporting cryptocurrencies. One hot area for IT Ops is smart contracts, which let you store, verify, and execute code on a blockchain. And multiple projects now under way promise to replace traditional elements of the compute stack, from processing to storage to communications, with this approach.
Blockchain technology is already having an impact on these three core building blocks of compute infrastructure:
The projects that will transform the three core elements of computing: storage, processing, and communications.
Processing, one of the first areas that blockchain disrupted, has the most mature ecosystem. In traditional computing, CPUs and graphics processing units (GPU) handle processing logic (including modern, cloud-based distributed processing), in collaboration with high-performance processing algorithms, models, and tools such as MapReduce, Spark, and TensorFlow.
Ethereum revolutionized blockchain when it allowed users to run other forms of transactions on a blockchain aside from financial transactions, and it underpins many of the other options described below.
Ethereum introduced the concept of smart contracts to the blockchain, opening up a world of opportunities. Many blockchain-based projects today use Ethereum, or something based on it, to handle logical processing and verification.
Hyperledger consists of eight tools and projects. Deciding which to use where is challenging, but you should start with Hyperledger Fabric, which provides foundations for identity, privacy, and processing, and build components on top of it. The good news is that the entire Hyperledger project is designed for enterprise users, and the tooling reflects that.
For example, Ethereum runs as either a public or private blockchain, but Hyperledger Fabric is private. It offers a choice of enterprise-friendly programming languages for smart contracts, while Ethereum uses its own JavaScript-like language. And it lets you define your own understanding of “consensus” and “currency.” That may sound contrary to the principles put forth by blockchain purists, but it’s essential for widespread adoption to occur.
For more detail on the differences between Ethereum, Hyperledger, and Corda (for the finance sector), read this Philipp Sander blog post.
Monax provides SDKs for the finance, insurance, and logistics industries. Monax came out in the same time frame as Ethereum and Hyperledger, and while it has been eclipsed by those projects, it still contributes heavily to upstream projects, and the project’s community works hard to ensure that the technology works well with others. For example, it moved the core open software to Hyperledger, and the project is a member of the Enterprise Ethereum Alliance.
Alternatives to Ethereum are emerging. Aeternity simplifies things by focusing on financial applications and removing state from the blockchain. This Reddit post digs into details.
The decentralized nature of blockchain should make it ideal for massive-scale processing systems, but its design currently limits scaling. Ambitious projects such as Golem and iEx.ec, which aspire to create decentralized supercomputers or cloud computing without vendor lock-in, are ambitious projects that are still in the early stages.
The TrueBit project is attempting to solve this problem by offloading consensus to specific computers in a network. There’s not much detail on the project’s website, but it has published a TrueBit whitepaper that details how it might work.
The computing potential of blockchain hinges on the production success of these projects, or projects like them. These communities say they are confident that this will happen in the next year.
Storage is a major area of blockchain disruption. Several offer a viable option for large-scale storage, although they suffer from some of the same blockchain issues mentioned above.
Traditional computing storage falls into two camps: file and database storage. There are myriad options in both camps, from projects for individual desktop machines to large-scale storage projects such as HDFS, S3, MongoDB, and Cassandra.
Some of the key projects under way include:
* Note: This is just a summary; there are dozens of other cash and asset projects under way.
The InterPlanetary File System (IPFS) project straddles storage and communication. One of the early applications that looked at blockchain in a new way, IPFS is fairly mature and has a developed ecosystem.
While the HTTP protocol downloads a single file from a single machine at a time, IPFS downloads pieces of a file from multiple decentralized machines simultaneously. In some ways, it’s like torrenting, but with other ideas also thrown in, such as Git. With considerations built in for convenient file naming and solid use cases, it’s a promising technology. You can find client libraries for JavaScript, Python, Swift, C++, and other languages. The project team is trying hard to make using IPFS as seamless as possible.
Swarm is an Ethereum component that works in a similar way to IPFS, but handles communication and storage of files. It doesn’t offer such a seamless way to get started, but if you are already investigating Ethereum for its other components, then read the documentation for more details.
Filecoin takes a different approach, instead offering a mechanism for tracking transactions between blocks of spare storage around data centers and the Internet. It allows you to use traditional storage, but via a blockchain layer that lets users bid for space you offer and tracks their usage of it.
BigchainDB takes one of the more interesting approaches, letting an existing database (MongoDB and RethinkDB) and a blockchain layer focus on what they are both individually good at. This gives you provable large-scale storage with a long track record, but with the accountability and transaction support that blockchain offers. The project has been in development for some time but doesn’t claim to be production-ready yet.
Because IPFS can read and write files while databases write them, it made sense that someone would think of using IPFS as a database. OrbitDB does that. This small open-source project hasn’t seen much activity in the last few months, but it’s perfect for web projects that need simple storage.
Two venerable protocols, TCP/IP and HTTP, underpin the majority of communication online, while other protocols and models work on top of those. Although blockchain won’t replace either protocol, some projects are attempting to create standards for communication between blockchain-based applications.
This is especially useful for competing organizations creating their own applications. But some members of the community feel this moves them away from the original intention of the technology and are keen to have standard methods for keeping blockchains aware of each other.
Here are the key communications protocols and projects associated with blockchain:
Released by payment solution Ripple, the Interledger protocol (ILP) aims to connect different cryptocurrencies, but not more general blockchains. It abstracts individual wallets, payment gateways, and banks, and allows developers to code connectors between them.
For broader blockchains, Cosmos aims to create an “Internet of blockchains.” That’s a big task, and the team raised $17 million in a half-hour by way of an initial coin offering (ICO).
Not much detail has emerged as to how this will work, but according to the project’s whitepaper and this blog post, the approach will be to introduce an intermediary token (an atom) that acts like a trading mechanism between tokens from other blockchains. This will happen by way of hubs (the first will be the Cosmos hub), while the atom allows for the system to fund itself. In some ways it’s like traditional exchange and translation mechanisms, where you pay the middle person for their time.
In a paper last year, Polkadot introduced the concept of parachains. While Cosmos focuses on token exchange, Polkadot’s approach focuses on the finalization of transactions. Think of it as maintaining state as you would in a distributed application.
Parachains facilitate communication between blockchains but have no power to finalize a transaction. Polkadot is in its early days, but you can get more details by reading the whitepaper or this blog post.
IPDB builds on top of BigchainDB to offer something of a “network of databases.” Recognizing that blockchain projects are becoming increasingly centralized, it wants to encourage its users to store data in a governance model where there is no single owner or caretaker. A bold statement, but again, technical implementation is yet to be defined, as is the enthusiasm of private data holders.
There are a handful of other projects that, like Ethereum, fall into more than one category. Here’s a short list of such projects.
That’s the blockchain landscape in a nutshell. Does all this mean that IT will soon be replacing and managing today’s compute, storage, and communications technologies with blockchain-based technologies? Probably not right away.
One of the biggest issues with blockchain technology, despite some community members pushing for standards and collaboration, is the number of projects competing to solve the same problems. For those technologies to become viable, each needs to focus on solving the problems that are holding the technology back from mainstream adoption.
That said, IT Ops pros would do well to watch this space carefully. Once those problems are resolved, you may find yourself considering blockchain-based options for replacing compute, storage, or communication technology in your enterprise.
This article was inspired by a slide in a presentation from blockchain visionary Trent McConaghy, one of the founders of Ascribe, BigchainDB, and the IPDB Foundation.
Originally published at techbeacon.com.