Important things to be considered regarding vulnerabilities on Hive Blockchain.

in #hive4 years ago (edited)
Something that always bothered me was the fact that Hive has more equal votes a user can cast than spots in the Security Council(Top 20 witnesses), and also the fact people who are long gone(gave up the Blockchain for some reason) still have influence in governance. So I Thought in a couple suggestions to be discussed.

Vote Dilution

  • The idea is to divide the value of a witness vote by the amount of voted witnesses.
    • If you have 20 HP and vote for one witness, it's a 20 HP for it.
    • If you vote for 5 witnesses, it's a 4 HP vote for each.
    • If you vote for 20 witnesses, each gets a 1 HP vote.
  • With such mechanism in place, a takeover attempt would be as hard as accumulating 20 times more HP than the whole Hive community.
  • The more witnesses you vote, less value your vote has to each of them.
  • The 30 witnesses limit could be increased to, maybe, 100.

Vote Expiration

  • The idea is to make votes for witnesses expire after a while to prevent dead accounts from influencing Hive Governance.
    • Votes are automatically uncasted after a year.
      • Can be 6 months, 54 weeks, whatever time developers think is more adequate.
    • Votes can be renewed before expiration, resetting the expiration clock.
      • Vote renewal before expiration shows the user is still active.
    • Proxy setup does not expire.
      • Good for cold storages.
      • But every proxy-chain must have an active user at the end of it, because his votes will still expire when not renewed.

Expiration for witness votes is a countermeasure against the influence of dead accounts or dead proxy-chains. Only active votes expire, so cold-wallets can still be maintained through proxies or proxy-chains where there must be an active account at the end of each proxy-chain to renew witness votes.

Failure to renew witness votes in an indication that the owner of such account might have lost its keys or abandoned the account for some reason.


I am sorry about this topic has already been discussed, but I still believe those suggestions should be strongly considered.

Thank you all for your attention.


If you have a spare vote...

Vote for me as your Hive Witness

Sort:  

Your witness is showing red.

Might have been due to a temporary shutdown I did on my PC for repairs.

I always deactivate the witness scheduler before doing any shutdown to not miss blocks while inoperative. It's because I don't like to contribute for destabilization of our network by scheduling myself for blocks I can't produce. In less than 24 hours my witness was back online.

Good deal, I randomly go through and check on my witnesses and saw this issue.

I strongly agree. It would also be very simple to do, by the same battle tested mechanism that has been used for years with upvotes. Just apply VP to witness votes, and deplete VP 100%, recharging at 0%. Each vote depletes the VP of the stake it represents, so that same stake is not able to be voted again on another witness until that vote is withdrawn.

I would prefer that should I want to vote for two witnesses, my VP not be necessarily divided in half, but that if I want to vote 2/3 of my stake for one, and 1/3 for the other, that split is at my sole option. Voters should have the ability to determine what support they provide of the stake they have to provide it with.

Presently, it's all or nothing for every witness vote, but I reckon 1t=1v allows us to better express our intentions. I also see no reason to have any limit on the number of witnesses you could vote for if 1t=1v is adopted, and we can determine how much support we throw each witness we vote for.

Thanks!

I would prefer that should I want to vote for two witnesses, my VP not be necessarily divided in half, but that if I want to vote 2/3 of my stake for one, and 1/3 for the other, that split is at my sole option. Voters should have the ability to determine what support they provide of the stake they have to provide it with.

I strongly agree with your objection and counterproposal. Your idea sounds much better.

But I am curious about what you might think about the Expiration part to prevent dead accounts from influencing the Blockchain.

Also, if is not much to ask, could you please either reblog or copy-paste those ideas? If you copy-paste(and edit) don't need to credit me as my intention is for those proposals to reach the most people possible regardless of who gets authorship credit.

I would personally like Vote Dilution to make

The more witnesses you vote, less value your vote has to each of them.

Witnesses Vote Expiration is a must and I think it will be changed with HF25

Posted Using LeoFinance Beta

EN: Those are great improvements, with more witnesses, more decentralization and it will be harder to bad thing to happen, and the vote expiration will promote better practices from the witnesses, so they will try harder to keep their position in a good way.

PT: São excelentes ideias de melhorias, com mais testemunhas, mais descentralização teremos e será mais difícil para más práticas dentro da plataforma, e quanto à expiração do voto, isto promove melhores práticas por parte das testemunhas, que precisarão trabalhar mais para manter sua posição, num sentido positivo.