Skip to content
This repository was archived by the owner on Apr 29, 2020. It is now read-only.

editing/deletion of content and power dynamics #156

Closed
aronayne opened this issue Aug 9, 2016 · 19 comments
Closed

editing/deletion of content and power dynamics #156

aronayne opened this issue Aug 9, 2016 · 19 comments
Labels

Comments

@aronayne
Copy link

aronayne commented Aug 9, 2016

Reading the available ifps commands : https://ipfs.io/docs/commands/ ipfs does not appear to support deletion or editing of existing content that have been added to ifps ?

@aronayne aronayne changed the title Does ipfs support deletion of content ? Does ipfs support editing/deletion of content ? Aug 9, 2016
@aronayne
Copy link
Author

aronayne commented Aug 9, 2016

I think section '3.7 IPNS: Naming and Mutable State' of ipfs paper https://ipfs.io/ipfs/QmR7GSQM93Cx5eAg6a6yRzNde1FQv7uL6X1o4k7zrJa3LX/ipfs.draft3.pdf answers this question : "Objects are permanent".

So in effect objects added to ipfs cannot be deleted or edited. If an edit is required the file(s) must be edited locally and re-uploaded to ipfs, generating a new hash value for the file(s).

@RichardLitt
Copy link
Contributor

So in effect objects added to ipfs cannot be deleted or edited. If an edit is required the file(s) must be edited locally and re-uploaded to ipfs, generating a new hash value for the file(s).

Yes, I believe you are correct.

@jbenet
Copy link
Contributor

jbenet commented Aug 11, 2016

The computational model is functional data structures. Meaning nothing is
edited, only new entities are created, and some unneeded old ones are
garbage collected.
On Tue, Aug 9, 2016 at 14:26 Richard Littauer [email protected]
wrote:

So in effect objects added to ipfs cannot be deleted or edited. If an edit
is required the file(s) must be edited locally and re-uploaded to ipfs,
generating a new hash value for the file(s).

Yes, I believe you are correct.


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
#156 (comment), or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAIcoQun27huIT41N6ZR-N5wNzOwszJxks5qeMZGgaJpZM4Jf6CG
.

@aronayne
Copy link
Author

aronayne commented Aug 11, 2016

thanks @jbenet . Does this hold true : "To be clear, though: it is possible for data to be deleted from the network. For example, if you add a file and then immediately unpin it and then garbage collect it before anyone has a chance to get it from you, it will be effectively deleted." ?comment made by eminence at #9

@RichardLitt
Copy link
Contributor

Yes, that does. If no node is holding the file, it is not on the network.

@jbenet
Copy link
Contributor

jbenet commented Aug 12, 2016

Yep, that's right

@Kubuxu Kubuxu reopened this Aug 12, 2016
@skaag
Copy link

skaag commented Aug 29, 2016

So how do you deal with someone storing illegal contents? Especially contents that could put human life at risk? For example someone leaks a file with the names of all secret agents of all countries/agencies on the planet, and if that file falls into the wrong hands, people could actually die. How does the network deal with this?

@Ghoughpteighbteau
Copy link

@skaag There will be deny lists that people can subscribe to, to clear out content.

#36 (comment)

@skaag
Copy link

skaag commented Aug 29, 2016

Thanks for the quick response, and thank you for linking to #36 because I see now that someone there already mentioned IPFS will have a problem with the law.

Thing is that any blockchain based system will have the same problem as IPFS, which is a very serious problem and could cause the technology to become illegal down the road when people start to really abuse the technology (and we know humans will always abuse something, if they can).

@Ghoughpteighbteau
Copy link

IPFS isn't part of the block chain technologies, though it uses a more generalized version of the data structure we see in block chains called a Merkal DAG. However, like block chain protocols, IPFS is a decentralized protocol. A larger subset of protocols, and decentralized systems all have the same property: No central point of control.

Some personal philosophy here:

The only way I know to force someone to do something, is to threaten them, or bribe them. The carrot and the stick, right?

IPFS is a decentralized technology. Then who to bribe with the carrot? Who to threaten with the stick?

This problem cannot be "absolutely" fixed. No technology that exists under the banner of "Decentralized" could ever have this problem fixed. Maybe that means it's doomed?

Personally, I hope not!

@jbenet
Copy link
Contributor

jbenet commented Aug 30, 2016

There a ton of technical reasons why IPFS works the way it works. In particular, there are fundamental ties to how information propagates across physical mediums. IPFS brings distributed computing closer to what actually happens in physical reality, and the distributed model of IP (removing the centralizing effects of HTTP). So whether it is IPFS or some other system, eventually apps within computers will communicate locally, unobstructed, and will make decisions (locally, unobstructed) about what to send, to whom, and why. The same way computers themselves already communicate.

It is also the case that you misunderstand-- by default, in our implementations of the IPFS protocol, IPFS nodes never download anything unless you explicitly tell them to. There has to be intent from the user. This is by design. And this is just like a web browser today. Thinking ipfs puts you at greater risk than a web browser means you haven't understood how the system works, so please, look around, all these information you're missing is already in this repository. Furthermore, IPFS puts you at lower risk, because it gives you secure links-- you ONLY get what you meant to get-- nothing else. This is not true today with web browsers on HTTP because any intermediary can serve you malicious content against your will and have you execute it. HTTP is strictly more dangerous in the ways you describe. (eg any page you visit may be intercepted by a malicious actor, or merely changed by the original actor, to secretly be loading malicious javascript, to be part of a botnet, or help distribute bad files).

IPFS also plans to support denylists, as described above, which will allow subnetworks of peers to come together and agree upon sets of content that they'd wish to censor. Censorship may be necessary in some contexts (eg a code of conduct, cp, etc), and therefore nodes should be free to engage in it if they wish to. This is -- again -- optional. IPFS is freedom tech.

On the political philosophy side (but leaving my personal views out of it),if anything, IPFS favors individual and group choice, or panarchracy, without forcing the entire network to operate in any one way. Separately, it actually turns out that you cannot uphold freedom of speech without also empowering people to be bad actors. By definition freedom of speech is the willingness to let others speak their mind freely, without censorship. Many believe this is fundamental to ethical and progressive human society, and there's plenty of evidence for it. But note this is also enough to allow individuals to communicate and coordinate malicious acts against everyone. So you really have to choose one of two -- centralized censorship or decentralized freedom. These two are attraction wells and anything in between will turn into one or the other because of the power dynamics. You may be able to find a temporary equilibrium somewhere between, but usually new powers and new technology perturbs the space enough to dislodge or destroy those equilibria. Technology, in particular cryptography, accelerates this attraction dramatically, and functions almost like annealing (making local optima very hard to stay in). Obviously the former (centralized censorship) is way too dangerous, thanks to existing and historical oppressive regimes. The second (decentralized freedom) is also dangerous, due to malicious and technically powerful small groups being able to coordinate bad acts against everyone. But we think the latter is much less dangerous than the former. (Let alone promoting all the rights and ethically good things).

In the end though-- any kind of technical decision leading to the former will just be compiled out and reworked, so -- political philosophy aside -- there is only one option for the future of information distribution: unobstructed peer-to-peer communication. It already works this way on the internet (IP), the web (HTTP, IPFS, ...), it has been working this way since we acquired language, and since DNA started replicating.

@jbenet jbenet changed the title Does ipfs support editing/deletion of content ? editing/deletion of content and power dynamics Aug 30, 2016
@jbenet
Copy link
Contributor

jbenet commented Aug 30, 2016

This issue has veered dramatically off topic, so I'd err on the side of closing it. It is not my intention to start a political philosophy discussion -- but rather only to articulate the design space and why IPFS falls in a particular set of decisions. If the issue gets more off topic, i'll just close it, or rename it.

Also, many of the questions asked here keep coming up. The answers are laid out all around here, in this repository. Please search to find them. Thanks.

@RichardLitt
Copy link
Contributor

Thanks for the discussion, here. This is good stuff to have down.

I am going to keep this open because the original question has been answered. If anyone has any comments about that particularly question - not including the conversation after - please post them here. If you have any questions about @jbenet's conversation above, please search through the repo and try to find a more relevant issue. Consider this discussion closed to that thread of conversation, please. Thank you.

@skaag
Copy link

skaag commented Aug 30, 2016

I did not mean to create a flame war, in fact I came here to learn. I believe in creating tech that "goes with the flow", which means it needs to take into account the human factor. As we've seen throughout history, people have done some crazy stuff in the past.

I am personally very worried about Blockchain technology because it is possible to store extremely offensive information in there. Information/Data that, should it be put to a vote, the vast majority of participants would like to see it removed. I understand the immense strength in immutability, but I also believe there's great danger in it, and if such scenarios are not handled, future governments or even groups of people might decide to outlaw/ban the technology.

I merely came here to learn about how IPFS handled/approached this difficult issue. I am grateful for all of your answers.

@cheershendtco
Copy link

So in effect objects added to ipfs cannot be deleted or edited. If an edit is required the file(s) must be edited locally and re-uploaded to ipfs, generating a new hash value for the file(s).

If I have uploaded files with my PC, and how to manager these files with other PCs?
Thanks

@RichardLitt
Copy link
Contributor

@skaag Thanks; apologies if we come off as harsh. This is a very serious topic for us, and we've discussed it elsewhere.

@cheershendtco That's a different question. Let's answer that in #169.

@rddaz2013
Copy link

If i publish content , for my local node the hashes are pinned , right?
Now a other node somehow download my content...it has now the hash and the local data? but that data is not pinned...after a time this "cache" is deleted (GC).

If the hashes are pin'ed' that data is downloaded and as long the local node did not delete the pin , never deleted?

@Kubuxu
Copy link

Kubuxu commented Nov 3, 2016

Yes.

@flyingzumwalt
Copy link
Contributor

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

9 participants