What would the default vote be - random to those who've signed up to signing blocks or null?
I like it a lot, do we need to vote? why don't we just randomly pick a 1% or grater share holder that is online. If the intensive is reasonable then most of them will be online anyway.
Or if you feel a vote is necessary to give everyone a chance not just the initial supporters of the project then. Should it be that you need 1% of the vote period. Any extra votes are excluded or passed to a chosen second or third candidate. That way you are always ensured to have close to or 100 operational computers/servers available to sign the blocks.
So every shareholder gets to vote for someone to sign blocks in their stead (a representative if you will). Anyone who can gain 1% or more of the votes can join the board. The representatives become a "board of directors" which take turns in a round-robin manner signing blocks. If one of the directors misses their turn clients will automatically switch their vote away from them and eventually they will be voted off the board and someone else will join the board. Board members are paid a small token to make it worth their while to campaign, put their neck on the line, and ensure uptime. They also post a small bond equal to 100x the average pay they receive for producing a single block. To make a profit a director must have greater than 99% uptime.
So every shareholder gets to vote for someone to sign blocks in their stead (a representative if you will). Anyone who can gain 1% or more of the votes can join the board. The representatives become a "board of directors" which take turns in a round-robin manner signing blocks. If one of the directors misses their turn clients will automatically switch their vote away from them and eventually they will be voted off the board and someone else will join the board. Board members are paid a small token to make it worth their while to campaign, put their neck on the line, and ensure uptime. They also post a small bond equal to 100x the average pay they receive for producing a single block. To make a profit a director must have greater than 99% uptime.
I think this proposal is probably worth a try, but I'm still skeptical that there will be much active participation. Voting is scary for users; most will never understand what it means to be a director, so they'll have no idea what would make a good candidate.
See what I bolded above: Can you talk a little more about this? If clients automatically un-vote the delinquent director, wouldn't the director lose his position immediately? But if that's the case, what does "un-vote" mean? I suspect it would mean that the director would be out permanently, because I still believe that most users aren't going to vote very actively. There seems to be a tradeoff here between immediate penalties for delinquency versus leniency for people who only offend occasionally.
Also, what kind of theory do you have behind this? Have you worked out anything about how much voting participation you'd need for this system to be secure? If there's no theory, that's fine - I just like to know when an algorithm is from the back of a napkin.
Thanks for the summary. Communicates the issue and proposal well and does it concisely.
The biggest question left in my mind is how readily apparent the voting mechanism will be for the end user. I assume it will be represented in the GUI of the wallet software? Also sorry if this has been covered in other threads on this, but to vote will your balance need to be kept in a hot wallet?
I think in designing this system you have to assume that the vast majority of users will not consciously vote. It was mentioned those users' votes would be determined by the default wallet behavior. With the assumption that most don't actively vote, is there any vulnerability in giving wallet creators the power to affect voting in a similarly centralized manner as mining pools do in Bitcoin?
Overall the system sounds great and look forward to being able to test in out in the coming months.
Thanks.
What is the worst thing a director could do before his power is removed?
What if one director was really controlling X% of total block generation?
If the worst thing they could do is not so bad, cool, I like it.
If though directors or a group of colluding directors could do something really bad then what about having a decentralised fail-safe dispute resolution system?
As you know Truthcoin Prediction market is apparently able to reach decentralised consensus on truth using SVD.
TBH I don't understand enough about it yet, but I feel it may be inefficient (speed-wise) to apply to many betting markets and certainly impossible/ridiculous to consider using with regards to block signing, however it looks like it can be a great tool to resolve a dispute or make a truly decentralised decision.
So provided the cost/difficulty associated with lodging a dispute is incredibly high and the cost for lodging a false dispute is incredibly high then we could perhaps have a fairly centralised but super-fast system knowing that if something did go wrong it would be possible to reverse/fix it using a truly decentralised consensus of the entire network?
Example:
So imagine 2 Big bitcoin mining pools colluded and performed a huge double spend at block X. What if even a small 1% hashing pool could risk it's funds and lodge a dispute. Then block generation would be paused, to vote on - 'Remove Mining Pool A&D, rewind to Block X-1'. Then the entire Bitcoin network (holders of Bitcoin) could vote. The Truthcoin SVD thingy would say consensus is yes. Then the network would have been able to resolve that dispute and the 2 Big Mining pools would have failed. (If the 1% hashing pool had lodged a false dispute, in the process holding up the network for a few hours, then they would lose a fortune in funds that they would have had to commit to lodge the dispute in the first place, thereby ensuring nobody would ever hold up the network unnecessarily.)
Um, I'm not very technical, but something like that.
Well remember that with TAPOS the chain with the most votes piled on is the winner no matter what. Automatic "exception" mechanism for if forks happen due to bad directors.
Thanks for the summary. Communicates the issue and proposal well and does it concisely.
The biggest question left in my mind is how readily apparent the voting mechanism will be for the end user. I assume it will be represented in the GUI of the wallet software? Also sorry if this has been covered in other threads on this, but to vote will your balance need to be kept in a hot wallet?
I think in designing this system you have to assume that the vast majority of users will not consciously vote. It was mentioned those users' votes would be determined by the default wallet behavior. With the assumption that most don't actively vote, is there any vulnerability in giving wallet creators the power to affect voting in a similarly centralized manner as mining pools do in Bitcoin?
Overall the system sounds great and look forward to being able to test in out in the coming months.
Thanks.
Well I suspect what will happen is that those who initially create the DAC will do a solid job with solid defaults. Voting will only ever become an issue in the event that there is some disturbance and is mostly in there to deal with problems in the unlikely event that they do occur. Everyone trusts the core developers (they run their binaries after all)... so trusting them to set solid defaults is probably pretty good. I think it is mostly just important for everyone to know that should anything happen there is a contingency plan and that they have a voice should they feel the need to exercise it.
So every shareholder gets to vote for someone to sign blocks in their stead (a representative if you will). Anyone who can gain 1% or more of the votes can join the board. The representatives become a "board of directors" which take turns in a round-robin manner signing blocks. If one of the directors misses their turn clients will automatically switch their vote away from them and eventually they will be voted off the board and someone else will join the board. Board members are paid a small token to make it worth their while to campaign, put their neck on the line, and ensure uptime. They also post a small bond equal to 100x the average pay they receive for producing a single block. To make a profit a director must have greater than 99% uptime.
I think this proposal is probably worth a try, but I'm still skeptical that there will be much active participation. Voting is scary for users; most will never understand what it means to be a director, so they'll have no idea what would make a good candidate.
See what I bolded above: Can you talk a little more about this? If clients automatically un-vote the delinquent director, wouldn't the director lose his position immediately? But if that's the case, what does "un-vote" mean? I suspect it would mean that the director would be out permanently, because I still believe that most users aren't going to vote very actively. There seems to be a tradeoff here between immediate penalties for delinquency versus leniency for people who only offend occasionally.
Also, what kind of theory do you have behind this? Have you worked out anything about how much voting participation you'd need for this system to be secure? If there's no theory, that's fine - I just like to know when an algorithm is from the back of a napkin.
That's why you honor AGS!
That's why you honor AGS!
Good point! Practically all [citation needed] of the genesis stakeholders will be believers in the system. I guess I was thinking about the future when PTS/AGS holders make up a small fraction of the overall users. By then the system will be resilient simply due to its size and market dominance. I hope. :)
This coin is Premined 50%. Silicon Valley Coin will serve as a bridge between Silicon Valley innovation and the Crypto Community effectively by distributing our premined coins to certain zip codes surrounding the big tech companies of Silicon Valley. The distribution of our coins to these zip codes will commence on April 25, 2014.
I have a bunch of technical analysis of the new changes, which I've placed in my thread starting at reply #24; here is the link: https://bitsharestalk.org/index.php?topic=3895.msg50062#msg50062
Here's the high-level overview: I had serious doubts about the voting process, and I made a strong technical case for randomly selecting the representatives. However, bytemaster's proposal in this thread incorporates enough of my ideas that I think it's basically secure, and I'm willing to support it. However, there are a few possible abuses I want to keep out of the BitShares X market, in particular: Transaction censorship, private placement, front-running, and re-ordering.
It's like dropping shares with terminal homing DAC-savvy supporter seekers on them!
I have a bunch of technical analysis of the new changes, which I've placed in my thread starting at reply #24; here is the link: https://bitsharestalk.org/index.php?topic=3895.msg50062#msg50062
Here's the high-level overview: I had serious doubts about the voting process, and I made a strong technical case for randomly selecting the representatives. However, bytemaster's proposal in this thread incorporates enough of my ideas that I think it's basically secure, and I'm willing to support it. However, there are a few possible abuses I want to keep out of the BitShares X market, in particular: Transaction censorship, private placement, front-running, and re-ordering.
If you want the full technical details of what I'm proposing, you can read my thread. But here's an overview: The board of directors still takes turns in a round-robin manner signing blocks. You can think of the node whose turn it is to sign blocks as the "president" or "chairman." If the protocol isn't carefully designed, the chairman would have a lot of power. Since our blockchain contains an entire market, the chairman has a variety of ways to abuse his position: He can make a transaction that exactly matches the best bid/ask (front-running), drop (censor) or re-order transactions because they move the price in a way that would be inconvenient for the chairman's own investments, or include a transaction that wasn't publicly broadcast (private placement). Worse, the chairman might choose to re-sell these valuable capabilities to others in exchange for votes to stay in office.
My solution is basically appointing a random subset of the board as a committee, which decides by secret ballot which transactions to include in the next block. The chairman still publishes the next block, but he can no longer add or remove whatever transactions he wants. With my modifications, the chairman must accept the committee's product, or resign his position. It is also hard for the committee to arrange collusion with each other, because they are randomly chosen. The chairman can't falsely claim there's no quorum when the committee votes against his interests, because he must agree that there is a quorum before the secret ballot is revealed.
Lets address the issues here:
1) front running ... this particular issue does not apply given my matching algorithm. The person placing the order will get the same price regardless of what any other party does. In fact, one could argue that the blockchain earns revenue by intentional front-running and that the shareholders are the ones to benefit from it.
(http://107.170.30.182/assets/img/marketmaker.png)
As you can see here... if you see a low ask... you cannot front run it by placing a higher bid to be the first in line to get that low price. If you see a high bid, you cannot front run it either.
2) reordering .... this particular issue is not possible, because orders are sorted/matched deterministically...
3) your only control is excluding bids or asks. Fortunately the market making algorithm also makes this form of manipulation irrelevant as well because it will not effect the price people get for their orders. Remember, you get what you asked for or nothing. When you place a bid the assumption is that the offer is good for at least a couple of blocks and therefore don't trade if you need depend upon high frequency noise.
The result of this matching algorithm will be a wider bid/ask spread but a more meaningful one.
One of those air-drop coins should target pre-teen girls and make their coin redeemable for crappy music, cheap fashion items, and utterly meaningless knick-knacks. That would get the market going in a hurry.
This is exactly what PTS and AGS holders are: A demographic MUCH more likely to be good supporters. These block chains are like mailing codes that let you target your shares to the people you want to reach much, much, much more precisely than using Silicon Valley mailing codes!It's like dropping shares with terminal homing DAC-savvy supporter seekers on them!
Lets address the issues here:
1) front running ... this particular issue does not apply given my matching algorithm. The person placing the order will get the same price regardless of what any other party does. In fact, one could argue that the blockchain earns revenue by intentional front-running and that the shareholders are the ones to benefit from it.
(http://107.170.30.182/assets/img/marketmaker.png)
As you can see here... if you see a low ask... you cannot front run it by placing a higher bid to be the first in line to get that low price. If you see a high bid, you cannot front run it either.
2) reordering .... this particular issue is not possible, because orders are sorted/matched deterministically...
3) your only control is excluding bids or asks. Fortunately the market making algorithm also makes this form of manipulation irrelevant as well because it will not effect the price people get for their orders. Remember, you get what you asked for or nothing. When you place a bid the assumption is that the offer is good for at least a couple of blocks and therefore don't trade if you need depend upon high frequency noise.
The result of this matching algorithm will be a wider bid/ask spread but a more meaningful one.
That's why you honor AGS!
Good point! Practically all [citation needed] of the genesis stakeholders will be believers in the system. I guess I was thinking about the future when PTS/AGS holders make up a small fraction of the overall users. By then the system will be resilient simply due to its size and market dominance. I hope. :)Have you guys noticed the theory behind SiliconValleyCoin?
They are doing a "helicopter air-drop" of their currency into certain "zip" mailing codes in Silicon Valley under the theory that it directs their shares into the hands of a demographic more likely to be good supporters of their currency.QuoteThis coin is Premined 50%. Silicon Valley Coin will serve as a bridge between Silicon Valley innovation and the Crypto Community effectively by distributing our premined coins to certain zip codes surrounding the big tech companies of Silicon Valley. The distribution of our coins to these zip codes will commence on April 25, 2014.(http://econintersect.com/images/2013/6/45943442helicopter-dropping-money.jpg)
This is exactly what PTS and AGS holders are: A demographic MUCH more likely to be good supporters. These block chains are like mailing codes that let you target your shares to the people you want to reach much, much, much more precisely than using Silicon Valley mailing codes!It's like dropping shares with terminal homing DAC-savvy supporter seekers on them!(http://kitup.military.com/wp-content/uploads/2011/03/Army-Precision-12mm-Mortar.jpg)
It's like dropping shares with terminal homing DAC-savvy supporter seekers on them!
One of those air-drop coins should target pre-teen girls and make their coin redeemable for crappy music, cheap fashion items, and utterly meaningless knick-knacks. That would get the market going in a hurry.
"Directors" need to be called "signing pools"