Co-authored by Skuchain
- Skuchain has released the DLPC CorDapp, a key component of its Inventory Control & Finance (ICF) product , promoting interoperability in trade finance blockchain applications.
- This application is the first example of BAFT’s Distributed Ledger Payment Commitment operating in a real network, and Skuchain plans to execute the first live transactions with Corda Network over the next two months.
- The application demonstrates interoperability from trade originating on Fabric, and being extended to participants in Corda networks.
Interoperability between blockchains is a goal of every platform. Yet for such a new technology, platforms are rightly focused on hardening their own features rather than building bridges between each other. This leaves a gap in the market that many startups are seeking to address.
The Bankers Association for Trade and Finance (BAFT) recognized that interoperability would require a neutral working group to establish some standards. This blog is about what that group created and how it works. It’s also about the future of trade finance.
The framework for a digital ledger payment commitment (DLPC) was the result. A DLPC is a fundamental piece of a trade transaction. Everyone needs to commit to a payment. But in today’s world of segregated systems, each entity tracks their role in the payment separately. DLPC changes that.
The DLPC envisions the trade finance world of tomorrow. It needs to work not only between digital systems, but also between blockchains. This is the application that Skuchain has introduced. In short, it brokers a connection between Hyperledger Fabric, the base protocol for Skuchain’s EC3 platform, and Corda Network.
1. How does the DLPC help trade?
In 2018, the BAFT DLPC working group, co-chaired by Skuchain, began with 18 banks and companies. In April 2019, it published the business and technical best practices for the DLPC. This will be updated in April 2020 to reflect industry feedback and implementation experience.
The objective of this framework is to allow banks to create a legally binding promise to pay and represents monetary value based on a negotiable instrument. It can be assigned and distributed to third parties and is sufficient to trigger payment. In today’s world a payment is only trackable by each entity separately. The DLPC will allow all parties to a trade transaction to know where the payment is.
Skuchain saw the opportunity to expand its ICF product with this framework. In order for large buyers to have visibility, agility and control to satisfy rapidly changing consumer demand and mitigate supply disruptions, they need to collaborate with their suppliers to share data. By offering new forms of financing to suppliers through ICF and using blockchain cryptography for secure data sharing with field-level encryption, Skuchain incentivizes this collaboration.
The DLPC is the blockchain-based asset at the heart of ICF that enables buyers to use alternatives to a Letter of Credit, pay suppliers later, reduce cost of goods sold, gain greater visibility and agility in their supply chain and insulate themselves from supplier bankruptcy and nonperformance. Suppliers, in turn, recognize revenue sooner and replace their current supply chain finance arrangements with much lower financing terms. These benefits multiply as the network grows.
“We collaborated with many different industry stakeholders to create and refine the DLPC, and we are very excited to see it all come to fruition in an actual transaction,” said Samantha Pelosi, SVP for Payments and Innovation at BAFT. She continued, “BAFT took the lead in developing technical and business best practices to standardize the payment commitment. Skuchain and R3 have taken this and opened the freeway that allows Hyperledger Fabric and Corda Network to communicate with each other for individual trade transactions. This development is truly a breakthrough moment for the international trade and finance industries seeking to harness the benefits of distributed ledger technology.”
2. Why Corda Network?
There are several reasons why Skuchain chose Corda Network as the fulcrum for DLPC transactions and wider interoperability with the global trade ecosystem:
- Corda is an open source blockchain platform for business. Of its numerous features, the ability to limit transaction visibility to just the participants involved makes it especially useful for the financial transactions surrounding a complex global trade.
- Emerging blockchain-based networks of banks and corporates for trade finance transactions use the enterprise version of R3’s Corda platform, Corda Enterprise, as their base.
- Corda Network is a publicly available network of Corda nodes. This allows for enterprises, banks and other Financial Institutions to set up their own nodes if they so choose.
- By placing DLPC assets that originate on permissioned Fabric networks onto a publicly available network uniquely fit for purpose, such as Corda Network, Skuchain is able to transfer, assign or modify DLPCs with participants on both the public Corda Network as well as participants on other networks built on Corda. With a large number of live Corda nodes in production, across global banks and enterprises, there is a large footprint of organizations that can start to benefit from access to DLPCs originated outside of Corda based networks.
The Fabric to Corda interoperability is enabled by a Skuchain EC3 agent node on Corda Network. This gives suppliers and banks an easy on-ramp to Corda Network to publish their DLPCs. Rather than require these parties to set up individual nodes, their EC3 agent node will act on their behalf. If organizations want to get their own nodes on Corda Network at a later time, they can perform a seamless upgrade.
3. What was it like to build interoperability?
The first question everyone asks is not why, but how. When BAFT set out to create the DLPC they knew it needed to be neutral and work on every platform. But this is easier said than done.
There were four engineering steps we took to build interoperability.
First, transactions originating in a Fabric network have signed directives to carve out DLPCs. Second, a smart contract is triggered. This produces the DLPC payload and submits to the EC3-Corda gateway. Third, this gateway talks to an EC3 agent node on Corda Network. Fourth, the Corda node validates the DLPC and submits the transaction.
Step 1: Carving out a DLPC from a PO transaction
Enterprises running nodes on the Skuchain EC3 Fabric network submit Purchase Orders from Buyers to Suppliers with directives to create a DLPC for placement on Corda Network. This is done either via an API call and/or using a UI that takes in user input.
The DLPC document has a set of fields based on the best practices published by BAFT. Figure 1 outlines the anatomy of the DLPC.
The carveout processes each individual field in the PO and produces a DLPC object that complies with the BAFT best practices which is sent to Corda Network (see Figure 2).
Step 2: Triggering the DLPC carveout smart contract
Once the PO transaction is placed on the Blockchain a Ledger Listener picks it up and sends it to a Post Ledger Processor which triggers the DLPC carveout smart contract.
After producing a DLPC object, the smart contract invokes a governance bracket on the blockchain that wraps the DLPC with an envelope containing the signed data payloads and other relevant information, decrypts the gateway access token and sends the DLPC directive to the Fabric-Corda Network gateway (see Figure 3).
Figure 2. Suppliers and other nodes on the network receive the submitted Purchase Order.
Step 3: Communication between the Fabric-Corda Network gateway and the EC3 agent on Corda Network
The Corda Network gateway client on Fabric has a pre-provisioned access token that is encrypted and in the governance bracket on the Fabric Blockchain. ).
The Fabric blockchain governs the decryption of the access token and preparing the transaction to submit to the EC3 agent node.
The EC3 agent node on “Corda Network” (see Figure 4), verifies the access permissions of the incoming transaction before submitting it to the CorDapp.
Figure 3. The Fabric-Corda Network Gateway
Step 4: Validating the DLPC transaction by the CorDapp
The DLPC CorDapp on EC3 agent node of Corda Network verifies the DLPC before submitting it to Corda Network (see Figure 4).
The DLPC CorDapps have been architected to work on networks that run core Corda technology and provide API interfaces for application developers to integrate the functionality within existing applications.
For additional information, please contact Skuchain at [email protected].