And also it creates some really interesting possibilities for transfers of liquidity for frozen coins. Similar to loans, trustless bonds and futures, etc.
Yea I can't wait to see the possibilities that pan out from these ideas ^^
And I love that you see the importance of creating a voting system so as not to send the coin down a dead end path like bitcoin and litecoin seem to be on.
It shouldn't be up to a handful of people to decide what new innovations should be incorporated into the coin.
This brings up another question:
The vote can be done by majority, but majority votes are hard to calculate. Here are the two ways I'm thinking of coding it would like to hear what you guys think:
The first way is to give the vote to the miner who wins the block. Since everyone has a fair chance of winning a block, this lets anyone who is staking make the decision. This way is provably fair since staking is fair. Its harder to game and you burn less funds. However, this might be less democratic if you consider the people with the most coins usually get the blocks. However, the people with the most coins have more at stake and perhaps the votes matter to them more anyways. ALSO this benefits users who have frozen coins and gives them this added benefit of being the bank.
The second way is based on a voting address. Basically you can cast votes in the client, send a small payment to a voting address. This might be a more democratic way to vote but it has the following challenge:
Anyone can create an address, so doing the vote by address can be gamed
also if you do the votes by simply counting them, then that encourages spam
So if this method is used, votes have to be measure by balance. The more money in the account the more weight the vote has. But this has some drawbacks, users dont always keep all their funds in one account so imagine voting from 10 of accounts just to change the interest rates
Also to prevent people from switching accounts, I would have to make the votes happen at an exact block otherwise people would vote twice(since they could move the money to another address).
This means to vote you have to be connected and miners will usually get the vote anyways. Also the most troublesome part of this is, miners would have to calculate everyones balance which means they would be running a full node. (Balance checking is not so easy unless you build an index which makes the blockchain take up tons of space)
So, I think voting can be done by miners. Its clean and simple and pretty democratic. And because i dont think we are going to change interest every block, we can probably have more than one miner vote. If we change interest twice per day, then we will get about 720 votes anyways for each interest rate change.