Im currently building a dApp where users will create content that then can be bet on by other users. The design opens up the problem of a user creating content,logging in with another wallet address, and betting on his own content, thus knowing the outcome. Is there any way I can get around this? I'm honestly stumped.
-
what do you mean by betting on his own content, is like the users create a lottery and they set the winner number, then they bet on the winning number?– JaimeCommented Jan 6, 2019 at 13:33
-
An example would be the user is a streamer that's deciding between playing game A or game B. He posts a poll that his followers can bet on the expected game. The creator knows which game he wants to play. If he can bet on his own content, then he has 100% odds.– YoungKidWarriorCommented Jan 6, 2019 at 22:42
1 Answer
As accounts are pseudonymous, there's no way directly around this problem. Unfortunately I can't think of any alternative (better) way to accomplish this either.
Some ideas which will mostly fail:
Asking users to stake Ether to their votes. Doesn't change the problem much but might mitigate it a little bit - someone has to have multiple times the same stake (in different accounts) in order to get his candidate to vote.
Assigning voters some sort of unique ID or similar with which they have to vote. Won't really work as all information on blockchain is public and anyone can just claim somebody else's ID.
A reputation system of sorts. Doesn't really prevent anyone from having good reputation in multiple accounts.
I'd say you have to rethink your idea for a dApp as this model is not suitable for Ethereum.
-
Thanks for the reply. The primary way people seem to be handling this is through whitelisting. Viable at small scales, but not scalable. I guess it's not the end of the world that people can bet on themselves. Just because they posted the content, doesn't mean it will result in the outcome they expect. Commented Jan 6, 2019 at 7:30
-
Well whitelisting is a possibility - didn't come to my mind back then :) But to have an effective whitelisting you need KYC or similar - otherwise same people can apply multiple times to whitelist. Commented Jan 6, 2019 at 19:47
-
Upvoted for "this model is not suitable for Ethereum". dAPPs have many use cases but they can't do everything. This use case is likely to cause more issues than it's trying to solve. Commented Jul 28, 2019 at 13:01