Smart contract-based voting rewards distribution

(Marco C) #1

I HAVE A DREAM
To ensure a trustless retribution of the voters, in the spirit of blockchain technology, could voters rely on a smart contract issued by the nodes and able to authonomously distributing the rewards?

At the moment we (the voters) are trusting the nodes to do what they said, but there’s nothing stopping them to miscalculate or not to distribute the rewards. In my opinion, to mitigate the centralization of power in the hand of the supernodes, a change in the global reward policy is required.
These days the dpos has just started and we’re all playing with the wallet, so we’re always on it and we could realize if a node is not behaving how he’s supposed to… but what in some weeks/months from now? I’m sure that most people would just vote and forget it for long time.

According to the roadmap, if everything goes smooth, we’re gonna have an Ethereum sidechain running soon. I think that this could be a first great use case of our brand new sidechain.
This is the reason why I’m asking the devs to take into account the development of a smart contract-based voting platform: when voting, the node would be bound to the underlying smart contract, he’s of course able to change it whenever he wants, but this action would cancel the vote or, to make the things less drastic, activate a countdown that would allow the voter to review his vote, confirming or revoking it.
A system of push notifications similar to “Blockfolio Signal” should be implemented within the wallets, it would allow the nodes to easily reach out to their voters whenever a change in the distribution algorythm is made.

What do you think? Is it a good idea? Would it be feasible?

Marco

1 Like
(Semir Ramovic) #2

Good idea, but 1 problem. The main chain (as far as I know) does not have smart contract functionality. The sidechains are for that. So there is no simple way to implement this.

(Marco C) #3

A way could be pre-signing also an unvote transaction when you vote. This transaction would be then handled by the ETH sidechain smartcontract and relayed to the network whenever the node changes its reward policy. This could be a workaround to make the mainchain and the sidechain interact.
Unfortunately I’m not a techie and I’m aware that what I’m saying could be farfetched… But, anyway, I’d like the core team to just think about it in the future.
Trustless is always better.