{"action":"closed","issue":{"url":"https://api.github.com/repos/borgbackup/borg/issues/170","labels_url":"https://api.github.com/repos/borgbackup/borg/issues/170/labels{/name}","comments_url":"https://api.github.com/repos/borgbackup/borg/issues/170/comments","events_url":"https://api.github.com/repos/borgbackup/borg/issues/170/events","html_url":"https://github.com/borgbackup/borg/issues/170","id":103870109,"number":170,"title":"Option to detect hash collision","user":{"login":"pcgalando","id":14031345,"avatar_url":"https://avatars.githubusercontent.com/u/14031345?v=3","gravatar_id":"","url":"https://api.github.com/users/pcgalando","html_url":"https://github.com/pcgalando","followers_url":"https://api.github.com/users/pcgalando/followers","following_url":"https://api.github.com/users/pcgalando/following{/other_user}","gists_url":"https://api.github.com/users/pcgalando/gists{/gist_id}","starred_url":"https://api.github.com/users/pcgalando/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pcgalando/subscriptions","organizations_url":"https://api.github.com/users/pcgalando/orgs","repos_url":"https://api.github.com/users/pcgalando/repos","events_url":"https://api.github.com/users/pcgalando/events{/privacy}","received_events_url":"https://api.github.com/users/pcgalando/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/borgbackup/borg/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"closed","locked":false,"assignee":{"login":"ThomasWaldmann","id":356103,"avatar_url":"https://avatars.githubusercontent.com/u/356103?v=3","gravatar_id":"","url":"https://api.github.com/users/ThomasWaldmann","html_url":"https://github.com/ThomasWaldmann","followers_url":"https://api.github.com/users/ThomasWaldmann/followers","following_url":"https://api.github.com/users/ThomasWaldmann/following{/other_user}","gists_url":"https://api.github.com/users/ThomasWaldmann/gists{/gist_id}","starred_url":"https://api.github.com/users/ThomasWaldmann/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ThomasWaldmann/subscriptions","organizations_url":"https://api.github.com/users/ThomasWaldmann/orgs","repos_url":"https://api.github.com/users/ThomasWaldmann/repos","events_url":"https://api.github.com/users/ThomasWaldmann/events{/privacy}","received_events_url":"https://api.github.com/users/ThomasWaldmann/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/borgbackup/borg/milestones/4","html_url":"https://github.com/borgbackup/borg/milestones/0.26","labels_url":"https://api.github.com/repos/borgbackup/borg/milestones/4/labels","id":1261329,"number":4,"title":"0.26","description":"","creator":{"login":"ThomasWaldmann","id":356103,"avatar_url":"https://avatars.githubusercontent.com/u/356103?v=3","gravatar_id":"","url":"https://api.github.com/users/ThomasWaldmann","html_url":"https://github.com/ThomasWaldmann","followers_url":"https://api.github.com/users/ThomasWaldmann/followers","following_url":"https://api.github.com/users/ThomasWaldmann/following{/other_user}","gists_url":"https://api.github.com/users/ThomasWaldmann/gists{/gist_id}","starred_url":"https://api.github.com/users/ThomasWaldmann/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ThomasWaldmann/subscriptions","organizations_url":"https://api.github.com/users/ThomasWaldmann/orgs","repos_url":"https://api.github.com/users/ThomasWaldmann/repos","events_url":"https://api.github.com/users/ThomasWaldmann/events{/privacy}","received_events_url":"https://api.github.com/users/ThomasWaldmann/received_events","type":"User","site_admin":false},"open_issues":5,"closed_issues":2,"state":"open","created_at":"2015-08-18T19:49:39Z","updated_at":"2015-09-06T19:35:53Z","due_on":null,"closed_at":null},"comments":4,"created_at":"2015-08-29T18:54:50Z","updated_at":"2015-09-06T19:35:53Z","closed_at":"2015-09-06T19:35:53Z","body":"Hash collisions are unlikely when using SHA256, but as the number of files/chunks increases so does the probability, most de-duplication system do some sort to sanity check; file based - check file size and possibly type, block based - either generate fingerprint in addition to hash or read the block already in archive storage (ie: paranoid mode option in Symantec PureDisk) to verify the archive data really matches new data before incrementing the link counter and discarding the new data.  Easy to test functionality if you are able to change the hash function to md4."}}