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

Read-Only Mode (Disabling Content Reproviding) #507

Open
lidel opened this issue Jun 28, 2018 · 3 comments
Open

Read-Only Mode (Disabling Content Reproviding) #507

lidel opened this issue Jun 28, 2018 · 3 comments
Labels
effort/weeks Estimated to take multiple weeks exp/expert Having worked on the specific codebase is important kind/discussion Topical discussion; usually not changes to codebase kind/enhancement A net-new feature or improvement to an existing feature P3 Low: Not priority right now status/deferred Conscious decision to pause or backlog topic/design-ux UX strategy, research, not solely visual design

Comments

@lidel
Copy link
Member

lidel commented Jun 28, 2018

In the advent of Tor tabs in Brave, Ongoing work on Tor transport for IPFS we started thinking about user privacy. First step was to add an option to opt-out from window.ipfs (#451).

Another low hanging fruit is to provide configuration setting to disable/limit content reproviding:

flyingzumwalt: could you get read-only mode added to the ipfs-companion wish list?
whyrusleeping: a read-only mode would not reprovide data we read, and also not re-host data we receive; the important part here is that it prevents people from doing confirmation attacks on us to see if we’ve been on a particular site

Feature Characteristics

  • An option on Preferences screen to control Reprovider setting of active IPFS node:
    • Interval: 0 will result in other nodes on the network not being able to discover that you have the objects that you have. There should be one-click toggle to set/unset that.
    • (Optional): Strategy – tells reprovider what should be announced. Valid strategies are:
      • "all" (default) - announce all stored data
      • "pinned" - only announce pinned data
      • "roots" - only announce directly pinned keys and root keys of recursive pins
  • When Interval: 0 we disable "Share files via IPFS" and "window.ipfs", only "read-only" functions remain.

Open Questions

  • What type of UI should we use?
    • Should it be a simple on/on (switching Interval to 0 and 12h) on Preferences screen?
    • Perhaps we could make this smarter and add a select list named "Content Reproviding Policy" with options:
      • "All (Default)" – sets Interval: >0 and Strategy: all
      • "Only Pinned" – sets Interval: >0 and Strategy: pinned
      • "None (Read-Only Mode)" – sets Interval: 0
    • Or maybe it is better to keep is as a toggle, but make Read-Only mode set Interval: >0 and Strategy: pinned ? This way user's node will annouce only content that was explicitly pinned.

cc @whyrusleeping @flyingzumwalt

@lidel lidel added kind/enhancement A net-new feature or improvement to an existing feature kind/discussion Topical discussion; usually not changes to codebase labels Jun 28, 2018
@flyingzumwalt
Copy link

This mode is also important for a bunch of other purposes, especially

  • for users who pay per MB/GB for data.
  • for low-power situations

It also reduces a bunch of surfaces for potential surveillance. Read only users should be able to operate roughly as quietly as a web browser interacting with a centralized server.

@bigs
Copy link

bigs commented Jun 29, 2018

FWIW, i've recently done some work with the go-onion-transport. it is admittedly in pretty bad shape, but i've got plans to rebuild it atop a newer tor library, bine. bine enables a lot of things, such as statically linking tor into a go binary (so you don't have to run a daemon), full tor control support, etc.

@lidel
Copy link
Member Author

lidel commented Nov 9, 2018

Note to self: "Privacy Mode" may be a better term for feature

@jessicaschilling jessicaschilling added exp/expert Having worked on the specific codebase is important effort/weeks Estimated to take multiple weeks P3 Low: Not priority right now topic/design-ux UX strategy, research, not solely visual design labels Apr 8, 2020
@galargh galargh moved this to To do in IPFS-GUI (PL EngRes) Sep 22, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
effort/weeks Estimated to take multiple weeks exp/expert Having worked on the specific codebase is important kind/discussion Topical discussion; usually not changes to codebase kind/enhancement A net-new feature or improvement to an existing feature P3 Low: Not priority right now status/deferred Conscious decision to pause or backlog topic/design-ux UX strategy, research, not solely visual design
Projects
No open projects
Status: Needs Grooming
Development

No branches or pull requests

4 participants