Keywords

1 Introduction

In the present, open banking gives either consumers or customers more privilege of access and control their financial data and transactions [1]. Also, banks provide APIs to third-parties, who utilise these APIs to provide a variety of potential benefits to businesses and clients. They can integrate consumer account information and various financial product information from different banks to enable a single view of account transactions, balance and other data [2]. The consumer can get suggestions on how to control their personal finances more efficiently from third-parties data analytics. When the consumer wants to apply for a loan, they can be evaluated more accurately and efficiently to avoid the risk of taking on unaffordable debt [3].

However, users do not want their data being used without their permission. And people do not trust banks because there is a risk of privacy leakage and personal information misconduct. BBM model provides a self-sovereign identity feature through using Uport as middleware. When banks or other institutions want to use data of a consumer, they must request permission from the consumer. And users only need to show their credential instead of revealing detailed personal information.

The BBM model via self-sovereign identity (SSI) technology to allows customers use their digital identities in the off-line world as same as they use physical identities (e.g. driving license, passport). To avoid privacy leakage risk like Facebook-Cambridge Analytica data scandal [3]. Our BBM model empowers user to control their own identities instead of administrative third-party tracking access or granting to these sensitive credentials.

According to the investigation result from J. Xu [4], blockchain keeps cryptographic transactions in the public ledger, which is extremely hard to modify and hack due to the decentralised consensus. The BBM model is based on the blockchain technology. As a consequence, it can prevent from hacking, DDOS attacks and protect users from identity theft and fraud. Also, the BBM model is based on Ethereum, which is a blockchain-based platform and it has the same features with traditional blockchain. Also, the BBM model takes advantage of Ethereum to provide more functionalities like building decentralised applications and writing smart contracts.

To enable users to control their own identities while protecting their privacy in the data sharing process of open banking services. We develop the BBM model to provide a reliable solution to open banking services by using blockchain-based self-sovereign identity technology. Also, We create a scenario that users apply for a car loan service based on the BBM model. The scenario shows users can control their own identities to apply for a car loan service while their personal data are protected. It demonstrates the BBM model meets the requirement of open banking service. In addition, we improved Uport registry and recovery smart contracts, users can easily recover their identities if their identity device lost.

In Sect. 2, we describe the existing work in the current research filed. In Sect. 3, the design of the BBM model is explained in details. In Sect. 4, we provide a real-life scenario based on the BBM model. In Sect. 5, we did the comparative analysis between the BBM model and the existing work. Also, we evaluate the BBM model based on its features. In Sect. 6, we sum up this paper and propose our future work.

2 Related Work

2.1 Self-sovereign Identity

As C. Allen described the evolution of identity [7], there are four phases of evolution of self-sovereign identity below.

  • Phase1: Centralised identity. Administrative control by a single authority

  • Phase2: Federated identity. Administrative control by multiple, federated authority

  • Phase3: User-centric identity. Administrative control by multiple authority without federation

  • Phase4: Self-sovereign identity. Individual control across any number of authorities

The self-sovereign identity is the next generation of user-centric identity. It is entirely user-controlled identity management technology. Also, C. Allen proposed ten principles about self-sovereign identity below, these principles enable users at the central of self-sovereign identity.

  • Existence: Users must have an independent existence.

  • Control: Users must control their identities.

  • Access: Users must have access to their own data.

  • Transparency: Systems and algorithms must be transparent.

  • Persistence: Identities must be long-lived.

  • Portability: Information and services about identity must be transportable.

  • Interoperability: Identities should be as widely usable as possible.

  • Consent: Users must agree to the use of their identities.

  • Minimalization: Disclosure of claims must be minimized.

  • Protection: The rights of users must be protected.

2.2 KYC2

KYC2 framework is an improved version of existing KYC (Know your Customer) framework. The existing KYC framework is typically running slow, costly and usually accomplished in person. Also, the existing identity management framework takes away the digital identity and data control right from users. And user’s data and identities are stored on different centralized identity management systems, which may cause a risk of privacy misconduct. KYC2 framework relies on Hyperledger Indy (a permissioned blockchain) to build a self-sovereign identity-based framework. In KYC2 framework, they improved the previous problems (e.g. privacy protection) in KYC framework [9]. In comparison with the BBM model, KYC2 framework did not consider the recoverability and flexibility.

