summaryrefslogtreecommitdiff
path: root/wiki/gossamer/index.md
diff options
context:
space:
mode:
Diffstat (limited to 'wiki/gossamer/index.md')
-rw-r--r--wiki/gossamer/index.md26
1 files changed, 13 insertions, 13 deletions
diff --git a/wiki/gossamer/index.md b/wiki/gossamer/index.md
index ec9811e..7964d13 100644
--- a/wiki/gossamer/index.md
+++ b/wiki/gossamer/index.md
@@ -29,7 +29,7 @@ mistakes, not merely different mistakes, and certainly not more mistakes.
The following is loosely inspired by [Rumor
Monger](http://www.mememotes.com/meme_motes/2005/02/rumor_monger.html), at
-"whole world" scale.
+“whole world” scale.
## Design Goals
@@ -141,13 +141,13 @@ legitimate.
Gossamer maintains relationships between identities to allow users to
_verify_ the identities of one another, and to publish attestations of that
-to other Gossamer nodes. From this, Gossamer can recover much of GPG's "web
-of trust".
+to other Gossamer nodes. From this, Gossamer can recover much of GPG's “web
+of trust.”
**TODO**: revocation of identities, revocation of verifications. Both are
important; novice users are likely to verify people poorly, and there should
-be a recovery path less drastic than GPG's "you swore it, you're stuck with
-it" model.
+be a recovery path less drastic than GPG's “you swore it, you're stuck with
+it” model.
Gossamer encourages users to create additional identities as needed to, for
example, support the separation of work and home conversations, or to provide
@@ -181,7 +181,7 @@ the same identity.
WON'T**. Identity keys protect the user's Gossamer identity, but they _also_
protect the user's private messages (see below) and other potentially
identifying data. The export format must be designed to be as resilient as
-possible, and Gossamer's software must take care to ensure that "used"
+possible, and Gossamer's software must take care to ensure that “used”
identity files are _automatically_ destroyed safely wherever possible and to
discourage users from following practices that weaken their own safety
unknowingly.
@@ -236,7 +236,7 @@ clear. The author's bare identity is included in the encrypted part of the
message, to allow the intended recipient to identify the sender.
**TODO**: sign-then-encrypt, or encrypt-then-sign? If sign-then-encrypt, are
-private messages exempted from the "drop broken messages" rule above?
+private messages exempted from the “drop broken messages” rule above?
## Following Users
@@ -304,7 +304,7 @@ three or more identities in this database, will automatically be filtered out
from display. (Additionally, transitively-blocked users will automatically be
added to the block database. Blocking is contagious.) (**TODO**: should
Gossamer _drop_ blocked messages? How does that interact with the inevitable
-"shared blocklist" systems that arise in any social network?)
+“shared blocklist” systems that arise in any social network?)
As with the follow list, the block database is encrypted using the node's
identities.
@@ -328,12 +328,12 @@ Gossamer bootstraps its network using a number of paths:
* Gossamer nodes in the same broadcast domain discover one another using UDP
broadcasts as well as Bonjour/mDNS.
-* Gossamer can generate _locator_ strings, which can be shared "out of band"
+* Gossamer can generate _locator_ strings, which can be shared “out of band”
via email, SMS messages, Twitter, graffiti, etc.
* Gossamer nodes share knowledge of nodes whenever they exchange messages, to
allow the Gossamer network to recover from lost nodes and to permit nodes
- to remain on the network as "known" nodes are lost to outages and entropy.
+ to remain on the network as “known” nodes are lost to outages and entropy.
### Locators
@@ -357,7 +357,7 @@ the identity list.)
### Gossip
-Each Gossamer node maintains a pair of "freshness" databases, associating
+Each Gossamer node maintains a pair of “freshness” databases, associating
some information with a freshness score (expressed as an integer). One
freshness database holds the addresses of known Gossamer nodes, and another
holds Gossamer messages.
@@ -365,14 +365,14 @@ holds Gossamer messages.
Whenever two Gossamer nodes interact, each sends the other a Gossamer node
from its current node database, and a message from its message database. When
selecting an item to send for either category, Gossamer uses a random
-selection that weights towards items with a higher "freshness" score.
+selection that weights towards items with a higher “freshness” score.
(**TODO**: how?)
When sending a fact, if the receiving node already knows the fact, both nodes
decrement that fact's freshness by one. If the receiving node _does not_
already know the fact, the sending node leaves its freshness unaltered, and
the receiving node sets its freshness to the freshest possible value. This
-system encourages nodes to exchange "fresh" facts, then cease exchanging them
+system encourages nodes to exchange “fresh” facts, then cease exchanging them
as the network becomes aware of them.
During each exchange, Gossamer nodes send each other one Gossamer node