UKEF Trade Finance Blockchain Project

Andrea Margheri
Cyber Security Southampton
4 min readMay 13, 2019

About my recent blockchain Corda application of Trade Finance for the UK Export Finance, part of the Department of International Trade.

UKEF is investing in the digitalisation of Trade Finance processes, trying to automating procedures and minimising process latencies. All this, it is required for strengthening the financial support to UK Exporters while controlling the actual financial risks.

The need of establishing an interoperable, accountable layer for multi-stakeholder interaction paves the way for blockchain empowered Trade Finance.

Together with the Open Innovation Team at the Cabinet Office and the Public Policy team at the University of Southampton, I have approached this UKEF challenge to design and prototype a blockchain solution for UK Trade Finance

The challenge

UKEF aims at supporting the Department of International Trade in their innovation strategy by creating new digital solution supporting UK Trade Finance.

Creating a decentralised solution to underpin the distributed process of Trade Finance by establishing a new, accountable and transparent medium of interaction upon which exporters, banking players and UKEF can conduct in a timely manner their negotiations

Given the sensitivity and the commercial nature, it is necessary to ensure high level of trust and confidentiality throughout all the processes of the distributed actors.

Establishing an interoperable framework across trade finance stakeholders would allow UKEF to achieve a threefold objective:

  1. Early access to current exporter trade finance application by providing direct support to exporters and streamlining negotiations with banks.
  2. Facilitating multi-actor processes by ensuring accountable and up-to-date data exchanges.
  3. Increasing knowledge on current UK export activities by creating new knowledge-bases for defining more effective trade support solutions and better risk assessment.

While the last objective would require long-term plan, we can start today to prototype blockchain based solution for trade finance.

The blockchain prototype

The prototype system must offer storage and processing capability for carrying out the management of exporter trade applications (for simplicity’s sake, just Bond application) among: Exporter, Bank and UKEF IT systems.

The blockchain platform acts as distributed, accountable application data storage and computational framework for the assessment of bond applications.

For realising this prototype, I have used the R3 Corda framework and integrated with Spring web-apps for showcasing purpose.

Blockchain Technology. In a nutshell, blockchain is a decentralised computational infrastructure offering reliable storage and program execution(aka smart contract). Among others, the key advantage of using blockchain is the lack of any centralised trusted-third-party that can singularly control the system. Interaction among multi actors can then be carried out ensuring that any of the actor is in control nor misbehaving (e.g. tampering with managed information or neglecting the submission of an application).

The Prototype. The Corda blockchain framework is a state-of-the-art solution for decentralised financial processes. It relies on Java-based technology for offering transactional multi-actor distributed flows. Most of all, it provides on top of classical blockchain data storage (i) user authentication; (ii) pluggable consensus; (iii) smart contract based interactions; (iv) selective data visibility. (Many more features are available, as well as the integration with relational databases and long-term transaction support)

Enabling distributed trade finance transactions with Corda

The prototype is then formed by four (logical) nodes, each of them running a Corda instance and authenticated via an X.509 standard certificate. The Notary logically represents a set of additional nodes that are part of the network and ensure replication and fault tolerance factors. Notice that those nodes may be prevented from accessing any information of the bond application, even though the will store copy of the corresponding transaction.Thus, controls on flow execution and visibility ensure to both Exporters and Banks that data is only shared to authorised actors.

The flows implemented in the systems to support exporter trade finance are

  1. CreateBond: Creation of an Exporter Bond application — this operation is issued by an Exporter user and is signed by both Bank and UKEF which enforces acceptability controls on bond values and impact.
  2. BankAssess: Bank assessment of the Bond application — a user part of the bank (to which Exporter submitted the application) can provide the needed financial data on the Exporter and report on the bank support to the bond.
  3. UKEFAssess: UKEF guarantee on the Bond application — a user part of UKEF can control the bank approved decision and report on the UKEF support to the bond.

These flows, together with the needed contract state and transaction signing controls, have been implemented in Java. The code is available online and can be easily re-deployed following the available instructions.

Showcasing the prototype

The prototype has been tailored to UKEF needs and a mock-up Spring web-app has been developed to visualise actual integration of the solution. Below a screen recording of the web-apps, one for each Exporter, Bank and UKEF distinguished node of the prototype.

Web-app screencast of the Corda blockchain prototype

It appears that despite the intricacies of implementing and using blockchain technology, the Corda blockchain solution can be used likewise classical web-app based on REST APIs.

Behind the scenes, the deployment of an distributed blockchain framework ensures that any B2B interoperability issues are overcome by-design: all multi-actor interactions are programmed, controls and enforced via smart contracts

To shed light on the stages needed to create, validate and store a flow (aka a transaction) in the system, watch the video below.

Screencast of the fours nodes running the distributed blockchain infrastructure (from top-left corner, Exporter, Bank, UKEF and Notary — watch in HD to improve terminals readability)

I presented the technical challenges and Corda prototype at the last DIT Innovation Conference on Blockchain. Here while introducing the fundamentals on blockchain.

The audience was significantly engaged in the discussion on the potential role of blockchain in Public Services. Looking forward to see the development plan in UKEF and DIT for a possible adoption of blockchain!

--

--