V12 Testing Thread

eduffield

Core Developer
Mar 9, 2014
1,084
5,320
183
moli, could you download the new version and see if it freezes on shutdown? I had to revert an earlier change that fixed that originally, but it doesn't seem to be causing issues anymore.
 

TanteStefana

Grizzled Member
Foundation Member
Mar 9, 2014
2,862
1,854
1,283
I think it will come down to whichever offers more upside. Masternode operators will have to concider if destroying the coins is better than the project being proposed. At least it they can't pay themselves with the budget, that would be much worse.
Evan, we need to keep the number of coins within that 10% of rewards or the security and trust in the system will be busted. So, I've been asking for weeks now, but never got an answer, I suppose because nobody wanted to give an answer. We must have a way to check budgets against available (10% max of block rewards) coins. We can't have a super inflationary budget (which is what you'll get) without ruining the stability of the coin! That is, everyone expects a maximum number of coins generated to be under 22 million. We can't mess that up!
 
  • Like
Reactions: flare

TanteStefana

Grizzled Member
Foundation Member
Mar 9, 2014
2,862
1,854
1,283
Define: donation generation
We're spending more than the blocks should be generating. There is apparently no cap to the superblocks. We should only be allowed to spend 10% of the block rewards, period. And that 10% has to be accountable by having been held back out of the block rewards. Not from the future, but the past.
 

MangledBlue

Well-known Member
Jun 28, 2014
1,246
678
183
USA
So our Superblocks will have an inflationary effect - at this time.....
hummm - not good


edit: we can't release that or we'll be attacked and destroyed - ugh
- well, not that bad but - ugh
 

TanteStefana

Grizzled Member
Foundation Member
Mar 9, 2014
2,862
1,854
1,283
Yes, the budget system on testnet creates a ton of extra coins. On mainnet it will reduce the total supply, unless we always utilize 100% of the budget money.

On testnet, budgets are paid every 50 blocks so that we have lots of opportunity to test the system, whereas on mainnet it will happen every 16616 blocks.
The question is, Evan, can we go over the budget. Is there a ticker that counts how many coins have been allotted to the proposal system since it started, and a stop gap so that more can not be created? In my opinion, this is required. Or we will spend more, a lot more, than we should. Why? Look at every governing body ever in the world. They always vote to spend more money. The idea for crypto is that we can't do that to ourselves. Unless you believe inflationary economy is a requirement, in which case crypto isn't the way to go. Of course, I think most coins are far to deflationary, but because so many alt coins are out there, I feel that they will be created and used if the constraints of deflation are too strong.
 

moli

Grizzled Member
Aug 5, 2014
3,255
1,830
1,183
moli, could you download the new version and see if it freezes on shutdown? I had to revert an earlier change that fixed that originally, but it doesn't seem to be causing issues anymore.
Sorry I was afk, doing it right now.
 

moli

Grizzled Member
Aug 5, 2014
3,255
1,830
1,183
eduffield - first wallet - no problem with shutting down.(win 32bit - v0.12.0.31-b6222a9)
second wallet: Same. The little window hung around for just a few seconds and then shut down. no problem
 

oblox

Well-known Member
Aug 6, 2014
1,032
537
183
Definitely do not allow overbudgeting. If the day's ideal target is 576 blocks, then the current reward for proposals should be the 10% and scale accordingly.
 

moli

Grizzled Member
Aug 5, 2014
3,255
1,830
1,183

flare

Administrator
Dash Core Team
Moderator
May 18, 2014
2,286
2,404
1,183
Germany
Define: donation generation
Donation was the wrong term here, read it "budget" :)

I was refering to this http://test.explorer.darkcoin.qa/bl...b3443ef5388e639f0b17651f538e8e2d1a313c8e79063

upload_2015-7-28_8-1-51.png

I understand that this is special to testnet, to give us a lot of coins to play with. But i want to see code to avoid that this will ever be a accepted block in mainnet.
We have a subsidy function to determine how many coins get generated

  • Block reward is controlled by: 2222222/(((Difficulty+2600)/9)^2)
