Author

Topic: [ANN] Bitcoinocracy.com - Sign your argument with your non-empty Bitcoin address (Read 3595 times)

legendary
Activity: 1260
Merit: 1168
I have created a nice mod for Bitcoinocracy. You have multiple "Questions" with multiple "Answers" each. Every question has a due date, and people can upvote multiple "Answers".
Questions are archived automatically when their due date has come. This way, we can now let the community decide on specific questions that have to be decided democratically.
Feel free to check at: https://github.com/OrdinaryDude/elasticracy

legendary
Activity: 1470
Merit: 1030
Nutocracy is now up and running for HOdlcoin -

https://nutocracy.herokuapp.com/

While Bitcoinocracy hasn't gained enough traction yet in the Bitcoin community to decide issues, I expect we'll see large participation by HOdlers - so we'll have a coin that is directed by its hodlers.

I thought I'd make a note of what changes were required to get it running on Heroku in case any other alts want to implement it -

Some updates to use PostgreSQL
https://github.com/HOdlcoin/nutocracy/commit/0116b73a2ec21acc99e386bb57c9c5e347d9dd55

Null case handled
https://github.com/HOdlcoin/nutocracy/commit/ad153f41abf95b7ead6a29fd501a72b477f5c430

Update to block explorer addresses
https://github.com/HOdlcoin/nutocracy/commit/24cf42d2c5244eec427ee0d7fd6afa14974c0ad2
https://github.com/HOdlcoin/nutocracy/commit/f9467b65e56d5457c9ecaaf9823f4fb7304be086

Quick and nasty fix to make bitcoin-cigs use different address style -
https://github.com/HOdlcoin/bitcoin-cigs/commit/0bdf2c57c9d5ffc30c032abe315cf7b9f1dbe270

*Note: should be possible to update bitcoin-cigs to accept altcoin parameters rather than using a new build.
** Bitcoin-cigs still using 'Bitcoin Signed Message' in signatures, and this must also be reflected in the altcoin signing client. Attempt to update to 'HOdlcoin Signed Message' failed for a reason I could not discern.
full member
Activity: 338
Merit: 101
Enjin Coin - Smart Cryptocurrency for Gaming.
Very good website, i have just used it a few days ago to vote. I love when real democracy is coming out of the crypto tech!
legendary
Activity: 1470
Merit: 1030
Welcome.

