V12 Testing Thread

TanteStefana

Grizzled Member
Foundation Member
Mar 9, 2014
2,861
1,854
1,283
Please read my long winded post above. And we need to test to be sure that we can NOT exceed the designated reward amount (The chart flare posted, is that old? I thought we were going 50-40-10?) Thanks :)

BTW, we can test this by simply making payment proposals fit within the constraints. We need to be sure there is a stop gap. Not that I would mind if more coins were created, but we'd ruin the trust the community has in us.

10 X a day = 576/10 = 57.6 payments at ~ 23 coins each *10% means we can't currently exceed 132 coins per payment.

So if someone makes a proposal that would pay more than that, it should be rejected. And if we make a bunch of proposals, around 10 or 15 coins per payout, then we can see if the system will reject any proposal that tips over the 132 coins mark!
 
Last edited by a moderator:

UdjinM6

Official Dash Dev
Dash Core Team
Moderator
May 20, 2014
3,637
3,536
1,183
Got the memo :)

But why did https://github.com/dashpay/dash/blob/v0.12.0.x/src/masternode-budget.cpp#L1587 still allow testnet to create a valid proposal >10% - even if the number of superblocks are increased by https://github.com/dashpay/dash/blob/v0.12.0.x/src/masternode-budget.cpp#L30 ?

Seems like some code is assuming that the superblock cycle "will be ok" :)
Not sure if I get your question right..

You linked to finalized budget check, every single proposal is checked in another place https://github.com/dashpay/dash/blob/v0.12.0.x/src/masternode-budget.cpp#L1123-L1127
Not a big deal, that code is complicated and I needed few reads through first too :)

And if you just wondering why sum of totals are more then 10% of normal monthly reward - on testnet we pretend that we have 50 blocks per month to hit budget payments more often and with that in mind - 3K is less then 10% of "monthly" reward.
 
  • Like
Reactions: moli

TanteStefana

Grizzled Member
Foundation Member
Mar 9, 2014
2,861
1,854
1,283
UdjinM6, Thank you for clarifying (with flare's interpretation) I don't understand the code, but I get it now how the payouts are getting distorted. it would still be better IMO if we simply reduced the size of payments to match so we could all tell if it's working properly.

Second question if you'd be so kind to tell me, if we don't use the entire 10% allotted at the end of the month, are all those extra coins forever lost? I think that's a bad idea. Perhaps if the "leftovers" could be given to the foundation, and maybe the foundation could maintain a fountain at the very least. We need to distribute coins as much as possible, IMO :)

update:
It seems that if all the coins available are not spent at the end of the month, they are gone forever. That's what I just got, if I understood correctly, from Evan.


Thanks for insight :)
 
Last edited by a moderator:

flare

Administrator
Dash Core Team
Moderator
May 18, 2014
2,287
2,406
1,183
Germany
Not sure if I get your question right..

You linked to finalized budget check, every single proposal is checked in another place https://github.com/dashpay/dash/blob/v0.12.0.x/src/masternode-budget.cpp#L1123-L1127
Not a big deal, that code is complicated and I needed few reads through first too :)

And if you just wondering why sum of totals are more then 10% of normal monthly reward - on testnet we pretend that we have 50 blocks per month to hit budget payments more often and with that in mind - 3K is less then 10% of "monthly" reward.
Like i wrote on slack: My only concern/point is that currently testnet does not follow

Code:
blockreward = 2222222/(((Difficulty+2600)/9)^2)
anymore. If you increase the number of superblocks/time you also need to reduce the budget generation. The way it is currently we are not able to even test the emmision curve on testnet and flaws will only show on mainnet - which is way to late.
 

moli

Grizzled Member
Aug 5, 2014
3,261
1,837
1,183
Like i wrote on slack: My only concern/point is that currently testnet does not follow

