For those of us who work in financial services, blockchain is the most interesting technology trend to emerge in recent years. Evangelists of this technology expose the decentralized nature of blockchain, and use phrases like “world computer” to describe the promise of this technology. While it’s true that blockchain has revolutionary potential, it’s important at this stage of the adoption cycle to investigate valuable use cases that will drive broader adoption.
Some of the more interesting use cases to date are cryptocurrencies and smart contracts. Let’s look at these early use cases with a view to understanding how Mule and Anypoint Platform can help accelerate the development of your blockchain applications.
We can think of the blockchain as a database or distributed ledger. From that perspective, an Anypoint connector is an extremely useful tool that enables your existing applications to read from and write to the blockchain.
For transactions that need to operate on multiple data sources, one may need to access multiple blockchains; Mule flows further the rapid development of the required choreography and transactional logic in order to execute these processes. You also might need to move data between blockchains. Swap Bitcoin for Ether? No problem, get Mule batch to rapidly provide a sophisticated suite of integration services. There will also be a need to extract blockchain data to analytics and machine learning applications both in batch and real-time. These are traditional integration patterns handled out-of-the-box by Mule; they can be applied equally with a blockchain as the data substrate.
A related topic is on-blockchain code execution, also known as smart contracts. Protocols like Ethereum have evolved to support feature-rich programming languages. These languages allow the development of smart contracts on the blockchain. Notwithstanding the sophistication of these languages and the richness of the derived contacts, there is a high price to pay to execute this code on-chain. These costs include protocol transaction costs, or ‘gas’ in the case of Ethereum.
There is also risk associated with building complex transaction logic on the blockchain. Such logic can be rigid and difficult to change. A best practice in smart contract design is to minimize the amount of on-chain code and to limit external calls from this code. Mule flows provide a flexible container for this logic, thus reducing the complexity of on-chain code.
In cryptocurrency applications, a blockchain and its ecosystem (miners and developers) are often decentralized. While decentralization has a number of advantages, it does bring into question issues of ownership and governance. Although many believe decentralized governance will overcome the evils of centralized command and control structures, when it comes to matters of money, interest groups will arise. Ethereum’s DOE hard-fork is an example of where distributed system governance that can lead to divergent and incompatible technologies. Financial markets require a level of trust and certainty which are still maturing in cryptocurrency markets.
Given this backdrop, many organizations will implement blockchain in ecosystems they control and with partners they trust. This creates the need to fulfill important functions, such as a transaction validation that has traditionally been performed by the “community.” While blockchain protocols will evolve to better support these private ecosystems services, middleware products like Anypoint Platform will be a key platform to implement these services.
And then, of course, there’s security. From a security perspective, blockchain allows notions of transparency and anonymity that are not typically associated with financial applications. Instead of trying to wall off and secure everything, the blockchain hides nothing but identity. In its raw form, it leaves that last mile of identity unsolved. Anypoint Platform has a strong role to play in binding identity and registry services together to deliver the security framework required to deliver end-to-end blockchain solutions.
Even at this early stage of the market, it’s clear that blockchain-based applications have the potential to provide increased transparency and reliability to multi-party transactions. As blockchain becomes increasingly prevalent in enterprise ecosystems it will form a key component of your application network in the same way traditional data sources like databases and file systems are today. As discussed above, transactional integrity, application logic, system governance, and security are key areas that Mule and Anypoint Platform can address to help speed the delivery of these blockchain applications.
So what are you waiting for? Plug your blockchain into your application network today. And check out this great tutorial on how to get started.