-
Notifications
You must be signed in to change notification settings - Fork 196
Enable buyers and sellers to leave reviews #1832
Comments
In order to get all reviews for a seller (by proxy via her transactions), does this need to be indexed on the bridge server? |
On Airbnb, I think reviews only ever become visible if both parties participate. Will we have a similar model? If so, how do we hang on to a review without publishing it to the blockchain until the counterparty has reciprocated? |
I believe that the plan was for a purchase to not enter |
Yes, reviews will definitely need to be indexed. We'll need the indexing server to check the contract to determine if the review is "valid", since we need to send the review to the blockchain when they happen, even if the other party still might open a dispute.
At that point the seller could either withdraw and review or open a dispute. They wouldn't be able to do both. |
Great question, @micahalcorn & there's no easy answer to this problem today. Storing / revealing private data on a public blockchain doesn't really work. NuCypher promises to help with this, but it's still under active development. One temporary and unsatisfying solution would be to have the blind review process enforced entirely by origin.js so the reviews are hidden in the DApp till both sides have left a review. Of course, the data will already be public on IPFS & Ethereum, but you'll need to have some development chops to access it. |
@joshfraser Do we need reviews scores on-chain for any reason? If not, the review data we need to store would work as pure logs. I'm thinking we don't need them on-chain. My guess is that any reputation system that operates deterministically on the blockchain could be gamed, and would be much slower than something off chain. |
It adds more trust in the system if we store them on-chain. Companies like Uber and Airbnb have a bad reputation of burying reviews that are bad for business (meth labs in Airbnbs, etc). Of course, it makes good business sense for them to hide the horrible stuff that happens on their platforms, but it doesn't fit w/ our goal of building an open and fair and transparent system. Storing a single integer & a IPFS hash isn't all that expensive & doing so allows us to implement on-chain rules for bookings down the line (only allow people w/ 5+ transactions and a 4+ star average to book). A hybrid approach for facilitating the reveals might be to publish the IPFS hash of the review to the blockchain w/o publishing the actual content to IPFS. Everyone would be able to see that a review is coming, without knowing what was actually said until your chosen bridge server pushes the content to IPFS 14 days later in the reveal phase. While it would require people to trust the bridge server, it's immediately detectable to everyone if the bridge server is ever dishonest as the content hash would not match. |
Sorry, I used the wrong terminology. Storing events in logs would be just as transparent as storing them in contract storage, since the whole world can see them in both cases. The difference is that contracts cannot see logs. If we need contracts to be able to see reviews, then would we also need a central store mapping of user -> reviews of them? |
Ah, I understand now. I think a reviews registry makes sense. |
Done via #183 ✅ |
Likely Requirements
counterparty orproductPossible Considerations
Contract changes:
Reviews API:
The text was updated successfully, but these errors were encountered: