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

Permanence Objective - Not explained #1798

Open
planctron opened this issue Jan 21, 2024 · 8 comments
Open

Permanence Objective - Not explained #1798

planctron opened this issue Jan 21, 2024 · 8 comments
Assignees
Labels
need/maintainers-input Needs input from the current maintainer(s)

Comments

@planctron
Copy link

The central idea of giving content "permanence", is mentioned, but then very weakly "explained away" with "pinning".
The pinning concept though, has not a line about how to preserve content without paying for resources.

It seems to be a fundamental flaw in the fight against censorship and loss of "heritage" that "pinning" does not technically include anonymous pinning, in form of "co-pinning" for example.

cs.ipfs.tech/concepts/persistence/#persistence-versus-permanence

@planctron planctron added the need/triage Needs initial labeling and prioritization label Jan 21, 2024
Copy link

welcome bot commented Jan 21, 2024

Thank you for submitting your first issue to this repository! A maintainer will be here shortly to triage and review.
In the meantime, please double-check that you have provided all the necessary information to make this process easy! Any information that can help save additiona round trips is useful! We currently aim to give initial feedback within two business days. If this does not happen, feel free to leave a comment.
Please keep an eye on how this issue will be labeled, as labels give an overview of priorities, assignments and additional actions requested by the maintainers:

  • "Priority" labels will show how urgent this is for the team.
  • "Status" labels will show if this is ready to be worked on, blocked, or in progress.
  • "Need" labels will indicate if additional input or analysis is required.

Finally, remember to use https://discuss.ipfs.tech if you just need general support.

@hacdias hacdias added need/maintainers-input Needs input from the current maintainer(s) and removed need/triage Needs initial labeling and prioritization labels Jan 23, 2024
@Jorropo
Copy link
Contributor

Jorropo commented Jan 23, 2024

@planctron if I understand correctly you are saying that even tho permanence is mentioned, nothing in IPFS actually ensures that ? (which is correct)

@planctron
Copy link
Author

True. The content as it is, is a failure. Why?
The topic promises to explain the difference between "permanence (1) and persistence (2)".
It then starts to confirm the important idea of (1) with: "One goal of IPFS is to preserve humanity's history ..".
Then suddenly it talks about statistics. WOW ! Has nothing to do with this.
It ends up only explaining "pinning", but fails to explain, why this does not solve the problem.
This is terrible.

Here is a better version: ------------------------------------------------------------------------------------------------------------------------------------------------
One initial goal of IPFS was to preserve humanity's history by storing data permanently.

(OUT: This is often referred to as "permanence". But what does permanence actually mean, and why does it matter?
???????? You just explained it!)

IPFS in it's current implementations does not reach this goal. Permanence has to be "paid for" with money or resources.
All providers - are at last removing content if resources are not paid for.
Censorship is always easily possible by governmental intervention.
The term "removal" is elegantly replaced with the term "unpinning" (and garbage collection), which obfuscates the simple step of removing content (guaranteeing non permanence).

Technically, IPFS would be easily extendable with a feature called "co pinning", which would required providers to host a part of the content, the servers hold based on USAGE statistics. This would mean that the pinning would continue and permanence would be guaranteed for every content that - at least for a time - had a sufficient interest for readers.

Until today no such feature was implemented, possibly due to the biased influence of organizations and companies who need to maintain their room for coercion (billing) and censorship.

Jorropo added a commit that referenced this issue Feb 3, 2024
For #1798

My english should be reworked.
The article is currently written as one character conversation which sounds weird, I think it would sound better if it were less conversational.
There are lots of opportunities to shorten my writting.
@Jorropo
Copy link
Contributor

Jorropo commented Feb 3, 2024

Ok thx, I completely reworked the article trying to convey an accurate view on how I see this in https://github.com/ipfs/ipfs-docs/blob/bc6736913471407532134bcb0353d8422ca1bb3d/docs/concepts/persistence.md #1806

Would like to get your feedback.

Jorropo added a commit that referenced this issue Feb 3, 2024
For #1798

My english should be reworked.
The article is currently written as one character conversation which sounds weird, I think it would sound better if it were less conversational.
There are lots of opportunities to shorten my writting.

I also nuked a lot of the pinning and filecoin explainations where are aside of the whys, this is probably usefull to keep somewhere.
Jorropo added a commit that referenced this issue Feb 3, 2024
For #1798

My english should be reworked.
The article is currently written as one character conversation which sounds weird, I think it would sound better if it were less conversational.
There are lots of opportunities to shorten my writting.

I also nuked a lot of the pinning and filecoin explainations where are aside of the whys, this is probably usefull to keep somewhere.
@Jorropo
Copy link
Contributor

Jorropo commented Feb 3, 2024

The points I'm trying to convey in #1806:

IPFS in it's current implementations does not reach this goal. Permanence has to be "paid for" with money or resources.

I don't think there are solutions I can give you to this, we don't live in star trek space communism, physics is a bitch servers need power to run and humans to maintain them as they degrade.

I want to note that you don't need to pay pinning services, you can self host everything,
and if you think a free collaborative network would work you can develop it yourself and integrate it with the network.

The term "removal" is elegantly replaced with the term "unpinning" (and garbage collection), which obfuscates the simple step of removing content (guaranteeing non permanence).

Right the whole unpinning thing is very specific to pinning on top of Kubo or pinning services.
It doesn't directly make sense for Filecoin for example and lots of subtleties are different.

Technically, IPFS would be easily extendable with a feature called "co pinning", which would required providers to host a part of the content, the servers hold based on USAGE statistics. This would mean that the pinning would continue and permanence would be guaranteed for every content that - at least for a time - had a sufficient interest for readers.

I don't think this is easy as at all, multiple projects tried various things along theses lines in the past, and most of them failed.
There is a huge risk betting on just one project, and the fall is painful when it stops working.

What I think IPFS should be is a lowest common layer so we can move data and storage between various projects.
This allows to break the fall when the project fail and all to move on the successful ones when they work.

@planctron
Copy link
Author

Thanks for your response.
I tried to avoid the impression that I am some "Dark Vader Marxist". ;-)

Your changes are very much running in the wrong direction and would not address the weak point.
It would still start my appetite to hear about "permanence" and still completely let me stand in the rain - this time telling me about another off topic (integrity).

So, the summary of your new version is this:
"IPFS was built to create a cradle of knowledge on the net, a "Noa's Arch" for human knowledge.
But this was a star wars dream. We gave up on this.
... What? You are still here? Ok, we tell you something about resources and their cost and digital signatures,
so you don't feel too much thrown off the horse." hahahaha

Think again, please:

  1. Your argument about "resources always have cost" isn't one.
    I have mentioned a way to solve this: Co Pinning.
    If someone pays for 1GByear, the IPFS could require to host 2GB for a year.
    This MUST be implemented in the protocol itself, if you want to ensure permanence.
    And, no, it CANNOT be difficult to do that. Any node would have to classify content as "pinned"
    or "co pinned and anonymous" and take care of assigning this feature due to rules.
    The rules could be simple in the beginning. Sure, there would be a "competition" for the anonymous space,
    but this cannot be essential. This is solvable.
    This would force providers to accept this feature of the IPFS.
    If not, and you would like to "leave this to features of some special nodes", I guess, you will not solve anything.*
    Then there should not be any chapter about "permanence" here.

  2. I want to note that you don't need to pay pinning services, you can self host everything...

    Well, this does not seem to be an alternative because the whole concept of decentralization would be broken.
    Any server could be subject to loss or censorship.

Assuming you are "at the helm" of the IPFS protocol, you have a lot of power there, if you are not threatened
by some "dark force" or energy. ;-)

If you think, such "deep discussion" should find another place (like the dev community), I would agree ;-)

@Jorropo
Copy link
Contributor

Jorropo commented Feb 6, 2024

Some people like you think that copinning is the way to go.
Some other people think building a stateful consensus and using stored files as validation power with collateral is the way to go (Filecoin).
Some other people also do consensus and state but they don't use direct contracts with particular actors and have erasure coding on the network instead (see Celestia).
Some other peoples like me are nerds and want to self host everything because I like having my storage 100µs away from my computer.

Wouldn't it be important if we could move data from one data network to the next and store data on more than one network ?

@planctron
Copy link
Author

Agreed, that finally permanence has nothing to do with IPFS. I read this in your view to the topic as well.
Please make this clear in every doc and introduction. Say clearly what you told me:
"This is not Star Trek.. We have nothing to do with permanence.
Save your stuff to some DNA storage, crystal drives or tapes and make sure that some robot in the future re pins it."
That would be clear then. ;-)

With the current version, you only create this:
A new reader comes, does not understand "how" IPFS addresses permanence, confuses it with persistence and thinks.. ok, I will understand it later. hahaha

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
need/maintainers-input Needs input from the current maintainer(s)
Projects
None yet
Development

No branches or pull requests

3 participants