2.3 Tradle

Tradle is a Know Your Customer (KYC) service provider, the Tradle framework use the self-sovereign identity techniques to put users in charge of their own identities stored in different platform or organisations. And users can share their identities and other data to one or multiple organisations. Also, Trade framework provides a serverless could platform to swap KYC properties to replace traditional complicated and costly back-end server [10]. In comparison with the BBM model, Tradle did not use blockchain to store data, they stored the user data in third-party cloud storage, the user privacy may be misused by third-party during the data sharing process.

2.4 Q.Stokkink

Q.Stokkink proposed a purely academic model for users to control their own identities. This model use blockchain consensus features to deal with the trust problem. With their model, users are tied to the claims, and they are not able to cheat the system. If users did malicious behaviour, they might be caught committing identity fraud and be punished by law.

As they claimed, they are the first decentralised permissionless digital passport and a authenticate peer to peer identity management model. And this model is created for the Netherlands government. The Netherlands citizen can become the first citizen to control their own digital identities. They do not need federated authority in charge of their own identities. Furthermore, they want to prompt their model into the global network. Each global citizen can have a unique legally digital passport [11]. To comparison with the BBM model, Q.Stokkink is not open-sourced. It only allows the authorised developer to write and deploy smart contract into their government-controlled system.

2.5 SCARAB

SCARAB first proposed the decentralised secure access control model to deal with the issue of accountability for self-sovereign identity featured blockchain system, by logging each request to allow data access publicly. SCARAB introduced the on-chain secrets method, which uses secret verifiable sharing to enable managed secrets collectively under Byzantine adversary. Also, SCARAB introduces identity skipchains, which will allow the access control policies identity management dynamically and enable users to use self-sovereign identity to manage their identities [12]. In comparison with the BBM model, SCARAB store everything on-chain, which can dramatically impact the system performance. Also, the sensitive data cannot be on-chain, on-chain data can be visible to the public.

2.6 Onename.io

Onename.io provide self-sovereign identity service based on blockchain technology, user can create blockstack ID (like a digital passport) through Onename.io platform. With the blockstack ID, user can connect their social media accounts (e.g. SpringRole, an application integrated Twitter, GitHub on their decentralised platform) and other productive tools (e.g. Dmail, an email application built on their decentralised platform).

Furthermore, Onename.io is like a platform that allows users to control their own identities in the decentralised network. However, users have to use the applications built on their platform, and users have limited selection range in this platform [13]. To comparison with the BBM model, Onename.io lack of portability and Interoperability. The onename.io has its own platform and not compatible with others.

3 BBM Model

3.1 Design Goals

  • Privacy and data protection during data sharing process. The bank data and user personal data is very sensitive during the data sharing process. The BBM model provides a reliably secured peer to peer network to keep the data safe. We also store the on-chain data and off-chain data separately to remain the user data private.

  • User-controlled identity and data. Users should be able to control their own identities and data. The BBM model using self-sovereign identity techniques to enable user control their own data and identities.

  • New identity recovery solution. The BBM model uses new registry and recovery smart contracts to replace the default registry and recovery smart contracts in Uport. The new smart contracts enable users to recover their identities more conveniently and easily.

3.2 Overview of BBM

The BBM model contains four layers (see Fig. 1), which are application layer, uport layer, blockchain network layer and the data layer. We orchestrated the data layer for storing client data off-chain and remain the client data private, invisible to the public. We used the blockchain peer to peer network to provide a trustworthy network.

In the Uport layer, we combined Uport as one part of the BBM model, and we modified the Uport default smart contracts to improve the recoverability. Also, we store on-chain data on the Ethereum in Uport layer. In the application layer, we provide API to regulate third-party. Only the authorized third-party can access the data from API.

3.3 Application Layer

In the application layer, the BBM model put banks APIs, integrated bank product, integrated bank service and integrated financial product application in this layer. This layer is close to users and regulator. User can easily access to these integrated open banking service and the regulator can regulate these third-party provided services and bank APIs. Also, the application layer provides the communication interface between users and BBM architecture.

Fig. 1.
figure 1

System structure

3.4 Uport Layer

In the application layer, the BBM model put banks APIs, integrated bank product, integrated bank service and integrated financial product application in this layer. This layer is close to users and regulator. User can easily access to these integrated open banking service and the regulator can regulate these third-party provided services and bank APIs. Also, the application layer provides the communication interface between users and BBM architecture.

