Tech

[Ethereum][Whisper] ÐΞVcon-0 Whisper Video memo

  • このエントリーをはてなブックマークに追加

Personal memo of Gav’s Whisper presentation at ÐΞVcon-0.
For people who doesn’t have enough time to watch 1hour video.

Memo from following video
ÐΞVcon-0 – Whisper: the Multi DHT Messaging System with Routing Privacy. Vision & Roadmap. – YouTube

Consensus is Expensive

Comms patterns in MMUs

Static content publication

e.g. BitTorrent, FTP

Connection (betwixt indentities)

e.g. VoIP, RTC

Transient Datagrams

e.g. Twitter, IM, registries

Datagram patterns in MMUs

Wholly directed

e.g. IM, e-mail

Partially directed

e.g. Mailing list, usenet

Filterrable global

e.g. Twitter, registries, content-search

Static Content

  • DHT/Swarm

RTC Connection

Raw P2P connection

Routing privacy is important

Encryption alone won’t keep your information safe

Whisper

Hybrid DHT and messaging system

Dark

…probablistic message forwarding

Subject-key orientated

…no indication of encryption, no notion of content

Is it a DHT?

Multi-key
…many ‘topics’ associated with entries

Multi-value
…many entries can have the sme key-set

Transient
..entries have explicit expiry

Is it a Datagram Transport Layer?

Broadcast/multicast/unicast
…always secure & authenticated

Ansynchroous
..packets hava a TTL

Anti-DoS/SPAM

Proof-of-work.
good-behaviour incentivisation

Always Identity, Never Endpoint

Endoint is implementation detail

Configurable

User makes effieiency/privacy tradeoff

Toic-based

Watch for topic subsets, act accordingly

Secure

Unicast vs broadcast = Encrypted vs plain

Authenticated

Origin vs anonymous = Signed vs unsigned

What it’s not

  • Point-to-point
  • High bandwidth
  • Low latency
  • Application-level
  • Connection-oriented

Two Routes to Routing

Passive
…peer steering throught rotation against past useless

Active
…topic advertising through masks

Prioritised Forwarding

Server your peers well or risk disconnection

Interresting Topics
…prioritise messages in which peer has expressed interest

Lowest TTL
…prioritise short-lived messages

Highest Proof-of-Work
…prioritise messages for which a greater proof-of-work has been conducted

Maskng/Filtering

Forming the topic vortex
Consolidation of masks & forwarding
…masks of all other peers are consolidated packaged and resent

log(N) distance ofr mask precision
…information drops-off further away from peer as net increases

API

Three functions

newIdentity

…create a new identity (i.e. key pair)

post

…post an entry/message

watch

…watch for new entries/messages on the system

newIdentity

var key = newIdentity();

(memo by hshimo) creates new public key

post

shh.post({
optionally "from": owned public key,
optionally "to": public key,
"topics": [..., ...],
"payload": ...,
"ttl", integer,
"priority": integer
});

watch

var w = shh.watch({
optionally "to": owned public key,
"filter": [..., ...],
});
w.changed(function(m) {...});
var ms = w.messages();
w.install();

Questinos and Answers

(questions and answers)

Example

(source code and explanation by Gav)

Not yet covered

  • Multicasting (shared-secret dispersal)
  • Plausible deniability of authoring (Daniel?)
  • Security, privacy and scalability modelling:
    how good is it?

Questions

()

Ref

  • このエントリーをはてなブックマークに追加

Leave a Reply

*