The world is changing, compelling companies to reframe their focus and transform their business models and processes. Industries and financial institutions must understand the new rules of success and their technological foundations.
This article explores the shortfalls of the existing financial transactions model and the potential for transformation through the use of blockchain. It also presents a step-by-step guide to developing Ethereum-based distributed applications.
Banking and financial services challenges:
- Collecting payment for goods or services or transferring money between countries or banks is time-consuming.
- In developing countries, simply opening a new bank account can take time, cost money and lead to additional workflow related to account registration and payment processing.
- Centralised banking services are dependent on centralised architecture and all services may be impacted if the architecture is compromised. For example, a central server can have a long response time, be out of order or be unavailable.
- Banks maintain large, costly libraries of application code that exist solely for providing security, consistency, and authentication services.
- Integration with banks in developing countries brings additional risks and deficit of trust.
Financial services built on blockchain technologies provide the following benefits:
- Efficiency: Banking systems must maintain a ledger, which is a complete record of financial transactions over time. With traditional solutions like relational databases, financial institutions are required to develop custom solutions and keep multiple databases in sync with each other across different institutions. A blockchain forms a network that replicates an entire ledger to participants natively; there is no need to develop custom protocols to synchronise and secure financial transactions.
- Performance: Since data is natively divided and distributed into multiple servers, it is easier and faster to retrieve information with blockchain solutions. There is no need to route requests to a central system, which may be located in a specific zone or country. Instead, blockchain requests are automatically routed to the nearest node in the network.
- Scalability: As of today, blockchain solutions can settle thousands of transactions per second (as a benchmark, the VISA payment system processes an average of 2000 transactions per second). New solutions such as the lighting network with off-chain channels will increase throughput to hundreds of thousands of transactions per second. Simply put, it will be a blockchain of blockchains. The upcoming Ethereum Plasma release will process more than 10,000 transactions per second.
- Security: Blockchain provides foundational built-in mechanisms to protect information such as immutable data records, transactions signed with private keys, and stores data across the entire network. Those attributes create a framework for building trusted and secure applications in the developing world where corruption is widespread. Blockchain-based applications address institutional weaknesses by restricting mismanaged and malicious transactions.
How to start developing blockchain-based applications in the finance sector:
Let’s look at a step-by-step example of how to develop a distributed application on a blockchain. This example is based on a Ethereum blockchain, the network with a Proof of Authority (PoA) or Proof of Stake (PoS) consensus and a distributed applications (Dapp) concept.
- Make a thoughtful choice between public and private blockchain networks before you start. An application can be developed in the existing infrastructure of a public network, like Ethereum or you could set up a private network. A public network entails transaction fees but saves the time and cost of setting up and supporting infrastructure. A private network is more costly and difficult to set up, but provides a higher security grade.
- Identify key participants in your network who are going to secure it. In this specific example, we are going to set up a private network based on PoA (proof of authority) or PoW (proof of work) consensus. With PoW consensus you have to account for additional electricity and hardware capacity and costs for transactions processing. PoA consensus is preferable in this case, as it provides a list of trusted nodes and randomly selects one of them for signing a transaction. In this case, mining will be excluded. New members will be motivated to buy internal tokens and support your infrastructure.
- Consider using Dapps and smart contracts for creating powerful financial applications. Dapp has its backend code running on a decentralised peer-to-peer network without a single point of failure. There are no web servers, and therefore no middlemen. The exchange can have a transparent decentralised implementation. Users will not be sending their funds to a central platform, but trading directly with each other. Validator nodes will provide monitoring and secure financial transactions and will generate profit from a small fee charged for trading operations.
- Implement UI application. It can be iOS or Android or Web. The UI application will be connected to the Dapp. Pay attention to security issues and private data safety. For example, the UI app must not send private keys to the network. All transactions have to be signed on the client side by the user’s private keys. For additional security protection, the application can be developed with a multi-signature addresses model, with 2 of 3 keys for instance. In this case, the keys will be located in separate storage, for example a client application and a hardware secure module (HSM). Also remember to implement a feature for saving private keys and mnemonic phrase to the paper wallet.
- How is it possible to make a profit in the new decentralised solution based on blockchain infrastructure? The current solution will include nodes for data and transaction validation. For instance, the infrastructure can be built with docker containers or AWS. A setup process can be organised with automatic deployment scripts. Validation nodes will be the tools for security validation and can collect a fee. In other words, the platform will provide an extremely fast and secure decentralised exchange platform. Profit will be realised through a fee via validation nodes. Moreover, the transaction history data can be analysed and used for market predictions and other big data processing.
Additional patterns can be integrated into the current solution. In case of decentralised trading, we could use an atomic swap pattern. The exchange logic can be specified in smart contracts and will be transparent to all participants.
The solution outlined above can be adopted and applied to different services such as payment services, donation services, transfers, integration with third-party financial systems and platforms.
Blockchain technology promises more efficient, secure and easily scalable banking transactions than the existing banking model, as the it stands to change the way the industry approaches the movement of assets and execution of contracts.
Maxim Zavgorodny, Senior Developer, DataArt
Image source: Shutterstock/MaximP