Glass Chain
Abstract
Glass Chain is a blockchain wallet tacker, focusing on wallet addresses that are moving large sums of money. The tracker allows users to keep tabs on large investors and how they are moving their currencies around.
Author
Name: Daniel van Niekerk
Student number: 46413813
Functionality
The website would allow users to register an account. They would then be able to make subscription payments to access the service.
The service Glass Chain provides is various information about tracked wallets, this would include:
- A list of multiple blockchains that wallets are being tracked in.
- A list of wallets within the chains that have substantial holdings and are active.
- An overview of a wallet’s current portfolio.
- A timeline of a wallets trade history with real world pricy conversion for both sides of the trade when the trade was made.
- This information can be further filtered down by currencies.
- These filtered graphs can then be used to generate various financial statistics and graphs such as profit/loss over time.
- Given the crypto currency scene is primarily driven by sentiment and key influencers there would be a manual effort to associate wallets with their holder. This would only be done for influencers that publicly share their wallet address. This would then extend to linking the various platforms the holder influences on.
- An option for a user to track a wallet. This would result in a notification when the holder makes a trade. And for accounts with associated platforms a notification holder makes a post to a platform.
Scope
The Minimum Viable Product would include:
- At least one tracked blockchain.
- A filtering system to track wallets that meet certain requirements, e.g. a minimum total holding and an activity metric such as a certain amount traded in the past year.
- A portfolio overview with the ability to convert currency prices to real world value using an external API for pricing data.
- A trading timeline, including all trades made by the wallet along with the real-world value of the currency at the time the trade was made for both currencies being traded.
Quality Attributes
Security
- The service would make use of a user system to authenticate users. This is sensitive information and would make the service vulnerable to data exfiltration cyber-attacks. Additionally, as main selling point of the service is summarised, accurate and timely information it provides the system would be vulnerable to tamping attacks. These threats would be mitigated through security cognisant code practices, making sure to use up to date and secure libraries and systems. Along with extensive penetration testing to uncover potential holes in the system.
Availability
- Given the timely nature of information in the trading space availability would be a crucial quality of the system. Any delays or downtime would greatly dimmish the value of the service.
- Hinderances to available would include Excessive traffic creating a bottle neck in the system, Cyber-attacks, and system crashes. To minimise these hindrances the system can undergo load testing, penetration testing and make use of redundancy and backs to help mitigate the effect of faults in the system.
Modularity
- Modularity would be an important feature as the service is continually developed. Being modular would allow the service to easily integrate additional blockchains into the tracking system as the system would make use of standard interfaces between modules and not be reliant on specific libraries. Being modular would also help with isolating errors.
Scalability
- As user traffic increases the website would need to be scalable. Bottle necks in the system could cause delays and system crashes interfering with the availability of the service.
Evaluation
Functionality Testing
- Make use of unit testing along with manual testing to test the various interfaces of the service.
Tests for real time data
- Make use of external services to test if the website is providing the most up to date blockchain data with minimal delays.
Penetration Testing on the web interface
- As the MVP does not require account registration this does not have to be as extensive but should check for vulnerable interfaces that lead to unindented and detrimental interactions.
Load Testing
- Test how the system responds to large number of client connections and ensure minimal delays and that backend services for polling and updating wallet information is unaffected.