{"action":"created","issue":{"url":"https://api.github.com/repos/ipfs/go-ipfs/issues/3463","repository_url":"https://api.github.com/repos/ipfs/go-ipfs","labels_url":"https://api.github.com/repos/ipfs/go-ipfs/issues/3463/labels{/name}","comments_url":"https://api.github.com/repos/ipfs/go-ipfs/issues/3463/comments","events_url":"https://api.github.com/repos/ipfs/go-ipfs/issues/3463/events","html_url":"https://github.com/ipfs/go-ipfs/issues/3463","id":193270455,"number":3463,"title":"Default 5 digit prefix for flatfs is no longer sufficient  for CidV1","user":{"login":"kevina","id":1271492,"avatar_url":"https://avatars.githubusercontent.com/u/1271492?v=3","gravatar_id":"","url":"https://api.github.com/users/kevina","html_url":"https://github.com/kevina","followers_url":"https://api.github.com/users/kevina/followers","following_url":"https://api.github.com/users/kevina/following{/other_user}","gists_url":"https://api.github.com/users/kevina/gists{/gist_id}","starred_url":"https://api.github.com/users/kevina/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kevina/subscriptions","organizations_url":"https://api.github.com/users/kevina/orgs","repos_url":"https://api.github.com/users/kevina/repos","events_url":"https://api.github.com/users/kevina/events{/privacy}","received_events_url":"https://api.github.com/users/kevina/received_events","type":"User","site_admin":false},"labels":[{"id":247506032,"url":"https://api.github.com/repos/ipfs/go-ipfs/labels/discussion","name":"discussion","color":"d4c5f9","default":false},{"id":129070658,"url":"https://api.github.com/repos/ipfs/go-ipfs/labels/in%20progress","name":"in progress","color":"ededed","default":false}],"state":"open","locked":false,"assignee":{"login":"kevina","id":1271492,"avatar_url":"https://avatars.githubusercontent.com/u/1271492?v=3","gravatar_id":"","url":"https://api.github.com/users/kevina","html_url":"https://github.com/kevina","followers_url":"https://api.github.com/users/kevina/followers","following_url":"https://api.github.com/users/kevina/following{/other_user}","gists_url":"https://api.github.com/users/kevina/gists{/gist_id}","starred_url":"https://api.github.com/users/kevina/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kevina/subscriptions","organizations_url":"https://api.github.com/users/kevina/orgs","repos_url":"https://api.github.com/users/kevina/repos","events_url":"https://api.github.com/users/kevina/events{/privacy}","received_events_url":"https://api.github.com/users/kevina/received_events","type":"User","site_admin":false},"assignees":[{"login":"kevina","id":1271492,"avatar_url":"https://avatars.githubusercontent.com/u/1271492?v=3","gravatar_id":"","url":"https://api.github.com/users/kevina","html_url":"https://github.com/kevina","followers_url":"https://api.github.com/users/kevina/followers","following_url":"https://api.github.com/users/kevina/following{/other_user}","gists_url":"https://api.github.com/users/kevina/gists{/gist_id}","starred_url":"https://api.github.com/users/kevina/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kevina/subscriptions","organizations_url":"https://api.github.com/users/kevina/orgs","repos_url":"https://api.github.com/users/kevina/repos","events_url":"https://api.github.com/users/kevina/events{/privacy}","received_events_url":"https://api.github.com/users/kevina/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/ipfs/go-ipfs/milestones/15","html_url":"https://github.com/ipfs/go-ipfs/milestone/15","labels_url":"https://api.github.com/repos/ipfs/go-ipfs/milestones/15/labels","id":1925870,"number":15,"title":"ipfs 0.4.5","description":"Version 0.4.5 of go-ipfs","creator":{"login":"whyrusleeping","id":1243164,"avatar_url":"https://avatars.githubusercontent.com/u/1243164?v=3","gravatar_id":"","url":"https://api.github.com/users/whyrusleeping","html_url":"https://github.com/whyrusleeping","followers_url":"https://api.github.com/users/whyrusleeping/followers","following_url":"https://api.github.com/users/whyrusleeping/following{/other_user}","gists_url":"https://api.github.com/users/whyrusleeping/gists{/gist_id}","starred_url":"https://api.github.com/users/whyrusleeping/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/whyrusleeping/subscriptions","organizations_url":"https://api.github.com/users/whyrusleeping/orgs","repos_url":"https://api.github.com/users/whyrusleeping/repos","events_url":"https://api.github.com/users/whyrusleeping/events{/privacy}","received_events_url":"https://api.github.com/users/whyrusleeping/received_events","type":"User","site_admin":false},"open_issues":10,"closed_issues":21,"state":"open","created_at":"2016-08-05T16:33:35Z","updated_at":"2016-12-14T21:12:38Z","due_on":"2016-11-19T00:00:00Z","closed_at":null},"comments":24,"created_at":"2016-12-03T06:38:40Z","updated_at":"2016-12-15T00:22:22Z","closed_at":null,"body":"When we switch to Cidv1 the assumptions we built into the 5 (base 32) digit prefix:\r\n```\r\n\t// 5 bytes of prefix gives us 25 bits of freedom, 16 of which are taken by\r\n\t// by the Qm prefix. Leaving us with 9 bits, or 512 way sharding\r\n```\r\nare no longer correct, in fact when raw leaves are used most of the blocks will be clustered in the `AFZBE` directory.  See ipfs/go-ipfs#3462.  There are several ways to fix this:\r\n1. One way to fix this is to increase prefix length, but then we we be back to the problem we had before where we will have lots of directories with just a few files in them (when CidV0 is used).\r\n2. Another alternative is proposed in ipfs/go-ds-flatfs#5.  That is use the last N digits (which should likely be a 2 digit suffix, which will give us 1024 way sharding).\r\n3. Finally, and the most work, it to stick with using a prefix but implement a dynamic prefix width.\r\n\r\nI think (2) would be the best alternative until (3) can be implemented."},"comment":{"url":"https://api.github.com/repos/ipfs/go-ipfs/issues/comments/267199056","html_url":"https://github.com/ipfs/go-ipfs/issues/3463#issuecomment-267199056","issue_url":"https://api.github.com/repos/ipfs/go-ipfs/issues/3463","id":267199056,"user":{"login":"whyrusleeping","id":1243164,"avatar_url":"https://avatars.githubusercontent.com/u/1243164?v=3","gravatar_id":"","url":"https://api.github.com/users/whyrusleeping","html_url":"https://github.com/whyrusleeping","followers_url":"https://api.github.com/users/whyrusleeping/followers","following_url":"https://api.github.com/users/whyrusleeping/following{/other_user}","gists_url":"https://api.github.com/users/whyrusleeping/gists{/gist_id}","starred_url":"https://api.github.com/users/whyrusleeping/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/whyrusleeping/subscriptions","organizations_url":"https://api.github.com/users/whyrusleeping/orgs","repos_url":"https://api.github.com/users/whyrusleeping/repos","events_url":"https://api.github.com/users/whyrusleeping/events{/privacy}","received_events_url":"https://api.github.com/users/whyrusleeping/received_events","type":"User","site_admin":false},"created_at":"2016-12-15T00:22:22Z","updated_at":"2016-12-15T00:22:22Z","body":"@Kubuxu we cant do hashes of the cids. how would `ipfs refs local` work?"}}
{"actor":{"display_login":"whyrusleeping"}}