Polkadot ISO 20022 Integration

Polkadot ISO 20022 Integration

In this post, we would like to present a proposal to integrate Polkadot with the ISO20022 financial messaging standard. We have already applied with the W3F Grants Program and the commitee suggested that this project would be a great fit for Decentralized Futures, so we are presenting it to the community here.

You can find the application for the W3F grant here.

Project Overview

Overview

ISO20022 is the future standard of financial transactions of all kinds including payments, foreign exchange and securities trading. Many blockchain ecosystems like Ripple, Cardano and Stellar claim to be ISO20022 compliant. In order to make Polkadot ISO20022 compatible as well, it is necessary to start designing how such an integration would look like in pratice, as it is not trivial to bridge the gap between a decentralized blockchain infrastructure and a messaging protocol designed to be used between trusted entities such as banks. Some prior theoretical research has been conducted and in this project we want to go a step further and build a practical Proof-Of-Concept for ISO20022 payments in Substrate. ISO20022 covers a vast amount of different messages for different financial transactions. In this project, we want to focus on customer-to-customer interbank payments evolving around the ISO20022 message pain.001.001.11(CustomerCreditTransferInitiationV11).

Market Research

We conducted a survey with 5 major swiss banks on the topic of the integration of an ISO20022 compatible blockchain and we found that there was a general interest mostly in ISO20022 compatible cryptocurrency transactions and cross-border payments. A majority of the banks stated a positive sentiment toward blockchain technology and indicated that they would be willing to invest or collaborate in a project revolving around an ISO20022 compatible blockchain.


Fig. 1: Screenshot of survey results

Project Details

The goal of this project will be to implement a fully functional minimal viable product (MVP) that lets banks settle payments on the Polkadot blockchain using the ISO20022 standard. We will focus on customer-to-customer interbank payments and payment reversals, ie. Customer C1 with a bank account at bank B1 sending an amount of DOT to customer C2 with an account at bank B2 using ISO20022 messages.

MVP Components

This MVP will consist of the following components:

1. Substrate Pallet

The first component is a pallet that will be resopnsible for storing hashed ISO20022 messages and handeling interbank payment settlements as well as a payment reversal mechanism.

  1. Account management for banks: Banks create an account and transfer some DOT to it.
  2. Transaction management: Banks can submit a hashed (and salted) ISO20022 message along with the receiving bank account and DOT amount to the pallet in order to transfer a certain amount of DOT to the receiving bank.
  3. Payment reversal mechanism: Banks will be able to revert payments in order to be compliant with ISO20022 messages such as pain.007.001.11 (CustomerPaymentReversalV11) or pacs.007.001.12 (FIToFIPaymentReversalV12).
2. Java Client for Banks

In order for banks to use Polkadot as a payment settlement system, they will need to run a client which offers the following funcionality:

  1. API to receive customer payment instructions
  2. ISO20022 message parser/creator
  3. Send extrinsics to pallet for transfer
  4. Send extrinsic to pallet for reversal
  5. Send/Read ISO messages to bus
  6. Verify relevant ISO messages on chain
  7. Client account management system
    • Create for each client an account number
    • Store for each client a list of hashes form the chain
    • Functionality to derive client balance from onchain hashes
  8. Hashmap-like storage of all ISO messages and salts
3. Interbank Message Bus

As the blockchain only stores hashes of the ISO 20022 messages in order to preserve privacy, we need some a communication system to exchange ISO20022 messages between banks.

Payment Flow

The below diagram describes the steps necessary to complete an ISO20022 payment using the Substrate pallet as the settlement system. Customer1 with a bank account at Bank1 is sending DOT to Customer2 with an account at bank Bank2. In this example we use two ISO20022 messages (for an example please see the appendix):

  1. pain.001.001.11 (CustomerCreditTransferInitiationV11) for the customer to initiate the payment.
  2. pacs.008.001.11 (FIToFICustomerCreditTransferV11) for the interbank transfer.

Design Choices

  1. We do not process ISO20022 messages onchain in order to preserve privacy.
  2. We do not use offchain-workers for message processing also for privacy reasons.
  3. We do not create customer accounts on chain, because they could easily be linked to a real person, again breaking privacy.
  4. We do not use one centralized message processing institution, as we want to give each bank full access to their on-chain funds, at least guaranteeing decentralization on the interbank level.

Team

Team members

  • Piero Guicciardi (Project Lead & Developer)
  • Yannick Steitz (Marketing & Outreach)
  • Christian Langenbacher (Advisor Implementation)

Team’s experience

Piero

Piero has a Master’s degree in Computer Science from ETH Zürich and has been a core protocol developer for Encointer for the last two years, has recently become a member of the Polkadot Technical Fellowship and was granted a W3F Grant.

Below you can find a list of contributions by Piero:

W3F Grant Democratic Governance
Encointer core protocol:
Misc:
Non rust contributions:

Yannick Steitz

“The convergence of people, technology, and creativity represents a lasting synergy - this intersection is my sweet spot."

  • Over six years of professional experience in cultural projects, design agencies, and digital start-ups.
  • Most recently worked as Co-Founder/CEO and Project Manager at Ozelot Studios GmbH and VARY AG.
  • In-depth understanding and hands-on experience in the fields of New Media, Mixed Reality, and Web3.

Christian Langenbacher

The project advisor Christian Langenbacher is the tech lead of Encointer and Integritee.

Team Code Repos

Please also provide the GitHub accounts of all team members. If they contain no activity, references to projects hosted elsewhere or live are also fine.

Team LinkedIn Profiles

References

Related Work in the Ecosystem

ISO20022 Research:

ISO8583 Research:

ISO8583 Implementation:

3 Likes

Greetings,

Having ISO20022 would surely support not just Polkadot itself, but some of the ecosystem teams such as G6 Networks that targets banks among its clients.

Looking at your tech specs, it seems decent. I only wonder how this project would work legally? What legal entity would the ISO auditors audit? Do you have a solution for this?

This sounds like a good start on the process to enter financial institutions. Good luck with your project!

Well, how interesting. ISO 20022 is actually the standard protocol (I used to work with it at N26) for clearing and settling SEPA transactions between banks and central clearing houses, like Bundesbank in Germany. Essentially, ISO 20022 involves processing large, complex XML files in hourly batches, transferred through Ebics (a precursor of FTP) which is how all European bank transfer transactions have been handled for decades, always under human supervision. That’s why bank settlements don’t occur on weekends.

Aside from that, a project like this is important and feasible, but the regulatory aspect poses a significant challenge. It’s very tough for a banking authority to allow a bank to detach from a clearing house and use on-chain logic to process ISO 20022 transactions in a peer-to-peer manner. I remember a few years ago, R3 attempted to create a consortium of banks to adopt blockchain technology for peer-to-peer settlements, but they failed. Fintech and banking are strictly regulated to the point of suffocation, especially after the Wirecard disaster.

Hey,

Thanks a lot for your supportive comment and for your question, which is an important one. We currently focus on getting partner banks on board an building an MVP and that in this stage legal questions do not yet play too big of a role as we are still far away from a productive system. However, we are aware of the legal implications that will follow in later stages of this project and we are in the process of building a legal (advisory) team to help us answer those questions.

Hey, thank you very for your comment and sharing your thoughts and insights, this helps a lot!