Note: This interview took place in April 2019, and was unfortunately never published. Fortunately, the interview document was run across again, and it’s finally being published to acknowledge the contributions of gpedro, and also give access to the software he produced to anyone that is interested.
Tell us a little about yourself and your involvement in Burst. (how long have you been a part of burst, what things you have done, how did you find burst, etc)
Hello, my name is Gonçalo Pedro, I’m Portuguese and have been around Burstcoin since the summer of 2016.
By that time, I had lost my job and was looking for alternatives that would allow me to make money, and so I discovered this thing called Bitcoin, that was truly revolutionary and that turned my mind upside down bringing me into a spiral of researching that took me around three weeks to grasp the concepts of the blockchain and decentralized networks.
I must say I felt in love by the technology and never looked back…
Somewhere along this research time I found myself thinking: “if you have GPUs mining (PoW) and RAM mining (PoS – without being the dormant funds only uses RAM and in some cases very much) why can’t exist HDD mining? That would definitely be interesting… Either crashes HDDs often or is very low-powered mining!”, and so I found the Burst World which by that time was just the old forums (now on https://burstforum.net/), a block explorer and the open source wallet and miners!
What really got me around in the beginning was, definitely, the community! It was just a group of people that was slowly paddling into the same direction, and that direction was to make something better for humanity. You can’t really have a better purpose when creating technology in my honest opinion, so that had me from the start! Then Burst had everything from a digital marketplace, asset exchange, alias system (can work as decentralized DNS), Smart Contracts and even Atomic-Cross-Chain-Transactions, meaning it could communicate with other blockchains, I was baffled!
I have to thank to everyone that helped me figure out how all of this technologies worked together! Persons like Haitch, Luxe and DaWallet really got me there…
I was involved with some of the projects management and organization with the old development Burst Team. I was also one of the fighters Burst Nation had to face since even before their inception.
Over the last two years I have been learning how to code because I have some projects that I’d like to make happen, and now I present the Watchdog project as the first big project I code for Burstcoin!
What is the Watchdog project?
The Watchdog project is an open-source distributed and scalable system that has the purpose of mapping and watch for the Burst network.
Right now we are tracking only IPs and SSL certificates with the utils-crawler (https://github.com/gpedro34/utils-crawler) and measuring uptime with the brs-crawler (https://github.com/gpedro34/brs-crawler which is a fork from https://github.com/chrulri/brs-crawler).
Other crawlers are intended to be developed namely a fork tracker, a mempool grabber, vulnerability grabber and a notification system.
Other crawlers/grabbers can also be developed in a plugin fashioned way for instance with the purpose of making a block explorer that can also be included in the API/frontend.
When was work on Watchdog started?
Watchdog project idea happened in September of 2018 and planning started in the end of December.
Since then many things keep changing in the plan and when I say we are still in beta I’m not kidding…
Most repositories are very far from their final form and new ones are yet to be made public. Everything will be dockerized in the end, scalable and distributed-ready as it should be!
Is it just you who developed it? If not, who else has contributed?
chrulri developed the initial brs-crawler (https://github.com/chrulri/brs-crawler) after some talks we had about the project. Very small additions are to be added there as it does its job quite flawlessly from what we have been seeing during the heavy testing we have been having since the beta launch.
All the other repositories are a work in progress and all have been developed by me so far. These are the ones I like to say that is code with a very short life expectancy for now!
Were there any specific difficulties in developing this that stand out or are worth mentioning?
I wouldn’t call them difficulties… challenges are what they are! ;D
Most of the challenges are due to the fact that I am not experienced in a professional fashion, neither I have gone to the university for any of this.
I’m just a guy that is constantly learning on his own and I know it reflects on the code but mostly on the developing processes. Learn to code, anyone can learn and improve these days…
Those processes are the most challenging part, specially because as I’m used to work alone, I have no one to do that heavy lifting and teach me as I go so I have to learn on my own, fail and repeat until I get it right, there is no other way!
But as some community members start to see code being released they jump to help testing, make suggestions of possible use cases, things that can work better in other ways, help with experience and pointing me to the right direction to look for progress and that is quite rewarding…
What makes this different than the PoCC network explorer? Or Zoh’s explorer?
Well for starter it is open source… But I don’t think the focus of neither of those projects is to explore the network in the way that Watchdog does…
As they are closed source, we can’t be sure on how their code operate exactly neither how they get their uptime metrics but:
-> PoCC network explorer shows that. It does uptime checks and IP Geo-location which will be just the Watchdog core repositories. The stackable plugins capabilities make the number of use cases a lot bigger.
-> Zoh’s explorer is a block explorer and while it has a network stats page, does not perform and store uptime checks to the found peers from my knowledge of his system. Again this is not the intention of Zoh’s project either…
For their use cases that is enough but for us it isn’t… Watchdog is about a framework to reliably map the entire BURST network and collect all the relevant information asked by the crawlers/getters (plugins)…
What are some unique use cases for Watchdog?
Watchdog is not a simple repository project, there are a bunch of repositories so it can be launched in different configuration modes…
A setup example resume could be to launch brs-crawler with a mariadb server and utils-crawler and you get the current setup of watchdog without API/frontend.
Then you create your own plugins (crawlers/grabbers) and fork the BURST-NetX repository or do your own API/frontend…
Easy to develop on top off and easy to ship with dockerized containers
Without being the obvious Network explorer one, further potential use cases identified so far are:
-> Automated Network logging (for instance to see how transactions spread through the network, or how forks are handled by the code)
-> Automated vulnerability checks to improve network security
-> Distributed and/or decentralized networks of crawlers to provide a list of the best peers depending on a location
-> Notification systems
-> Automated nodes interaction
-> Imagination is the sky!
What’s coming next from gpedro? Do you have any more surprises coming?
Well there is still a lot to be done regarding the Watchdog project. As for surprises I will left them as they are, surprises… ;P
The PoCC intentionally did not list public addresses of functioning peers in their explorer. Do you think doing so creates a security hazard for the network?
Not really, no. My take is that whoever would want to harm the network or a specific peer would most likely already know how to do a crawler like brs-crawler and link it to a DB.
But I’ll be honest and say that when we launched the Burst Alliance Watchdog frontend publicly I was ready for people complaining about that and I would have changed the frontend but as no one mentioned it I left it as is for the time being…