3.5 Uport Layer

In Uport layer, we present four key components, which are data component, mobile component, server component and the smart contract component. The data component contains insensitive on-chain data (e.g. username, public key). The mobile component enables users to interact with their mobile Uport application. The Uport application has the user’s private key. In the server component, users are able to scan the QR code to connect with the server by using a smartphone.

In a smart contract component, there are proxy contract and controller contract. The proxy contract is only for transfer transactions to the external address and swaps out the owner for another one. The controller contract provides main features (e.g. access control, registry, recovery) [13].

Uport has its own recovery contract to handle the account lost issue. However, their contract need two or three witnesses (e.g. Uport mobile app contacts or organisations like a bank) to prove the owner of the identity in the lost device, it does not make sense for a newly registered user to have two or three witnesses (e.g. Jack has registered his Uport account for half years but he did not add any individual or institutions to his Uport contact list). Therefore, we adopt a new recovery contract to replace the Uport default recovery smart contract. Also, to facilitate the new recovery contract, we deploy a new registry smart contract to replace the default registry contract. To deploy a smart contract on Uport platform, the deployment instruction [14] must be followed.

There is not pre-request to register a new account with Uport default registry smart contract. User can register their account by using a nickname with the default registry contract. The BBM model proposed a new registry smart contract, the new registry smart contract working process can be seen in the Fig. 3. To register a new Uport account through a new registry smart contract, users must provide their physical identities (e.g. passport or driving license) to the identity issuer (e.g. Government department of home affairs). If their physical identities are approved, the identity issuer will grant them an identity credential, and then their Uport account is activated.

By using the new recovery smart contract, once users lost their device, they can simply recover their lost identity with five steps (see Fig. 2).

Fig. 2.
figure 2

Recovery contract working process

  1. 1.

    Having a recovery network stored in the recovery smart contract

  2. 2.

    Prepare the new phone

  3. 3.

    Inform recovery network about your new device public key to the recovery contract

  4. 4.

    Identity issuer verify the new device public key to the recovery contract

  5. 5.

    The recovery smart contract updates your public key and your identity is recovered.

3.6 Network Layer

The BBM model is based on Ethereum decentralised public blockchain network, It is a widely used network that provides consistency, security and smart contract feature. With the Ethereum network, the BBM model allows developers to use Solidity language writing a smart contract [18]. Also, the BBM model has a peer to peer network for transferring on-chain transaction data [19].

3.7 Data Layer

In the data layer, we store the sensitive data listed below in commercial DBMS for off-chain storage [16].

  1. 1.

    User sensitive information: The user sensitive information including user real name, sex, age, email address, income and the detailed transition history (e.g. peter, male, 28, peter@gmail.com, 50,000 salary p.a. applied for a 6.99% 30,000 dollars loan over five years from Bank A).

  2. 2.

    Financial service or product: The financial service or product that banks offered including bank deposit rate, loan rate, long or short term saving plan and so on.

  3. 3.

    Account data: the wallet data including user account balance and account number.

There are two reasons that we applied off-chain storage in our model. The first reason is that blockchain has a scalability issue that impacts on-chain data storage and computational power. If the BBM model store everything in blockchain, the scalability issue can significantly impact the performance of the BBM model. The second reason is that blockchain is public and transparent. However, the user sensitive data should not be revealed to the public. Therefore, we provide off-chain storage to remain the user sensitive data private.

4 Case Study

4.1 Real-World Open Banking Scenario: User Apply for a Car Loan

Banks provide application programming interface (API) to authorised third parties, third parties build the integrated application or platform to provide comparable financial products from different banks. The integrated application or platform benefit user to find the best deal from various banks products. For example, a client wants to apply a personal loan to buy a brand new car. A client finds there are two banks provide similar loan product with different annual interest rate. bank A provide a 6.99% p.a. Interest rate based on a 30,000 dollars loan over five years, bank B give an 8.05% p.a. Interest rate based on a 30,000 dollars loan over five years. Undoubtedly, the client requests the product that bank A offered.

