Chlu — a protocol for decentralized reputation
By: Kulpreet Singh
Tags: Bitcoin, Ipfs, Decentralized, Blockchain, Reputation

Chlu is an open and decentralized reputation platform where vendors are in control of their reputation data and all reviews and ratings are backed by payments made through existing cryptocurrencies.

In this post we describe the key goals of Chlu, and invite you to help us improve and implement the protocol.

Why do we need Chlu?

As things stand today, vendors have very little control over their reputation data. All the ratings and reviews that a vendor receives remain locked inside walled gardens controlled by individual marketplaces.

Chlu lets vendors own their reputation data so that they can choose to share it with any marketplace through which they want to sell their wares.

Chlu also lets vendors resist attacks in the form of fake reviews. Review sites like yelp and even google’s sellers ratings expose vendors to fake reviews by accepting reviews without requiring any proof of purchase and proof that the vendor requested a payment in the first place.

Chlu provides a way for vendors to earn reputation that is backed by payments made to them, and there is openly verifiable proof that vendors requested such a payment from the customer.

What features should Chlu provide?

Vendor owned reputation data

Vendors should be free to share or not share their reputation data with any marketplace as they see fit. No marketplace should be able to own the vendor’s reputation data and use it as a leverage to trap the vendor in their marketplace.

No trusted third party

Vendors should be able to solicit reviews from their customers without requiring a third party to mediate for them. Similarly, customers should be able to verify that all the reviews listed for the vendor are backed by payments requested by, and later successfully received by, the vendor.

Decentralized review storage

Reviews should be stored in a decentralized storage network, such as IPFS, so that no third party can take control of vendor data.

However, using a decentralized network to store reviews generates some additional requirements:

It becomes essential that anyone can validate reviews to prove that they are backed by successful payments through cryptocurrencies. It is also important that a vendor can stop a malicious attacker from creating fake reviews and storing them on the decentralized storage. That is, a vendor can prove a review was created without a payment request sent to the review creator, even if there was a payment by the creator of the fake review.

Vendors can’t hide reviews

With vendor’s ability to control their data it becomes important that vendors can’t simply hide any bad reviews they receive. Chlu provides a way for third parties like marketplaces or any interested customer to load all the reviews a vendor has received, good or bad. A vendor should not be able to selectively hide reviews from the world.

Extensible

An open reputation system like Chlu should allow marketplaces to define any number of detailed attributes they want the customer to fill in as part of a review. For example, Airbnb’s and eBay’s reviews capture very different set of attributes. Chlu should allow marketplaces to ask their customers for responses to a set of attributes chosen by the marketplace.

Multiple reputation scores

When using Chlu, different marketplaces can use different algorithms to compute an overall reputation score for a vendor. For example, one marketplace might want to include only the reviews received in the last 90 days, while another one might want to only include the reviews where the payment backing the reviews is over a certain amount.

All such models of final reputation scores are deliberately left outside the scope of the Chlu protocol so that marketplaces can give different weights to behaviors they want to encourage.

Multiple Cryptocurrencies

The Chlu protocol should not require the payments backing the reviews to be made in a specific cryptocurrency. Chlu protocol only requires that there is a way to store a reference to a review record in the blockchain as part of the payment transaction. For example, this can be achieved on Bitcoin using the OP_RETURN operator.

Litecoin, Zcash and Bitcoin Cash also support OP_RETURN, and Ethereum like platforms allow storing a reference in the smart contract’s transaction.

Why do we need Chlu to be an open protocol?

The current cryptocurrency ecosystem is very much in flux. Of the many blockchains and cryptocurrencies in existence today, we can’t be sure about the level of adoption any of them will have in the future, or if there will be a new as yet unheard of cryptocurrency that will become dominant.

Our response to this uncertainty is to develop a reputation system that can work with any cryptocurrency. By doing so, Chlu is able to provide a guarantee that no matter which cryptocurrency has the most adoption, the reputation data remains accessible and can keep growing.

No closed system can provide such a guarantee. To be able to write wallets that support Chlu for all cryptocurrencies is outright impossible for a single organisation. That is why Chlu is an open protocol. Anyone can write a wallet to provide support for Chlu with any cryptocurrency.

By providing an open protocol, Chlu enables anyone in the future to access historical reputation created today and also to append new reputation data using any cryptocurrency that is popular then.

By providing an open protocol to access historical reputation data, we assure the current users that the reputation they earn today, will not disappear if a cryptocurrency or a company runs into troubled waters.

Chlu Protocol

The Chlu protocol defines how the goals described above can be achieved by any wallet for a cryptocurrency that provides the facility of leaving a reference to external data. For example, Bitcoin and its forks like Litecoin, ZCash and BCH allow the use of OP_RETURN to embed data into a transaction. Other cryptocurrencies allow storing data in a smart contract that executes the transaction.

With just the above requirement from a cryptocurrency, Chlu is a highly portable protocol and can be implemented for a number of cryptocurrencies. This was a very important requirement for the Chlu protocol, as we wanted Chlu to keep working for users as they migrate from one cryptocurrency to another for ease of use, speed of transactions or lower fees.

How can you help?

The Chlu protocol is defined on our github repository and anyone is free to implement the protocol into a wallet of their favourite cryptocurrency. In fact, we are looking for help in implementing Chlu in as many cryptocurrencies as possible. For the moment, we are working on a reference implementation for Bitcoin and the repository is here.

Also, if you have any feedback or want to help improve the Chlu protocol please reach out to us on our slack or create a new issue or pull request on github.