Btw, redditors said that in the long run it is not very secure to publish bitcoin signatures made with bitcoin addresses that hold money (https://www.reddit.com/r/btc/comments/4mhjh3/psa_bitcoinocracycom_signatures_expose_your). They proposed a few ideas of how to improve it.

The one I liked for its simplicity is the following:

The weight of the signature made with bitcoin address A could be calculated as the sum of all unspent outputs of all the transactions that originate from A. For the sake of compatibility with the current implementation we could also add the balance of A to that sum.

Shouldn't be too difficult to implement. If somebody does it, please submit a pull request Wink

Thanks - yes, aware of the potential security implications - it's a risk, but one that is smaller with a more experimental altcoin. Might look at ways to tighten up the security over time.

I've got the app deployed to Heroku now -

https://hodlcoinocracy.herokuapp.com/

I haven't changed anything yet - just seeing if I can get it up and running as I'm new to RoR.

I'm getting the first page to display occasionally, but anything else is erroring out -

Only thing I've done is

heroku run rake db:migrate --app hodlcoinocracy

db appears to have 5 tables in it now.


Some log examples -

2016-06-17T12:18:02.014540+00:00 app[web.1]: Processing by ArgumentsController#controversial as HTML

2016-06-17T12:18:02.225735+00:00 app[web.1]: Completed 200 OK in 211ms (Views: 181.9ms | ActiveRecord: 26.7ms)

2016-06-17T12:18:02.208177+00:00 heroku[router]: at=info method=GET path="/" host=hodlcoinocracy.herokuapp.com request_id=ecb611ef-7a07-42c0-be1f-6ec00cb89b46 fwd="146.88.41.168" dyno=web.1 connect=0ms service=227ms status=200 bytes=3790

2016-06-17T12:18:02.596672+00:00 heroku[router]: at=info method=GET path="/assets/application-01ac8e834db29b7d6f7397724b4a1a46.js" host=hodlcoinocracy.herokuapp.com request_id=5638eb5a-ec3f-4458-9b92-8770d08e2164 fwd="146.88.41.168" dyno=web.1 connect=0ms service=13ms status=304 bytes=133

2016-06-17T12:18:02.599312+00:00 heroku[router]: at=info method=GET path="/assets/application-e08c13ca1d734fd99cbdf8ab292f0539.css" host=hodlcoinocracy.herokuapp.com request_id=c9be1fbe-c197-4b64-bef8-4963a4324205 fwd="146.88.41.168" dyno=web.1 connect=1ms service=14ms status=304 bytes=119

2016-06-17T12:18:06.949047+00:00 app[web.1]: Started GET "/arguments/new" for 146.88.41.168 at 2016-06-17 12:18:06 +0000

2016-06-17T12:18:06.953547+00:00 app[web.1]: Processing by ArgumentsController#new as HTML

2016-06-17T12:18:06.942300+00:00 heroku[router]: at=info method=GET path="/arguments/new" host=hodlcoinocracy.herokuapp.com request_id=c1fca481-8143-4018-a6bc-08c18f819b64 fwd="146.88.41.168" dyno=web.1 connect=0ms service=19ms status=500 bytes=1669

2016-06-17T12:18:07.403138+00:00 app[web.1]: Started GET "/arguments/new" for 146.88.41.168 at 2016-06-17 12:18:07 +0000

2016-06-17T12:18:07.405889+00:00 app[web.1]: Processing by ArgumentsController#new as HTML

2016-06-17T12:18:07.391382+00:00 heroku[router]: at=info method=GET path="/arguments/new" host=hodlcoinocracy.herokuapp.com request_id=6c2b8f78-1bd6-4b5a-a969-c84d878fa7fb fwd="146.88.41.168" dyno=web.1 connect=0ms service=13ms status=500 bytes=1669

2016-06-17T12:18:06.953547+00:00 app[web.1]: Processing by ArgumentsController#new as HTML

2016-06-17T12:18:06.942300+00:00 heroku[router]: at=info method=GET path="/arguments/new" host=hodlcoinocracy.herokuapp.com request_id=c1fca481-8143-4018-a6bc-08c18f819b64 fwd="146.88.41.168" dyno=web.1 connect=0ms service=19ms status=500 bytes=1669

2016-06-17T12:18:07.413073+00:00 app[web.1]:   app/controllers/application_controller.rb:13:in `update_bitcoin_balance'

2016-06-17T12:18:07.391382+00:00 heroku[router]: at=info method=GET path="/arguments/new" host=hodlcoinocracy.herokuapp.com request_id=6c2b8f78-1bd6-4b5a-a969-c84d878fa7fb fwd="146.88.41.168" dyno=web.1 connect=0ms service=13ms status=500 bytes=1669

2016-06-17T12:18:06.953547+00:00 app[web.1]: Processing by ArgumentsController#new as HTML

2016-06-17T12:18:07.411881+00:00 app[web.1]: Completed 500 Internal Server Error in 6ms (ActiveRecord: 3.7ms)

legendary
Activity: 1199
Merit: 1012
Welcome.

Btw, redditors said that in the long run it is not very secure to publish bitcoin signatures made with bitcoin addresses that hold money (https://www.reddit.com/r/btc/comments/4mhjh3/psa_bitcoinocracycom_signatures_expose_your). They proposed a few ideas of how to improve it.

The one I liked for its simplicity is the following:

The weight of the signature made with bitcoin address A could be calculated as the sum of all unspent outputs of all the transactions that originate from A. For the sake of compatibility with the current implementation we could also add the balance of A to that sum.

Shouldn't be too difficult to implement. If somebody does it, please submit a pull request Wink
legendary
Activity: 1470
Merit: 1030
That's perfect. Thanks. I think it might be as simple as switching out the block explorers - we'll see how it goes.
legendary
Activity: 1470
Merit: 1030
How easy would it be to adapt Bitcoinocracy for an altcoin? I'd like to set up a HOdlcoinocracy so that HOdlers can vote on the future of the coin.

The community is quite tight-knit, so I'd expect to get a lot of participation. The results would have a good mandate, and would be good to establish user participation in the culture early.

I don't know. Bitcoinocracy relies on the gem 'bitcoin-cigs' (to extract the address from the signature and the signed message) and on a third-party block explorer (to fetch the balance of the address). If your altcoin has a similar gem and a block explorer then it shouldn't be difficult.



Thanks, I'll check that out. If I can get bitcoin-cigs to work for altcoin sigs, should be plain sailing. Smiley

Another question, if I may, does it rely on a locally running block explorer, or can the block explorer be running elsewhere - and where is the block explorer location defined? Thanks!
legendary
Activity: 1470
Merit: 1030
How easy would it be to adapt Bitcoinocracy for an altcoin? I'd like to set up a HOdlcoinocracy so that HOdlers can vote on the future of the coin.

The community is quite tight-knit, so I'd expect to get a lot of participation. The results would have a good mandate, and would be good to establish user participation in the culture early.

I don't know. Bitcoinocracy relies on the gem 'bitcoin-cigs' (to extract the address from the signature and the signed message) and on a third-party block explorer (to fetch the balance of the address). If your altcoin has a similar gem and a block explorer then it shouldn't be difficult.



Thanks, I'll check that out. If I can get bitcoin-cigs to work for altcoin sigs, should be plain sailing. Smiley
legendary
Activity: 1199
Merit: 1012
How easy would it be to adapt Bitcoinocracy for an altcoin? I'd like to set up a HOdlcoinocracy so that HOdlers can vote on the future of the coin.

The community is quite tight-knit, so I'd expect to get a lot of participation. The results would have a good mandate, and would be good to establish user participation in the culture early.

I don't know. Bitcoinocracy relies on the gem 'bitcoin-cigs' (to extract the address from the signature and the signed message) and on a third-party block explorer (to fetch the balance of the address). If your altcoin has a similar gem and a block explorer then it shouldn't be difficult.

legendary
Activity: 1470
Merit: 1030
How easy would it be to adapt Bitcoinocracy for an altcoin? I'd like to set up a HOdlcoinocracy so that HOdlers can vote on the future of the coin.

The community is quite tight-knit, so I'd expect to get a lot of participation. The results would have a good mandate, and would be good to establish user participation in the culture early.
legendary
Activity: 1199
Merit: 1012
a graph to each statement should be added where
can observe both positive, negative values of the statement evolving in time.

I agree, it would be nice to see it evolving in time.

Though I removed the created_at and updated_at fields from the signatures table in order to improve the anonymity, so it is a little harder to implement now  Roll Eyes

Also it would be nice to have some sorting options (not only by "argument validity", but by sum of bitcoins voted or by recent activity).

Quote
also,, how pubkeys are determined from P2PKH hashes is mystery

I didn't quite understand your question, but it is open source, so you can probably find an answer.
newbie
Activity: 4
Merit: 13
a graph to each statement should be added where
can observe both positive, negative values of the statement evolving in time.

also,, how pubkeys are determined from P2PKH hashes is mystery
legendary
Activity: 1199
Merit: 1012
legendary
Activity: 1199
Merit: 1012
Thanks to the author of the argument:

http://bitcoinocracy.com/arguments/this-site-should-filter-out-0-vote-entries-to-remove-spam-and-display-arguments-separately

--- I followed this suggestion to display arguments separately (and added pagination).

Not sure whether there is any sense in filtering out the 0-vote entries since they will be displayed in the end of the list (and eventually moved to the later pages). At the same time the new unvoted entries might benefit from being listed here.

New look:

legendary
Activity: 1199
Merit: 1012
Wow, owners of 143.50137874 BTC support the idea, that's inspiring, thanks!



So what's the next step?

User accounts and bulk signing as proposed in https://github.com/arsenische/bitcoinocracy/issues/5 ?

Enable users to attach links (or even files?) to the arguments upon their creation?

Enable users to define the context (or scope) for the arguments upon their creation?

Integrate with twitter to automatically tweet the new arguments?

anything else?
legendary
Activity: 1199
Merit: 1012
Wow, somebody signed the statement with a bitcoin address that holds 30 btc (and helped to identify the bug with lack of unique constraint), thanks!



Frankly speaking I doubt it too. There was some interest, but it looks like it is insufficient to make any conclusions or the service needs to be improved with user accounts etc. If anybody wants to buy the domain - please let me know your offer.
legendary
Activity: 1199
Merit: 1012
Bitcoin holders doubt that http://bitcoinocracy.com/arguments/bip101-is-better-than-bip100



But only ~0.00004% of bitcoins took part in this voting.

Is there a way to increase this share?
legendary
Activity: 1199
Merit: 1012
There were some votes on http://bitcoinocracy.com/arguments/bip101-is-better-than-bip100 -- so yes, some people use Bitcoinocracy to verifiably express their opinion.

Though there is an embarrassing bug that displays 0 balances and makes voting impossible when blockchain.info is down (as it is now). Hopefully it will be up soon and everything will be back to normal.
(fixed)
legendary
Activity: 1199
Merit: 1012
Quote
Thanks for you suggestion! Do you suggest to display: "9.12659522 Ƀ Believe |  0.0001 Ƀ Doubt" as "9.12659522 Ƀ (0.998904313%) Believe | 0.0001 Ƀ (0.001095687%) Doubt" ?

Yes something like that, you can however round the percentages to say 1 or max 2 decimals.

Its just to give a quick view of what the split.

Thanks for your idea, I implemented it (see http://bitcoinocracy.com/arguments/bitcoin-future-should-be-decided-by-miners).

Also added friendly URLs, social buttons and other minor improvements.

This is a very interesting concept, and it could be a new way of decentralized decision making. At the very least it's a good start.

Thanks for your kind words. I hope to find volunteers to develop this project (to do programming, design, content creation). Still not sure whether it is useful.  Perhaps sometimes it could be an alternative to miners' voting or public discussions (that are often either censored, or have low signal-to-noise ratio).
hero member
Activity: 854
Merit: 658
rgbkey.github.io/pgp.txt
This is a very interesting concept, and it could be a new way of decentralized decision making. At the very least it's a good start.
sr. member
Activity: 336
Merit: 251
Quote
Thanks for you suggestion! Do you suggest to display: "9.12659522 Ƀ Believe |  0.0001 Ƀ Doubt" as "9.12659522 Ƀ (0.998904313%) Believe | 0.0001 Ƀ (0.001095687%) Doubt" ?

Yes something like that, you can however round the percentages to say 1 or max 2 decimals.

Its just to give a quick view of what the split.
legendary
Activity: 1199
Merit: 1012
interesting, but you should add faq page because when i see your site in first time im confused about the amount of bitcoin.
and how if the people who sign the statement change their wallet balance? i mean the amount is decrease too?

This is something the OP needs to take into account. I might vote today with 1 btc in my wallet but use it later the same day to buy something meaning my vote balance will decrease as above poster mentioned.

You will have to take a snapshot of the balance at the time of the vote and save that in a database otherwise the values are going to be skewed over time.


That's how it works now, it caches the balance in our database and if you spend your funds after making a vote, it won't decrease the weight of the vote.

I consider it to be a bug that should be fixed, because it makes it trivial to manipulate voting results by moving your funds from one bitcoin addresses to another inside your own wallet and thus generate unlimited amount of "valuable" signatures.

It is important to fetch up-to-date data from the Blockchain on a regular basis (and it is easy to implement).
sr. member
Activity: 336
Merit: 251
interesting, but you should add faq page because when i see your site in first time im confused about the amount of bitcoin.
and how if the people who sign the statement change their wallet balance? i mean the amount is decrease too?

This is something the OP needs to take into account. I might vote today with 1 btc in my wallet but use it later the same day to buy something meaning my vote balance will decrease as above poster mentioned.

You will have to take a snapshot of the balance at the time of the vote and save that in a database otherwise the values are going to be skewed over time.
legendary
Activity: 1199
Merit: 1012
All it will take is for one 'whale' or semi-whale to skew any option to his/her favour. So you can easily end up with a situation where there is a say 50 to 1 vote yet the 1 person who is against the others have more funds than the 50 put together meaning that the topic will reflect in his/her favour which will actually be a skewed picture of reality.

That's true, but if the issue is important then another semi-whale should join the party, or a huge mass of people will try to oppose with their small balances. That would be interesting to watch.

Though any voter can easily split one's balance and pretend to be a crowd of voters, that's why the balance is the only reliable measure, not the amount of bitcoin signatures.


interesting, but you should add faq page because when i see your site in first time im confused about the amount of bitcoin.

Thanks for your feedback, I totally agree with you. Someone (preferably a native speaker) should create description of how Bitcoinocracy works and how to make Bitcoin signatures. Long ago I made a brief explanation of how to sign a message with popular bitcoin clients (Bitcoin-QT, Multi-Bit, Electrum, Blockchain.info) for other service, probably we need something similar for Bitcoinocracy.

Quote
and how if the people who sign the statement change their wallet balance? i mean the amount is decrease too?

Yes, it is supposed to change as the balance changes and it is easy to implement, just didn't do it yet.

There are a lot of things to be done. Friendly URLs, social sharing buttons, bitcoin balance updater task, create content, etc.

The current state of the project is just proof of concept.  Feel free to join the project and contribute in any form Smiley
legendary
Activity: 1106
Merit: 1000
interesting, but you should add faq page because when i see your site in first time im confused about the amount of bitcoin.
and how if the people who sign the statement change their wallet balance? i mean the amount is decrease too?
sr. member
Activity: 336
Merit: 251
I like the idea but not so sure whether the voting with your address balance is the right thing.

All it will take is for one 'whale' or semi-whale to skew any option to his/her favour. So you can easily end up with a situation where there is a say 50 to 1 vote yet the 1 person who is against the others have more funds than the 50 put together meaning that the topic will reflect in his/her favour which will actually be a skewed picture of reality.

That is unless you believe in the saying 'money talks and BS walks'  Grin

A suggestion: How about including percentages on each side. Much easier to spot how things are standing when viewing percentages. Keep the btc balances but add percentages behind it.
legendary
Activity: 1199
Merit: 1012
Sign "I believe that Block size limit should be increased to 8 mb as soon as possible" with your bitcoin address to show your support. Or click "Doubt" and sign "I doubt that Block size limit should be increased to 8 mb as soon as possible". We'll see what part of economy supports this statement.



The results are verifiable, here is the list of signatures for and against the argument.

Bitcoinocracy is an opensource project. If you think it is useful - please join or use it so that I feel interest and find time to develop it.
legendary
Activity: 1199
Merit: 1012
I'll be watching this, it's an interesting concept and has a great start! I'd suggest making some adjustments and polishing the UI once the main functionality is worked out.

Thank you for your words of support. Yes, UI need to be improved, functionality enhanced, more content with information about bitcoin signatures should be placed there as well.

I announced Bitcoinocracy here and in Reddit (https://www.reddit.com/r/Bitcoin/comments/3ef380/bitcoinocracy_an_opensource_project_to_facilitate/), but I don't see much interest yet. Someone just created an argument "ok" and nobody signed any statement.
legendary
Activity: 1050
Merit: 1004
I'll be watching this, it's an interesting concept and has a great start! I'd suggest making some adjustments and polishing the UI once the main functionality is worked out.
legendary
Activity: 1199
Merit: 1012
Just sign the statements with non-empty bitcoin addresses to express your opinion.

Please I do not understand what you mean by this and why is it necessary.

Thanks for your question. It looks like not so many people are aware of bitcoin signatures.

When I say "to sign with bitcoin address" I mean "to sign with the private key that corresponds to the bitcoin address". Each bitcoin address has a corresponding private key that can be used to create a cryptographic signature for any message. Popular bitcoin wallets (Bitcoin-QT, Electrum, Armory, Multibit, Blockchain.info) support this functionality.

When you sign a statement with your bitcoin address (and submit it), Bitcoinocracy considers that statement to be supported by all bitcoins stored at that address.

Different people can sign the same statement with their bitcoin addresses and Bitcoinocracy will sum their balances up.

If the statement is controversial then some people are likely to sign the opposite statement and Bitcoinocracy will evaluate the validity of the argument as a difference between sum of beleiver's and sum of doubters' bitcoins.

It is somewhat similar to shareholder voting in the corporate world. Your weight depends on amount of voting shares (satoshis).


sr. member
Activity: 434
Merit: 250
Just sign the statements with non-empty bitcoin addresses to express your opinion.

Please I do not understand what you mean by this and why is it necessary.
legendary
Activity: 1199
Merit: 1012
This is an experimental launch of the Bitcoinocracy -- a project that aims to determine the truth backed by real monetary value and to facilitate decentralized decision making in the Bitcoin eco-system.

It is not a commercial-grade software, but it is absolutely free, transparent, open source and doesn't require user registration.

Just sign the statements with non-empty bitcoin addresses to express your opinion.

PS: I wanted to make it long ago but I didn't have time to do it and wasn't sure there would be a demand for it, so I decided to publish it and see what happens. Anybody is  welcome to participate.
Jump to: