During the last few months, after the release of Proof of Feedback protocol BETA on the Polygon Testnet, we have been working in order to have the DAPP ready on the mainnet as soon as possible.
We would like to share with you everything we have been working on, including the difficulties and problems that we have faced.
So, let’s start with the obstacles we have needed to overcome.
When studying the best way to go around gas fees, we came up with several options. Firstly, we considered the possibility of the user just signing a message and then a bot provided by EasyFeedback performing the transaction on behalf of the user, so that he/she would not need to pay any gas fees. This was a good solution, but didn’t meet the Web3 mentality at all. Secondly, we thought that the user could pay for the transaction so that he/she is the absolute owner of that feedback (a non standard NFT that once registered is stuck to the initial registrant of that feedback). This second option is more Web3-like, but we wanted the cost for the user to be 0. That is why, when choosing this option, we have decided to create a faucet so that the feedback sender can claim some MATIC, enough for more than a dozen transactions.
Moreover, some dilemmas we were facing were how to compensate feedback of exceptional quality and how to arrange our loyalty system for users. We have decided to create what we call “Golden Feedback”, which will be granted to feedback senders which obtained an average of 4/4 (grade of 4 on all the feedback 3 metrics) by all the 3 jurors. Moreover, we have decided to use the innovative Soul Bound tokens NFTs, which are non transferable, to assign users one of our 4 loyalty tiers.
Finally, when studying the Feedback to Earn model long term viability, we realised a scalability problem with jurors might arise. We will solve this through the AI tool we will develop, which will help jurors while evaluating the feedback, decreasing the time they need to do the task thanks to the metrics the AI will provide them.
Once an AI for helping the jurors evaluating the feedback is implemented, we are considering following an analogous approach, the optimistic roll-ups use. We will assume that the evaluation provided by the AI is correct and the user will have the opportunity to challenge that if thinks that the evaluation is far from correct, sending it for a re-evaluation by a juror. So the potential juror scalability problem would be solved.
Now, we want to show you some screenshots of the BETA version of the Dapp.
Here, you can see how it looks when a user connects his wallet to the platform.
Of course, our dapp asks you to sign a message to prove you are the owner of the wallet, to be able to log in into the platform. This is a basic message, and it does not allow us or others to use your funds or access your wallet by any means, even if our dapp gets compromised, so don’t worry.
Then, this is how the process of sending a feedback privately and non-anonymously through the platform works:
This is how the jurors profile page looks, as you can see, they can edit and update their information:
This is how the user dashboard looks, as you can see, it shows the feedbacks they have previously sent. Moreover, there is a section where they can see the feedbacks that have been already evaluated by jurors:
This is how a feedback not yet evaluated looks, as you can see, the wallet addresses of the jurors who has been randomly selected to evaluate it are shown:
And this is how feedback already evaluated looks like. As you can see on the evaluation section, there is a figure stating its grade or level of the 3 metrics we use to assign the quantity of tokens to be received by the feedback sender: utility, originality and implementation potential.
Finally, let’s start digging up on the protocol basics and on some improvements we have developed.
After careful examination, we came up with what we consider is the best structural lego for the protocol:
- Feedback origin layer: here is where starts the interaction from the end-user with the PoF by writing feedback to an specific company through a DApp for providing feedback (in the original concept shown in figure 1 the first 2 blocks: user and feedback). That feedback is then passed to the next layer.
- Evaluation layer: once the feedback from the user is received and registered, it needs to be evaluated by a court of jurors that will decide if the feedback is worth a reward, and they will give an evaluation to it.
- Rewarding layer: in this last layer, primarily the customer receives the reward in form of EASYF tokens according to the evaluation of the feedback. At the same time, jurors receive a small fee for their work.
- Minting layer: In 2 of the proposed models, this one is part of the rewarding layer. This level is composed by the contract of the protocol in charge of minting the ERC-20 tokens, either to directly reward a customer and jurors, or to provide liquidity to a contract
Then, we carried out a study on how the protocol contracts should be deployed and implemented in order to seamlessly integrate the different architectures.
Its intricacies will be explained on the Proof of Feedback paper we are releasing, but we have created 2 figures that summarize them:
We have been focused on establishing some anti-exploit and anti-hack measures in order to guarantee the security of the protocol.
In that regard, for example, we have realized that, to avoid an attack on the juror random number generating process, which formerly was from data publicly available from the blockchain, it actually needs to be given from the outside real world.
You can see the process summarized on the following figure:
Moreover, we have analysed three possible vulnerabilities of the protocol: Reentrancy issues, Front running opportunities and Integer overflows & underflows. We have developed some safekeeping mechanisms in order to avoid the protocol from getting exposed to them. You will be able to read about them in our upcoming paper.
Finally, of course, we need to talk about the protocols’ finances.
We have carried out a study on its Gas costs. In the following table we disclose the gas cost of each function that has been measured while running the tests locally.
We can observe that the costs of deployment are very small, a maximum of 4 euro cents for the regional regulator. But then we need to process what is the cost each time a feedback is registered and evaluated. To have an idea of what that cost means, the cryptocurrency units will be converted to the local fiat, euros, as you can see in the following table:
That’s all for now, we hope you have liked this brief sneak peak of our Dapp and protocol. Once we release the article, you will be able to dig deeper on it!