eKYC is an HyperLedger based application which is used by financial institutions to share the KYC details of all the customers. This eKYC is an application which allows any user to apply to open a new account with a financial institution registered with it. The data is stored in a shared Ledger which runs in all the financial institutions running the platform. The shared platform is built with HyperLedger Fabric. The system uses only the SIN as the identity for each user since SIN is unique. The system makes sure that the name and date of birth matches with the records – if there is any mismatch in these, the application is rejected for security reasons. If there is a mismatch with the address, the address is updated in the ledger.
- Elanie Quiambao
- Littbarski Adeh
- Nidusha Hewawilladdara
- Pradeep Kumar Prakasam
• Users wishing to open a new account must enter their personal details such as Name, Date of Birth, Address and SIN in a website.
• The data submitted by the user is temporarily saved in a cloud DB (MongoDB).
• Admin users from Financial Institution then logs in and checks if the user is registered in the Ledger using their unique SIN.
• If the user is found in Ledger, it means that they have already registered before, so the data submitted is verified with data available in ledger.
• If all the details match – application is approved.
• If there is a mismatch in Name or DOB, it means that either the user has entered the details wrong or someone is trying to steal the identity. Application is rejected.
• If there is mismatch in address – address is updated and application is approved.
- queryUser(ctx, sin) – Only SIN is used for query since each user has an unique SIN o User Found - call Verify function o User Not Found - call Create New User Function - return result - application approved
- verifyUser(ctx, name, dob, address) o Retrieve Data from HL o Compare HL data with data provided (check all 3 fields) o If name and DOB is not correct – return result - application rejected o If Address is not correct – call function updateUser – return result – application approved
- createNewUser(ctx, name, address, sin, dob, DL no)
- updateUser(ctx, sin, name, address, sin, dob, dl no)
Org 1 – Bank 1 Org 2 – Bank 2
User – Any user can create account which will be saved to MongoDB
Org 1 Admin – Users from Org 1 who can verify data and approve or reject an application
Org 2 Admin – Users from Org 2 who can verify data and approve or reject an application
\\ Clone the repo and run the following commands: \\
cd backend
yarn install
yarn start
cd eKyc-front-end
yarn install
yarn start