Code:
blockreward = 2222222/(((Difficulty+2600)/9)^2)
anymore. If you increase the number of superblocks/time you also need to reduce the budget generation. The way it is currently we are not able to even test the emmision curve on testnet and flaws will only show on mainnet.
You mean we need to reduce the mining reward? I think that's how it's going to be on mainnet but the masternode reward is still going to be the same except masternodes will never get the 60% as planned before, right?
 

JGCMiner

Moderator
Moderator
Jun 8, 2014
360
211
113
Second question if you'd be so kind to tell me, if we don't use the entire 10% allotted at the end of the month, are all those extra coins forever lost? I think that's a bad idea. Perhaps if the "leftovers" could be given to the foundation, and maybe the foundation could maintain a fountain at the very least. We need to distribute coins as much as possible, IMO :)

Thanks for insight :)
I not sure how you missed it, but that debate raged on for weeks on end about 2 months ago or so. A brief summary is below...


...
The problem is, who gets to decide where the coins go and why?

In the end mn owners didn't want to be forced to send the coins originally earmarked for them to anybody that didn't get their approval via voting (that includes the foundation) and they also didn't want the coins accumulating in some address as that would need to be protected from hackers (not to mention that you would need to pick someone to hold those coins).

Some mn owners thought that unused coins should to go back to them because they were originally supposed to get 60%. Others were concerned that if unused budget money went back to the mn owners then they would be incentived not to vote for any proposals.

Finally, Evan suggested that coins not needed to fund the proposals would simply not be generated. People agreed on this idea and it was put to a mn vote. And it passed...
 
Last edited by a moderator:
  • Like
Reactions: moli

flare

Administrator
Dash Core Team
Moderator
May 18, 2014
2,287
2,406
1,183
Germany
You mean we need to reduce the mining reward? I think that's how it's going to be on mainnet but the masternode reward is still going to be the same except masternodes will never get the 60% as planned before, right?
I am not talking about reducing the mining reward, i am talking about fixing the payment schedule. This is what we agreed on:

upload_2015-7-28_11-56-39.png


This should be the same for testnet and mainnet, regardless how many superblocks are generated (for testing purposes) - otherwise testnet differs from mainnet and the tests are not valid.

Currently we are seeing

Normal block

40% miner reward
60% masternode reward

Or if we account 10% as "escrowed budget"

36% miner reward
54% masternode reward

e.g. http://test.explorer.darkcoin.qa/bl...c45d18d27ee7d7185dbcef068450bc11fb1ebb4f5181c

upload_2015-7-28_12-5-16.png

Superblock (each 50 blocks)

http://test.explorer.darkcoin.qa/bl...ce7979abbd0dbfcf87e846a55aebd3c1df40e4f23c545

100% miner reward
270% bugdet payout

upload_2015-7-28_12-11-35.png

which is broken: Where is the masternode reward in this block? Why have 49x 23.2 + 3164 = 4300 tDASH been mined in the last 50 blocks, when it should have been 50x 23.2 = 1160 tDASH?

Additionally there seems to be a flaw in the superblock generation, as we see this quite often

Block 90850 --> http://test.explorer.darkcoin.qa/bl...ce7979abbd0dbfcf87e846a55aebd3c1df40e4f23c545 --> 3141 budget payment to "evan-fund", no masternode reward
Block 90851 --> http://test.explorer.darkcoin.qa/bl...dd805fd018acb943df2a1955c874f6dd29fe63d14434b --> 500 budget payment to ""moo-feed", no masternode reward
Block 90852 --> http://test.explorer.darkcoin.qa/bl...9f9ccbcb835f669b8ecaf71a3b9b8f549d5580535cd53 --> 500 budget payment to "COOLEST_APP", no masternode reward

Three budget payouts in 3 consecutive blocks? Why are masternode rewards skipped on a superblock?


Like TanteStefana i need to stress as well: This has to work rock solid. If we mess up the emission curve by a flaw in the generation/subsidy algo it will get worse than the everlasting "instamine" accusations.
 

Attachments

UdjinM6

