Our group heard that transaction fraud is a growing concern in our world today. We decided to come up with a solution to this problem and integrate it with the Ripple testnet as well.
What it does
FraudSense is an algorithm that utilizes multi-layer Elman Relational Neural Networks as well as heuristics to predict whether or not a transaction is fraudulent. It takes into account many factors including time, location, amount, device, proxy server and VPN detection, etc. Transactions are stored in a private blockchain ledger for cross-referencing. The blockchain ensures that transaction data is kept secure and cannot be tampered with.
How we built it
We used Google Compute and PyTorch to train our neural networks against several hand-picked datasets and generated datasets. React-Native was used to make the app, NodeJS was used to make the public-facing server and database, and Flask was used to run the backend server as well as the history blockchain.
Challenges we ran into
One major challenge we ran into was finding datasets. Every public dataset we looked at masked the column labels, making it impossible for us to use our network on any data except for the training data. We eventually had to make a compromise and hand-pick and generate data, but the possibilities are limitless with a real, unobfuscated dataset. Handling communication between multiple servers was also a challenge for us. We had to meticulously plan the architecture of our system so that the servers could exchange data smoothly. This took us a considerable amount of time as we used three different platforms for each node in our system.
Accomplishments that we're proud of
In the end, the network did train successfully on our data, and along with heuristics, it can accurately predict when transactions are likely fraudulent. We're also proud of our app, we put a lot of effort into it and it turned out really nice!
What we learned
We learned tons about machine learning, from PCA to different types of classification algorithms, to app design and using cryptocurrencies and blockchain. Hack The Hammer was an awesome experience for our team!!
What's next for FraudSense
We could reach out to different financial institutions and ask them for unmasked data so that we can produce more accurate predictions from our algorithm. We could also move the app from the Ripple testnet to the main network, and release the app to the general public as well. If we do release it to the public, we could use unsupervised or reinforcement learning to train our network on the fly as well. We could also explore different types of networks or possibly even mixes of different types of neural networks to better classify transactions.