RSS3-Network / Protocol

The RSS3 Protocol is used to structure Open Information for interoperability.
Creative Commons Zero v1.0 Universal
306 stars 20 forks source link

[Protocol Design] Support content exchange? #4

Closed Atlasoin closed 2 years ago

Atlasoin commented 3 years ago

As we have designed, we are able to exchange the whole persona along with all its contents created. Then there's a question furthermore, should we support the exchange of some specific content created by one persona, kinda like NFT?

We might not consider designing it at our first stage. Just mark it here for some discussion first.

joshuaTTL commented 3 years ago

This leads to an old design problem regarding whether we can have separated file for any given item. If we do, then it can have ownership attribute just like persona files do, which leads to a possibility of trading.

Rorical commented 3 years ago

There is a trade-off between the speed of retrieving all contents from the network, and the minimum granularity of a file's operation. If we separate these items, it might take a longer time to get all of them for a persona.

However, there is another possibility. As I mentioned in issue #3, if we specify the access controller in every RSS3 File, the transferring of ownership could be easily achieved. Also, we could extend our thought from this. Keeping all items inside one items file, we could just delete one item from a persona while adding the same item to another persona. This could better be achieved if we add some built-in commands (e.g. exchanging items) on the basis of the commands of adding and deleting files into our node program.

DIYgod commented 3 years ago

I think the right of operation a file should only belong to the persona self and the persona should sign the file to verify the correctness, allowing others to modify the persona's own file is not a good idea.

Rorical commented 3 years ago

That's why we need a specific access controller in every file and even multi-signature to allow the transferring of ownership. And in such an operation, the signature of both personas is presented, so actually, this modification of the file is authorized by the owner of the file.

DIYgod commented 3 years ago

Rather than allowing multiple personas to control the same file, I think it may be better for them to negotiate offline to hold the same persona, what do you think of this solution? @Rorical

Rorical commented 3 years ago

Actually, I think this solution would be inconvenient considering some large organizations or groups. If everyone could have the access to one privateKey or only one person in this organization holds the key, it would not be easy for them to control the access.

But there is another possibility. We could allow the creation of one special persona called `organization. Such persona would express as a single persona, but it is controlled by many other people.

joshuaTTL commented 3 years ago

Yeah I believe one of the best part about RSS3 is its extensibility and the possibilities behind it. We can definitely consider the possibility of having a special type of joint persona that enables mutual possession. We have been talking about adding an "organization" since the beginning of designing RSS3. It will be empowering something more than just mutual content, but new social structures like group chat or forum and sub forums.