Official Dash Dev
Dash Core Team
Moderator
May 20, 2014
3,637
3,536
1,183
I am not talking about reducing the mining reward, i am talking about fixing the payment schedule. This is what we agreed on:

View attachment 1648


This should be the same for testnet and mainnet, regardless how many superblocks are generated (for testing purposes) - otherwise testnet differs from mainnet and the tests are not valid.

Currently we are seeing

Normal block

40% miner reward
60% masternode reward

Or if we account 10% as "escrowed budget"

36% miner reward
54% masternode reward

e.g. http://test.explorer.darkcoin.qa/bl...c45d18d27ee7d7185dbcef068450bc11fb1ebb4f5181c

View attachment 1649

Superblock (each 50 blocks)

http://test.explorer.darkcoin.qa/bl...ce7979abbd0dbfcf87e846a55aebd3c1df40e4f23c545

100% miner reward
270% bugdet payout

View attachment 1651

which is broken: Where is the masternode reward in this block? Why have 49x 23.2 + 3164 = 4300 tDASH been mined in 50 blocks, when it should have been 50x 23.2 = 1160 tDASH?

Additionally there seems to be a flaw in the superblock generation, as we see this quite often

Block 90850 --> http://test.explorer.darkcoin.qa/bl...ce7979abbd0dbfcf87e846a55aebd3c1df40e4f23c545 --> 3141 budget payment to "evan-fund"
Block 90851 --> http://test.explorer.darkcoin.qa/bl...dd805fd018acb943df2a1955c874f6dd29fe63d14434b --> 500 budget payment to ""moo-feed"
Block 90852 --> http://test.explorer.darkcoin.qa/bl...9f9ccbcb835f669b8ecaf71a3b9b8f549d5580535cd53 --> 500 budget payment to "COOLEST_APP"

Three budget payouts in 3 consecutive blocks?


Like TanteStefana i need to stress as well: This has to work rock solid. If we mess up the emission curve by a flaw in the generation algo it will get worse than the everlasting "instamine" accusations.
40/60 - historical testnet rule: https://github.com/dashpay/dash/blob/v0.12.0.x/src/main.cpp#L1582
4300 vs 1160 - because it check against real month instead of faked one, I agree math there https://github.com/dashpay/dash/blob/v0.12.0.x/src/masternode-budget.cpp#L736 could be linked to https://github.com/dashpay/dash/blob/v0.12.0.x/src/masternode-budget.cpp#L25 instead - make a PR ;)
"3 consecutive blocks?" - yes, that's how it's designed - it's up to 100 blocks per budget cycle (and yes, most likely testnet will blow up after we have > 50 proposals in final budget:rolleyes:)

To make it clear - I appreciate your review and I'm completely agree that we need to state clearly what model we arrived to at the end of testing:
- block generation: rules, reward schedule, reward split etc;
- vote process: describe process in simple steps, what rules are, how approval/removal works, how many %% needed at each step etc.
- smth else?
 
  • Like
Reactions: moli and flare

flare

Administrator
Dash Core Team
Moderator
May 18, 2014
2,287
2,406
1,183
Germany
Please fix that to mainnet rule :D


4300 vs 1160 - because it check against real month instead of faked one, I agree math there https://github.com/dashpay/dash/blob/v0.12.0.x/src/masternode-budget.cpp#L736 could be linked to https://github.com/dashpay/dash/blob/v0.12.0.x/src/masternode-budget.cpp#L25 instead - make a PR ;)
I am QA, i report bugs - i will rather not fix them :tongue:


"3 consecutive blocks?" - yes, that's how it's designed - it's up to 100 blocks per budget cycle (and yes, most likely testnet will blow up after we have > 50 proposals in final budget:rolleyes:)
But where did the masternode payment in these blocks go?


