Memo is going to face a few problems as it grows. Fake identities. Spam. False accusations. Scams. Fake news. Sybil attacks. Fake Experts. The full cornucopia of delights of an uncensorable, unmoderated content platform. It can't combat these with traditional methods - like Facebook's 7,500 content moderators - there's just no way to finance that. We still need to solve that problem, but we're going to need to do it in a radically different way.

Web Of Trust

Enter the Web of Trust. This is a decentralized and distributed identity/reputation management idea that's been around in some form since the 1990's. It's a really simple idea, but with really powerful emergent properties.

How It Works

Let's say I trust Journalist A to report accurate news. And Journalist A trusts Blogger B. Therefore I should trust Blogger B more than Blogger Z (about whom I have no information). And if Blogger B trusts Tweeter C who trusts FaceBooker D - well the trust is still transitive down the chain. But I don't place as much trust Facebooker D as Blogger B because he is further removed from me in the web, but at least I have some information to go on.

It's a Web

Because you'll trust multiple other users, and they'll trust multiple users, it becomes a web. You'll probably have multiple routes to each new identity you encounter. The software can weight all of these routes, judging the distance and strength of the connections in deciding what to filter. The Kevin Bacon Six Degrees of Separation applies - users should be no more than 6 hops away from each other. If Blogger Z can't get any other trusted user to vouch for him, well he probably shouldn't show up on your feed until he can gain some trust directly. He could easily be a spammer or a scammer.

Incentives

What if Facebooker D trusts Blogger Z but Blogger Z turns out to be writing fake news? Well that harms the reputation of Facebooker D too so there's an incentive for everyone to stay honest in order to maintain their reputation and influence.

Protocol

All this will require quite a bit of software, but the protocol needed is fairly simple. With a few additions, I think we'll have everything we need to get started in a way that is easy for everyone to understand.

I propose the following additions for the Memo Protocol -

Action Prefix Values Assertion 0x6d21 address(35),message(31) Claim ID 0x6d22 service(4),identifier(72) Disclaim ID 0x6d23 service(4),identifier(72) Rating 0x6d24 txhash(20),byte(1),message(55) User Rating 0x6d25 address(35),byte(1),message(40)

An Assertion says something about a Memo user - let's say 'Is Unbiased' might be a good assertion for a journalist. It could be anything 'Makes Good Pizza', 'Is an Honest Mechanic', 'Is a Good Hotel' . . . anything. Users can make assertions about themselves or other users.

Claim ID allows a Memo user to claim other profiles, like Twitter, Facebook etc as part of their Memo identity.

Disclaim ID allows Memo users to remove profiles from their identity.

A Rating allows a user to give a score of between -127 and +127 to an assertion, or a ID Claim, (or any memo transaction), together with an optional message for feedback.

User Rating allows a user to give another user an overall rating between -127 and +127. This might record a view on a user's overall suitability to participate.