Date post: | 21-Apr-2017 |
Category: |
Software |
Upload: | luca-matteis |
View: | 46,003 times |
Download: | 0 times |
Social Voting (online discussions)
Nothing decentralized exists for discussing online using social voting. Central entities have control over what can
be discussed. Could alter users reputation.
Challenges for decentralized systems: Who keeps track of user's reputation?
Where is information stored and retrieved?
distributed hash table
peers
blockchain
key
key
get(key)
put(key, val)
Incentives
• Similar to Bitcoin: mine and get points. • Universal fixed amounts make it uneconomical to
use for trading. • To earn points users post content that others are
willing to upvote.
Transaction (vote): Input —(key)—> Output
A—(a)—>B C—(d)—>D D—(a)—>A B—(c)—>A
B—(b)—>A B—(d)—>C C—(b)—>D
A—(a)—>C C—(d)—>C D—(c)—>B
4 users: A, B, C, D 4 DHT keys: a, b, c, d
block #300block #299block #298
points(user A) = Outputs(A) = 3 points(key b) = key(b) = 2
A—(a)—>B C—(d)—>D D—(a)—>A B—(c)—>A
B—(b)—>A B—(d)—>C C—(b)—>D
A—(a)—>C C—(d)—>C D—(c)—>B
4 users: A, B, C, D 4 DHT keys: a, b, c, d
block #300block #299block #298
Most relevant keys: a = 3 d = 3 b = 2 c = 2
DHT
Transaction (vote): Input —(key)—> Output
Keys in the latest block are fresher because they are pushed more often to the DHT points(user A) = Outputs(A) = 3
points(key b) = key(b) = 2
peer
What's relevant lately?
1. get most relevant keysfrom the blockchain
keys: a: 30 points, b: 45 points
distributed hash table
2. get() the keys from the DHT
3. push() the keys to keep them alive in the DHT
peer
Publish content.Content has a key = k and a value = "Hello World"
1. push(k, "Hello World") to the DHT
distributed hash table
2. make a transaction (vote) with k inside and soon it will be mined in a block
Transactions universal fixed amount
Problem: same user might have several addresses
1EzwoH… 1AZyMz…50 points
They could send votes with specific key to themselves to promote their own content
(key)
Transactions universal fixed amount
(constant)
With universal fixed amounts, transactions are of an atomic value.
1EzwoH… 1AZyMz…
To send 50 points, he now needs to break it into 50 transactions (with amount=1)
1E..0
1…..
1…..
1..N-1
1….N
1 point 1 point
amount = 1
Transactions universal fixed amount
Each transaction also requires a fixed fee
1EzwoH… 1AZyMz…
To send someone a point (a vote) it requires 2 points from the sender: 1 for the receiver, 1 for the miners.
Sending 10 points to someone would require 10 addresses with at least 2 points each. Creating 10 addresses with 2 points each, would
require 10 transactions of 4 points each, meaning 40 points.
1E..0
1…..
1…..
1..N-1
1….N
2 points (1 fee, 1 receiver)
tx amount = 1 fee amount = 1
Keep aliveTransactions in the latest blocks are republished more
frequently to the DHT to enable quicker response times. Intuition: latest content is more frequently fetched.
higher republish ratelower republish rate
This means old content might not be present in the DHT anymore. System only works well for latest
content: it's not meant to function as a permanent storage system (although DHT keys will remain
permanently in the blockchain).
Groups subscriptionContent can be categorized under specific groups such as: sports, videos, politics, astronomy, etc. to enable creation of
communities (subreddits).
higher republish ratelower republish rate
Users subscribe to specific groups and their republish rate is biased towards content they're subscribed to. Intuition: smaller communities might die off into old blocks, therefore subscribers can help store that
content for longer periods of time in the DHT.
Userasubscription = soccer
DHT structure
• Hierarchical structure of comments to enable discussion (replies/responses are nested).
• Two types of content: posts and comments. • Store little information (limited amount of bytes
needed for comments/posts). • Groups can be assigned to posts to categorize
content and enable creation of communities. • Blockchain doesn't care about this at all (all it needs
is a reference).
Use cases
45128
119
1890
Decentralized reputation
Freedom of speech
Proof of what anybody said available in the blockchain
Relevant content stands out