To make it clear - I appreciate your review and I'm completely agree that we need to state clearly what model we arrived to at the end of testing:
- block generation: rules, reward schedule, reward split etc;
- vote process: describe process in simple steps, what rules are, how approval/removal works, how many %% needed at each step etc.
- smth else?
I fully agree, and that's why I'd like to have testnet as close as possible to mainnet.

So If you ever have some spare time you could dig into the AuXPoW code of Doge/Namecoin/Viacoin so that we can start to merge mine testnet (tDash) with mainnet (Dash) so that even the hashrate is the same ;)
 
  • Like
Reactions: moli

UdjinM6

Official Dash Dev
Dash Core Team
Moderator
May 20, 2014
3,637
3,536
1,183
Please fix that to mainnet rule :D
There is no real issue with that, you just have to keep in mind that % is different but the rule is the same. We can change it on next testnet restart though but I don't see it as a necessary one tbh.
I am QA, i report bugs - i will rather not fix them :tongue:
Oh, cmon, I know you can code :tongue:
But where did the masternode payment in these blocks go?
Nowhere, there is no reward for MN in superblocks, mn reward queue is on hold and will continue after budget has been completely paid.
I fully agree, and that's why I'd like to have testnet as close as possible to mainnet.
So If you ever have some spare time you could dig into the AuXPoW code of Doge/Namecoin/Viacoin so that we can start to merge mine testnet (tDash) with mainnet (Dash) so that even the hashrate is the same ;)
:what: Let's see if someone will make a proposal like that once dgbb is live on mainnet :D
 
  • Like
Reactions: moli

flare

Administrator
Dash Core Team
Moderator
May 18, 2014
2,287
2,406
1,183
Germany
Oh, cmon, I know you can code :tongue:
:tongue:


Nowhere, there is no reward for MN in superblocks, mn reward queue is on hold and will continue after budget has been completely paid.
Ah, ok so if the payment is on hold i am fine with that - otherwise you'll have to explain to the masternode operator why the payment he has been waiting for 5 days has been skipped :cool:
 

eduffield

Core Developer
Mar 9, 2014
1,084
5,319
183
v0.12.0.32

- Masternode testnet budgets are now non-inflationary, max budget per 50 blocks is ((nSubsidy/100)*10)*50, or 25 DASH.
- We'll need to remake all of our budgets, please don't make any budgets above 5 DASH so we can have a few working at the same time
- Budgets commands have changed slightly:

c2 mnbudget prepare one url 5 1750 xx9FwiqeRbuxBn5Sh3SNeoxmgpwQNSuMC4 10 true
{
"fee_tx" : "514a3ad0319c1130573323dd9f863f7cc43ff039dd5c88e3a27d8dba5778a0d6",
"time" : 1438097546
}

- You'll need to grab fee_tx and time, the add them to the end of submit like so:

c2 mnbudget submit one url 5 1750 xx9FwiqeRbuxBn5Sh3SNeoxmgpwQNSuMC4 10 514a3ad0319c1130573323dd9f863f7cc43ff039dd5c88e3a27d8dba5778a0d6 1438097546

- Then it should appear, but it won't qualify to make it into a budget for another 30 minutes (1 day on mainnet):

mnbudget show
{
"one" : {
"IsEstablished" : false, // this means it's not mature enough to make it into a budget yet
}
}

Linux32:
https://dashpay.atlassian.net/build...n-linux-dash-dist//dash-0.12.0-linux32.tar.gz

Linux64:
https://dashpay.atlassian.net/build...n-linux-dash-dist//dash-0.12.0-linux64.tar.gz

Mac:
https://dashpay.atlassian.net/build...n-osx-dash-dist//dash-0.12.0-osx-unsigned.dmg

Win32:
https://dashpay.atlassian.net/build...1/gitian-win-dash-dist//dash-0.12.0-win32.zip

Win64:
https://dashpay.atlassian.net/build...1/gitian-win-dash-dist//dash-0.12.0-win64.zip
 
Last edited by a moderator:

AjM

