Meet a Developer is an interview series with Burst developers from all backgrounds to get their insight on development. In this third episode, we interviewed bold and Herscht, the two minds behind the PoC Consortium’s pool software.
Could you please introduce yourselves to our readers?
bold: I have an electrical engineering background, however I ended up writing software much more than doing hardware. I have been looking into burst since around late summer 2017. Back then I was not doing lots of development, but the concept interested me a lot.
Herscht: I am Herscht, member of the Burst community since January 2018. I am not a programmer, just a math guy who likes to analyze, understand and optimize the things I am working with.
What was your first experience with Burst and the PoC Consortium?
bold: I am one of the founding members of the PoC Consortium. I discovered Burst shortly before we first joined the community – I was asked to translate the first announcement into Chinese. The announcement convinced me from the start that this is a serious and ambitious project. I love working with people having ambitions and tons of experience in the field.
Herscht: I first started as a regular Burst miner. I joined the 0-100 PoC Consortium pool when it came online with the new software. After analyzing the historical share system, I realized that it was unfair for larger miners and yielding very unstable historical shares. I contacted the PoC Consortium to work on a better solution: a fairer and more transparent historical share determination. I am not a member of the PoCC myself. Convincing rico666 to try out my proposed new share system was not easy and it showed me that he really takes the whole project very seriously, which strengthened my faith in the development team. Also, working with bold to implement and test the new share system has been very interesting and fun.
What have you done for Burst so far?
bold: I started with some Chinese translations of PoCC resources and worked a bit on the explorer. I was always helping here and there, but became really active with the new pool software.
Herscht: I did the math behind the new historical share system for the PoCC pool software. It really boiled down to a lot of simulations where I tried to predict the systems outcome as well as possible, along with analysis of actual data from the pools.
Why is the new pool software better?
bold: First of all, the new pool software is able to perform a very rapid nonce validation, which allows the validation of many deadlines in parallel with a single CPU core.
A performance issue with old pool software is that it uses the wallet’s API without making use of its underlying database. While staying compatible we also provide settings to talk to the wallet’s database directly. Many pools implemented their own custom API for miners that are too lazy to open their browser and check their stats there. We implemented an API based on Google protocol buffers that gets the stats directly from the cache without querying the database or parsing JSON files.
Another feature that we took from the btfg pool is their custom payout system. Based on messages on the blockchain miners can withdraw their burstcoins in intervals or with their own personal custom payout threshold.
Herscht: Not only that: it also distributes the historical shares more fairly. The old share system was putting big miners at a disadvantage while overpaying small miners. It is more transparent (if your mining rig doesn’t work optimally, the effective capacity will tell you). We already had some cases of miners who mined with overlapping plot files for months and only realized it now after the pool showed their reduced effective capacity. Finally, it generates much more stable historical shares, especially for smaller miners who depended on getting lucky good deadlines to increase their share in the old system.
So how does the new pool algorithm function exactly?
Herscht: The average best deadline you can find on your plots is related to your total plotsize: the average deadline is proportional to 1/PlotSize… the more PlotSize you have, the smaller your average best deadline. The pool uses this relation to estimate your total plot size from the deadlines you have submitted. With this estimate the historical share is determined as minerPlotSize / poolPlotSize. You can read the info page of the pool for more information.
Do you have plans to improve the pool software in the future?
bold: We will support pool operators who choose to use our software. We also have many plans to improve the scalability even further.
We are looking forward to your next advancements. Are you working on other Burst-related projects?
bold: Yes, but I cannot tell you more for now.
Herscht: I have some personal projects. Lately, I implemented a new automatic target deadline determination into CreepMiner which will harmonize very well with the new pool software. It will take away the hassle of setting up a reasonable targetDL from the miners and will result in better estimated effective capacities from the pool. The pull request is open, it might appear in the next CreepMiner release.
What future do you see for Burst and the PoC Consortium?
bold: A bright one. From a technological point of view Burst is going to become one of the most advanced coins, and I am fully convinced that this will positively affect the adoption, and thus the price.
Herscht: I think that every step the PoC Consortium takes to improve Burst is strengthening the faith the community puts in our coin. I am looking forward to 2018 and I think that even with such a crazy and irrational cryptocurrency market, Burst will soon have the fundamentals and technology to make that trip to the moon.
Anything you would like to add for our readers?
bold: Help each others on reddit, discord and other community channels. Don’t ask “When is this going to happen?” or “When is this going to be implemented?”, but become active and contribute!
Herscht: Yes, we need a tight-knit community to succeed. Don’t be afraid to take initiatives.
How can people track your progress?
Thank you for your time.