Traditionally, the client needs to submit his identity proof, income statement, address, previous debt status to the bank A. Then the bank evaluate the client, if the client meets their requirement, they can provide the car loan to the client. However, the traditional method can cost plenty of time and efforts to the client and bank. The client has to prepare related documents. Bank have to verify these documents. Also, the client submitted information can only apply for a loan in bank A, he cannot use his documents provided to bank A in another bank. If the client wants to purchase a financial product from another bank or financial institutions. He has to submit the documents and wait for the verification process again.

4.2 Registration Phase

With our BBM model, we use Uport as middleware to provide self-sovereign identity service. When the client requests the car loan product from Bank A through integrated third-party application or platform. Firstly the client needs to download Uport mobile app to his smartphone and register his Uport account in Uport for further usage (see Fig. 3).

Fig. 3.
figure 3

Registration phase

4.3 Verification Phase

Secondly, the client need to submit his physical ID (e.g. passport, driving license) to an identity provider (e.g. Government department of Home Affairs). If an identity provider verifies the documents. The Uport server can receive a verified claim from an identity provider. Then the Uport server can generate a digital ID credential, which is displayed in Uport mobile app credential list. The client can use the ID credential to prove his identity (see Fig. 4).

Fig. 4.
figure 4

Verification phase

4.4 Authorization Phase

Thirdly, the client needs to submit his income statement, previous debt status to another identity provider (e.g. Reserve Bank of Australia). If the documents are verified by this identity provider, the Uport server can receive a verified claim from this identity provider. Then the Uport server can generate a credit loan credential, which is also displayed in Uport mobile app credential list. The client can use the credit loan credential to prove his financial status (see Fig. 5).

Finally, the client only needs to show the digital credentials stored to the Bank A. If Bank A think the client is eligible to apply for the loan, they can provide the loan to the client directly. If not, Banks A would ask more credentials from the client. By using BBM model to provide service, client does not need to reveal their private information such as date of birth. And they only need to show the credentials that the identity provider issued to the verifier (e.g. Bank A). As a consequence, the BBM model provides reliable privacy protection during the data sharing process of the scenario.

Fig. 5.
figure 5

Authorization phase

5 Discussion

The simply self-sovereign identity solution is not enough to provide trustworthy privacy protection during the data sharing process. For example, when users want to use their digital identities or credentials, users should find a verifier who has an existing trust relationship with the issuer to verify their digital identities and credentials. Then users are able to use their digital identities and credentials. However, how to identify and verify the issuer has become an issue.

The blockchain has a public decentralised consensus network, it also known as Distributed ledger technology (DLT). With the evolution of blockchain technology, Ethereum was introduced by Vitalik Buterin in 2015. Ethereum is an open-sourced platform based on blockchain technology, which provides programmable smart contract function. The developer can build smart contract and decentralised applications through Ethereum. The smart contract is irreversible and immutable after deployed [8].

Traditionally, the certificate authority (CA) is treated as the root of trust. The CA sign using their private key and issue the public key certificate. However, the traditional solution is very costly and still centralized. The latest solution is using blockchain technology to solve this problem. The blockchain can be treated as the root of trust. It is because of the public blockchain that using consensus protocol. The consensus protocol enables all nodes (stands for different entities) have replicated ledgers to record transactions in the blockchain network. It makes impossible to alter existing transactions in the decentralised blockchain network. With combing the features of blockchain technology, the issue of self-sovereign identity is solved.

However, there are many existing solutions using blockchain-based self-sovereign identity technology. To demonstrate the superiority of the BBM model, we present a comparative analysis between the BBM model and other related works with supporting evidence. Also, we evaluate the BBM model based on the features of the BBM model.

5.1 Comparative Analysis

The KYC2 framework has not covered the recoverability and flexibility. The recoverability stood for when users lost their device that contains their digital identities, they are able to recover their digital identities through specific recovery algorithm or contract. And the flexibility means users can easily and conveniently control and use their own digital identities. To achieve the recoverability, the BBM model adopts new registry and recovery smart contract that deployed in Uport layer smart contracts, which can help users to recover their identities easily. To achieve flexibility, the Uport layer of the BBM model store user digital credentials on-chain, users can show their digital credentials directly to the verifier instead of physical documents.

Tradle is not using blockchain to store any data, they saved the user data in the third-party storage, which cannot provide transparent and secure protection to user data. Also, the user data may have the risk of data misconduct. The BBM model is based on blockchain, which provides transparency, fairness privacy protection to users.