Well-known Member
Foundation Member
Jun 23, 2014
1,335
571
283
Finland
v0.12.0.32-ffaedc1
DS mixing is still broken.
DS mixing does nothing but sitting idle and session timed out, no mixing.
New fresh wallet, new downloaded blockchain.
 

TanteStefana

Grizzled Member
Foundation Member
Mar 9, 2014
2,861
1,854
1,283
I don't think anyone has their masternodes up an running yet. I'm reindexing mine and will have 3 up and running soon :)

Ok, started
 

the-baker

Member
Mar 12, 2015
70
70
58
There will be no inflationary effect on mainnet, when there's 1 set of superblocks per month totally 8000 DASH or less. The effect on the coin generation will actually be deflationary. These superblocks are allowed to happen 10 times a day right now, however on mainnet they will be once per month.

There's an average of 553 blocks per day on mainnet (60*24/2.6), which means we have 16615 blocks per month. To not be inflationary, we'll reduce the block reward by 10% each block . Total monthly generation can be calculated as 553*30*5*.93 = 77143 (minimum), so 10% of that is 7714 (minimum). That means every 16615 blocks on mainnet, we'll be allowed to create a few blocks that total that much in generation. We'll eliminate 10% of the total reward, but we'll only be allowed to create the minimum reward. For example, if we average 8DASH per block and reduce the block reward by 10k DASH, we'll still only recreate up to 8k DASH. If we only have budgets approved for 3k, that will result in the other 7k DASH never being created at all, a deflationary effect.
But why does the budget logic have to influence the coin supply at all? Couldn't the the difference (the 7k in your example) be distributed as mining reward for all following blocks until the next superblock is created?
 

TanteStefana

Grizzled Member
Foundation Member
Mar 9, 2014
2,861
1,854
1,283
There will be no inflationary effect on mainnet, when there's 1 set of superblocks per month totally 8000 DASH or less. The effect on the coin generation will actually be deflationary. These superblocks are allowed to happen 10 times a day right now, however on mainnet they will be once per month.

There's an average of 553 blocks per day on mainnet (60*24/2.6), which means we have 16615 blocks per month. To not be inflationary, we'll reduce the block reward by 10% each block . Total monthly generation can be calculated as 553*30*5*.93 = 77143 (minimum), so 10% of that is 7714 (minimum). That means every 16615 blocks on mainnet, we'll be allowed to create a few blocks that total that much in generation. We'll eliminate 10% of the total reward, but we'll only be allowed to create the minimum reward. For example, if we average 8DASH per block and reduce the block reward by 10k DASH, we'll still only recreate up to 8k DASH. If we only have budgets approved for 3k, that will result in the other 7k DASH never being created at all, a deflationary effect.

On testnet the superblock frequency was changed from 16615 to 50, or 332 times the frequency. This is highly inflationary and NOT going to happen on mainnet. We just needed a lot of opportunity to test this on testnet before being sure it was secure and working properly.

Sorry for the confusion, i'm not sure where this message got lost
Once again, I have to object. Any more deflation just centralizes this coin to existing holders more and more. If we want Dash to succeed as a currency, we need to get coins distributed, and making it so that even fewer coins are generated (albeit this will probably be less than 3% of total) is bad. Even if we do give aways, it would be far healthier in the long run for Dash. The Foundation is already tax free, they can handle give aways in a faucet or as prizes in competition without fear of being taxed for handling the coins.

Please! Lets not be short sighted! In the long run, if there is real adoption, there will be more value to this coin. More adoption = more buying pressure = higher coin value. So, though I personally want to see this coin take business away from the banks and control the government because I'm a libertarian capitalistic nut case, What I'm suggesting will actually increase the value of Dash, more so than letting it stagnate with a few thousand holders (not even users).

So if any excess funds not generated for proposals could be deposited into even just a faucet run by the foundation, it would help spread the use of the coin and keep the coin generation as it is now.
 

eduffield

