NatureHacker's Natural Teeth Powder is Free!
After talking to Johan Nygren @resilience_me on twitter, and reading his papers on Proof of Vote and an identity validation system Pseudonym Pairs I figured we can use this idea as a micro proof of work.
After talking to Johan Nygren @resilience_me on twitter, and reading his papers on Proof of Vote and an identity validation system Pseudonym Pairs I figured we can use this idea as a micro proof of work.
What is a micro proof of work (uPoW)?
Micro proof of work is a small proof of work that can give many individuals each newly minted cryptocurrency, not just from a centralized mining challenge. Why is micro proof of work needed? Because there is no real way for individual miners to ever get cryptocurrency in traditional Proof of Work unless they join a centralized mining pool (which is itself a non-ideal uPoW) or buy the cryptocurrency from the big players who win blocks. Micro proof of work is often used as a layer on-top of a traditional proof of work (or other proof) Nakamoto consensus. This is because without getting this data onto a centralized blockchain, other people wouldn't know whether you really have coins or not.
As an aside: The Nakamoto consensus could ideally be the Proof of Vote system where each vote is a person validated by by this PoIV system. The Proof of Vote (PoV) system could say "If you have a 90% validation confirmation and have been validated 100 times or more and have been validated in the last blocktime (say 10 minutes) then you can vote (mine) on the block and have a chance of winning it."
So in micro proof of work, everyone can mint their own currency.
Johan's idea: The idea is to use a random pairing of two nodes/people on the network. They communicate and decide if each-other are humans. This is the validation.
In my implementation only one of them is tasked as the validator, the other person being validated is the subject. This is because if both of them are validators, they could negotiate "I will validate you if you validate me, deal?". If only one of them is validating no reciprocal agreement can be made. The subject has to prove to the validator they are human. This can be any way they decide, perhaps just having a convo which was Johan's idea, or the validator can ask specific questions. Johan also provided that the pair could be broken by either one. Lets say this can be done after 1 minute (just so they aren't spamming for validators they are colluding with) but not after the 2 minute mark (so after say 4 minutes they can't threaten to end the pair unless you promise to validate me) and lets say the validation period is 5 minutes (Johan's idea was 20 mins). Say the validator starts asking personal questions, the subject can break the pairing and be randomly paired with another validator.
Once the validator has completed his work, he determines whether the person was human or not. If he determines the person was human, cryptocurrency is created out of thin air and given to the Subject. If the validator determines they are not human, coins are not made. As a thank you for the validation work (if the subject didn't break the pairing, and therefore vote the validator was bad), the validator can now be the subject of validation himself and have the chance to earn his own cryptocurrency if he is validated successfully. Another option to prevent collusion is to randomly assign a person as subject or validator. However in this case if someone gets assigned validator they may want to just end pair so they can have a chance to be a subject without waiting the 5 minutes. So completing the challenge as Validator in order to become a Subject in future round may be needed.
The validator has reason to not want to determine the person is real. If he determines the person is real, then the currency will inflate and everyone's currency is worth less. So it is in the best interest of the validator to err on the side of not granting the validation and therefore coins. However the validator himself will likely not feel the inflation himself, so if the person really is real and they had a good convo, the validator would likely want to reward the subject for their work by validating them.
Each validation can also act as a "feedback" on the truthfulness of the person. When doing business with someone, you can see they were validated say 500 times and only denied 3 times, which means to you that you can trust this person. However the validation process itself would be blind so you can't know who you are talking to or their reputation so you can have an unbiased judgement. You only see the person's rating when you are buying or selling from them.
That is basically it. This idea can be used with or without additional coin creation or validation mechanisms. It would likely sit as a uPoW layer atop a traditional Proof of Work or other large scale consensus mechanism in order for everyone to know who has what coins.
No comments:
Post a Comment
Thank you for your feedback! Sharing your experience and thoughts not only helps fellow readers but also helps me to improve what I do!