Понравилась презентация – покажи это...
Слайд 0
Kudos
A Peer-to-Peer Discussion System
Based on Social Voting
Luca Matteis
lmatteis@gmail.com
Слайд 1
Social Voting
(online discussions)
Слайд 2
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?
Слайд 3
peers
key
y
ke
blockchain
put(key, val)
distributed hash table
get(key)
Слайд 4
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.
Слайд 5
Transaction (vote):
Input —(key)—> Output
A—(a)—>C
C—(d)—>C
D—(c)—>B
block #298
B—(b)—>A
B—(d)—>C
C—(b)—>D
block #299
4 users: A, B, C, D
4 DHT keys: a, b, c, d
points(user A) = Outputs(A) = 3
points(key b) = key(b) = 2
A—(a)—>B
C—(d)—>D
D—(a)—>A
B—(c)—>A
block #300
Слайд 6
Transaction (vote):
Input —(key)—> Output
A—(a)—>C
C—(d)—>C
D—(c)—>B
block #298
B—(b)—>A
B—(d)—>C
C—(b)—>D
A—(a)—>B
C—(d)—>D
D—(a)—>A
B—(c)—>A
block #299
4 users: A, B, C, D
4 DHT keys: a, b, c, d
points(user A) = Outputs(A) = 3
points(key b) = key(b) = 2
block #300
Most relevant keys:
a=3
d=3
b=2
c=2
DHT
Keys in the latest block
are fresher because
they are pushed more often
to the DHT
Слайд 7
What's relevant lately?
2. get() the keys from the DHT
peer
3. push() the keys to keep
keys:
a: 30 points, them alive in the DHT
b: 45 points
1. get most relevant keys
from the blockchain
distributed hash table
Слайд 8
Publish content.
Content has a key = k and a value = "Hello World"
1. push(k, "Hello World") to the DHT
peer
2. make a transaction (vote)
with k inside and soon it
will be mined in a block
distributed hash table
Слайд 9
Transactions
universal fixed amount
Problem: same user might have several addresses
50 points
1EzwoH…
1AZyMz…
(key)
They could send votes with specific key to themselves to
promote their own content
Слайд 10
Transactions
universal fixed amount
(constant)
With universal fixed amounts, transactions are of an atomic value.
amount = 1
1E..0
1 point
1EzwoH…
1…..
1…..
1 point
1AZyMz…
1..N-1
1….N
To send 50 points, he now needs to break it into 50
transactions (with amount=1)
Слайд 11
Transactions
universal fixed amount
Each transaction also requires a fixed fee
tx amount = 1
fee amount = 1
1E..0
1…..
1EzwoH…
1…..
2 points
(1 fee, 1 receiver)
1AZyMz…
1..N-1
1….N
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.
Слайд 12
Keep alive
Transactions in the latest blocks are republished more
frequently to the DHT to enable quicker response times.
Intuition: latest content is more frequently fetched.
lower republish rate
higher 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).
Слайд 13
Groups subscription
Content can be categorized under specific groups such as:
sports, videos, politics, astronomy, etc. to enable creation of
communities (subreddits).
Usera
subscription = soccer
lower republish rate
higher 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.
Слайд 14
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).
Слайд 15
Use cases
Freedom of
speech
Decentralized
reputation
1890
45
128
119
Proof of what anybody said
available in the blockchain
Relevant content
stands out
Слайд 16