ABACAS Founder Interview Series Part 2.
Welcome back to our interview series with the ABACAS founders. Today I’m talking with Vince Small the Co-Founder, Principal & Head of Technology of Abacas. For this second interview, we will take a look at the technical questions which came from our community and investors.
Let’s right jump into it.
Hello, Vince, I’m glad to have the task to interview you for the first time. Please give our readers a short overview of what your passion it is with Abacas and how you would describe your position(s) in the company?
Thanks for putting together the questions Robert.
Mark Vanroon and I are the founders of the Abacas Exchange. My focus is primarily on design, technology and the build of the Abacas Exchange, while Mark is focused on the product, community and business partners.
Previously, I was co-owner of Financial Software Systems where I built trading and trade processing systems for global financial institutions (JP Morgan Chase, Barclays, Standard Chartered, etc.)
The exciting aspect of the Abacas Exchange is that we will create liquidity and trading of assets previously not available on traditional trading venues (Nasdaq, NYSE, FTSE, etc.).
I like to think of the Abacas Exchange as creating an equivalent to Spotify for music.
Before streaming music, the major record labels controlled who and what type of music was published. Now musicians can create content and make it available to anyone anywhere and at any time through Spotify, thus circumventing the controlling record labels of the music industry.
The Abacas Exchange enables any asset to be placed into custody, represented as an Abacas digital asset token, and to be exchanged anywhere globally, and at any time of the day, thus circumventing the barriers to entry of a traditional exchange.
I have prepared several questions which, will shed some light on the interesting technical side of Abacas. Let’s start with the first one which comes from one of our community members.
„With blockchain technology moving so quickly will Abacas be able to run on blockchain 3.0 which incorporates the DAG structure?“
The Abacas Exchange currently utilises an Ethereum ERC20 Smart Contract (Token) to represent each Abacas digital asset token.
Beyond the digital asset token, there are many areas of the Abacas Exchange where blockchain technology could be utilised including AML/KYC (Anti Money Laundering / Know Your Client) checks, messaging and micro-payments.
Using a Directed Acyclic Graph (DAG) is evolving technology that may solve problems of latency and cost with traditional blockchains.
The Abacas Exchange will most definitely utilise these new technologies assuming they are state of the art concerning security, latency, cost and ubiquity.
With your massive experience in the field, you might smile about the second question, but we will give every single one attention because we at Abacas care about what our community likes to know. So here it is:
„Will the Abacas exchange be able to interact with smart contracts?“
The Abacas Exchange currently utilises ERC20 Token Smart Contracts to manage each Abacas digital asset token of the exchange; thus the exchange already interacts with smart contracts.
Additionally, there are many uses for blockchains beyond the simple transfer of value.
The Abacas Exchange is developing solutions using smart contracts for message transfer between business partners, as well as for traditional requirements such as AML/KYC.
Blockchain and smart contracts are at the core of the Abacas Exchange system.
We will get more into the depths of blockchain technology with the next one, and I’m interested in this one specifically.
„What would you say is the difference between the Ethereum ERC 721 token and an ABCS non-fungible token?“
The Abacas Exchange exists to provide a medium for the exchange of marketable assets (base assets) that can be placed into custody and represented via an Abacas digital asset token. An example of a base asset is Apple Computer shares.
An Abacas digital asset token is created whenever a custodial account is created for a base asset. The digital asset token is represented by a unique symbol within the exchange (Example: @AAPL for Apple Computer shares), and an Ethereum ERC20 smart contract is created with that symbol and an initial balance of zero.
The Ethereum ERC20 token contract is a publicly visible record of the balance and ownership of the Abacas digital asset token which represents base assets held in custody.
Each Abacas digital asset token is also assigned a trust that oversees the token balance in the ERC20 smart contract and the corresponding base asset balance in the custodial account (3rd Party oversight and validation).
The ERC721 smart contract specification which was created for Cryptokitties is useful in representing any non-fungible (One of a Kind) asset in a token smart contract.
Currently, the Abacas Exchange is focused on the exchange of fungible assets, but as we expand the scope of the exchange into non-fungible assets, it is likely that we will utilise the ERC721 smart contract specification to represent the publicly visible balance and ownership of Abacas digital asset tokens for non-fungible base assets.
That is a long winded answer to say that the ERC721 token standard would be a component (a small piece) of the Abacas digital asset token for non-fungible assets.
So we will stay in this area with the next interesting question:
„What programming language do you use and why did you choose this language?“
Angular is state of the art in application development for web browsers, and Angular is built using the Typescript language. These two technologies are an open source collaboration of Google (Angular) and Microsoft (Typescript).
Hosting / Scaling :
The Abacas Exchange is hosted in the Microsoft Azure cloud. The Azure cloud is relatively new relative to the Amazon AWS cloud but provides excellent services to the Abacas development team that is most familiar with Microsoft technologies.
Within the Microsoft Azure cloud, service applications are deployed in what is called micro-services. These micro-services provide for scaling and resilience both within a geographical region and globally. The microservices framework within the Azure cloud is called the service fabric.
The core services of the exchange include the Rate, Order, Liquidity, Position, Workflow, and Reporting services. All core services of the Abacas Exchange are developed using the C# language (almost identical to Java) developed on the Microsoft .NET Core Version 2.1 framework.
All services of the Abacas Exchange are built using Open Source solutions including C#, .NET Core 2.1, Service Fabric and the Angular web framework.
Now we will come to a more personal question, which will give the reader a little inside view on you as a developer. This one is my favourite one of all the questions of this interview.
„What is, in your opinion, the hardest task for ABACAS from a programming perspective?“
There are three aspects (hurdles) to the development of the Abacas Exchange that makes this a challenging endeavour.
The first hurdle is the sheer size of the project. The Abacas Exchange is taking on the task of providing portfolio management for investors, the order management and execution of an exchange, and the workflow and processing activities of a securities back office at a bank.
The second hurdle is the ever-changing technologies. As an example, the Angular web framework was at version 2.0 in October 2016 and is now at version 6.0 in September 2018. Another example is the rapid evolution of blockchain technologies including new smart contract standards, as well as new blockchain architectures.
As far as the most challenging software development task, that is most likely the liquidity engine of the exchange. A traditional exchange requires each asset to be traded against a single fiat currency (Apple shares for USD). The Abacas Exchange, however, promotes the direct exchange of assets; thus an investor can go from Google shares to Apple shares without ever buying or selling USD.
Direct asset trading has many benefits including lower spreads and the ability to exchange assets priced against different foreign currencies, but it also reduces liquidity within the exchange as trading is distributed over a broad range of asset pairs.
To counter this, the liquidity engine links order pairs to form a liquidity chain from one asset to another. This technology utilises both graph theory (Directed Acyclic Graphs) as well as Machine Learning to achieve the desired exchange performance.
We are now moving from this exciting perspective to one of the most ask questions because as a project Abacas goes a different way in comparison to most other blockchain projects.
„What part of the entire exchange is decentralised on the blockchain, what parts are in the cloud and what parts (if any) are centralised? Why did you choose this approach?“
The entire exchange is hosted in the Microsoft Azure cloud, and because the services are running as micro-services, they are geographically distributable, resilient and scalable.
At the moment, the Abacas digital asset tokens are recorded on the Ethereum blockchain using ERC20 Tokens; thus the Abacas Exchange ledger is wholly distributed on the Ethereum blockchain.
Additionally, Abacas Development is working on blockchains to implement distributed messaging between the exchange and business partners.
Business partners are also working on blockchain technologies for various services including AML/KYC and asset conveyance.
The core services of the exchange are centralised (Rate, Order Management, Liquidity, Positions, Workflow, etc.) as blockchains are either inappropriate for the service, or latency and costs are prohibitive to utilise blockchains.
Fantastic Vince. We already reached our final question an I will close this first interview with you, with the second question regarding fungible token. However, before I let you go back to your Abacas duties, I want to thank you in the name of our readers for the look behind the curtain of the ABACASXCHANGE.
„Is there a dispute mechanism for people selling non-fungible tokens? Example if a non-fungible item is shipped to the receiver, but customer claims it was never received?“
All base assets which are tokenised within the exchange are held in custody, and thus the deposit and withdrawal of the base asset would be through a custodian.
The custodian is responsible for verifying the existence, authenticity, provenance and conveyance of the asset on an account, and is most likely insured in the event they fail any of these responsibilities.
The Abacas Exchange enforces both asset identification and documentation with the custodian through the Abacas Protocol.
The point is that assets traded on the exchange do not go directly from shipper to buyer like a product on Amazon.
Nonetheless, there is the possibility that issues arise in both fungible and non-fungible assets. Each asset will have specific resolution procedures in the event the identity, authenticity, provenance or conveyance are in question.
Let’s assume that a specific diamond is placed into custody, and tokenised. The documentation would include the certificate of authenticity and verification of the cut, carat, colour and clarity. Typically, the diamonds are etched with a serial number.
If that specific diamond (which is non-fungible) were withdrawn from the exchange, then the custodian would be required to transfer (ship) the diamond to the investor per standard channels. There would undoubtedly be insurance if the diamond received is not as described in the documentation, and there would be insurance in the event the diamond was never received.
Beyond this, however, there would be documented conflict resolution within the exchange for this class of non-fungible assets and possibly even specific resolution language for this particular diamond.
Next time I will be back with Mark, and we will dive deeper into Abacas development and evolution into the most complex and unique Exchange in the financial markets.
Abacas Ambassador Content Writer