and i don't feel comfortable that the budget system is currently able to generate/accept blocks, whose coinbase generation is 135 times higher than the original generation. We should have a cut-off value (10%?) which under no circumstance can be exceeded (regardless of votes)

For me the above block is invalid.
 

flare

Administrator
Dash Core Team
Moderator
May 18, 2014
2,286
2,404
1,183
Germany
Evan, we need to keep the number of coins within that 10% of rewards or the security and trust in the system will be busted. So, I've been asking for weeks now, but never got an answer, I suppose because nobody wanted to give an answer. We must have a way to check budgets against available (10% max of block rewards) coins. We can't have a super inflationary budget (which is what you'll get) without ruining the stability of the coin! That is, everyone expects a maximum number of coins generated to be under 22 million. We can't mess that up!
Yep, fully agree here - no way we can even think about adding code which is capable of (theoretically) double the number of total coins to 44M.

To be honest i always expected these coins to get derived from the original generation. As far as i remember the original idea was to stop the masternode reward increase and use the further coins for budget instead. I did not see the idea move from this to "extra coins".

EDIT: This is the original proposal

https://dashtalk.org/threads/self-sustainable-decentralized-governance-by-blockchain.4708/



Did i miss a discussion on this?
 
Last edited by a moderator:
  • Like
Reactions: tungfa

JGCMiner

Moderator
Moderator
Jun 8, 2014
360
211
113
Yep, fully agree here - no way we can even think about adding code which is capable of (theoretically) double the number of total coins to 44M.

To be honest i always expected these coins to get derived from the original generation. As far as i remember the original idea was to stop the masternode reward increase and use the further coins for budget instead. I did not see the idea move from this to "extra coins".

EDIT: This is the original proposal

https://dashtalk.org/threads/self-sustainable-decentralized-governance-by-blockchain.4708/



Did i miss a discussion on this?
I have following this closely since the beginning and there has been no discussion on over-budgeting.

Thing is though... reading Evan's comments in this thread and the Slack discussion Moli was nice enough to post, it seems very likely that the 10% limit was lifted just for testnet.

I am pretty sure eduffield will confirm this once he wakes up.:cool:
 

flare

Administrator
Dash Core Team
Moderator
May 18, 2014
2,286
2,404
1,183
Germany
I have following this closely since the beginning and there has been no discussion on over-budgeting.

Thing is though... reading Evan's comments in this thread and the Slack discussion Moli was nice enough to post, it seems very likely that the 10% limit was lifted just for testnet.

I am pretty sure eduffield will confirm this once he wakes up.:cool:
OK, granted this is special to testnet (what is the rationale anyway?) - but we need to test the final code in testnet before go live. We already had enough fuck ups with code like

Code:
if (testnet){
   walk_to_the_right();
} else {
   walk_to_the_left();
}
in the past - up to mainnet forks.
 
  • Like
Reactions: tungfa

JGCMiner

Moderator
Moderator
Jun 8, 2014
360
211
113
OK, granted this is special to testnet (what is the rationale anyway?) - but we need to test the final code in testnet before go live. We already had enough fuck ups with code like

Code:
if (testnet){
   walk_to_the_right();
} else {
   walk_to_the_left();
}
in the past - up to mainnet forks.
As far as I could understand, the frequency of the superblocks was moved up from once a month to every 50 blocks for testing purposes. As such many more coins will be generated on testnet.

As for one superblock containing more that 10% of the monthly block reward.... It could be that since more coins are being generated on testnet due to the increase in frequency of the superblocks, we are now taking 10% of a much larger number (than we would be on mainnet). Of course, there could be a bug in the code.

All I know for sure is that up to this point everybody (including Evan) has been talking about proposal funding being cut off at 10% so I doubt he has purposely made a last second change. Best just wait for him to respond...
 
Last edited by a moderator:

flare

Administrator
Dash Core Team
Moderator
May 18, 2014
2,286
2,404
1,183
Germany
As far as I could understand, the frequency of the superblocks was moved up from once a month to every 50 blocks for testing purposes. As such many more coins will be generated on testnet.

As for one superblock containing more that 10% of the monthly block reward.... It could be that since more coins are being generated on testnet due to the increase in frequency of the superblocks, we are now taking 10% of a much larger number (than we would be on mainnet). Of course, there could be a bug in the code.

All I know for sure is that up to this point everybody (including Evan) has been taking about proposal funding being cut off at 10% so I doubt he has purposely made a last second change. Best just wait for him to respond...
Ah, that makes sense: More superblocks -> more generation.

On the other hand that means: The algo to calculate the generation is fixed to a certain superblock frequency - if done right the generation amount should have been lower.
 

JGCMiner

Moderator
Moderator
Jun 8, 2014
360
211
113
Ah, that makes sense: More superblocks -> more generation.

On the other hand that means: The algo to calculate the generation is fixed to a certain superblock frequency - if done right the generation amount should have been lower.
Yep.

I haven't looked at the code, but if I had to guess I would say that rather than linking the superblock frequency and amount generated in normal blocks via some equation, Evan simply hardcoded everything for mainnet then decided later to increase the number of superblocks on testnet. This throws the generation on testnet completely out of whack, but apparently this is not a big deal. In the Slack convo he talks about resetting testnet periodically if needed.

In the end, though, I agree with you that linking the superblock frequency and the normal block generation is a cleaner way to handle the problem and would give me a bit more confidence that mainnet will be disaster free.
 
  • Like
Reactions: flare

TanteStefana

Grizzled Member
Foundation Member
Mar 9, 2014
2,862
1,854
1,283
The way I always thought it would work, was that 10% of block rewards, once it starts, are set aside for spending. We did not want those funds set aside in any account, but rather have them created in super blocks when it was time to pay them out. Even if "super blocks" are created to make payments, I think there still has to be accounting of those funds. There has to be something that shows funds are accumulating, and how much is available as well as how much is being paid out. This should be something we can see in a command.

Then, when budgets are decided upon, we can see what is being spent in reference to how much is available and project our spending needs / abilities. If we "save funds" we could splurge them on a huge event, if something came along that made sense to do. It would still be like a savings account, but no account and no coins are mined until needed. But all coins that are mined have to be available. There has to be book keeping.
 
  • Like
Reactions: flare

flare

Administrator
Dash Core Team
Moderator
May 18, 2014
2,286
2,404
1,183
Germany
This throws the generation on testnet completely out of whack, but apparently this is not a big deal. In the Slack convo he talks about resetting testnet periodically if needed.
It may be not a big deal to reset testnet, but it is a big deal that this works different on testnet/mainnet. Like i said: we had enough of these fuck ups in the past when suddenly mainnet forks on code that worked "perfectly" on testnet.
 
  • Like
Reactions: TanteStefana

TanteStefana

Grizzled Member
Foundation Member
Mar 9, 2014
2,862
1,854
1,283
Ok, I guess we have to wait for Evan to wake up and explain it, at least you guys are asking the questions now as well. I feel like I've been asking these questions for a long time and been ignored, LOL.

I think what Evan should do for testnet is make the block payments 1 X per day or hour or something to simulate 1 X per month, and keep the rewards within that 10% budget, so if we try to vote things in that go over budget, we can see if the stop gap works :)