Q.Stokkink is designed as private instead of open-sourced. It only allows the authorised developer to write and deploy a smart contract on their system. The BBM model is open-sourced, which enable developers to write and deploy the custom smart contract. Everyone can contribute and add their own smart contract into the platform by following the deploy guideline [20].

SCARAB store all data on-chain, which can dramatically impact its performance because of the blockchain scalability issue. Also, the sensitive data cannot be stored on-chain, the on-chain data is visible to the public. The BBM model promise on-chain and off-chain storage, which can separate on-chain data (e.g. transactions) and off-chain data (e.g. name, gender, age) while stores off-chain data in the commercial DBMS.

Onename.io lack of portability and Interoperability. The Onename.io is based on their own platform (Blockstack [13]) and not compatible with others. The BBM model enables all information, identities and services are transportable from one organization to others. Trough the Interoperability and portability, users can improve the persistence of their digital identities and use their digital identities in different platforms and geographical locations [15].

To summarise the comparative analysis of the BBM model compared to the existing work. We present the comparison table (see Fig. 6) among the BBM model with current related models.

Fig. 6.
figure 6

Comparison table

5.2 Evaluation of BBM Model

We summarise the features of the BBM model below, and we evaluate these features based on the real-life case.

  • Recoverability. The BBM model adopts the new registry and recovery smart contract that deployed in Uport layer smart contracts. As mentioned in Sect. 3.2, the default Uport recovery smart contract need stringent requirement. It may cause the new user unable to recover their identities in case if they lost their device. With our BBM model, the new registry smart contract force user to prepare their physical identities (e.g. passport, driving license) ready. Then they can successful registered their identities on Uport. While their identities record is kept in identity issuer. To recover the lost identity with our new recovery smart contract, users only need to take five steps to recover their identities.

  • Flexibility. The BBM model combined Uport as middleware to provide a flexible service by using Uport mobile application. User can show their credentials that authorised issuer acknowledged to verifier directly instead of providing plenty of material. For example, if a user wants to rent a car, he only needs to show his driving license credential to the verifier.

  • Portability. The BBM model provides a standard interface to enable users to transports their identities across different platform and organisations.

  • Programmable smart contract. The BBM model brings the smart contract component for developers to deploy their customized smart contract. The developer can deploy their own smart contract by following the guideline  [20].

  • Interoperability. The BBM model enable multi identity standards and platforms compliance. Also, the BBM model gives users a long-lived digital identity while enabling users to use their identities in different geographical locations.

  • Integrity and confidentiality. The BBM model uses peer to peer network to ensure data integrity and confidentiality in the data sharing process.

  • Privacy Protection. The BBM model uses blockchain technology to protect on-chain data, which provide a transparent and trustworthy mechanism based on blockchain consensus protocol.

  • Accountability. The BBM model introduced the data right regulator, which regulate the organisation who used user data. If the regulator detects any data breach behaviours, the people who used the user data is accountable for their illegal behaviour.

6 Conclusion and Future Works

The BBM model is an up to date and complicated model. This paper demonstrates the groundwork for improving open banking service by using blockchain-based self-sovereign identity technology. Through this work, this paper is aim to solve the privacy issue happened in the data sharing process and consider how to recover the user’s identity once their identity device lost. The Uport does not have a perfect solution to identity recovery. We propose a new recovery controller contract to replace Uport default recovery controller contract. With the BBM model, users can manage and control their own digital identities and credentials while their privacy and data are protected.

Future research work can be divided into two parts. In the first part, we will adopt Uport platform as middleware in BBM model. It is because we can technically improve our BBM model while we are developing it into a visible platform. And we can find more research challenges that we should resolve when developing the BBM model-based platform. Also, we are going to make a standard interface to adopt other platforms to improve the portability and interoperability of the BBM model.

In the second part, we will develop a new registry contract and recovery controller contract to replace Uport default registry smart contract and recovery smart contract. It is because the existing Uport recovery contract needs at least two or three witnesses to prove the user’s identities if the user’s identity device lost. The new user is almost impossible to have two or three Uport contacts or organisation to prove their identities. Therefore, they may lose their registered identities permanently. Nevertheless, with our new registry contract and recovery contract, The issue will be fixed.