Upgrading cryptocurrency transactions with Microservices and Event Sourcing
With cryptocurrency trading volumes rapidly increasing, BTC Direct wanted to offer an even faster and easier way to trade crypto’s so everyone would be able to join. That’s how Blox was born, with the vision of becoming the new medium to make cryptocurrencies easily and safely accessible to broader audiences. A world scale platform, bridging classic financial networks (Banks) with modern distributed transaction networks (Blockchains).
Blox is a new cryptocurrency community of curious people who want to use crypto and blockchain technology to improve financial adoption, freedom and mobility for everyone using the application. Blox strives to make it as easy as possible to be able to invest in crypto currencies such as Bitcoin and other blockchain assets.
Trifork has been their trusted technology partner on this journey of change. A journey of accessibility and inclusion, starting from the Netherlands and ready to expand into the world.
After closely monitoring the user experience on the BTC Direct platform during the 2017 Boom Cycle – meanwhile experiencing a 15x revenue growth – BTC Direct came to the conclusion that an additional step had to be taken so even our grandmothers would be able to buy bitcoin.
Users of the BTC Direct platform found to have difficulty in securely self-storing their cryptocurrencies. Therefore, a solution had to be build that focussed on making it easier for the end user. That’s how Blox was born, with the vision of becoming the new medium to make cryptocurrencies easily and safely accessible to broader audiences.
That’s when they identified the following areas of improvement for their end users:
- Technical knowledge hurdle: To be able to buy cryptocurrencies and create a digital wallet safely, customers needed a lot of technical knowledge
- Threat of loss or theft of crypto wallet: The burden was on the customer to have a means to safely store and secure their private digital key
- Lack of investment protection: Customers had to have an exchange account, most of which are not supported in Europe or protected by banking laws
As for BTC Direct, the company was spending a lot of money buying cryptocurrencies and had a high spend on trading costs. They understood that a platform to store and manage the cryptocurrencies – Bitcoin and Ethereum – of their clients was needed. A safe and accessible service to remove the barrier to entry for people who want to invest in cryptocurrencies.
The main question posed by BTC Direct and answered by Trifork was: How can we make it easier for users to get direct feedback and help during crypto trading?
A review of the BTC Direct’s existing software showed that a lot of work was done in an inefficient way. It simply wasn’t possible anymore to extend the current software stack and scale to millions of transactions per day.
Further, their current software had limited options to integrate with new cryptocurrency networks or to automatically trade on exchanges — adding another dimension to lack of scalability. In addition, having a solution that provides auditing out of the box was highly desirable. This led BTC Direct to investigate event based architectures that make for easier auditing and scalability in Java.
The fact that we – Trifork – are one of the few experts in the Netherlands in building distributed software based on the event sourcing software design pattern, was integral in getting assigned this project. Trifork provided the expertise in building event-based applications, which was invaluable as we navigated the many technical challenges together with BTC.
In order to deliver the best solution, Trifork and Blox agreed that it was important to capture every event that occurs in the application. With the upcoming regulatory framework the need for a fully auditable trading process is very much desirable and could make the difference in building strategic partnerships. To achieve this, Trifork merged the powers of event sourcing and Microservices so that the resulting application could track every transaction in milliseconds, store these transactions as events and replay them quickly on command.
On a technical level, one of the key advantages of event sourcing comes from the append-only event log. The log provides a single book of record, which allows the exact state of the application known at any time. This is particularly advantageous for trading platforms given the small amount of time – often milliseconds – between each transaction. For example: it is important to make sure that the same coin isn’t sold twice at the same time.
When selecting the technology stack, Trifork wanted something that was not only made for implementing event sourcing, but also mature and stable in the Java ecosystem. This led them to Axon Framework and the Axon Server event store. Other options for passing on events, such as Kafka, were considered. However, for this case, the ability to continually replay events to represent the current state really made Axon Server stand out as the clear choice.
Packaging the applications as containerised Microservices allowed Trifork to quickly deploy new features and scale services independently. The containerised services are deployed on a Google Kubernetes Engine, a cloud-hosted and managed version of Kubernetes. The result is a system that makes use of the self-healing features of Kubernetes and that allows for easy integration and automatic deployment using open-source continuous delivery tools.
For a solution that could take two to three years, Trifork made it happen in a single year.
By the end of the project, Trifork delivered a vault for users to securely store their crypto-coins, and from there make safe transactions. Also delivered was a trading search engine where Blox users can search for and buy different crypto assets at the best prices in every market at anytime. The Blox application includes the following:
- Instant ID verification: By snapping a picture of your identity document and a selfie
- Direct money deposit: By bank card, credit card or local payment method
- No delays as the transactions take place
Blox extends its online impact by meeting and educating people in public events starting from the Netherlands. As the crypto industry is moving at high speed, Blox is getting ready for the future. With Trifork’s contribution, Blox can become one of the few players in the crypto industry that can stay open and continue to provide deals to its customers (known as Equidity).