{"action":"created","issue":{"url":"https://api.github.com/repos/bittorrent/bittorrent.org/issues/34","repository_url":"https://api.github.com/repos/bittorrent/bittorrent.org","labels_url":"https://api.github.com/repos/bittorrent/bittorrent.org/issues/34/labels{/name}","comments_url":"https://api.github.com/repos/bittorrent/bittorrent.org/issues/34/comments","events_url":"https://api.github.com/repos/bittorrent/bittorrent.org/issues/34/events","html_url":"https://github.com/bittorrent/bittorrent.org/issues/34","id":167225163,"number":34,"title":"Decentralized Mutable Torrents","user":{"login":"lmatteis","id":535442,"avatar_url":"https://avatars.githubusercontent.com/u/535442?v=3","gravatar_id":"","url":"https://api.github.com/users/lmatteis","html_url":"https://github.com/lmatteis","followers_url":"https://api.github.com/users/lmatteis/followers","following_url":"https://api.github.com/users/lmatteis/following{/other_user}","gists_url":"https://api.github.com/users/lmatteis/gists{/gist_id}","starred_url":"https://api.github.com/users/lmatteis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmatteis/subscriptions","organizations_url":"https://api.github.com/users/lmatteis/orgs","repos_url":"https://api.github.com/users/lmatteis/repos","events_url":"https://api.github.com/users/lmatteis/events{/privacy}","received_events_url":"https://api.github.com/users/lmatteis/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":15,"created_at":"2016-07-24T09:25:20Z","updated_at":"2016-07-26T19:56:58Z","closed_at":null,"body":"I've been searching for ways to have users benefit from DHT store (BEP 44) more directly. One use case would be the idea of \"decentralized mutable torrents\". \r\n\r\n1. User downloads a special .torrent (with a mutable flag inside it). This informs the client to use DHT put/get queries rather than doing normal DHT.\r\n\r\n2. Client then fetches (get) the mutable key from the .torrent (should always be a mutable key) which will point to a infohash (hence another torrent) which is where the actual contents are.\r\n\r\n3. The client starts downloading such content and periodically helps keep the mutable key alive in the DHT (put).\r\n\r\n4. An \"auto-download\" checkbox/option is displayed so when the mutable key changes, the client leaves the swarm and joins the new one to download the new data.\r\n\r\nTo me this is the bare minimum to allow for content creators to finally start using DHT store functionality directly, and benefit from its decentralized properties.\r\n\r\nFrom a publishers perspective I imagine this to be really simple: in the clients preferences there could be a \"mutable torrents\" section which contains a table mapping various mutable keys to torrents that are being seeded. The publisher can accordingly change which torrent maps to which mutable key.\r\n\r\nFrom a consumers perspective, they could add such mutable .torrent (or magnet link) and there could be an \"auto download\" checkbox/option. Obviously it would function differently from normal torrents, because it would need to DHT get for updates, and change swarms when there're updates. I'm wondering though how the UI for a mutable torrent download would be like; I guess with \"auto download\" on, you'd have the torrent change automatically if the publisher changed it.\r\n\r\nThoughts?\r\n\r\n@the8472 @arvidn "},"comment":{"url":"https://api.github.com/repos/bittorrent/bittorrent.org/issues/comments/235385757","html_url":"https://github.com/bittorrent/bittorrent.org/issues/34#issuecomment-235385757","issue_url":"https://api.github.com/repos/bittorrent/bittorrent.org/issues/34","id":235385757,"user":{"login":"lmatteis","id":535442,"avatar_url":"https://avatars.githubusercontent.com/u/535442?v=3","gravatar_id":"","url":"https://api.github.com/users/lmatteis","html_url":"https://github.com/lmatteis","followers_url":"https://api.github.com/users/lmatteis/followers","following_url":"https://api.github.com/users/lmatteis/following{/other_user}","gists_url":"https://api.github.com/users/lmatteis/gists{/gist_id}","starred_url":"https://api.github.com/users/lmatteis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lmatteis/subscriptions","organizations_url":"https://api.github.com/users/lmatteis/orgs","repos_url":"https://api.github.com/users/lmatteis/repos","events_url":"https://api.github.com/users/lmatteis/events{/privacy}","received_events_url":"https://api.github.com/users/lmatteis/received_events","type":"User","site_admin":false},"created_at":"2016-07-26T19:56:58Z","updated_at":"2016-07-26T19:56:58Z","body":"So I guess what I meant was that hash of pubkey + salt. That would be enough, right? Always forgetting about the damn salt."}}
{"actor":{"display_login":"lmatteis"}}