Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proof of Authorship on GigaChannel with TrustChain #4144

Closed
ichorid opened this issue Jan 13, 2019 · 9 comments
Closed

Proof of Authorship on GigaChannel with TrustChain #4144

ichorid opened this issue Jan 13, 2019 · 9 comments
Assignees

Comments

@ichorid
Copy link
Contributor

ichorid commented Jan 13, 2019

When an author adds a torrent of their work to GigaChannel(GC), this action could be recorded into the author's TrustChain(TC), effectively creating a Proof of Authorship. TC being a DAG, coupled with a working Trust Function(TF), allows any GC user to determine the original author of the infohash, thus enabling donation-based media economy.

The same mechanism can be used to publish any kind of publicly domain contents: government reports, notarized documents, Linux distro releases, etc.

This is the reason to record the creation of each mdblob entity with TrustChain.

@devos50
Copy link
Contributor

devos50 commented Jan 13, 2019

I like the idea of this 'proof-of-ownership'. It aligns well with our other research work. As we have seen before, solid trust estimation functions are the main problem here but establishing a trust score for channel authors can definitely help us with sybil attacks and/or spam prevention.

This is the reason to record the creation of each mdblob entity with TrustChain.

Recording every single .mdblob might be a bit much for now. I wonder whether it might be enough to record only mdblobs that specify channel creation? In a sense, this would store the channel metadata on-chain and the torrent metadata off-chain. In other words, we only store the root metadata entry on TrustChain. Would this be sufficient?

Related to #1

@qstokkink
Copy link
Contributor

Why would a digital signature not suffice?

@ichorid
Copy link
Contributor Author

ichorid commented Jan 14, 2019

@qstokkink , because a signature alone is not enough to determine who was first to sign a message.
Imagine Alice produces a music album and put it in public access with a signed mdblob on my channel. Then Bob can copy the infohash and publish it as if he was the original author. If Charlie then wants to donate to the album's author, he can't really decide who was the first to publish. TrustChain signing allows Charile to determine exactly who was the first to publish.

@qstokkink
Copy link
Contributor

So if I steal someones work and publish it on our platform first, I will be the author? I'm not sure if timestamps can serve as proof of authorship.

@devos50
Copy link
Contributor

devos50 commented Jan 14, 2019

TrustChain signing allows Charile to determine exactly who was the first to publish.

Unfortunately, this is not entirely true. Although we have a total ordering in each individual chain, there are situations where we cannot determine who was the first to publish (unlike linear blockchains like Bitcoin/Ethereum). I make the assumption here that we cannot rely on the timestamp in a TrustChain block. Note that it is possible to defer order information from transactions but if there is no dual-signed transaction made between Alice and Bob, Charlie is unable to determine who was first.

Edit: even if there are dual-signed transactions between two individuals, it might not be enough to get order information (since we are using half blocks which are asynchronous). I have to think about this one more...

@ichorid
Copy link
Contributor Author

ichorid commented Jan 14, 2019

There can be established trusted parties in the network that provide just that - blocks with trusted timestamps. If Alice transacts with any of those after her publication, the order of authorship can be established.

@ichorid
Copy link
Contributor Author

ichorid commented Jan 14, 2019

Another option is to use the trust function to break ties in these corner cases.

@synctext
Copy link
Member

Let keep it as simple as possible for Gigachannel upcoming improvement releases: you can donate to a Gigachannel owner public key. Minimal viable product for a gift-based media economy.

@ichorid
Copy link
Contributor Author

ichorid commented Sep 28, 2021

RIP TrustChain

@ichorid ichorid closed this as completed Sep 28, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

5 participants