GitHub PullRequestReviewCommentEvent at 2014-09-13 04:01:57
Repository: Sia
Actor: DavidVorick
Payload: {"action":"created","comment":{"url":"https://api.github.com/repos/DavidVorick/Sia/pulls/comments/17510215","id":17510215,"diff_hunk":"@@ -18,83 +18,83 @@ \\subsection*{Abstract}\n \\section{Introduction}\n We wish to build a network of hosts and files, where every host stores a set of files, and every file is stored by exactly one host.\n This network is dynamic, meaning that files can be added at any time, and hosts can be added at any time.\n-We wish to use this network to store arbitrary data, however we also wish to use this network as a basis for consensus by proof of storage (a host is allowed to participante in consensus if they are completing a sufficient volume of proof of storage).\n-In protecting consensus, we only wish to make sure that no malicious party can gain control of a majority of the voting power.\n+We further wish to perform consensus operations on this network.\n+To prevent Sybil attacks, hosts must submit storage proofs to be eligible to participate in consensus.\n+In order to protect consensus, we only wish to make sure that no malicious party can gain control of a majority of the voting power.\n \n-Assumptions:\n+We make the following assumptions:\n \\begin{itemize}\n-\t\\item No party will ever control greater than 50\\% of the raw storage on the network.\n+\t\\item No party can control greater than 50\\% of the raw storage on the network.\n \t\\item All non-malicious files are fully compressed and non-redundant.\n-\t\\item There is a mechanism of proof of storage that requires a host to demonstrate that they can summon all of the data they are required to store.\n-\t\\item No party can afford more than 50\\% of the networks sum resources. This means that a party cannot do a 50\\% attack by buying enough storage hardware, and cannot do a 50\\% attack by renting 50\\% of the space available on the network, and cannot have some combination of each that exceeds 50\\% of the networks total resources.\n-\t\\item Renting a volume of storage on the network for a given period of time is at least as economically expensive as owning or renting the same volume of raw storage for the same period of time off of the network.\n+\t\\item A mechanism for proof of storage exists.\n+\t\\item No party can afford more than 50\\% of the total resources available to the network. That is, a party cannot perform a 50\\% attack by buying enough storage hardware, renting 50\\% of the storage available on the network, or some combination of the two.\n+\t\\item Renting a volume of storage on the network is at least as expensive as renting the same volume off the network.\n \\end{itemize}\n-In a practical environment, the third requirement may be difficult to achieve, however for simplicity we maintain it as a feature of the network.\n \n-From these assumptions alone, we wish to build a network that satisfies the following properties:\n+Given these assumptions, we wish to build a network that satisfies the following properties:\n \\begin{itemize}\n-\t\\item Every file is stored on a host\n-\t\\item The number of files each host stores follows a normal distirbution.\n-\t\\item A set of hosts controlling less than 50\\% of the raw storage on the network cannot appear to control greater than 50\\% of the raw storage on the network without spending more money than it would cost to merely own 50\\% of the raw storage on the network.\n+\t\\item Every file is stored on a host.\n+    \\item The distribution of files amongst hosts is normal (Gaussian).","path":"doc/addressing.tex","position":32,"original_position":32,"commit_id":"2b5ef90090b41f21b99b0c33c6471b4c015b607d","original_commit_id":"2b5ef90090b41f21b99b0c33c6471b4c015b607d","user":{"login":"DavidVorick","id":2316841,"avatar_url":"https://avatars.githubusercontent.com/u/2316841?v=2","gravatar_id":"a1b91895dc4907980e69a0c1c4f4c064","url":"https://api.github.com/users/DavidVorick","html_url":"https://github.com/DavidVorick","followers_url":"https://api.github.com/users/DavidVorick/followers","following_url":"https://api.github.com/users/DavidVorick/following{/other_user}","gists_url":"https://api.github.com/users/DavidVorick/gists{/gist_id}","starred_url":"https://api.github.com/users/DavidVorick/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DavidVorick/subscriptions","organizations_url":"https://api.github.com/users/DavidVorick/orgs","repos_url":"https://api.github.com/users/DavidVorick/repos","events_url":"https://api.github.com/users/DavidVorick/events{/privacy}","received_events_url":"https://api.github.com/users/DavidVorick/received_events","type":"User","site_admin":false},"body":"??\r\n\r\ny u change tab?","created_at":"2014-09-13T04:01:57Z","updated_at":"2014-09-13T04:01:57Z","html_url":"https://github.com/DavidVorick/Sia/pull/6#discussion_r17510215","pull_request_url":"https://api.github.com/repos/DavidVorick/Sia/pulls/6","_links":{"self":{"href":"https://api.github.com/repos/DavidVorick/Sia/pulls/comments/17510215"},"html":{"href":"https://github.com/DavidVorick/Sia/pull/6#discussion_r17510215"},"pull_request":{"href":"https://api.github.com/repos/DavidVorick/Sia/pulls/6"}}},"pull_request":{"url":"https://api.github.com/repos/DavidVorick/Sia/pulls/6","id":21184907,"html_url":"https://github.com/DavidVorick/Sia/pull/6","diff_url":"https://github.com/DavidVorick/Sia/pull/6.diff","patch_url":"https://github.com/DavidVorick/Sia/pull/6.patch","issue_url":"https://api.github.com/repos/DavidVorick/Sia/issues/6","number":6,"state":"open","locked":false,"title":"various spellchecking/rewording","user":{"login":"lukechampine","id":3344749,"avatar_url":"https://avatars.githubusercontent.com/u/3344749?v=2","gravatar_id":"7c73a2d87a3ff7c96c9f812e6454330b","url":"https://api.github.com/users/lukechampine","html_url":"https://github.com/lukechampine","followers_url":"https://api.github.com/users/lukechampine/followers","following_url":"https://api.github.com/users/lukechampine/following{/other_user}","gists_url":"https://api.github.com/users/lukechampine/gists{/gist_id}","starred_url":"https://api.github.com/users/lukechampine/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lukechampine/subscriptions","organizations_url":"https://api.github.com/users/lukechampine/orgs","repos_url":"https://api.github.com/users/lukechampine/repos","events_url":"https://api.github.com/users/lukechampine/events{/privacy}","received_events_url":"https://api.github.com/users/lukechampine/received_events","type":"User","site_admin":false},"body":"Some notes:\r\n\r\nReword the conditions on lines 43-44, and lines 63-64.\r\n\r\nExplain where the value \"7\" comes from on line 97.\r\n\r\nExplain the distribution attack. Why is it a problem that attackers can affect the distribution? What \"direction\" would they want to push the distribution in?\r\n\r\nExplain the voting system: do hosts receives votes proportional the amount of files they store?\r\n\r\nThis paper talks almost entirely about files, not data. Are there protections against one host storing 10 10KB files, and another storing 10 10GB files?\r\n\r\nI only edited up to around line 97. The rest of that section needs a good deal of clarification.","created_at":"2014-09-12T23:15:23Z","updated_at":"2014-09-13T04:01:57Z","closed_at":null,"merged_at":null,"merge_commit_sha":"343c2d9db50c763641e1a9892b7c0532cd167fc7","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/DavidVorick/Sia/pulls/6/commits","review_comments_url":"https://api.github.com/repos/DavidVorick/Sia/pulls/6/comments","review_comment_url":"https://api.github.com/repos/DavidVorick/Sia/pulls/comments/{number}","comments_url":"https://api.github.com/repos/DavidVorick/Sia/issues/6/comments","statuses_url":"https://api.github.com/repos/DavidVorick/Sia/statuses/2b5ef90090b41f21b99b0c33c6471b4c015b607d","head":{"label":"lukechampine:papers","ref":"papers","sha":"2b5ef90090b41f21b99b0c33c6471b4c015b607d","user":{"login":"lukechampine","id":3344749,"avatar_url":"https://avatars.githubusercontent.com/u/3344749?v=2","gravatar_id":"7c73a2d87a3ff7c96c9f812e6454330b","url":"https://api.github.com/users/lukechampine","html_url":"https://github.com/lukechampine","followers_url":"https://api.github.com/users/lukechampine/followers","following_url":"https://api.github.com/users/lukechampine/following{/other_user}","gists_url":"https://api.github.com/users/lukechampine/gists{/gist_id}","starred_url":"https://api.github.com/users/lukechampine/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lukechampine/subscriptions","organizations_url":"https://api.github.com/users/lukechampine/orgs","repos_url":"https://api.github.com/users/lukechampine/repos","events_url":"https://api.github.com/users/lukechampine/events{/privacy}","received_events_url":"https://api.github.com/users/lukechampine/received_events","type":"User","site_admin":false},"repo":{"id":18459238,"name":"Sia","full_name":"lukechampine/Sia","owner":{"login":"lukechampine","id":3344749,"avatar_url":"https://avatars.githubusercontent.com/u/3344749?v=2","gravatar_id":"7c73a2d87a3ff7c96c9f812e6454330b","url":"https://api.github.com/users/lukechampine","html_url":"https://github.com/lukechampine","followers_url":"https://api.github.com/users/lukechampine/followers","following_url":"https://api.github.com/users/lukechampine/following{/other_user}","gists_url":"https://api.github.com/users/lukechampine/gists{/gist_id}","starred_url":"https://api.github.com/users/lukechampine/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lukechampine/subscriptions","organizations_url":"https://api.github.com/users/lukechampine/orgs","repos_url":"https://api.github.com/users/lukechampine/repos","events_url":"https://api.github.com/users/lukechampine/events{/privacy}","received_events_url":"https://api.github.com/users/lukechampine/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/lukechampine/Sia","description":"Blocktree Based Market For Cloud Storage","fork":true,"url":"https://api.github.com/repos/lukechampine/Sia","forks_url":"https://api.github.com/repos/lukechampine/Sia/forks","keys_url":"https://api.github.com/repos/lukechampine/Sia/keys{/key_id}","collaborators_url":"https://api.github.com/repos/lukechampine/Sia/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/lukechampine/Sia/teams","hooks_url":"https://api.github.com/repos/lukechampine/Sia/hooks","issue_events_url":"https://api.github.com/repos/lukechampine/Sia/issues/events{/number}","events_url":"https://api.github.com/repos/lukechampine/Sia/events","assignees_url":"https://api.github.com/repos/lukechampine/Sia/assignees{/user}","branches_url":"https://api.github.com/repos/lukechampine/Sia/branches{/branch}","tags_url":"https://api.github.com/repos/lukechampine/Sia/tags","blobs_url":"https://api.github.com/repos/lukechampine/Sia/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/lukechampine/Sia/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/lukechampine/Sia/git/refs{/sha}","trees_url":"https://api.github.com/repos/lukechampine/Sia/git/trees{/sha}","statuses_url":"https://api.github.com/repos/lukechampine/Sia/statuses/{sha}","languages_url":"https://api.github.com/repos/lukechampine/Sia/languages","stargazers_url":"https://api.github.com/repos/lukechampine/Sia/stargazers","contributors_url":"https://api.github.com/repos/lukechampine/Sia/contributors","subscribers_url":"https://api.github.com/repos/lukechampine/Sia/subscribers","subscription_url":"https://api.github.com/repos/lukechampine/Sia/subscription","commits_url":"https://api.github.com/repos/lukechampine/Sia/commits{/sha}","git_commits_url":"https://api.github.com/repos/lukechampine/Sia/git/commits{/sha}","comments_url":"https://api.github.com/repos/lukechampine/Sia/comments{/number}","issue_comment_url":"https://api.github.com/repos/lukechampine/Sia/issues/comments/{number}","contents_url":"https://api.github.com/repos/lukechampine/Sia/contents/{+path}","compare_url":"https://api.github.com/repos/lukechampine/Sia/compare/{base}...{head}","merges_url":"https://api.github.com/repos/lukechampine/Sia/merges","archive_url":"https://api.github.com/repos/lukechampine/Sia/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/lukechampine/Sia/downloads","issues_url":"https://api.github.com/repos/lukechampine/Sia/issues{/number}","pulls_url":"https://api.github.com/repos/lukechampine/Sia/pulls{/number}","milestones_url":"https://api.github.com/repos/lukechampine/Sia/milestones{/number}","notifications_url":"https://api.github.com/repos/lukechampine/Sia/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/lukechampine/Sia/labels{/name}","releases_url":"https://api.github.com/repos/lukechampine/Sia/releases{/id}","created_at":"2014-04-05T03:33:37Z","updated_at":"2014-08-25T19:35:07Z","pushed_at":"2014-09-12T23:09:57Z","git_url":"git://github.com/lukechampine/Sia.git","ssh_url":"git@github.com:lukechampine/Sia.git","clone_url":"https://github.com/lukechampine/Sia.git","svn_url":"https://github.com/lukechampine/Sia","homepage":null,"size":6201,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":false,"has_downloads":true,"has_wiki":true,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"DavidVorick:papers","ref":"papers","sha":"fc45473153309c8d0921f8dbce0c79b7ae4a9a9c","user":{"login":"DavidVorick","id":2316841,"avatar_url":"https://avatars.githubusercontent.com/u/2316841?v=2","gravatar_id":"a1b91895dc4907980e69a0c1c4f4c064","url":"https://api.github.com/users/DavidVorick","html_url":"https://github.com/DavidVorick","followers_url":"https://api.github.com/users/DavidVorick/followers","following_url":"https://api.github.com/users/DavidVorick/following{/other_user}","gists_url":"https://api.github.com/users/DavidVorick/gists{/gist_id}","starred_url":"https://api.github.com/users/DavidVorick/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DavidVorick/subscriptions","organizations_url":"https://api.github.com/users/DavidVorick/orgs","repos_url":"https://api.github.com/users/DavidVorick/repos","events_url":"https://api.github.com/users/DavidVorick/events{/privacy}","received_events_url":"https://api.github.com/users/DavidVorick/received_events","type":"User","site_admin":false},"repo":{"id":16572584,"name":"Sia","full_name":"DavidVorick/Sia","owner":{"login":"DavidVorick","id":2316841,"avatar_url":"https://avatars.githubusercontent.com/u/2316841?v=2","gravatar_id":"a1b91895dc4907980e69a0c1c4f4c064","url":"https://api.github.com/users/DavidVorick","html_url":"https://github.com/DavidVorick","followers_url":"https://api.github.com/users/DavidVorick/followers","following_url":"https://api.github.com/users/DavidVorick/following{/other_user}","gists_url":"https://api.github.com/users/DavidVorick/gists{/gist_id}","starred_url":"https://api.github.com/users/DavidVorick/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DavidVorick/subscriptions","organizations_url":"https://api.github.com/users/DavidVorick/orgs","repos_url":"https://api.github.com/users/DavidVorick/repos","events_url":"https://api.github.com/users/DavidVorick/events{/privacy}","received_events_url":"https://api.github.com/users/DavidVorick/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/DavidVorick/Sia","description":"Blocktree Based Market For Cloud Storage","fork":true,"url":"https://api.github.com/repos/DavidVorick/Sia","forks_url":"https://api.github.com/repos/DavidVorick/Sia/forks","keys_url":"https://api.github.com/repos/DavidVorick/Sia/keys{/key_id}","collaborators_url":"https://api.github.com/repos/DavidVorick/Sia/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/DavidVorick/Sia/teams","hooks_url":"https://api.github.com/repos/DavidVorick/Sia/hooks","issue_events_url":"https://api.github.com/repos/DavidVorick/Sia/issues/events{/number}","events_url":"https://api.github.com/repos/DavidVorick/Sia/events","assignees_url":"https://api.github.com/repos/DavidVorick/Sia/assignees{/user}","branches_url":"https://api.github.com/repos/DavidVorick/Sia/branches{/branch}","tags_url":"https://api.github.com/repos/DavidVorick/Sia/tags","blobs_url":"https://api.github.com/repos/DavidVorick/Sia/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/DavidVorick/Sia/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/DavidVorick/Sia/git/refs{/sha}","trees_url":"https://api.github.com/repos/DavidVorick/Sia/git/trees{/sha}","statuses_url":"https://api.github.com/repos/DavidVorick/Sia/statuses/{sha}","languages_url":"https://api.github.com/repos/DavidVorick/Sia/languages","stargazers_url":"https://api.github.com/repos/DavidVorick/Sia/stargazers","contributors_url":"https://api.github.com/repos/DavidVorick/Sia/contributors","subscribers_url":"https://api.github.com/repos/DavidVorick/Sia/subscribers","subscription_url":"https://api.github.com/repos/DavidVorick/Sia/subscription","commits_url":"https://api.github.com/repos/DavidVorick/Sia/commits{/sha}","git_commits_url":"https://api.github.com/repos/DavidVorick/Sia/git/commits{/sha}","comments_url":"https://api.github.com/repos/DavidVorick/Sia/comments{/number}","issue_comment_url":"https://api.github.com/repos/DavidVorick/Sia/issues/comments/{number}","contents_url":"https://api.github.com/repos/DavidVorick/Sia/contents/{+path}","compare_url":"https://api.github.com/repos/DavidVorick/Sia/compare/{base}...{head}","merges_url":"https://api.github.com/repos/DavidVorick/Sia/merges","archive_url":"https://api.github.com/repos/DavidVorick/Sia/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/DavidVorick/Sia/downloads","issues_url":"https://api.github.com/repos/DavidVorick/Sia/issues{/number}","pulls_url":"https://api.github.com/repos/DavidVorick/Sia/pulls{/number}","milestones_url":"https://api.github.com/repos/DavidVorick/Sia/milestones{/number}","notifications_url":"https://api.github.com/repos/DavidVorick/Sia/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/DavidVorick/Sia/labels{/name}","releases_url":"https://api.github.com/repos/DavidVorick/Sia/releases{/id}","created_at":"2014-02-06T08:07:47Z","updated_at":"2014-08-20T15:23:43Z","pushed_at":"2014-09-12T20:26:29Z","git_url":"git://github.com/DavidVorick/Sia.git","ssh_url":"git@github.com:DavidVorick/Sia.git","clone_url":"https://github.com/DavidVorick/Sia.git","svn_url":"https://github.com/DavidVorick/Sia","homepage":null,"size":10215,"stargazers_count":3,"watchers_count":3,"language":"Go","has_issues":false,"has_downloads":true,"has_wiki":true,"forks_count":0,"mirror_url":null,"open_issues_count":1,"forks":0,"open_issues":1,"watchers":3,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/DavidVorick/Sia/pulls/6"},"html":{"href":"https://github.com/DavidVorick/Sia/pull/6"},"issue":{"href":"https://api.github.com/repos/DavidVorick/Sia/issues/6"},"comments":{"href":"https://api.github.com/repos/DavidVorick/Sia/issues/6/comments"},"review_comments":{"href":"https://api.github.com/repos/DavidVorick/Sia/pulls/6/comments"},"review_comment":{"href":"https://api.github.com/repos/DavidVorick/Sia/pulls/comments/{number}"},"commits":{"href":"https://api.github.com/repos/DavidVorick/Sia/pulls/6/commits"},"statuses":{"href":"https://api.github.com/repos/DavidVorick/Sia/statuses/2b5ef90090b41f21b99b0c33c6471b4c015b607d"}}}}