I agree flare, and I think we can do something like ^^^ to simulate at a faster pace what reality would be like :)
 
  • Like
Reactions: flare

JGCMiner

Moderator
Moderator
Jun 8, 2014
360
211
113
The way I always thought it would work, was that 10% of block rewards, once it starts, are set aside for spending. We did not want those funds set aside in any account, but rather have them created in super blocks when it was time to pay them out. Even if "super blocks" are created to make payments, I think there still has to be accounting of those funds. There has to be something that shows funds are accumulating, and how much is available as well as how much is being paid out. This should be something we can see in a command.

Then, when budgets are decided upon, we can see what is being spent in reference to how much is available and project our spending needs / abilities. If we "save funds" we could splurge them on a huge event, if something came along that made sense to do. It would still be like a savings account, but no account and no coins are mined until needed. But all coins that are mined have to be available. There has to be book keeping.

What do you mean by accumulating? Unless I am misunderstanding, the normal block generation will be reduced 10% and those 10% (approx 8000 DASH) will be available every month for proposals. If we only have 5000DASH worth of proposals that pass that month, then 5000 DASH is generated in a superblock and the remaining 3000 are never created. I don't see where things are accumulating.

As for bookkeeping, I think a website is under development, but in the worse case you always could look at the blockchain.
 

