{"action":"created","issue":{"url":"https://api.github.com/repos/Storj/dataserv-client/issues/166","labels_url":"https://api.github.com/repos/Storj/dataserv-client/issues/166/labels{/name}","comments_url":"https://api.github.com/repos/Storj/dataserv-client/issues/166/comments","events_url":"https://api.github.com/repos/Storj/dataserv-client/issues/166/events","html_url":"https://github.com/Storj/dataserv-client/issues/166","id":112662937,"number":166,"title":"Audit Scheme","user":{"login":"super3","id":60975,"avatar_url":"https://avatars.githubusercontent.com/u/60975?v=3","gravatar_id":"","url":"https://api.github.com/users/super3","html_url":"https://github.com/super3","followers_url":"https://api.github.com/users/super3/followers","following_url":"https://api.github.com/users/super3/following{/other_user}","gists_url":"https://api.github.com/users/super3/gists{/gist_id}","starred_url":"https://api.github.com/users/super3/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/super3/subscriptions","organizations_url":"https://api.github.com/users/super3/orgs","repos_url":"https://api.github.com/users/super3/repos","events_url":"https://api.github.com/users/super3/events{/privacy}","received_events_url":"https://api.github.com/users/super3/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":7,"created_at":"2015-10-21T19:33:58Z","updated_at":"2015-11-19T13:22:31Z","closed_at":"2015-11-19T13:22:31Z","body":"[project:sm]\r\n### Building:\r\n1. seed=bitcoin address\r\n2. seed=sha256(seed)\r\n3. make a 128M B shard from seed using [RandomIO](https://github.com/storj/RandomIO)\r\n4. goto 2\r\n\r\n### Audit:\r\n1. Retrieve most current ```block_height``` and its ```hash``` #167 \r\n2. We do a full audit every 1000 blocks. For example, on block 379000, we audit shard 0 to N, then on block 379001, we audit shard N to 2N. \r\n3. Our current default shard size is 128 MB, and our default N is 80. So therefore we audit about 10 GB every 10 minutes. \r\n4. ```block_pos = block_height % 1000```\r\n5. ```response = sha256(sha256(block_pos*N + block_hash) + ... + sha256(block_pos*2N + block_hash))```\r\n6. Pass ```response``` to status node.\r\n7. The maximum amount of storage we can audit under this scheme is 10 TB every 7 days. The scheme resets on the 1000th block. If the user has less than 10 TB then they should pass the result ```0``` then start from the beginning until the 1000th block comes around again. \r\n\r\n### API Call\r\n```/api/audit/<bitcoin address>/<block_height>/<response>```"},"comment":{"url":"https://api.github.com/repos/Storj/dataserv-client/issues/comments/158055348","html_url":"https://github.com/Storj/dataserv-client/issues/166#issuecomment-158055348","issue_url":"https://api.github.com/repos/Storj/dataserv-client/issues/166","id":158055348,"user":{"login":"F483","id":977605,"avatar_url":"https://avatars.githubusercontent.com/u/977605?v=3","gravatar_id":"","url":"https://api.github.com/users/F483","html_url":"https://github.com/F483","followers_url":"https://api.github.com/users/F483/followers","following_url":"https://api.github.com/users/F483/following{/other_user}","gists_url":"https://api.github.com/users/F483/gists{/gist_id}","starred_url":"https://api.github.com/users/F483/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/F483/subscriptions","organizations_url":"https://api.github.com/users/F483/orgs","repos_url":"https://api.github.com/users/F483/repos","events_url":"https://api.github.com/users/F483/events{/privacy}","received_events_url":"https://api.github.com/users/F483/received_events","type":"User","site_admin":false},"created_at":"2015-11-19T13:22:31Z","updated_at":"2015-11-19T13:22:31Z","body":"audit complete in in dataserv-client 2.1.8"}}