summaryrefslogtreecommitdiff
path: root/.html/gossamer/mistakes.html
diff options
context:
space:
mode:
Diffstat (limited to '.html/gossamer/mistakes.html')
-rw-r--r--.html/gossamer/mistakes.html154
1 files changed, 154 insertions, 0 deletions
diff --git a/.html/gossamer/mistakes.html b/.html/gossamer/mistakes.html
new file mode 100644
index 0000000..d7632f7
--- /dev/null
+++ b/.html/gossamer/mistakes.html
@@ -0,0 +1,154 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <title>
+ The Codex »
+ Design Mistakes
+ </title>
+
+ <link
+ rel='stylesheet'
+ type='text/css'
+ href='http://fonts.googleapis.com/css?family=Buenard:400,700&amp;subset=latin,latin-ext'>
+ <link
+ rel="stylesheet"
+ type="text/css"
+ href="../media/css/reset.css">
+ <link
+ rel="stylesheet"
+ type="text/css"
+ href="../media/css/grimoire.css">
+</head>
+<body>
+
+<div id="shell">
+
+ <ol id="breadcrumbs">
+
+ <li class="crumb-0 not-last">
+
+ <a href="../">index</a>
+
+ </li>
+
+ <li class="crumb-1 not-last">
+
+ <a href="./">gossamer</a>
+
+ </li>
+
+ <li class="crumb-2 last">
+
+ mistakes
+
+ </li>
+
+ </ol>
+
+
+
+ <div id="article">
+ <h1 id="design-mistakes">Design Mistakes</h1>
+<h2 id="is-gossamer-up">Is Gossamer Up?</h2>
+<p><a href="https://twitter.com/megtastique">@megtastique</a> points out that two factors
+doom the whole design:</p>
+<ol>
+<li>
+<p>There's no way to remove content from Gossamer once it's published, and</p>
+</li>
+<li>
+<p>Gossamer can anonymously share images.</p>
+</li>
+</ol>
+<p>Combined, these make Gossamer the <em>perfect</em> vehicle for revenge porn and
+other gendered, sexually-loaded network abuse.</p>
+<p>This alone is enough to doom the design, as written: even restricting the
+size of messages to the single kilobyte range still makes it trivial to
+irrevocably disseminate <em>links</em> to similar content.</p>
+<h2 id="protected-feeds-who-needs-those">Protected Feeds? Who Needs Those?</h2>
+<p>Gossamer's design does not carry forward an important Twitter feature: the
+protected feed. In brief, protected feeds allow people to be choosy about who
+reads their status updates, without necessarily having to pick and choose who
+gets to read them on a message by message basis.</p>
+<p>This is an important privacy control for people who wish to engage with
+people they know without necessarily disclosing their whereabouts and
+activities to the world at large. In particular, it's important to vulnerable
+people because it allows them to create their own safe spaces.</p>
+<p>Protected feeds are not mere technology, either. Protected feeds carry with
+them social expectations: Twitter clients often either refuse to copy text
+from a protected feed, or present a warning when the user tries to copy text,
+which acts as a very cheap and, apparently, quite effective brake on the
+casual re-sharing that Twitter encourages for public feeds.</p>
+<h2 id="ddos-as-a-service">DDOS As A Service</h2>
+<p>Gossamer's network protocol converges towards a total graph, where every node
+knows how to connect to every other node, and new information (new posts)
+rapidly push out to every single node.</p>
+<p>If you've ever been privy to the Twitter “firehose” feed, you'll understand
+why this is a drastic mistake. Even a moderately successful social network
+sees on the order of millions of messages a day. Delivering <em>all</em> of this
+directly to <em>every</em> node <em>all</em> of the time would rapidly drown users in
+bandwidth charges and render their internet connections completely unusable.</p>
+<p>Gossamer's design also has no concept of “quiet” periods: every fifteen to
+thirty seconds, rain or shine, every node is supposed to wake up and exchange
+data with some other node, regardless of how long it's been since either node
+in the exchange has seen new data. This very effectively ensures that
+Gossamer will continue to flood nodes with traffic at all times; the only way
+to halt the flood is to shut off the Gossamer client.</p>
+<h2 id="passive-nodes-matter">Passive Nodes Matter</h2>
+<p>It's impractical to run an inbound data service on a mobile device. Mobile
+devices are, by and large, not addressable or reachable by the internet at
+large.</p>
+<p>Mobile devices also provide a huge proportion of Twitter's content: the
+ability to rapidly post photos, location tags, and short text while away from
+desks, laptops, and formal internet connections is a huge boon for ad-hoc
+social organization. You can invite someone to the pub from your phone, from
+in front of the pub.</p>
+<p>(This interacts ... poorly with the DDOS point, above.)</p>
+<h2 id="traffic-analysis">Traffic Analysis</h2>
+<p>When a user enters a new status update or sends a new private message, their
+Gossamer node immediately forwards it to at least one other node to inject it
+into the network. This makes unencrypted Gossamer relatively vulnerable to
+traffic analysis for correlating Gossamer identities with human beings.</p>
+<p>Someone at a network “pinch point” -- an ISP, or a coffee shop wifi router --
+can monitor Gossamer traffic entering and exiting nodes on their network and
+easily identify which nodes originated which messages, and thus which nodes
+have access to which identities. This seriously compromises the effectiveness
+of Gossamer's decentralized, self-certifying identities.</p>
+ </div>
+
+
+
+<div id="comments">
+<div id="disqus_thread"></div>
+<script type="text/javascript">
+ /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
+ var disqus_shortname = 'grimoire'; // required: replace example with your forum shortname
+
+ /* * * DON'T EDIT BELOW THIS LINE * * */
+ (function() {
+ var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
+ dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
+ (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
+ })();
+</script>
+<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
+<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>
+</div>
+
+
+
+ <div id="footer">
+ <p>
+
+ The Codex —
+
+ Powered by <a href="http://markdoc.org/">Markdoc</a>.
+
+<a href="https://bitbucket.org/ojacobson/grimoire.ca/src/master/wiki/gossamer/mistakes.md">See this page on Bitbucket</a> (<a href="https://bitbucket.org/ojacobson/grimoire.ca/history-node/master/wiki/gossamer/mistakes.md">history</a>).
+
+ </p>
+ </div>
+
+</div>
+</body>
+</html> \ No newline at end of file