Update 6: The New Age is here!
Hi folks! It’s been two weeks since you heard something from us, so let’s update you all about our progression so far.
The last two weeks we have been busy refactoring code, and optimising some of the webapp backend. As you all probably know we went live on October the 29th (If you haven’t seen our website yet, take a look at www.dutchdelegate.nl ). This included cool features, such as setting your payout to daily or monthly. However, we ran into some bugs that didn’t process these changes properly. To tackle these problems, Charles debugged for a few days, refactored and standardised blockchain-webapp interactions.
Right now the payouts are distributed slightly differently than before: every six hours, we calculate who should receive how much. Then we determine if that person hasn’t received a payout for x amount of seconds. If the person has set their payout frequency to daily; x = 24 hours in seconds minus the calculation time it takes. The server then attempts to send the transaction. If the transaction fails, it will go through the same calculations again six hours later, check if you should receive a payout, and send it to you.
If you are a new voter and you set your payout to weekly on the 17th of November 16:00, then the script will calculate how many minutes you haven’t received payout until the time is equal to a week in seconds. This amount of time will be reached on the 24th of November 16:00. So, on the 24th of November at 16:00 our script detects that you haven’t received a payout since a week, thus it will then send you your reward for that week. This same logic applies to daily and monthly. (*Note: the script calculates every six hours what your reward is on that exact time.)
Furthermore, our own script uses True-blockweight (TBW)! We felt that it was important to mention this, since we recently saw a post from Biz_Classic pointing out that so many delegates weren’t using this. Let me quote biz_classic on why this is important for you as a voter and how TBW prevents this:
“Most delegates are using naive payout scripts that look at all current voters and calculates how much each voter is owed for the last day or week, for example. Pool hoppers are people who switch their vote to a delegate right before that delegate pays out so they get paid for the full day or week worth of forging even though they just joined the pool recently. If the pool hopper’s stack is large enough (they usually are to afford tx fees), they end up taking a large percentage of the payout by diluting the pool and stealing from honest voters by reducing their payout.”
How does True-blockweight prevent this?
“TBW looks at the blockchain for each block forged by a delegate and builds up a history of how much Ark each voter had for each of those blocks. Using that information we can calculate how much of the 2 Ark block reward to distribute to each voter for each block. Having access to perfect block-level data means if a hopper joins the pool right before payouts are sent they’ll only be credited for the few blocks they did help the delegate forge in the short time they’ve been voting. This also stops hoppers that have multiple wallets voting for multiple delegates as those wallets would only be credited for the Ark they have during the time the hopper deposited their funds.”
Thus, true-blockweight makes pool hopping impossible and ensures that all our voters get the rewards they deserve.
These were our major updates for the last couple of weeks. It is important to remember that software development is an iterating process with continuous improvement. That means we are still updating the webapp every week.
Next we have started providing custom solutions to Ark investors, who for example require scripts to calculate their profits etcetera. We will be incorporating these functionalities in the webapp as well for our voters (free of charge of course). If you would like certain additional functionalities, make sure to send us an email and we will discuss it.
Thank you all very much for supporting us. Don’t forget to look at our website www.dutchdelegate.nl and feel free to contact us any time if you have a question, regardless of the topic.
Have a nice week!
The Dutchdelegate team
#Slack: @rudy, @charles, @rhmral