TanteStefana

Grizzled Member
Foundation Member
Mar 9, 2014
2,862
1,854
1,283
And what keeps the proposals from going over-budget? We have to know what is available, and this changes with the reward. 50% to MN, 40% to miners and 10% to proposals.

That 10% shouldn't disappear. People didn't want those funds to go to an account for safety reasons, I understand that, but why make them disappear? We have already tightened up our coin generation to probably 19 million coins ever created. Why bring that down even more? The budget will reduce over time right along with the mining reward reduction, so it will become harder and harder to pay for infrastructure naturally (and the need to pay for infrastructure will also be reduced).

But to cut out more of the coin generation into the system just centralizes the coins to those who own them now more and more. Centralized ownership of coins is not good for a currency. People will distrust it, as they should. All coins are very centralized in ownership, we should strive to make it worthwhile for people to eventually let go of their coins - but that won't happen if their coins go up in value at such a rate that it would be stupid to sell. But if there are enough coins produced to keep inflation high enough for adoption not to cause crazy price spikes, this can be a long term coin.

Even if we spend all the coins we can, I still see the coin going up in price quite a bit, even if we use the whole 10% of the rewards for things, but I also see it flattening out, the price stabilizing 10 years out, with hopefully a nice steady rise in price/value up until then. Then Dash will be able to work as a currency instead of a block of precious metal. This is what we need. We have already deflation, that is, demand has kept up with and exceeded supply. We should try to keep it as close to balanced as possible, but already that won't happen, because when we hit the tipping point of adoption, it'll go through the roof, regardless of what we do with that 10% reward. I just think keeping supply as large as possible to help decentralize ownership is essential.

If we try to be precious metal, people won't want it eventually, and all we'll have is 1s and 0s. The ONLY value in a crypto currency is in it's eventual USE and ability to cross borders and low fees. Be greedy again now, and we will lose the game.

I'd rather see any excess given away. Have aid workers walk around Africa giving away Dash (not through any government or chief) or leave it up for grabs via a faucet. Any 3rd world person with a phone would find it worth while to take out a few duffs every hour, whereas 1st world people would soon tire of it) Spread it around, get it used by people. Make the revolution happen!

And what would these 3rd world people rather have than crypto? They wouldn't really sell it for dollars, etc... they'd start trading with it, doing what we WANT everyone to do with it.
 
Last edited by a moderator:

eduffield

Core Developer
Mar 9, 2014
1,084
5,320
183
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
 

flare

Administrator
Dash Core Team
Moderator
May 18, 2014
2,286
2,404
1,183
Germany
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, so 10% of that is 7714. That means every 16615 blocks on mainnet, we'll be allowed to create a few blocks that total that much in generation.

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
Thanks for clarification - i may have missed the memo which said "superblock frequency is different and non-standard on testnet" :)
 
  • Like
Reactions: moli

moli

Grizzled Member
Aug 5, 2014
3,255
1,830
1,183
flare - you've probably been too busy and missed this thread where Evan went from suggesting 15% to 10% for the budget system:
https://dashtalk.org/threads/vote-self-sustainable-decentralized-governance-by-blockchain.4825/

And here's where Evan decided to use the superblocks (I think this is better to avoid the US govt going after us if we hold a monetary service):
https://dashtalk.org/threads/vote-s...vernance-by-blockchain.4825/page-4#post-53665

I don't know how Tante could be confused and keeps getting confused after all the discussions and she has always been there with all her posts.

Hope everything is clear for everyone. I need to get back to my sleep. have a nice day.