Social attack on steemit

in #steemit8 years ago (edited)

==A game theory based virus==

I brought the idea from this famous solution for micropayments https://people.csail.mit.edu/rivest/pubs/Riv97b.pdf and even if it's obvious somebody wrote something even on second idea to build this mechanism http://eprint.iacr.org/2015/1015.pdf


CONTRACT

I will take hash of block 422321 of the Bitcoin blockchain and get an 0<=x<=1 from it then use this number to choose someone in the list of voters, each voter is counted according to its SP*voting_power (rshare) at the moment of the vote. The chosen person will get 10% of this post reward to his account in SD.

tl;dr This is the first lottery with free tickets, your probability(reward)/risk = infinte, winner extraction in about 5.5 days.


CODE

import json, re, requests, collections
from piston.steem import Steem

def extraction(random, votes):
	tot_rshares = sum(map(int,[x['rshares'] for x in votes]))
	tickets = {}
	for vote in votes:
		tickets[vote['voter']] = float(vote['rshares'])/tot_rshares	
	tot = 0
	for voter in collections.OrderedDict(sorted(tickets.items())):
		tot += tickets[voter]
		if tot > random:
			return(voter)

blockhash = json.loads((requests.get('https://blockchain.info/it/block-height/422321?format=json').text))['blocks'][0]['hash']
random = int(blockhash,16)/16.**(64-len(re.match('[0]*',blockhash).group(0)))
votes = Steem().get_content("@rodomonte/social-attack-on-steemit").active_votes

print(extraction(random, votes))

[We don't need an ethereum contract to enforce this since all my incentives are to execute it: I don't want to get downvotes, I get a positive feedback for next lottery. And all previous lotteries correctly executed will builds an obvious trust.]


DILEMMA

If you vote - caring about your own return - you get a "probabilistic payment" but you damage the steemit idea because you get something for nothing, although if you don't vote or you downvote - caring about the steemit system - you don't eliminate the problem. The problem gets bigger every lottery, since every past lottery build trust.


REFERENCES

https://en.wikipedia.org/wiki/Prisoner%27s_dilemma

https://en.wikipedia.org/wiki/Free_rider_problem

Sort:  

Voting is not something for nothing since voting power is consumed. When the post gets downvoted and has 0 SD rewards, those who tried to get a reward are worse off than if they had not participated.

This is not true, I and the people who vote this post didn't lose anything.

Maybe just around an hour of full sp charge so if they vote within that hour their sp will be counted as 95%. (see 'Rate Limited Voting' here: https://steem.io/SteemWhitePaper.pdf)

We'll see how this whole thing plays out.. I am certainly finding myself 'playing the game'.. hopeful about this platform and new solutions that may arise. Thanks for your post!

Sure thing I understand is that this experiment need a launching pad to get real data; here pastebin version: http://pastebin.com/bVP8wW48

@dan has been extracted and 10% of 0$ has been just sent in SD.