DimensionDev / Maskbook-Talks

Where talks of Maskbook happen.
7 stars 1 forks source link

Looking for a decentralized mutable key-value storage which supports pre-write hooks #49

Open neruthes opened 4 years ago

neruthes commented 4 years ago

Introduction

Regardless of the physical form, it should accessible via some query interface over Internet.

It will be good if there is a way to map Maskbook:ProfileLocator:v2:twitter.com:username (a ProfileLocator) to the Public Key, without a centralized authority.

To establish a Persona-Profile Pair, we need a pair of declarations, the forward one and the backward one. In the forward declaration, the Persona signs its ProfileLocator. In the backward declaration, a Post under the Profile indicates the Persona public key.

It is like GUN, but each peer has to do some verification before accepting incoming ProfileOwnershipProof (ProfileLocator, Public Key, and Recent Post URL) from other peers.

The verification should be like the pre-commit hook in Git. The peer looks at the post URL and the profile page to verify that the proof exists and that there is not a newer proof which contains a different Public Key.

When connecting a Profile to a Persona or publishing a Masked Post, the Maskbook software sends the ProfileOwnershipProof to such peers.