• Forum has been upgraded, all links, images, etc are as they were. Please see Official Announcements for more information

December 2015 Budget Proposal

This is a valid point. It takes a tiny percentage of upvotes to approve a budget item at this point. It's very possible for a small group of people to completely control this. Downvotes have no impact on that threshold. It's basically a "pass everything and leave it completely open-ended unless there is a wildly overwhelming opposition threshold which can't be reached based simply on abstaining volume alone, so; pass everything money hose without ASICs."

Don't get mad. It's the truth. Whether we believe the matter to be benevolent, or not, is irrelevant. The blockchain currently resembles a wide-open fire hose with no one manning the nozzle....

We had a protracted discussion about pork barrel system. The current implementation of the budget system is actually worse than all of the bad scenarios there imagined put together...
......
Perhaps the solution is to downvote proposals until they are adequately communicated, displayed, put somewhere that we can be aware of it, clearly, anything... Beuller? Beuller?
....
Gentoo has a cool news system built directly into emerge (it's package handler). No GUI BS. Right in the console, where all the headless Masternodes dwell... Adopting a similar announcement system would keep us up to date. It keeps people aware of what's going on without them having to dig through forums for information that may or may not even be there...

I believe the problem is that the threshold to get a yes vote passed is only 10%. Originally, we were asking for a supermajority. Something had to be really good to get everyone to agree. I think even a simple majority might not work without considerable advertising to vote. I would think a 30% threshold would get the control out of the "inside mn owners". A 30% will delay the voting a few weeks but should be attainable based on previous votes..

Downvoting won't work. You would need a large downvote 45% to stop proposals - do any proposals even have 45% of the votes yet? It shouldn't be a requirement that masternodes stop a proposal anyway. Only good proposals should pass and they get voted when the right amount of masternodes vote yes.

Maybe a single payout proposal has a 20% threshold. An multimonth proposal would have a 30% threshold. The proposal that worries me is the public awareness(which is not specific) that overlaps with the conferences/dash.org.

Dashwhale.org has a nice listing of proposals along with comments. Rango is planning to implement email notifications when a new proposals is added. There is also a mobile app too.
 
There needs to be some kind of squeaky wheel that gets in the face of masternode operators.

While the GUI client for "normal" users needs to be friction-free, I'd suggest a page from Gentoo's emerge package manager. Major changes have a rudimentary newsfeed announcement that shows up in the CLI of emerge so that any user is notified of things that might affect their system. You are notified of news relating to your installed packages right in your face in the package manager as you are using it. If you choose to ignore it, well, that's on you and you can't say nobody warned you.

If MNs had a stdout print announce that was also echoed in debug.log of "unread budget proposals" or something... Something that gets attention during other operations such that it isn't required that an MN operator spend brain and life time polling for information that may or may not even exist... Some kind of squeaky wheel that lets us know there's something we need to have a look at, get informed about, and make a decision upon. GUI "fat stack" wallets could do similar. These proposals are time sensitive, and we're temporally disconnected from it.

It is one thing to actively seek educational material. Quite another to constantly be trolling for "is there any new budget item? Where do I find it if there is?"

I realize there's a website being made for this... But, still, that requires I go check the website. Can't the daemon check the website and have an "Unread time-sensitive budget items exist. Click here to rectify the fact that you're not "with it," man!!"

Is it real so hard to add a "read?" tag to my masternode-many wallet's fingerprints for the budget items?

ADDCOLUMN "read" BOOLEAN DEFAULT FALSE

if database.table.my.left.nut.read == FALSE
print "$budgetfingerprint"
else
suckit
 
I believe the problem is that the threshold to get a yes vote passed is only 10%. Originally, we were asking for a supermajority. Something had to be really good to get everyone to agree. I think even a simple majority might not work without considerable advertising to vote. I would think a 30% threshold would get the control out of the "inside mn owners". A 30% will delay the voting a few weeks but should be attainable based on previous votes..

Downvoting won't work. You would need a large downvote 45% to stop proposals - do any proposals even have 45% of the votes yet? It shouldn't be a requirement that masternodes stop a proposal anyway. Only good proposals should pass and they get voted when the right amount of masternodes vote yes.

Maybe a single payout proposal has a 20% threshold. An multimonth proposal would have a 30% threshold. The proposal that worries me is the public awareness(which is not specific) that overlaps with the conferences/dash.org.

Dashwhale.org has a nice listing of proposals along with comments. Rango is planning to implement email notifications when a new proposals is added. There is also a mobile app too.
The "delay" is only a result of failure to promulgate information. I outlined a simple way to have a "squeaky wheel" notification in any client who contains a valid mnprivekey variable in it's dash.conf file... We could at least be getting notifications that there's a new budget on the 'net and google the fingerprint for info... Crude, but it'd work. And even my dumb ass could implement that...

Hell, you could plug the fingerprint string into a POST code link to here: http://178.254.18.153/~pub/Dash/masternode_payments_stats.html and instantly stick it in your face.

The way the current budget system approves things is wildly unacceptable. But the excuse used for letting it be so is very easy to rectify, thus, there's no excuse for not fixing both.

Immediately. there could be a 0.12.0.56 to handle this in about 30 minutes time.

How long have I waited to say this since it was implemented? Don't anyone dare accuse me of being unreasonable.
 
There needs to be some kind of squeaky wheel that gets in the face of masternode operators.

While the GUI client for "normal" users needs to be friction-free, I'd suggest a page from Gentoo's emerge package manager. Major changes have a rudimentary newsfeed announcement that shows up in the CLI of emerge so that any user is notified of things that might affect their system. You are notified of news relating to your installed packages right in your face in the package manager as you are using it. If you choose to ignore it, well, that's on you and you can't say nobody warned you.

If MNs had a stdout print announce that was also echoed in debug.log of "unread budget proposals" or something... Something that gets attention during other operations such that it isn't required that an MN operator spend brain and life time polling for information that may or may not even exist... Some kind of squeaky wheel that lets us know there's something we need to have a look at, get informed about, and make a decision upon. GUI "fat stack" wallets could do similar. These proposals are time sensitive, and we're temporally disconnected from it.

It is one thing to actively seek educational material. Quite another to constantly be trolling for "is there any new budget item? Where do I find it if there is?"

I realize there's a website being made for this... But, still, that requires I go check the website. Can't the daemon check the website and have an "Unread time-sensitive budget items exist. Click here to rectify the fact that you're not "with it," man!!"

Is it real so hard to add a "read?" tag to my masternode-many wallet's fingerprints for the budget items?

ADDCOLUMN "read" BOOLEAN DEFAULT FALSE

if database.table.my.left.nut.read == FALSE
print "$budgetfingerprint"
else
suckit
That still wouldn't work for me. I don't run my GUI all that often or want to remember check websites. I need an email or text telling me about a new proposal. That should be doable from the masternode daemon. Do your lookup every 60 minutes and if there is a new one ssmtp an email with "check for a new proposal".

Moocowmoo could do this in like 2 minutes with his updater. Shoot, maybe I can figure this out. Research underway.....
 
That still wouldn't work for me. I don't run my GUI all that often or want to remember check websites. I need an email or text telling me about a new proposal. That should be doable from the masternode daemon. Do your lookup every 60 minutes and if there is a new one ssmtp an email with "check for a new proposal".

Moocowmoo could do this in like 2 minutes with his updater. Shoot, maybe I can figure this out. Research underway.....
It would be nice to not tie any more identifying info into it. I ask for something even less complicated which can be done in console the same way Gentoo does it in emerge. Make it fancier if you must... But, I really don't want to get an email or a text message. The daemon should do this without attaching itself to other information, let that be optional. Emerge doesn't ask me for my email, my DNA, or how many burritos I ate last Thursday.

I thought DASH was about privacy? Why not aim to preserve that in every aspect?

I'm not on dashwhale. I'm not going to be. This should be handled internally, without having to sign up for an account, give out my info, etc... That's not meant to knock the service trying to fill the vacuum. Things like dashwhale and dashninja are invaluable, but only because DASH is failing to do it itself...

This concept has been an absolutely essential since the first thought of self-governance, yet where is it? It's like buying a house, but the walls, floor, and roof are optional, not included, and haven't been invented yet...

I'm not expressing anger, entitlement, etc... Just that there seems to be no sense of urgency over a hair-on-fire level of feature deficiency... It's not like this budget thing was thought of 2 days ago and nobody got around to it yet... Your hair is on fire, man! You can't ignore that for 4 months!

The price is going up, so who cares? Duh, this Mexico bit is drawing eyeballs. Eyeballs that can see this "WTF?" hole in it... If you're going to stand up and draw attention to yourself, make sure your zipper is up and your you-know-what isn't hanging out of your pants... ...it might drag on the concrete and that hurts. :p

GeorgeM needs to do up an image of Evan with his hair on fire... Super Sayan Level 12? Cue the "0ver 9000" meme...

Take my simplistic idea, and let services build on top of it for those not concerned. I realize I could parse the data myself. And I'm all for not being lazy as fuck. But this is a lot like an air compressor with no pressure switch. It just runs and runs and runs until you unplug it, or it explodes... It's got to have some kind of self-regulating feedback so I don't have to sit there flipping the switch all the time.

I think the best way to say this is that DASH has made itself biologically extensible. Even as a headless daemon, the Masternode Operators are part of the program now. But, none of the essential variables are being passed to their brains

10 acknowledge important data without which the system will fail
20 hide it
30 GOTO 10

Cool loop, bro.

This would be better:

10 acknowledge important data without which the system will fail
20 provide this data to the brain that decides what to do with it
30 GOTO 10
 
Last edited by a moderator:
It would be nice to not tie any more identifying info into it. I ask for something even less complicated which can be done in console the same way Gentoo does it in emerge. Make it fancier if you must... But, I really don't want to get an email or a text message. The daemon should do this without attaching itself to other information, let that be optional. Emerge doesn't ask me for my email, my DNA, or how many burritos I ate last Thursday.

I thought DASH was about privacy? Why not aim to preserve that in every aspect?

I'm not on dashwhale. I'm not going to be. This should be handled internally, without having to sign up for an account, give out my info, etc... That's not meant to knock the service trying to fill the vacuum. Things like dashwhale and dashninja are invaluable, but only because DASH is failing to do it itself...

This concept has been an absolutely essential since the first thought of self-governance, yet where is it? It's like buying a house, but the walls, floor, and roof are optional, not included, and haven't been invented yet...

I'm not expressing anger, entitlement, etc... Just that there seems to be no sense of urgency over a hair-on-fire level of feature deficiency... It's not like this budget thing was thought of 2 days ago and nobody got around to it yet... Your hair is on fire, man! You can't ignore that for 4 months!

The price is going up, so who cares? Duh, this Mexico bit is drawing eyeballs. Eyeballs that can see this "WTF?" hole in it... If you're going to stand up and draw attention to yourself, make sure your zipper is up and your you-know-what isn't hanging out of your pants... ...it might drag on the concrete and that hurts. :p

GeorgeM needs to do up an image of Evan with his hair on fire... Super Sayan Level 12? Cue the "0ver 9000" meme...

Take my simplistic idea, and let services build on top of it for those not concerned. I realize I could parse the data myself. And I'm all for not being lazy as fuck. But this is a lot like an air compressor with no pressure switch. It just runs and runs and runs until you unplug it, or it explodes... It's got to have some kind of self-regulating feedback so I don't have to sit there flipping the switch all the time.

I think the best way to say this is that DASH has made itself biologically extensible. Even as a headless daemon, the Masternode Operators are part of the program now. But, none of the essential variables are being passed to their brains

10 Do Nothing
20 GOTO 10

Cool loop, bro.
Code...LOL. Keep in mind a budget notification is only affecting 4000 masternodes, maybe only 500 people. Normal users don't see this or care.

Understand about not registering for dashwhale. Would you be open to getting an email that goes out whenever a new version is released or budget proposal added?

The new dash features affect all users and that is what needs to be pushed to get adoption. Dash is lightyears ahead of Bitcoin - that was obvious at the conference. Each company was trying to solve a tiny bitcoin ecosystem problem and Dash solves everything with Evolution. I am all for the developers spending time on the ground breaking features.
 
Code...LOL. Keep in mind a budget notification is only affecting 4000 masternodes, maybe only 500 people. Normal users don't see this or care.

Understand about not registering for dashwhale. Would you be open to getting an email that goes out whenever a new version is released or budget proposal added?

The new dash features affect all users and that is what needs to be pushed to get adoption. Dash is lightyears ahead of Bitcoin - that was obvious at the conference. Each company was trying to solve a tiny bitcoin ecosystem problem and Dash solves everything with Evolution. I am all for the developers spending time on the ground breaking features.
I could see it in a notification capacity only. No need to have an account, declare any MN info, or even if you are an MN or not. Maybe people just curious would like to see and get notifications?

Why not simply have a nag in the debug.log that says "Hey, slacker, you ain't looked at this stuff yet: [open local, dynamically generated xml in default browser, or use ncurses in consoleif no GUI]"

Services as you suggest could elaborate instead of track and monitor everyone like the dirty guv does... Some kind of separation or detachment so that an identity need not be associated with the nag/announcement as "LOOK AT ME I RUN MASTERNODES PLEASE ATTACK ME WITH IRS/SNIPERS/FALSE ARREST/HAXOR MY WALLET."

Normal users may have a spark of brain every now and then "Hmmm, I wonder where this train is headed..." Smart traders would understand the confidence metric that MNs represent, that no other coin has. That is one hell of an insight beyond just Ouija Boarding it like they do now. There are all kinds of reasons a person might want to see these announcements, and not be an MN operator, and not want to give up info, valid/false association that might be presumed, etc...

I'll repeat for emphasis your own inquiry: "Would you be open to getting an email that goes out whenever a new version is released or budget proposal added?"

Sure, if that's all it was. But what happens when someone spams the budget system? More people get involved? 700 emails a second would suck... A nag that brings up a list for me to peruse at my convenience would still be preferable.

To answer your question, yes. I would be open to that.

Can't these sorts of announcements be messaged in the blockchain for both privacy and veracity? Again, dashd should be doing this, not you. Cool that you fill the vacancy, but it's not really how this should be done.
 
I got it. First ever budget email notifier. Assuming you have your dash-cli setup in /home/dash/ and your data directory in /home/dash/.dash. You need your dashd running - but it doesn't need to be a masternode. First time it runs it will give an error.
What will it do
Checks if a proposal has been added every hour. It will email you only the new budget when it is added. If a budget is remove it will also email you that.

Create a your script file
nano /home/dash/checkbudget.sh
And paste below in it (Change the [email protected] to the email you want the notification sent)
Code:
/home/dash/dash-cli -datadir=/home/dash/.dash/ mnbudget show > budgetsnew
diff=$(diff /home/dash/budgetsnew /home/dash/budgetsold)
if [ -n "$diff" ]
then
echo To: [email protected] > /home/dash/changes
echo From: [email protected] >> /home/dash/changes
echo Subject: New Proposal Added to Budget >> /home/dash/changes
diff /home/dash/budgetsnew /home/dash/budgetsold >> /home/dash/changes
ssmtp [email protected] < /home/dash/changes
fi
cp /home/dash/budgetsnew /home/dash/budgetsold
control x and y to save.
Set permissions
chmod a+x /home/dash/checkbudget.sh
Setup crontab to run each hour
crontab -e
0 * * * * /home/dash/checkbudget.sh
Install SSMTP to send your email notifcations
sudo apt-get install ssmtp
nano /etc/ssmtp/ssmtp.conf
And add your email login details below
Code:
mailhub=mail.yourserver.com
AuthUser=youremailorusername
AuthPass=yourpassword
UseStartTLS=YES  (or UseStartSSL=YES)
control x and y to save
 
I could see it in a notification capacity only. No need to have an account, declare any MN info, or even if you are an MN or not. Maybe people just curious would like to see and get notifications?

Why not simply have a nag in the debug.log that says "Hey, slacker, you ain't looked at this stuff yet: [open local, dynamically generated xml in default browser, or use ncurses in consoleif no GUI]"

I'll repeat for emphasis your own inquiry: "Would you be open to getting an email that goes out whenever a new version is released or budget proposal added?"

Sure, if that's all it was. But what happens when someone spams the budget system? More people get involved? 700 emails a second would suck... A nag that brings up a list for me to peruse at my convenience would still be preferable.
I think you can sign up with dashwhale.org without any masternode info. Then you can get notifications and comment on budget proposals. Not really why I asked the question though.

There was/is a dash email list for new dash versions. I thought I signed up for it, but don't think I ever got notified of a new version. Either way, I would think a notification list like this is valuable, and should be controlled by Dash developers. It would just send out an email for new releases and budget changes. This wouldn't be an advertisement - only a notification. And only with a few sentences and link to more details. This list would be ideal for those less inclined to setup the notification program above.
 
a slightly more robust version for you to vet:

Code:
#!/bin/bash

notify_email="[email protected]"

BUDGET_NAMES=$(dash-cli mnbudget show | grep Name | awk '{print $3}' | sed -e 's/[",]//g' | sort)
echo "$BUDGET_NAMES" > /tmp/current_budgets
if [ -e /tmp/previous_budgets ]; then
    NEW_BUDGETS=$(diff /tmp/current_budgets /tmp/previous_budgets | grep '^<' | awk '{print $2}')
    email_body=''
    for new_budget in $NEW_BUDGETS; do
        nbi=$(dash-cli mnbudget getinfo $new_budget)
        email_body=$email_body$(echo -e "\n$nbi")
    done
fi
if [ ! -z "$email_body" ]; then
    echo "$email_body" | ssmtp $notify_email
fi
mv /tmp/current_budgets /tmp/previous_budgets
 
Last edited by a moderator:
Thanks Moocowmoo. I knew you would have something to add.

Playing with this now. Shows name, url and total budget. These shouldn't change and if they do I want to know. (extra quote so it only pulls TotalPayment" instead of TotalPaymentCount. Don't think you need to sort. Shouldn't the budgets always be listed in the same order?
mnbudget show | grep -E 'Name|URL|TotalPayment"'

The other lines you suggested I will spend some more time on. Good stuff.
 
Regarding sorting, never assume when you can enforce. Especially if your using diff to detect changes.

Name, url, and budget are fixed. They can't change within a given budget.

Considering the rpc call 'mnbudget getinfo' uses the name to pull the info (it probably should be using the hash), I'm guessing there is a constraint preventing creation/submittal of a identically named proposal.

Given that, using just the names as keys should be sufficient.
 
It's a little bit off topic, but if BolehVPN can make a proposal and organize common promotional campaign "Dash+BolehVPN", targeting it to people who are looking for anonymity - it would be great!
1. You know this audience very well (and this audience is several times bigger than traditional cryptocurrency's community).
2. There is no need to describe for those people why anonymity does matter.
3. Private payments is an important part of the whole process...
4. ...

If you can make and release such a proposal in fair manner - I am sure it will be supported...

Interesting idea, I am actually working on a series of educational posts to my users about Dash. I already have a Dash banner up on my main page.
 
Revised with name matched sorting. I initially search by names, sort, and find differences. I then search for budgets with the different names and take out the name/url/total. Only problem with this is that now the from address isn't picking up in ssmtp so it uses the default. It must be getting confused with a character in the body of the email. Any help on this would be appreciated. This is what the message of the email now looks like.
These proposals were changed
Name : website-pt-1
URL : https://dashtalk.org/threads/october-2015-budget-proposal.6234/
TotalPayment : 2024.00000000
Name : Tennis_Reimbursement
URL : https://goo.gl/FvRVI9
TotalPayment : 257.68166089
Name : compensate-testers
URL : https://goo.gl/xKEp2R
TotalPayment : 19056.00000000

I found an easy way to fix the error on the first run. Just do a copy of budgetsnew to budgetsold without overwritting. Yeah, you could do an if statement like moocowmoo did and skip a bunch of code, but this works and is less confusing for me.

And this is the new code:
Code:
/home/dash/dash-cli -datadir=/home/dash/.dash/ mnbudget show | grep Name | awk '{print $3}' | sed -e 's/[",]//g' | sort > /home/dash/budgetsnew
cp -n /home/dash/budgetsnew /home/dash/budgetsold
diff=$(diff /home/dash/budgetsnew /home/dash/budgetsold | grep '^<' | awk '{print $2}')
if [ -n "$diff" ]; then
echo To: [email protected] > /home/dash/changes
echo From: [email protected] >> /home/dash/changes
echo Subject: New Proposal Added to Budget >> /home/dash/changes
echo These proposals were changed >> /home/dash/changes
diffdetail=$(/home/dash/dash-cli -datadir=/home/dash/.dash/ mnbudget show | grep -A 19 "$diff" | grep -E 'Name|URL|TotalPayment"' | sed -e 's/[",]//g')
echo "$diffdetail" >> /home/dash/changes
#echo "$diff" >> /home/dash/changes
/usr/sbin/ssmtp [email protected] < /home/dash/changes
cp /home/dash/budgetsnew /home/dash/budgetsold
 
Last edited by a moderator:
2nd place world record holder of a DASH wallet with 2 Million+1 Keys coming in with a bloated size of 1.18GB.
I didn't realize there was a contest... I just consolidated and purged a 2.2GB wallet from impersonating an LP... Got tired of the 20+ minute load time, lols.

Also, my script-fu is weak.
 
Last edited by a moderator:
I didn't realize there was a contest... I just consolidated and purged a 2.2GB wallet from impersonating an LP... Got tired of the 20+ minute load time, lols.

Well, Sub-Ether started flaunting his 1 million key wallet. I had to put a stop to that with a 2 million key wallet. And then last month he goes crazy with 10,000,001 keys and a 6.3GB wallet size! Crazy wear on the hard drive making that many keys. My next attempt, I'll have to try it on some recycle bin ready hardware. Watch out Sub-Ether!

Most of the liquidity providers have gone through about 10,000 keys running liquidityprovider=1 over the last couple months running 24/7. I just run a 100,000 key wallet and still won't have to refill keys and backup for another year.
 
Back
Top