The goal of the project was to develop a software for credit scoring with machine learning while using the open-source blockchain protocol EOSIO as the key technology.

Short description

The statement of task provided by our professor was to develop a software with the help of EOSIO. Because we received the freedom to define the rest of the parameters of the project, we decided to develop a transparent alternative to the credit scoring of Schufa Holding AG. Because of the transparent nature of Smart Contracts everyone of our potential customers would know about the procedure to calculate the ratings. A knowledge that is lacking while using the services of the Schufa Holding AG.
The assessment of the users score is achieved with the machine learning technique logistic regression. The model is trained with parameters like age, salary, number of currently taken loans, an average of the amount of days the user was behind his repayments of loans in the past, etc. Because of a lack of proper training data for our algorithm we developed a concept to generate training data and implemented it in Java. With the generated data we trained our machine learning model.
A user that wants to utilize our services creates an account on the blockchain via his tax identification number. All the core data of this user will be encrypted with a symmetric key. The symmetric key is then encrypted with an asymmetric encryption method. The goal of this second encryption is to create an opportunity to share the encrypted core data with trusted third parties.
Security is not only gained through our encryption of data. A blockchain is in principle nothing more than a distributed database which needs approval of all participants to change anything on it. Therefore, falsifying an entry on it is highly unlikely.
An additional advantage for our customers is the fact that transactions in EOS are completely free of charge. Only institutes that want to know the credit score of a user would be charged in our business model.

About the project

Our team used only technologies, libraries and development environments in which no member of the team had any prior experience. Machine Learning and working with a blockchain with the usage of EOSIO were therefore uncharted territory for all of us.
While becoming acquainted with machine learning and the logistic regression model was mainly a challenge of understanding the specific scientific field, working with EOSIO was another matter altogether. Many of the interfaces of this framework lacked proper documentation and many functionalities and inner workings had to be discovered through trial and error. Furthermore, the encryption of the core data of individual users was a challenge that had to be overcome.


Students taking part in the project:
Astrid Wolf, Benedikt Hofmann, Dennis Streit, Igor Hecht, Julian Martin, Markus Nebauer, Mathias Wilhelm, Tobias Staiger, Truong Nguyen
Supervising professor: Prof. Dipl.-Inform. Nikolaus Steger
Faculty: Faculty of Computer Science
Date of realization: e.g. WS 2019/2020