The domain name system of today has some shortcoming.
.com domains have gotten significantly fewer, driving price for the remaining ones up. Some people squat on hundreds of domains without using them and reducing the chances of them being used for something good. And the DNS isnt very transparent. We don't know how much a lot of websites cost and can only rely on exaggerated media accounts.
I want to prevent that happening for the ENS, the DNS of the future. And hopefully grow to monitor more DApps in the hopes of detecting fraud or malicious activity.
Also due the way ENS name reg works, one can loose their domain name if theyre not paying attention and miss the time when they need to take action. We can alert and remind them ideally for a small fee.
What it does
Monitors events on the ethereum block chain and helps indicate where malicious or incorrect activity is occurring, hopefully helping to detect fraud. This kind of continual streaming data can also discourage people hoping to launder money through infrastructure components in Ethereum. It also gives novice investors another data point to use in their decision making.
How I built it
Built a frontend with truffle-webpack first to evaluate idea and look at and analyze the data. HTML,CSS,JS, webpack, web3js Then got a fullnode since the frontend app wasnt fully capable, tried both Parity and Geth, settled on Geth this time. Added Elasticsearch to store the data in. Used Kibana to visualize. ES and kibana are in docker containers and spun up w/ docker swarm right now.
Challenges I ran into
Geth needs to sync the whole blockchain or a large majority for
web3.events functions to work.
Traversing the chain to get this information is made harder by the unwieldily callbackish nature of JS.
Documents across the eco-system seem to vary with some mentioning features that dont exist yet or in your local version or doing a bad job of recording the functions they recently added.
Accomplishments that I'm proud of
Got elasticsearch and kibana working properly Managed to try out different prototypes and build a PoC while being very sleep deprived
What I learned
Geth needs most of the blocks to fire event watchers. infura doesnt allow handling of eventlogs
What's next for DWHOIS
- Implement IPSEC between the main containers, geth, ETL script, kibana and elasticsearch using strongswan. This should allow others to also use the env and tools maybe with their own ETL scripts or dashboards.
- Hoist them on a server with enough space to comfortably carry the full ethereum blockchain, laptops dying
- Add more charts and graphs and ways of doing visualizations
- Improve the ETL script to increase speed
- Try this project with parity instead as the local full node
Fintech -> Uses and monitors blockchain events, attempts to keep ENS domain prices steady and stable and can potentially be used to monitor larger instances of fraud or malicious activity on-chain. Diversity (sunlife) -> ENS allows individuals to bid on domains that would be monetarily out of their reach on the DNS. We can improve that experience and prolong cheap prices by tracking bad actors allowing a more diverse group to ideally hold important websites and names. Fixing Financial literacy -> With the cryptocurrency gold rush as it is, a lot of people will invest in and lose money in toxic ICOs. This can prevent that by adding an extra data point for potential novice investors. Additionally this re-introduces some due diligence that would be ignored by the founders since "the data is public on the blockchain", albeit hard to impossible to read. Best startup idea -> Monetization for analytics in this space is fairly simple since we can charge to monitor contracts that arent part of infrastructure, and additionally charge to store the results of these analysis in a distributed system and there;s a large demand for tools in this space due to the current lack thereof.