Jul 09, 2020
By: Andrea Civelli and Jake Greenstein
Last year, Algorand and the International Swaps and Derivatives Association (ISDA) began to explore new ways to use the Algorand blockchain to enhance the implementation of the ISDA Common Domain Model (CDM). Since then, Algorand has developed several new features such as Algorand Standard Assets (ASAs) and Layer-1 TEAL smart contracts (ASC1s) which will significantly help ISDA CDM users create innovative applications of the CDM on the Algorand blockchain.
In this post, we not only talk about some of the exciting use cases we’re envisioning will be fostered by this work, but also discuss the operational efficiency and the new market opportunities for financial institutions that can be created by leveraging Algorand’s capabilities for asset tokenization and programmatic money.
Quick reminder: What is the CDM?
The ISDA CDM is a sophisticated data model that translates the characteristics and regulatory aspects of financial derivative contracts, processes, and calculations into a machine-accessible structured language. All features and details of a derivative contract can be formalized into an ISDA CDM object.
Financial institutions typically use their own representation of financial events and products, making interoperability across firms very inefficient. A standardized representation of contracts, on the contrary, enables financial firms to develop scalable automated solutions.
From a CDM object, developers can obtain a serialized digital document suitable for data storage and transport. This output can be saved in different formats, such as JSON, and integrated within any automated process with large gains in interoperability and efficiency.
More information about the ISDA CDM model can be found on the ISDA website.
Quick reminder: What are ASAs and ASC1s?
ASAs are a very powerful and secure tool for asset tokenization on the Algorand Blockchain. ASAs provide a standardized Layer-1 mechanism to represent any type of asset on the chain, while at the same time offering flexible asset controls for issuers and managers for business, compliance, and regulatory requirements.
ASC1s are Algorand smart contracts directly implemented in Layer-1 of the chain. These are highly secure, fast, and easy-to-use smart contracts designed to automatically enforce custom rules and logic. ASC1s are particularly suitable for the implementation of transaction-based actions which can enable innovative ways to address existing inefficient and complex financial transactions.
One powerful way to combine Algorand and the CDM is leveraging the Algorand blockchain as a CDM data validator. The Algorand blockchain and the ISDA CDM protocol can be used by institutions with independent financial databases to validate the consistency and correctness of their information, while at the same time preserving privacy about the trading history and the holdings of the trade participants.
Overall, this type of integration of the ISDA CDM model and the Algorand blockchain reduces the infrastructure complexity of the financial system, both internally for a given institution and externally for the entire system, allowing for easier communication across platforms and databases of individual institutions.
Using Algorand in this fashion is quite simple, but very powerful. To do this, a financial institution simply takes the JSON file of the CDM object representing a contract and commits a hash of the file to the Algorand blockchain by appending it to the notes field of an Algorand transaction.
The institution can now store the CDM object along with the Algorand transaction ID that committed the object to the blockchain in its database, being confident that the immutability of the Algorand blockchain will guarantee the validity of the information relative to this contract in the future.
When the contract is traded again, this institution or any party involved in the new transaction can demonstrate the validity of the CDM object presented by the institution by simply verifying that the pseudorandom hash produced by the JSON file of the CDM object matches the hash of the Algorand blockchain transaction identified by the transaction ID.
This approach has already been implemented as a proof of concept at the Barclays’ DerivHack 2019 hackathon. This implementation won this year’s edition of the New York hackathon, as discussed in this other post.
Benefits of this approach
This system allows for easy reconciliation of trade information across counterparties. Moreover, this approach protects companies from needing to share any sensitive information with external parties or regulators besides the hash of the CDM object. Lastly institutions do not need to modify their current database system to fully enjoy the advantages of the solution.
Going further, ASAs and ASC1s also have the potential to directly use the CDM JSON file output, which will allow the CDM users to programmatically manage and execute features of a derivative contract. As explained below, this can be accomplished by encoding contract features directly into an ASC1, generating programmatic execution of a contract.
The integration of the ISDA CDM model and the Algorand ASAs and ASC1s has the potential to greatly reduce the complexity of managing portfolios of derivatives and other financial instruments in full compliance of the ISDA CDM and all the underlying regulations. This would allow for a reduction of the costs necessary to manage and execute financial contracts, without giving up speed and accuracy.
After extracting information about the characteristics and operational rules of a contract from its CDM object, financial institutions can encode this information into a smart contract combining the ASA and ASC1 functionalities. This smart contract will automatically implement the trustless execution of the CDM features on the Algorand blockchain.
As an example, let’s consider an Interest Rate Swap contract, like that provided by the CDM RosettaCore online tutorial, in which two parties agree on swapping a fixed-rate interest payment against a floating-rate payment on a reference notional.
Among the multiple classes of information provided by the CDM of this swap contract, there are the following four items:
This information is sufficient to create an ASA representation of the Euro to be used for the periodical settlement of the swaps. The ASC1s are used to automatically retrieve information about the EURIBOR quote every six months from an external oracle chosen by the two parties, and to compute the difference between the two interest payments. The ASA then executes a net transfer between the wallets of the two parties to settle the swap.
Benefits of this approach
This system allows financial institutions to implement automated and scalable solutions to manage complex processes with speed and accuracy. Managing CDM-based financial derivatives programmatically on the Algorand blockchain reduces the cost and risk of execution, while guaranteeing instant settlement for any transaction required by the contract. Financial institutions will be able to develop a set of tools to easily execute similar operations on any derivative.
Looking further into the future, there is also the potential to use Algorand assets and contracts to directly generate CDM objects. Although it requires future development, this type of application fully exemplifies the potential economic gains that integrating the Algorand blockchain with other projects can bring to the entire ecosystem.
ASAs can be used to tokenize and represent any kind of asset on the Algorand blockchain. We envision the community using ASAs to create on-chain derivatives, which can be traded in decentralized form on specialized exchanges or over the counter. ASA derivatives would embed the same contractual terms as the non-digital versions of these financial contracts. The ASA definition can be integrated into the CDM model, in order to programmatically produce a CDM object for storage and usage directly on the blockchain.
The advantage of this application is to facilitate the formalization of ASAs and their tradability between financial institutions, both on- and off-chain.
This task can be achieved by implementing an SDK in a programming language supported by Algorand (such as Python, Java, Go) hooked to the CDM Rosetta DSL as usual via an API, which will map the Rosetta DSL syntax into the specific syntax of the chosen programming language, which can differ from the JSON format.
The SDK toolkit will accomplish two goals:
This output can then become the input for the use cases described above.
Benefits of this approach
This type of toolkit would greatly simplify the implementation of the technical standards required by the adoption of the ISDA CDM by ASA users. All ASA users, even the occasional or smaller ones, would be able to create ASAs with a well-defined CDM representation without incurring the costs of complex financial analysis and software engineering implementations which only large financial institutions can typically bear.
The constant development of new features of the Algorand blockchain facilitates the creation of new applications and solutions for businesses in multiple sectors.
This post has talked about the work by Algorand and ISDA and how features such as ASAs and ASC1s can support the use of the ISDA CDM, benefiting the entire financial sector. However, this is just an example of the many exciting use cases that Algorand’s users have been working on. In future posts, we will focus on how ASAs can solve other relevant use cases in finance, starting from the creation of Central Bank Digital Currencies (CBDCs). Stay tuned!