Core Developer
Mar 9, 2014
1,084
5,319
183
Once again, I have to object. Any more deflation just centralizes this coin to existing holders more and more. If we want Dash to succeed as a currency, we need to get coins distributed, and making it so that even fewer coins are generated (albeit this will probably be less than 3% of total) is bad. Even if we do give aways, it would be far healthier in the long run for Dash. The Foundation is already tax free, they can handle give aways in a faucet or as prizes in competition without fear of being taxed for handling the coins.

Please! Lets not be short sighted! In the long run, if there is real adoption, there will be more value to this coin. More adoption = more buying pressure = higher coin value. So, though I personally want to see this coin take business away from the banks and control the government because I'm a libertarian capitalistic nut case, What I'm suggesting will actually increase the value of Dash, more so than letting it stagnate with a few thousand holders (not even users).

So if any excess funds not generated for proposals could be deposited into even just a faucet run by the foundation, it would help spread the use of the coin and keep the coin generation as it is now.
I'm definitely not opposed to what you're saying there, if the money is available we should use it. I'm hoping the budget system is the real answer to decentralization, because I can't personally control what happens and this system should function on the "wisdom of the crowd", which is usually better than 1 persons idea of what should happen. I like your idea about givaways and other contests to get the coins out there, that's why this budget system is going to work ;)
 

TaoOfSatoshi

Grizzled Member
Jul 15, 2014
2,768
2,616
1,183
Dash Nation
www.dashnation.com
I'm definitely not opposed to what you're saying there, if the money is available we should use it. I'm hoping the budget system is the real answer to decentralization, because I can't personally control what happens and this system should function on the "wisdom of the crowd", which is usually better than 1 persons idea of what should happen. I like your idea about givaways and other contests to get the coins out there, that's why this budget system is going to work ;)
Yes, if the time comes where we can't find a good project to spend money on (not going to be a problem for a long time), just propose the faucet idea for the budget, TanteStefana! [Light bulb...] I'll vote for it! :D

We could name it "Tante's Coin Distribution Fund" :)
 

moocowmoo

Bovine Bit-flipper
Foundation Member
Jun 15, 2014
483
603
263
masternode.me
Dash Address
XmoocowYfrPKUR6p6M5aJZdVntQe71irCX
How am I screwing this up please?

mnbudget prepare TScherryfarm2
http://www.dashpay.io/ts.json 4 91700
yL7WTtehXs7w5wsyqGMpkdESM9W1ejHRvi true

Error: Error parsing JSON:http://www.dashpay.io/ts.json
you're missing the monthly payment amount

"Correct usage is 'mnbudget prepare proposal-name url payment_count block_start dash_address monthly_payment_dash [use_ix(true|false)]'"

so:
Code:
mnbudget prepare TScherryfarm2 http://www.dashpay.io/ts.json 4 91700 yL7WTtehXs7w5wsyqGMpkdESM9W1ejHRvi 10 true
edit: forum alerts not working for some reason.
 

TanteStefana

Grizzled Member
Foundation Member
Mar 9, 2014
2,861
1,854
1,283
I'm definitely not opposed to what you're saying there, if the money is available we should use it. I'm hoping the budget system is the real answer to decentralization, because I can't personally control what happens and this system should function on the "wisdom of the crowd", which is usually better than 1 persons idea of what should happen. I like your idea about givaways and other contests to get the coins out there, that's why this budget system is going to work ;)
Will it be possible to force the foundation to do this via a proposal? Or do we need an official board member to initiate this? I don't want to touch any coins (or ever be in control over them!)


And thanks guys, I've got it so far, awaiting my 6 confirmations now
 
Last edited by a moderator:

TanteStefana

Grizzled Member
Foundation Member
Mar 9, 2014
2,861
1,854
1,283
Ok, I've resubmitted my Cherry Farm, Yaaay! Please vote for me :)

dash-cli mnbudget vote d2e9de5267fce33e4a7ab752def6a5183f543bb8b792a97979cfd5eea8364049 yes