Deploying to gh-pages from @ p2p-ld/docs@b1712aa7ab 🚀

This commit is contained in:
sneakers-the-rat 2023-06-09 04:19:31 +00:00
parent a96a8395a2
commit 698d6d46e0
70 changed files with 6456 additions and 723 deletions

View file

@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: 510e8cf7dc018d55484ca34d156c14ec
config: 843c5348da5f51068358c85baca3c995
tags: 645f666f9bcd5a90fca523b33c5a78b7

View file

@ -1 +0,0 @@
# Chapter 1

View file

@ -1,44 +0,0 @@
# Comparison
All of this is TODO. Comparison to existing protocols and projects (just to situate in context, not talk shit obvs)
## "The big ones"
- BitTorrent
- IPFS
## "The research ones"
- Dat
- Hypercore
## Social
- ActivityPub/Fediverse
- Secure Scuttlebutt
- Matrix
## Semweb/LD
- SOLID
- Nanopubs
## To be categorized
- Agregore
- Arweave
- CAN
- Chord
- Earthstar
- Freenet
- Manyverse
- P2panda
- SAFE
- Storj
- Swarm
## Points of comparison
- not append-only
- metadata

View file

@ -0,0 +1 @@
# ActivityPub

View file

@ -0,0 +1,16 @@
# AT Protocol/Bluesky
```{index} Identity
```
```{index} Bluesky
```
```{index} Identity; DID
```
We aren't too concerned with billionaires cosplaying as altruists and the technologies they produce, but the AT Protocol has a few ideas, particularly related to [identity](https://atproto.com/guides/identity), that are interesting.
Specifically, AT protocol differentiates between *handles* and *identities*, where DNS entries are used as short handles that resolve to a [DID](https://www.w3.org/TR/did-core/).
That's about it, the rest of the handling of DID's is extremely centralized (see [did:plc](https://atproto.com/specs/did-plc) which requires resolution against a single domain), and the requirement of all posts to be funneled through [Big Graph Services](https://blueskyweb.xyz/blog/5-5-2023-federation-architecture) rather than directly peer to peer is transparently designed to ensure a marketing and advertising layer in between actors in the network.

View file

@ -0,0 +1 @@
# BitTorrent

View file

@ -0,0 +1,5 @@
# DMC
Distributed Mutable Containers
https://inqlab.net/projects/dmc/

View file

@ -0,0 +1,5 @@
# ERIS
Encoding for Robust Immutable Storage (ERIS)
https://eris.codeberg.page/spec/

View file

@ -0,0 +1 @@
# Dat/Hypercore

View file

@ -0,0 +1,62 @@
(comparison)=
# Comparison
All of this is TODO. Comparison to existing protocols and projects (just to situate in context, not talk shit obvs)
```{toctree}
:caption: P2P
bittorrent
ipfs
hypercore
spritely
```
```{toctree}
:caption: Social
activitypub
ssb
matrix
at_protocol
nostr
xmpp
```
```{toctree}
:caption: Linked Data
solid
ld_fragments
nanopubs
```
```{toctree}
:caption: Data Structures
eris
dmc
```
## To be categorized
- Agregore
- Arweave
- CAN
- Chord
- Earthstar
- Freenet
- Manyverse
- P2panda
- SAFE
- Storj
- [Swarm](https://www.ethswarm.org/swarm-whitepaper.pdf)
- not interesting, based around coins and smart contracts
- kademlia routing
- chunks stored by nodes close in hash space
## Points of comparison
- not append-only
- metadata

View file

@ -0,0 +1,24 @@
```{index} IPFS
```
# IPFS
If IPFS is {index}`BitTorrent` + {index}`git`, and {key}`ActivityPub` is {key}`Distributed Messaging` + {key}`Linked Data`, then p2p-ld is IPFS + ActivityPub. We build on IPFS and are heavily inspired by its design and shortcomings revealed by practical use.
## Problems
- Slow access!
- No identity misses the social nature of infrastructure. Where bittorrent had trackers, there is no similar concept in IPFS to organize archives.
- Hence the need for filecoin, an exogenous incentive to store, but then it becomes transactional which generates its own problems.
- Trust! eg. its use in phishing attacks is because there is no way to know who the hell a given CID is owned by. It needs to be possible to do social curation, or at leats know when something is riskier or not.
- Lack of metadata means having to build a lot of shit post-hoc, like IPLD and multihashes and codecs and whatnot.
## IPLD
## Overlap
- {index}`Merkle DAG`s
## Differences
- Not permanent storage! Identities retain custody and control over objects in the network.

View file

@ -0,0 +1,49 @@
```{index} Linked Data; Fragments
```
# Linked Data Fragments
## Summary
[Linked data fragments](https://linkeddatafragments.org/publications/) are designed to "fill in the middle" between entirely serverside ({index}`SPARQL`) or clientside (downloading a triple store) usage of linked data triples. SPARQL queries are notorious for being resource intensive, as queries can become much more complex than typical relational algebra and the server needs to resolve a potentially enormous number of resources. Placing all the logic on the server, rather than the client, is an architectural decision that has a complex history, but descends from the idea that the web should work by having "agents" that work on the web on our behalf[^semwebagents].
Linked data fragments (LDFs) split the difference by placing more of the work on clients, with the server providing pre-computed sets of triples for a given selector. "Selector" is a purposefully general concept, but the LDF authors focus primarily on [Triple Pattern Fragments](https://linkeddatafragments.org/specification/triple-pattern-fragments/) that are composed of:
- A **Triple Pattern**, a `?subject ?predicate ?object` that defines the contents of the fragment
- **Metadata**, specifically a `triples` predicate indicating the estimated total number of triples in the fragment since large fragments need to be paginated, and
- **Hypermedia Controls** that can be used to retrieve other related fragments. For example, a triple pattern corresponding to `s:people` `p:named` `o:tom` would have links to retrieve all the related combinations including each field being unspecified, eg. any triplet whose subject is a `person`, predicate is `named` and so on.
The hosting server then partitions all of the triples in a given dataset into all the possible combinations of subjects, predicates, and objects.
## Overlap
p2p-ld follows Linked Data Fragments in that it emphasizes clientside logic rather than query logic on the network. Executing distributed complex queries adds substantial complexity to the protocol and would potentially import a lot of the problems with SPARQL like heightened resource requirements and potential for abuse for denial of service.
## Differences
- re: linked data platform, p2p-ld also concerns "leaf" nodes with binary data accessed via codec, rather than represented as triplets. The results of queries are thus not necessarily imagined to be single factual assertions, but datasets, images, documents, posts, etc. -> So the container concept is less rigidly defined than an LDF host with a completely partitioned triplet graph.
Additionally, by being an explicitly *social* system, p2p-ld is unconcerned with arbitrary query execution time on anonymous data systems - the expectation is that individual peers and {index}`peer federations <Peer Federations>`
```{admonition} To be very clear!
:class: attention
p2p-ld does not attempt to replace or improve SPARQL. There are a number of philosophical and practical differences in the design of the greater semantic web, and particularly its instantiation as bigass corporate knowledge graphs. We will do what we can to integrate with RDF and RDF-like technologies, but p2p-ld is *not* a distributed SPARQL endpoint.
```
There are a number of philosophical
[^semwebagents]: See the history of the early to middle semantic web, discussed in {cite}`saundersSurveillanceGraphs2023`
## References
- Homepage: https://linkeddatafragments.org/
- Papers:
- Original conference paper: {cite}`verborghWebScaleQueryingLinked2014`
- {cite}`verborghTriplePatternFragments2016`
- Specification: [Triple Pattern Fragments](https://linkeddatafragments.org/specification/triple-pattern-fragments/)

View file

@ -0,0 +1 @@
# Matrix

View file

@ -0,0 +1 @@
# NanoPubs

View file

@ -0,0 +1,41 @@
# Nostr
Again, though we have a general distrust of the anarcho-capitalists, it's worth a comparison.
Nostr is an extremely minimal protocol: https://nostr.com/the-protocol . There just isn't a lot there worth speaking of.
## DNS identity
Like [AT Protocol](at_protocol), there is a NIP (noster implementation possibility) for using {index}`DNS` to map keys: https://github.com/nostr-protocol/nips/blob/master/05.md
It seems to be Webfinger-like, using a .json file under a `.well-known` path on a domain. An identity issues an event indicating a `nip05` type:
```json
{
"pubkey": "b0635d6a9851d3aed0cd6c495b282167acf761729078d975fc341b22650b07b9",
"kind": 0,
"content": "{\"name\": \"bob\", \"nip05\": \"bob@example.com\"}"
}
```
and then does a GET to `https://example.com/.well-known/nostr.json?name=bob`. If the response looks like this:
```json
{
"names": {
"bob": "b0635d6a9851d3aed0cd6c495b282167acf761729078d975fc341b22650b07b9"
}
}
```
then the identity is considered verified.
## Petnames
And a notion of {index}`Petnames`: https://github.com/nostr-protocol/nips/blob/master/02.md
## Not so good
- Just a client-server architecture: clients must talk to relays, relays do not talk to one another.
- Very very little in the way of a formalized spec for relays
- Made by a bunch of bitcoin guys

View file

@ -0,0 +1 @@
# SOLID

View file

@ -0,0 +1,30 @@
# Spritely/Goblin
The Spritely Institute is likely the closest in spirit and design to what we are considering with p2p-ld, and have significant experience having previously worked on [ActivityPub](activitypub). The primary point of departure is their focus on building applications and running code, rather than structuring and sharing data --- so their work is largely complementary.
Overlapping design choices include
- Emphasis on making a social, rather than a technological system!
- Capability security vs ACLs - Containers of other identities might be a useful way of coordinating who gets capabilities, but implementing them as capabilities rather than access checks makes for a much richer space of interaction and mutation.
- `Goblins` as "addressable entities with encapsulated behavior" are similar to {index}`Container`s
- Distributed objects: we imagine containers as being instantiated in multiple places at once and being acted on by multiple actors. Spritely's use of the "Unum Pattern" focused on distributed behavior rather than distributed data is something we plan on following up on and re-evaluating some of our designs. One place we may diverge is in our emphasis of 'forking' and activity that doesn't need to be explicitly approved: actors need not necessarily operate on the same shared object, but might make their own assertions, links, and so forth that don't directly change the object as owned by the original actor.
Stuff we can learn from
- A lot
- Promise Pipelining to reduce roundtrips
- Implementation of protocol agnosticisim in OCapN
- Discussion of safety of computing base and evaluation environment
Their description of *portable encrypted storage* ({index}`Storage; Portability`) is also extremely useful:
> 1. Documents must be **{index}`Content Addressed <Content Addressing>`** and **location agnostic.** In other words, the name of the particular resource is based on information stemming from the content itself rather than a particular network location. Generally this name is the hash of the corresponding document in the case of immutable documents and a public key (or hash thereof) in the case of mutable documents.
> 2. Both **{index}`immutable and mutable documents <Mutability>`** must be supported, with the latter generally being built upon the former.
> 3. Documents must be **{index}`encrypted <Encryption>`** such that the documents can be stored in locations that are oblivious to their actual contents. Only those possessing read capabilities should be able to access the documents' contents.
> 4. Documents should be **chunked** so that they are not vulnerable to sizeof-file attacks.
> 5. Reading (and, in the case of mutable documents, writing) documents must be accessed through abstract **capabilities.**
> 6. Files must be network agnostic, meaning that they are not only location agnostic but agnostic even to a specific network structure. peer-to-peer, client-to-server, and sneakernet networks all should be supported with the same object URIs between them.
## References
- {cite}`lemmer-webberHeartSpritelyDistributed`
- OCapN - https://github.com/ocapn/ocapn
- Golem - https://gitlab.com/spritely/golem/blob/master/README.org

View file

@ -0,0 +1 @@
# Secure Scuttlebutt

View file

@ -0,0 +1,7 @@
# XMPP
Stuff we like about XMPP
- Resources like `username@domain.com/resource` for indicating different accounts and contexts.
- Service discovery
- https://xmpp.org/extensions/xep-0030.html
- Protocol interoperability

View file

@ -15,13 +15,13 @@ Triplet graphs similar to linked data fragments with envelopes. decoupling conte
- Permissions scope
- Signature
- Anything that can be directly referenced without local qualifier is a container.
- Triplets within a container can be referenced with the [query syntax](querying.html#Location)
- Triplets within a container can be referenced with the [query syntax](qlocation)
- Containers also behave like "feeds"
- Eg. one might put their blog posts in `@user:blog` or
- The account identifier is the top-level container.
- Ordering:
- Every triple within a scope is ordered by default by the time it is declared
- A container can declare its ordering (see [vocabulary](vocabulary.html#Container))
- A container can declare its ordering (see {term}`Container`)
- Naming:
- Each container intended to be directly referenced SHOULD contain a `name` so it can be referenced w.r.t its parent: `@<ACCOUNT>:<name>`
- Each container can also be indicated numerically
@ -29,6 +29,9 @@ Triplet graphs similar to linked data fragments with envelopes. decoupling conte
- Format: A container can specify one or several ways it can be displayed
- Capabilities: A container can specify different capabilities that another account can take (eg. "Like", "Upvote", "Reply")
- Capabilities should also contain a permissions scope, if none is present, the global scope is assumed.
- Since Identities are just a special form of container, they too can advertise different actions that they support with capabilities.
Re hashing a graph: the container always has one root node that is the container's identity from which a graph traversal starts. A {index}`Merkle DAG` is then constructed starting from the leaves.

View file

@ -1 +1,19 @@
# Definitions
Putting there here to remind me to use the glossary directive... (these are not real definitions yet, just placeholders)
```{glossary}
Identity
A unique cryptographic identity. One person may have multiple identities. One identity may have one or several {term}`Petname`s and {term}`Beacon`s
Petname
A short name used to refer to a {term}`Identity`. Petnames are always contextual: `@Alice` referring to `@Bob` has the status of "The person that @Alice knows as @Bob." A petname can be declared by the identity being referred to as a "canonical" petname, but since they are potentially nonunique they should always be dereferenced against the Identity making the reference.
Container
Stub to check cross-references
Beacon
Stub to check cross-references
```

28
_sources/design.md.txt Normal file
View file

@ -0,0 +1,28 @@
# Design Decisions
A scratchpad for keeping track of the specific choices that we are making so that we know they are choices lol.
## Cultivate Abundance
Much of the focus and energy in p2p and decentralized systems has been vaccuumed up by cryptocurrency and other blockchain scams. These technologies intrinsically generate artificial scarcity rather than the abundance of p2p systems like bittorrent. Much of the thinking in these systems is oriented around self-sovereignty, but p2p-ld is intended to cultivate mutualism and the radical mutual responsibility to each other that any truly autonomous social system outside of libertarian fantasies requires. We don't design the *system* to be maximally efficient and make *system-level* guarantees about reliability or persistence, but design systems for people to organize these things among themselves, voluntarily. We are *not* interested in making a self-sustaining system that is "out there" and needs to be maintained by some blockchain economy. We are interested in making tools *for us* to make our own digital life online
## Permanence is Impossible
{attribution="Octavia Butler, Parable of the Sower"}
> Every one knows that change is inevitable. From the second law of thermodynamics to Darwinian evolution, from Buddhism's insistence that nothing is permanent and all suffering results from our delusions of permanence to the third chapter of Ecclesiastes ("To everything there is a season"), change is part of life, of existence, of the common wisdom. But I don't believe we're dealing with all that that means. We haven't even begun to deal with it.
There is no such thing as a [Cool URI that doesn't change](https://www.w3.org/Provider/Style/URI), and there is no such thing as a persistent identifier that lasts forever {cite}`kunzePersistenceStatementsDescribing2017`. All things change. Change can be because of practical reasons like running out of funding and shutting down the server, cultural reasons like shifting meanings of words, or larger shifts that render the entire domain that a thing is fixed in irrelevant. No matter how many layers of abstraction and redirection we want to create, there is no system that will for all time be able to unambiguously identify something on the web or elsewhere.
The appearance of persistence is a *social* phenomenon rather than a *technological* one. `Archive.org` continues to exist because many people actively keep it existing, not because of the architecture of their archive. Designing for permanence makes systems *fragile.* Instead we should design for *adapting* to change. Adapting to change is also a social phenomenon - I might misplace things, change how they are named, and tell you that the same URL means something different, or the same page goes by a different URL now. A newspaper might go out of business and its website might go offline, but someone might save a PDF of the original page and rehost it on their personal website. The tools we need look more like systems for renaming, declaring equivalence, translation, change, than they do an unalterable, permanent append-only blockchain thing.
## Ambiguity is Natural
The [original vision](https://www.w3.org/DesignIssues/LinkedData.html) for Linked Data on the web imagined every concept having a single unique URI, but unambiguous identifiers are fictional for the same reason that unambiguous concepts are fictional. Information is contextual. The same set of words has a different meaning in a different context. Multiple sets of words can have the same meaning.
Names and locations are *linguistic* not *mathematical.* Rather than trying to design ambiguity out of the system so that web crawlers can deterministically generate algorithmic restaurant reservations, we should design systems that explicitly incorporate context to reference and use.
## Autonomy *and* Convenience Can Coexist
We should neither sacrifice control of the internet to platform giants nor should we insist that self-hosting is the only alternative. If the alternative to using Google Docs or Slack requires me to be a professional sysadmin, or even to keep a raspberry pi plugged in and online at all times, it isn't an alternative for 95% of people.
It should be possible to share resources such that relatively few people need to maintain persistent network infrastructure, and it should be possible to accomodate their leaving at any time. It should also be very difficult for one or a few actors to make a large number of other peers on the network dependent on them, claiming de-facto control over an ostensibly decentralized system (lookin at you mastodon.social).

View file

@ -5,3 +5,16 @@ How do we find people and know how to connect to them?
- Bootstrapping initial connections
- Gossiping
- Hole punching
# Scraps
https://xmpp.org/extensions/xep-0030.html
> There are three kinds of information that need to be discovered about an entity:
>
> - its basic identity (type and/or category)
> - the features it offers and protocols it supports
> - any additional items associated with the entity, whether or not they are addressable as JIDs
>
> All three MUST be supported, but the first two kinds of information relate to the entity itself whereas the third kind of information relates to items associated with the entity itself; therefore two different query types are needed.

View file

@ -1,3 +1,8 @@
# Encryption
How can we make it possible to have a protocol that is "open" when it is intended to, but also protects privacy and consent when we need it to?
# TODO
- https://en.wikipedia.org/wiki/OMEMO

View file

@ -22,7 +22,7 @@ A given identity can have 0 or many bidirectional links indicating that the iden
- Subscribers to a given identity MUST store and represent the known aliases and treat them as equivalent
- Other accounts can give an alias to an identity that MAY be accepted (by issuing a backlink) or denied (by ignoring it).
### Succession
### Rotation
An identity has a specific field indicating whether it is "active" or "retired," and can issue a special top-level link with given permission scope indicating the identity that succeeds it.
- eg in the case of harrassment, one can hop identities and only tell close friends.

View file

@ -4,17 +4,24 @@ All of this is very work in progress :) plz do not rely on any of the descriptio
This site describes the implementation of the p2p linked data protocol in {cite}`saundersDecentralizedInfrastructureNeuro2022`
## Document Status
**23-06-08** - Populating the [Comparison](comparison) section first to refresh myself on other projects, and starting to sketch diagrammatically in [Sketchpad](sketchpad). The rest of the pages are just stubs to keep track of ideas before fleshing them out.
```{toctree}
:caption: Introduction
:hidden:
overview
comparison
comparison/index
p2p_concepts
out_of_scope
```
```{toctree}
:caption: Protocol
:numbered:
:hidden:
definitions
protocol
@ -31,6 +38,7 @@ evolvability
```{toctree}
:caption: Ecosystem
:hidden:
triplets
translation
@ -38,12 +46,15 @@ translation
```{toctree}
:caption: Drafting
:hidden:
design
sketchpad
```
```{toctree}
:caption: Meta
:hidden:
genindex
references

View file

@ -2,17 +2,17 @@
Overview of the various concepts that p2p systems have to handle or address with links to the sections where we address them!
- [Definitions](definitions.html) - Terms used within the protocol spec
- [Protocol](protocol.html) - The protocol spec itself, which encompasses the following sections and describes how they relate to one another.
- [Identity](identity.html) - How each peer in the swarm is identified (or not)
- [Discovery](discovery.html) - How peers are discovered and connected to in the swarm, or, how an identity is dereferenced into some network entity.
- [Data Structures](data_structures.html) - What and how data is represented within the protocol
- [Querying](querying.html) - How data, or pieces of data are requested from hosting peers
- [Evolvability](evolvability.html) - How the protocol is intended to accommodate changes, plugins, etc.
- [Definitions](definitions) - Terms used within the protocol spec
- [Protocol](protocol) - The protocol spec itself, which encompasses the following sections and describes how they relate to one another.
- [Identity](identity) - How each peer in the swarm is identified (or not)
- [Discovery](discovery) - How peers are discovered and connected to in the swarm, or, how an identity is dereferenced into some network entity.
- [Data Structures](data_structures) - What and how data is represented within the protocol
- [Querying](querying) - How data, or pieces of data are requested from hosting peers
- [Evolvability](evolvability) - How the protocol is intended to accommodate changes, plugins, etc.
Additionally, p2p-ld considers these additional properties that are not universal to p2p protocols:
- [Vocabulary](vocabulary.html) - The linked data vocabulary that is used within the protocol
- [Encryption](encryption.html) - How individual messages can be encrypted and decrypted by peers
- [Federation](federation.html) - How peers can form supra-peer clusters for swarm robustness, social organization, and governance
- [Backwards Compatibility](backwards_compatibility.html) - How the protocol integrates with existing protocols and technologies.
- [Vocabulary](vocabulary) - The linked data vocabulary that is used within the protocol
- [Encryption](encryption) - How individual messages can be encrypted and decrypted by peers
- [Federation](federation) - How peers can form supra-peer clusters for swarm robustness, social organization, and governance
- [Backwards Compatibility](backwards_compatibility) - How the protocol integrates with existing protocols and technologies.

View file

@ -4,6 +4,7 @@ How do we find peers that have subgraphs that are responsive to what we want?
## Syntax
(qlocation)=
### Location
How to refer to a given [container](data_structures.html#Containers), eg.

View file

@ -6,7 +6,7 @@ Dummy change to check that we don't invalidate the rust cache on CI.
Just a stub to check if mermaid works
```mermaid
```{mermaid}
erDiagram
IDENTITY {
string hash

View file

@ -3,11 +3,11 @@
<head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Evolvability" href="evolvability.html" /><link rel="prev" title="Federation" href="federation.html" />
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="13. Evolvability" href="evolvability.html" /><link rel="prev" title="11. Federation" href="federation.html" />
<link rel="canonical" href="/docs/backwards_compatibility.html" />
<!-- Generated with Sphinx 6.2.1 and Furo 2023.05.20 -->
<title>Backwards Compatibility - p2p-ld 0.1.0 documentation</title>
<title>12. Backwards Compatibility - p2p-ld 0.1.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=e6660623a769aa55fea372102b9bf3151b292993" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" />
@ -158,23 +158,42 @@
<p class="caption" role="heading"><span class="caption-text">Introduction</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="overview.html">Overview</a></li>
<li class="toctree-l1"><a class="reference internal" href="comparison.html">Comparison</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="comparison/index.html">Comparison</a><input class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Comparison</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="comparison/bittorrent.html">BitTorrent</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ipfs.html">IPFS</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/hypercore.html">Dat/Hypercore</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/spritely.html">Spritely/Goblin</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/activitypub.html">ActivityPub</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ssb.html">Secure Scuttlebutt</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/matrix.html">Matrix</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/at_protocol.html">AT Protocol/Bluesky</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/nostr.html">Nostr</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/xmpp.html">XMPP</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/solid.html">SOLID</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/nanopubs.html">NanoPubs</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/eris.html">ERIS</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/dmc.html">DMC</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="p2p_concepts.html">P2P Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="out_of_scope.html">Out of Scope</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Protocol</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="definitions.html">Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="protocol.html">Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="identity.html">Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html">Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="data_structures.html">Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="vocabulary.html">Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="querying.html">Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html">Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="federation.html">Federation</a></li>
<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="evolvability.html">Evolvability</a></li>
<li class="toctree-l1"><a class="reference internal" href="definitions.html">1. Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="protocol.html">2. Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="identity.html">3. Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html">4. Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html#scraps">5. Scraps</a></li>
<li class="toctree-l1"><a class="reference internal" href="data_structures.html">6. Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="vocabulary.html">7. Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="querying.html">8. Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html">9. Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html#todo">10. TODO</a></li>
<li class="toctree-l1"><a class="reference internal" href="federation.html">11. Federation</a></li>
<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">12. Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="evolvability.html">13. Evolvability</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
@ -183,6 +202,7 @@
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="design.html">Design Decisions</a></li>
<li class="toctree-l1"><a class="reference internal" href="sketchpad.html">Sketchpad</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Meta</span></p>
@ -224,7 +244,7 @@
</div>
<article role="main">
<section id="backwards-compatibility">
<h1>Backwards Compatibility<a class="headerlink" href="#backwards-compatibility" title="Permalink to this heading">#</a></h1>
<h1><span class="section-number">12. </span>Backwards Compatibility<a class="headerlink" href="#backwards-compatibility" title="Permalink to this heading">#</a></h1>
<ul class="simple">
<li><p>HTTP</p></li>
<li><p>Bittorrent</p></li>
@ -232,7 +252,7 @@
<li><p>ActivityPub</p></li>
</ul>
<section id="http-servers">
<h2>HTTP Servers<a class="headerlink" href="#http-servers" title="Permalink to this heading">#</a></h2>
<h2><span class="section-number">12.1. </span>HTTP Servers<a class="headerlink" href="#http-servers" title="Permalink to this heading">#</a></h2>
<ul class="simple">
<li><p>Using existing HTTP servers as web-seed like things.</p></li>
<li><p>Use codecs to indicate the format and metadata of existing files</p></li>
@ -240,14 +260,14 @@
</ul>
</section>
<section id="bittorrent">
<h2>BitTorrent<a class="headerlink" href="#bittorrent" title="Permalink to this heading">#</a></h2>
<h2><span class="section-number">12.2. </span>BitTorrent<a class="headerlink" href="#bittorrent" title="Permalink to this heading">#</a></h2>
<p>See <a class="reference external" href="http://bittorrent.org/beps/bep_0052.html">BEP 52 - Bittorrent V2</a></p>
</section>
<section id="ipfs">
<h2>IPFS<a class="headerlink" href="#ipfs" title="Permalink to this heading">#</a></h2>
<h2><span class="section-number">12.3. </span>IPFS<a class="headerlink" href="#ipfs" title="Permalink to this heading">#</a></h2>
</section>
<section id="activitypub">
<h2>ActivityPub<a class="headerlink" href="#activitypub" title="Permalink to this heading">#</a></h2>
<h2><span class="section-number">12.4. </span>ActivityPub<a class="headerlink" href="#activitypub" title="Permalink to this heading">#</a></h2>
<ul class="simple">
<li><p>Mappings:</p>
<ul>
@ -268,7 +288,7 @@
<div class="context">
<span>Next</span>
</div>
<div class="title">Evolvability</div>
<div class="title"><span class="section-number">13. </span>Evolvability</div>
</div>
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
</a>
@ -279,7 +299,7 @@
<span>Previous</span>
</div>
<div class="title">Federation</div>
<div class="title"><span class="section-number">11. </span>Federation</div>
</div>
</a>
@ -313,11 +333,11 @@
<div class="toc-tree-container">
<div class="toc-tree">
<ul>
<li><a class="reference internal" href="#">Backwards Compatibility</a><ul>
<li><a class="reference internal" href="#http-servers">HTTP Servers</a></li>
<li><a class="reference internal" href="#bittorrent">BitTorrent</a></li>
<li><a class="reference internal" href="#ipfs">IPFS</a></li>
<li><a class="reference internal" href="#activitypub">ActivityPub</a></li>
<li><a class="reference internal" href="#">12. Backwards Compatibility</a><ul>
<li><a class="reference internal" href="#http-servers">12.1. HTTP Servers</a></li>
<li><a class="reference internal" href="#bittorrent">12.2. BitTorrent</a></li>
<li><a class="reference internal" href="#ipfs">12.3. IPFS</a></li>
<li><a class="reference internal" href="#activitypub">12.4. ActivityPub</a></li>
</ul>
</li>
</ul>

304
comparison/activitypub.html Normal file
View file

@ -0,0 +1,304 @@
<!doctype html>
<html class="no-js" lang="en">
<head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="Secure Scuttlebutt" href="ssb.html" /><link rel="prev" title="Spritely/Goblin" href="spritely.html" />
<link rel="canonical" href="/docs/comparison/activitypub.html" />
<!-- Generated with Sphinx 6.2.1 and Furo 2023.05.20 -->
<title>ActivityPub - p2p-ld 0.1.0 documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?digest=e6660623a769aa55fea372102b9bf3151b292993" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" />
<style>
body {
--color-code-background: #f8f8f8;
--color-code-foreground: black;
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
}
}
</style></head>
<body>
<script>
document.body.dataset.theme = localStorage.getItem("theme") || "auto";
</script>
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="svg-toc" viewBox="0 0 24 24">
<title>Contents</title>
<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
<path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
</svg>
</symbol>
<symbol id="svg-menu" viewBox="0 0 24 24">
<title>Menu</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
<line x1="3" y1="12" x2="21" y2="12"></line>
<line x1="3" y1="6" x2="21" y2="6"></line>
<line x1="3" y1="18" x2="21" y2="18"></line>
</svg>
</symbol>
<symbol id="svg-arrow-right" viewBox="0 0 24 24">
<title>Expand</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
<polyline points="9 18 15 12 9 6"></polyline>
</svg>
</symbol>
<symbol id="svg-sun" viewBox="0 0 24 24">
<title>Light mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
<circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line>
<line x1="12" y1="21" x2="12" y2="23"></line>
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
<line x1="1" y1="12" x2="3" y2="12"></line>
<line x1="21" y1="12" x2="23" y2="12"></line>
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
</svg>
</symbol>
<symbol id="svg-moon" viewBox="0 0 24 24">
<title>Dark mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
</svg>
</symbol>
<symbol id="svg-sun-half" viewBox="0 0 24 24">
<title>Auto light/dark mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<circle cx="12" cy="12" r="9" />
<path d="M13 12h5" />
<path d="M13 15h4" />
<path d="M13 18h1" />
<path d="M13 9h4" />
<path d="M13 6h1" />
</svg>
</symbol>
</svg>
<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
<label class="overlay sidebar-overlay" for="__navigation">
<div class="visually-hidden">Hide navigation sidebar</div>
</label>
<label class="overlay toc-overlay" for="__toc">
<div class="visually-hidden">Hide table of contents sidebar</div>
</label>
<div class="page">
<header class="mobile-header">
<div class="header-left">
<label class="nav-overlay-icon" for="__navigation">
<div class="visually-hidden">Toggle site navigation sidebar</div>
<i class="icon"><svg><use href="#svg-menu"></use></svg></i>
</label>
</div>
<div class="header-center">
<a href="../index.html"><div class="brand">p2p-ld 0.1.0 documentation</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
<button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
</button>
</div>
<label class="toc-overlay-icon toc-header-icon no-toc" for="__toc">
<div class="visually-hidden">Toggle table of contents sidebar</div>
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
</div>
</header>
<aside class="sidebar-drawer">
<div class="sidebar-container">
<div class="sidebar-sticky"><a class="sidebar-brand" href="../index.html">
<span class="sidebar-brand-text">p2p-ld 0.1.0 documentation</span>
</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
<input type="hidden" name="check_keywords" value="yes">
<input type="hidden" name="area" value="default">
</form>
<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
<p class="caption" role="heading"><span class="caption-text">Introduction</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../overview.html">Overview</a></li>
<li class="toctree-l1 current has-children"><a class="reference internal" href="index.html">Comparison</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Comparison</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="bittorrent.html">BitTorrent</a></li>
<li class="toctree-l2"><a class="reference internal" href="ipfs.html">IPFS</a></li>
<li class="toctree-l2"><a class="reference internal" href="hypercore.html">Dat/Hypercore</a></li>
<li class="toctree-l2"><a class="reference internal" href="spritely.html">Spritely/Goblin</a></li>
<li class="toctree-l2 current current-page"><a class="current reference internal" href="#">ActivityPub</a></li>
<li class="toctree-l2"><a class="reference internal" href="ssb.html">Secure Scuttlebutt</a></li>
<li class="toctree-l2"><a class="reference internal" href="matrix.html">Matrix</a></li>
<li class="toctree-l2"><a class="reference internal" href="at_protocol.html">AT Protocol/Bluesky</a></li>
<li class="toctree-l2"><a class="reference internal" href="nostr.html">Nostr</a></li>
<li class="toctree-l2"><a class="reference internal" href="xmpp.html">XMPP</a></li>
<li class="toctree-l2"><a class="reference internal" href="solid.html">SOLID</a></li>
<li class="toctree-l2"><a class="reference internal" href="ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l2"><a class="reference internal" href="nanopubs.html">NanoPubs</a></li>
<li class="toctree-l2"><a class="reference internal" href="eris.html">ERIS</a></li>
<li class="toctree-l2"><a class="reference internal" href="dmc.html">DMC</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../p2p_concepts.html">P2P Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="../out_of_scope.html">Out of Scope</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Protocol</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../definitions.html">1. Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../protocol.html">2. Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="../identity.html">3. Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="../discovery.html">4. Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="../discovery.html#scraps">5. Scraps</a></li>
<li class="toctree-l1"><a class="reference internal" href="../data_structures.html">6. Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="../vocabulary.html">7. Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="../querying.html">8. Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="../encryption.html">9. Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="../encryption.html#todo">10. TODO</a></li>
<li class="toctree-l1"><a class="reference internal" href="../federation.html">11. Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../backwards_compatibility.html">12. Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="../evolvability.html">13. Evolvability</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="../translation.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../design.html">Design Decisions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../sketchpad.html">Sketchpad</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Meta</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../genindex.html">Index</a></li>
<li class="toctree-l1"><a class="reference internal" href="../references.html">References</a></li>
</ul>
</div>
</div>
</div>
</div>
</aside>
<div class="main">
<div class="content">
<div class="article-container">
<a href="#" class="back-to-top muted-link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
</svg>
<span>Back to top</span>
</a>
<div class="content-icon-container">
<div class="theme-toggle-container theme-toggle-content">
<button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
</button>
</div>
<label class="toc-overlay-icon toc-content-icon no-toc" for="__toc">
<div class="visually-hidden">Toggle table of contents sidebar</div>
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
</div>
<article role="main">
<section id="activitypub">
<h1>ActivityPub<a class="headerlink" href="#activitypub" title="Permalink to this heading">#</a></h1>
</section>
</article>
</div>
<footer>
<div class="related-pages">
<a class="next-page" href="ssb.html">
<div class="page-info">
<div class="context">
<span>Next</span>
</div>
<div class="title">Secure Scuttlebutt</div>
</div>
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
</a>
<a class="prev-page" href="spritely.html">
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
<div class="page-info">
<div class="context">
<span>Previous</span>
</div>
<div class="title">Spritely/Goblin</div>
</div>
</a>
</div>
<div class="bottom-of-page">
<div class="left-details">
<div class="copyright">
Copyright &#169; 2023, Jonny Saunders
</div>
Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
<a href="https://github.com/pradyunsg/furo">Furo</a>
</div>
<div class="right-details">
</div>
</div>
</footer>
</div>
<aside class="toc-drawer no-toc">
</aside>
</div>
</div><script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/sphinx_highlight.js"></script>
<script src="../_static/scripts/furo.js"></script>
</body>
</html>

307
comparison/at_protocol.html Normal file
View file

@ -0,0 +1,307 @@
<!doctype html>
<html class="no-js" lang="en">
<head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="Nostr" href="nostr.html" /><link rel="prev" title="Matrix" href="matrix.html" />
<link rel="canonical" href="/docs/comparison/at_protocol.html" />
<!-- Generated with Sphinx 6.2.1 and Furo 2023.05.20 -->
<title>AT Protocol/Bluesky - p2p-ld 0.1.0 documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?digest=e6660623a769aa55fea372102b9bf3151b292993" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" />
<style>
body {
--color-code-background: #f8f8f8;
--color-code-foreground: black;
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
}
}
</style></head>
<body>
<script>
document.body.dataset.theme = localStorage.getItem("theme") || "auto";
</script>
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="svg-toc" viewBox="0 0 24 24">
<title>Contents</title>
<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
<path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
</svg>
</symbol>
<symbol id="svg-menu" viewBox="0 0 24 24">
<title>Menu</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
<line x1="3" y1="12" x2="21" y2="12"></line>
<line x1="3" y1="6" x2="21" y2="6"></line>
<line x1="3" y1="18" x2="21" y2="18"></line>
</svg>
</symbol>
<symbol id="svg-arrow-right" viewBox="0 0 24 24">
<title>Expand</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
<polyline points="9 18 15 12 9 6"></polyline>
</svg>
</symbol>
<symbol id="svg-sun" viewBox="0 0 24 24">
<title>Light mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
<circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line>
<line x1="12" y1="21" x2="12" y2="23"></line>
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
<line x1="1" y1="12" x2="3" y2="12"></line>
<line x1="21" y1="12" x2="23" y2="12"></line>
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
</svg>
</symbol>
<symbol id="svg-moon" viewBox="0 0 24 24">
<title>Dark mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
</svg>
</symbol>
<symbol id="svg-sun-half" viewBox="0 0 24 24">
<title>Auto light/dark mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<circle cx="12" cy="12" r="9" />
<path d="M13 12h5" />
<path d="M13 15h4" />
<path d="M13 18h1" />
<path d="M13 9h4" />
<path d="M13 6h1" />
</svg>
</symbol>
</svg>
<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
<label class="overlay sidebar-overlay" for="__navigation">
<div class="visually-hidden">Hide navigation sidebar</div>
</label>
<label class="overlay toc-overlay" for="__toc">
<div class="visually-hidden">Hide table of contents sidebar</div>
</label>
<div class="page">
<header class="mobile-header">
<div class="header-left">
<label class="nav-overlay-icon" for="__navigation">
<div class="visually-hidden">Toggle site navigation sidebar</div>
<i class="icon"><svg><use href="#svg-menu"></use></svg></i>
</label>
</div>
<div class="header-center">
<a href="../index.html"><div class="brand">p2p-ld 0.1.0 documentation</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
<button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
</button>
</div>
<label class="toc-overlay-icon toc-header-icon no-toc" for="__toc">
<div class="visually-hidden">Toggle table of contents sidebar</div>
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
</div>
</header>
<aside class="sidebar-drawer">
<div class="sidebar-container">
<div class="sidebar-sticky"><a class="sidebar-brand" href="../index.html">
<span class="sidebar-brand-text">p2p-ld 0.1.0 documentation</span>
</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
<input type="hidden" name="check_keywords" value="yes">
<input type="hidden" name="area" value="default">
</form>
<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
<p class="caption" role="heading"><span class="caption-text">Introduction</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../overview.html">Overview</a></li>
<li class="toctree-l1 current has-children"><a class="reference internal" href="index.html">Comparison</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Comparison</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="bittorrent.html">BitTorrent</a></li>
<li class="toctree-l2"><a class="reference internal" href="ipfs.html">IPFS</a></li>
<li class="toctree-l2"><a class="reference internal" href="hypercore.html">Dat/Hypercore</a></li>
<li class="toctree-l2"><a class="reference internal" href="spritely.html">Spritely/Goblin</a></li>
<li class="toctree-l2"><a class="reference internal" href="activitypub.html">ActivityPub</a></li>
<li class="toctree-l2"><a class="reference internal" href="ssb.html">Secure Scuttlebutt</a></li>
<li class="toctree-l2"><a class="reference internal" href="matrix.html">Matrix</a></li>
<li class="toctree-l2 current current-page"><a class="current reference internal" href="#">AT Protocol/Bluesky</a></li>
<li class="toctree-l2"><a class="reference internal" href="nostr.html">Nostr</a></li>
<li class="toctree-l2"><a class="reference internal" href="xmpp.html">XMPP</a></li>
<li class="toctree-l2"><a class="reference internal" href="solid.html">SOLID</a></li>
<li class="toctree-l2"><a class="reference internal" href="ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l2"><a class="reference internal" href="nanopubs.html">NanoPubs</a></li>
<li class="toctree-l2"><a class="reference internal" href="eris.html">ERIS</a></li>
<li class="toctree-l2"><a class="reference internal" href="dmc.html">DMC</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../p2p_concepts.html">P2P Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="../out_of_scope.html">Out of Scope</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Protocol</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../definitions.html">1. Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../protocol.html">2. Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="../identity.html">3. Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="../discovery.html">4. Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="../discovery.html#scraps">5. Scraps</a></li>
<li class="toctree-l1"><a class="reference internal" href="../data_structures.html">6. Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="../vocabulary.html">7. Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="../querying.html">8. Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="../encryption.html">9. Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="../encryption.html#todo">10. TODO</a></li>
<li class="toctree-l1"><a class="reference internal" href="../federation.html">11. Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../backwards_compatibility.html">12. Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="../evolvability.html">13. Evolvability</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="../translation.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../design.html">Design Decisions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../sketchpad.html">Sketchpad</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Meta</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../genindex.html">Index</a></li>
<li class="toctree-l1"><a class="reference internal" href="../references.html">References</a></li>
</ul>
</div>
</div>
</div>
</div>
</aside>
<div class="main">
<div class="content">
<div class="article-container">
<a href="#" class="back-to-top muted-link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
</svg>
<span>Back to top</span>
</a>
<div class="content-icon-container">
<div class="theme-toggle-container theme-toggle-content">
<button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
</button>
</div>
<label class="toc-overlay-icon toc-content-icon no-toc" for="__toc">
<div class="visually-hidden">Toggle table of contents sidebar</div>
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
</div>
<article role="main">
<section id="at-protocol-bluesky">
<h1>AT Protocol/Bluesky<a class="headerlink" href="#at-protocol-bluesky" title="Permalink to this heading">#</a></h1>
<span class="target" id="index-0"></span><span class="target" id="index-1"></span><p id="index-2">We arent too concerned with billionaires cosplaying as altruists and the technologies they produce, but the AT Protocol has a few ideas, particularly related to <a class="reference external" href="https://atproto.com/guides/identity">identity</a>, that are interesting.</p>
<p>Specifically, AT protocol differentiates between <em>handles</em> and <em>identities</em>, where DNS entries are used as short handles that resolve to a <a class="reference external" href="https://www.w3.org/TR/did-core/">DID</a>.</p>
<p>Thats about it, the rest of the handling of DIDs is extremely centralized (see <a class="reference external" href="https://atproto.com/specs/did-plc">did:plc</a> which requires resolution against a single domain), and the requirement of all posts to be funneled through <a class="reference external" href="https://blueskyweb.xyz/blog/5-5-2023-federation-architecture">Big Graph Services</a> rather than directly peer to peer is transparently designed to ensure a marketing and advertising layer in between actors in the network.</p>
</section>
</article>
</div>
<footer>
<div class="related-pages">
<a class="next-page" href="nostr.html">
<div class="page-info">
<div class="context">
<span>Next</span>
</div>
<div class="title">Nostr</div>
</div>
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
</a>
<a class="prev-page" href="matrix.html">
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
<div class="page-info">
<div class="context">
<span>Previous</span>
</div>
<div class="title">Matrix</div>
</div>
</a>
</div>
<div class="bottom-of-page">
<div class="left-details">
<div class="copyright">
Copyright &#169; 2023, Jonny Saunders
</div>
Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
<a href="https://github.com/pradyunsg/furo">Furo</a>
</div>
<div class="right-details">
</div>
</div>
</footer>
</div>
<aside class="toc-drawer no-toc">
</aside>
</div>
</div><script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/sphinx_highlight.js"></script>
<script src="../_static/scripts/furo.js"></script>
</body>
</html>

View file

@ -3,14 +3,14 @@
<head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" />
<link rel="canonical" href="/docs/chapter_1.html" />
<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="IPFS" href="ipfs.html" /><link rel="prev" title="Comparison" href="index.html" />
<link rel="canonical" href="/docs/comparison/bittorrent.html" />
<!-- Generated with Sphinx 6.2.1 and Furo 2023.05.20 -->
<title>Chapter 1 - p2p-ld 0.1.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=e6660623a769aa55fea372102b9bf3151b292993" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" />
<title>BitTorrent - p2p-ld 0.1.0 documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?digest=e6660623a769aa55fea372102b9bf3151b292993" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" />
@ -124,7 +124,7 @@
</label>
</div>
<div class="header-center">
<a href="index.html"><div class="brand">p2p-ld 0.1.0 documentation</div></a>
<a href="../index.html"><div class="brand">p2p-ld 0.1.0 documentation</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
@ -144,51 +144,71 @@
<aside class="sidebar-drawer">
<div class="sidebar-container">
<div class="sidebar-sticky"><a class="sidebar-brand" href="index.html">
<div class="sidebar-sticky"><a class="sidebar-brand" href="../index.html">
<span class="sidebar-brand-text">p2p-ld 0.1.0 documentation</span>
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
<input type="hidden" name="check_keywords" value="yes">
<input type="hidden" name="area" value="default">
</form>
<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
<p class="caption" role="heading"><span class="caption-text">Introduction</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="overview.html">Overview</a></li>
<li class="toctree-l1"><a class="reference internal" href="comparison.html">Comparison</a></li>
<li class="toctree-l1"><a class="reference internal" href="p2p_concepts.html">P2P Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="out_of_scope.html">Out of Scope</a></li>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../overview.html">Overview</a></li>
<li class="toctree-l1 current has-children"><a class="reference internal" href="index.html">Comparison</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Comparison</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
<li class="toctree-l2 current current-page"><a class="current reference internal" href="#">BitTorrent</a></li>
<li class="toctree-l2"><a class="reference internal" href="ipfs.html">IPFS</a></li>
<li class="toctree-l2"><a class="reference internal" href="hypercore.html">Dat/Hypercore</a></li>
<li class="toctree-l2"><a class="reference internal" href="spritely.html">Spritely/Goblin</a></li>
<li class="toctree-l2"><a class="reference internal" href="activitypub.html">ActivityPub</a></li>
<li class="toctree-l2"><a class="reference internal" href="ssb.html">Secure Scuttlebutt</a></li>
<li class="toctree-l2"><a class="reference internal" href="matrix.html">Matrix</a></li>
<li class="toctree-l2"><a class="reference internal" href="at_protocol.html">AT Protocol/Bluesky</a></li>
<li class="toctree-l2"><a class="reference internal" href="nostr.html">Nostr</a></li>
<li class="toctree-l2"><a class="reference internal" href="xmpp.html">XMPP</a></li>
<li class="toctree-l2"><a class="reference internal" href="solid.html">SOLID</a></li>
<li class="toctree-l2"><a class="reference internal" href="ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l2"><a class="reference internal" href="nanopubs.html">NanoPubs</a></li>
<li class="toctree-l2"><a class="reference internal" href="eris.html">ERIS</a></li>
<li class="toctree-l2"><a class="reference internal" href="dmc.html">DMC</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../p2p_concepts.html">P2P Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="../out_of_scope.html">Out of Scope</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Protocol</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="definitions.html">Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="protocol.html">Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="identity.html">Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html">Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="data_structures.html">Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="vocabulary.html">Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="querying.html">Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html">Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="federation.html">Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="backwards_compatibility.html">Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="evolvability.html">Evolvability</a></li>
<li class="toctree-l1"><a class="reference internal" href="../definitions.html">1. Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../protocol.html">2. Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="../identity.html">3. Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="../discovery.html">4. Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="../discovery.html#scraps">5. Scraps</a></li>
<li class="toctree-l1"><a class="reference internal" href="../data_structures.html">6. Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="../vocabulary.html">7. Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="../querying.html">8. Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="../encryption.html">9. Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="../encryption.html#todo">10. TODO</a></li>
<li class="toctree-l1"><a class="reference internal" href="../federation.html">11. Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../backwards_compatibility.html">12. Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="../evolvability.html">13. Evolvability</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="translation.html">Translation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="../translation.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="sketchpad.html">Sketchpad</a></li>
<li class="toctree-l1"><a class="reference internal" href="../design.html">Design Decisions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../sketchpad.html">Sketchpad</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Meta</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="genindex.html">Index</a></li>
<li class="toctree-l1"><a class="reference internal" href="references.html">References</a></li>
<li class="toctree-l1"><a class="reference internal" href="../genindex.html">Index</a></li>
<li class="toctree-l1"><a class="reference internal" href="../references.html">References</a></li>
</ul>
</div>
@ -223,8 +243,8 @@
</label>
</div>
<article role="main">
<section id="chapter-1">
<h1>Chapter 1<a class="headerlink" href="#chapter-1" title="Permalink to this heading">#</a></h1>
<section id="bittorrent">
<h1>BitTorrent<a class="headerlink" href="#bittorrent" title="Permalink to this heading">#</a></h1>
</section>
</article>
@ -232,8 +252,26 @@
<footer>
<div class="related-pages">
<a class="next-page" href="ipfs.html">
<div class="page-info">
<div class="context">
<span>Next</span>
</div>
<div class="title">IPFS</div>
</div>
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
</a>
<a class="prev-page" href="index.html">
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
<div class="page-info">
<div class="context">
<span>Previous</span>
</div>
<div class="title">Comparison</div>
</div>
</a>
</div>
<div class="bottom-of-page">
<div class="left-details">
@ -258,9 +296,9 @@
</aside>
</div>
</div><script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/sphinx_highlight.js"></script>
<script src="_static/scripts/furo.js"></script>
</div><script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/sphinx_highlight.js"></script>
<script src="../_static/scripts/furo.js"></script>
</body>
</html>

View file

@ -3,14 +3,14 @@
<head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="P2P Concepts" href="p2p_concepts.html" /><link rel="prev" title="Overview" href="overview.html" />
<link rel="canonical" href="/docs/comparison.html" />
<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="P2P Concepts" href="../p2p_concepts.html" /><link rel="prev" title="ERIS" href="eris.html" />
<link rel="canonical" href="/docs/comparison/dmc.html" />
<!-- Generated with Sphinx 6.2.1 and Furo 2023.05.20 -->
<title>Comparison - p2p-ld 0.1.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=e6660623a769aa55fea372102b9bf3151b292993" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" />
<title>DMC - p2p-ld 0.1.0 documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?digest=e6660623a769aa55fea372102b9bf3151b292993" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" />
@ -124,7 +124,7 @@
</label>
</div>
<div class="header-center">
<a href="index.html"><div class="brand">p2p-ld 0.1.0 documentation</div></a>
<a href="../index.html"><div class="brand">p2p-ld 0.1.0 documentation</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
@ -135,7 +135,7 @@
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
</button>
</div>
<label class="toc-overlay-icon toc-header-icon" for="__toc">
<label class="toc-overlay-icon toc-header-icon no-toc" for="__toc">
<div class="visually-hidden">Toggle table of contents sidebar</div>
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
@ -144,12 +144,12 @@
<aside class="sidebar-drawer">
<div class="sidebar-container">
<div class="sidebar-sticky"><a class="sidebar-brand" href="index.html">
<div class="sidebar-sticky"><a class="sidebar-brand" href="../index.html">
<span class="sidebar-brand-text">p2p-ld 0.1.0 documentation</span>
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
<input type="hidden" name="check_keywords" value="yes">
<input type="hidden" name="area" value="default">
@ -157,38 +157,58 @@
<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
<p class="caption" role="heading"><span class="caption-text">Introduction</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="overview.html">Overview</a></li>
<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">Comparison</a></li>
<li class="toctree-l1"><a class="reference internal" href="p2p_concepts.html">P2P Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="out_of_scope.html">Out of Scope</a></li>
<li class="toctree-l1"><a class="reference internal" href="../overview.html">Overview</a></li>
<li class="toctree-l1 current has-children"><a class="reference internal" href="index.html">Comparison</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Comparison</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="bittorrent.html">BitTorrent</a></li>
<li class="toctree-l2"><a class="reference internal" href="ipfs.html">IPFS</a></li>
<li class="toctree-l2"><a class="reference internal" href="hypercore.html">Dat/Hypercore</a></li>
<li class="toctree-l2"><a class="reference internal" href="spritely.html">Spritely/Goblin</a></li>
<li class="toctree-l2"><a class="reference internal" href="activitypub.html">ActivityPub</a></li>
<li class="toctree-l2"><a class="reference internal" href="ssb.html">Secure Scuttlebutt</a></li>
<li class="toctree-l2"><a class="reference internal" href="matrix.html">Matrix</a></li>
<li class="toctree-l2"><a class="reference internal" href="at_protocol.html">AT Protocol/Bluesky</a></li>
<li class="toctree-l2"><a class="reference internal" href="nostr.html">Nostr</a></li>
<li class="toctree-l2"><a class="reference internal" href="xmpp.html">XMPP</a></li>
<li class="toctree-l2"><a class="reference internal" href="solid.html">SOLID</a></li>
<li class="toctree-l2"><a class="reference internal" href="ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l2"><a class="reference internal" href="nanopubs.html">NanoPubs</a></li>
<li class="toctree-l2"><a class="reference internal" href="eris.html">ERIS</a></li>
<li class="toctree-l2 current current-page"><a class="current reference internal" href="#">DMC</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../p2p_concepts.html">P2P Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="../out_of_scope.html">Out of Scope</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Protocol</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="definitions.html">Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="protocol.html">Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="identity.html">Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html">Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="data_structures.html">Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="vocabulary.html">Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="querying.html">Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html">Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="federation.html">Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="backwards_compatibility.html">Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="evolvability.html">Evolvability</a></li>
<li class="toctree-l1"><a class="reference internal" href="../definitions.html">1. Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../protocol.html">2. Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="../identity.html">3. Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="../discovery.html">4. Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="../discovery.html#scraps">5. Scraps</a></li>
<li class="toctree-l1"><a class="reference internal" href="../data_structures.html">6. Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="../vocabulary.html">7. Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="../querying.html">8. Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="../encryption.html">9. Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="../encryption.html#todo">10. TODO</a></li>
<li class="toctree-l1"><a class="reference internal" href="../federation.html">11. Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../backwards_compatibility.html">12. Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="../evolvability.html">13. Evolvability</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="translation.html">Translation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="../translation.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="sketchpad.html">Sketchpad</a></li>
<li class="toctree-l1"><a class="reference internal" href="../design.html">Design Decisions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../sketchpad.html">Sketchpad</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Meta</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="genindex.html">Index</a></li>
<li class="toctree-l1"><a class="reference internal" href="references.html">References</a></li>
<li class="toctree-l1"><a class="reference internal" href="../genindex.html">Index</a></li>
<li class="toctree-l1"><a class="reference internal" href="../references.html">References</a></li>
</ul>
</div>
@ -217,67 +237,16 @@
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
</button>
</div>
<label class="toc-overlay-icon toc-content-icon" for="__toc">
<label class="toc-overlay-icon toc-content-icon no-toc" for="__toc">
<div class="visually-hidden">Toggle table of contents sidebar</div>
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
</div>
<article role="main">
<section id="comparison">
<h1>Comparison<a class="headerlink" href="#comparison" title="Permalink to this heading">#</a></h1>
<p>All of this is TODO. Comparison to existing protocols and projects (just to situate in context, not talk shit obvs)</p>
<section id="the-big-ones">
<h2>“The big ones”<a class="headerlink" href="#the-big-ones" title="Permalink to this heading">#</a></h2>
<ul class="simple">
<li><p>BitTorrent</p></li>
<li><p>IPFS</p></li>
</ul>
</section>
<section id="the-research-ones">
<h2>“The research ones”<a class="headerlink" href="#the-research-ones" title="Permalink to this heading">#</a></h2>
<ul class="simple">
<li><p>Dat</p></li>
<li><p>Hypercore</p></li>
</ul>
</section>
<section id="social">
<h2>Social<a class="headerlink" href="#social" title="Permalink to this heading">#</a></h2>
<ul class="simple">
<li><p>ActivityPub/Fediverse</p></li>
<li><p>Secure Scuttlebutt</p></li>
<li><p>Matrix</p></li>
</ul>
</section>
<section id="semweb-ld">
<h2>Semweb/LD<a class="headerlink" href="#semweb-ld" title="Permalink to this heading">#</a></h2>
<ul class="simple">
<li><p>SOLID</p></li>
<li><p>Nanopubs</p></li>
</ul>
</section>
<section id="to-be-categorized">
<h2>To be categorized<a class="headerlink" href="#to-be-categorized" title="Permalink to this heading">#</a></h2>
<ul class="simple">
<li><p>Agregore</p></li>
<li><p>Arweave</p></li>
<li><p>CAN</p></li>
<li><p>Chord</p></li>
<li><p>Earthstar</p></li>
<li><p>Freenet</p></li>
<li><p>Manyverse</p></li>
<li><p>P2panda</p></li>
<li><p>SAFE</p></li>
<li><p>Storj</p></li>
<li><p>Swarm</p></li>
</ul>
</section>
<section id="points-of-comparison">
<h2>Points of comparison<a class="headerlink" href="#points-of-comparison" title="Permalink to this heading">#</a></h2>
<ul class="simple">
<li><p>not append-only</p></li>
<li><p>metadata</p></li>
</ul>
</section>
<section id="dmc">
<h1>DMC<a class="headerlink" href="#dmc" title="Permalink to this heading">#</a></h1>
<p>Distributed Mutable Containers</p>
<p><a class="reference external" href="https://inqlab.net/projects/dmc/">https://inqlab.net/projects/dmc/</a></p>
</section>
</article>
@ -285,7 +254,7 @@
<footer>
<div class="related-pages">
<a class="next-page" href="p2p_concepts.html">
<a class="next-page" href="../p2p_concepts.html">
<div class="page-info">
<div class="context">
<span>Next</span>
@ -294,14 +263,14 @@
</div>
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
</a>
<a class="prev-page" href="overview.html">
<a class="prev-page" href="eris.html">
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
<div class="page-info">
<div class="context">
<span>Previous</span>
</div>
<div class="title">Overview</div>
<div class="title">ERIS</div>
</div>
</a>
@ -323,39 +292,15 @@
</footer>
</div>
<aside class="toc-drawer">
<aside class="toc-drawer no-toc">
<div class="toc-sticky toc-scroll">
<div class="toc-title-container">
<span class="toc-title">
On this page
</span>
</div>
<div class="toc-tree-container">
<div class="toc-tree">
<ul>
<li><a class="reference internal" href="#">Comparison</a><ul>
<li><a class="reference internal" href="#the-big-ones">“The big ones”</a></li>
<li><a class="reference internal" href="#the-research-ones">“The research ones”</a></li>
<li><a class="reference internal" href="#social">Social</a></li>
<li><a class="reference internal" href="#semweb-ld">Semweb/LD</a></li>
<li><a class="reference internal" href="#to-be-categorized">To be categorized</a></li>
<li><a class="reference internal" href="#points-of-comparison">Points of comparison</a></li>
</ul>
</li>
</ul>
</div>
</div>
</div>
</aside>
</div>
</div><script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/sphinx_highlight.js"></script>
<script src="_static/scripts/furo.js"></script>
</div><script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/sphinx_highlight.js"></script>
<script src="../_static/scripts/furo.js"></script>
</body>
</html>

306
comparison/eris.html Normal file
View file

@ -0,0 +1,306 @@
<!doctype html>
<html class="no-js" lang="en">
<head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="DMC" href="dmc.html" /><link rel="prev" title="NanoPubs" href="nanopubs.html" />
<link rel="canonical" href="/docs/comparison/eris.html" />
<!-- Generated with Sphinx 6.2.1 and Furo 2023.05.20 -->
<title>ERIS - p2p-ld 0.1.0 documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?digest=e6660623a769aa55fea372102b9bf3151b292993" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" />
<style>
body {
--color-code-background: #f8f8f8;
--color-code-foreground: black;
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
}
}
</style></head>
<body>
<script>
document.body.dataset.theme = localStorage.getItem("theme") || "auto";
</script>
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="svg-toc" viewBox="0 0 24 24">
<title>Contents</title>
<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
<path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
</svg>
</symbol>
<symbol id="svg-menu" viewBox="0 0 24 24">
<title>Menu</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
<line x1="3" y1="12" x2="21" y2="12"></line>
<line x1="3" y1="6" x2="21" y2="6"></line>
<line x1="3" y1="18" x2="21" y2="18"></line>
</svg>
</symbol>
<symbol id="svg-arrow-right" viewBox="0 0 24 24">
<title>Expand</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
<polyline points="9 18 15 12 9 6"></polyline>
</svg>
</symbol>
<symbol id="svg-sun" viewBox="0 0 24 24">
<title>Light mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
<circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line>
<line x1="12" y1="21" x2="12" y2="23"></line>
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
<line x1="1" y1="12" x2="3" y2="12"></line>
<line x1="21" y1="12" x2="23" y2="12"></line>
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
</svg>
</symbol>
<symbol id="svg-moon" viewBox="0 0 24 24">
<title>Dark mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
</svg>
</symbol>
<symbol id="svg-sun-half" viewBox="0 0 24 24">
<title>Auto light/dark mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<circle cx="12" cy="12" r="9" />
<path d="M13 12h5" />
<path d="M13 15h4" />
<path d="M13 18h1" />
<path d="M13 9h4" />
<path d="M13 6h1" />
</svg>
</symbol>
</svg>
<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
<label class="overlay sidebar-overlay" for="__navigation">
<div class="visually-hidden">Hide navigation sidebar</div>
</label>
<label class="overlay toc-overlay" for="__toc">
<div class="visually-hidden">Hide table of contents sidebar</div>
</label>
<div class="page">
<header class="mobile-header">
<div class="header-left">
<label class="nav-overlay-icon" for="__navigation">
<div class="visually-hidden">Toggle site navigation sidebar</div>
<i class="icon"><svg><use href="#svg-menu"></use></svg></i>
</label>
</div>
<div class="header-center">
<a href="../index.html"><div class="brand">p2p-ld 0.1.0 documentation</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
<button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
</button>
</div>
<label class="toc-overlay-icon toc-header-icon no-toc" for="__toc">
<div class="visually-hidden">Toggle table of contents sidebar</div>
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
</div>
</header>
<aside class="sidebar-drawer">
<div class="sidebar-container">
<div class="sidebar-sticky"><a class="sidebar-brand" href="../index.html">
<span class="sidebar-brand-text">p2p-ld 0.1.0 documentation</span>
</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
<input type="hidden" name="check_keywords" value="yes">
<input type="hidden" name="area" value="default">
</form>
<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
<p class="caption" role="heading"><span class="caption-text">Introduction</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../overview.html">Overview</a></li>
<li class="toctree-l1 current has-children"><a class="reference internal" href="index.html">Comparison</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Comparison</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="bittorrent.html">BitTorrent</a></li>
<li class="toctree-l2"><a class="reference internal" href="ipfs.html">IPFS</a></li>
<li class="toctree-l2"><a class="reference internal" href="hypercore.html">Dat/Hypercore</a></li>
<li class="toctree-l2"><a class="reference internal" href="spritely.html">Spritely/Goblin</a></li>
<li class="toctree-l2"><a class="reference internal" href="activitypub.html">ActivityPub</a></li>
<li class="toctree-l2"><a class="reference internal" href="ssb.html">Secure Scuttlebutt</a></li>
<li class="toctree-l2"><a class="reference internal" href="matrix.html">Matrix</a></li>
<li class="toctree-l2"><a class="reference internal" href="at_protocol.html">AT Protocol/Bluesky</a></li>
<li class="toctree-l2"><a class="reference internal" href="nostr.html">Nostr</a></li>
<li class="toctree-l2"><a class="reference internal" href="xmpp.html">XMPP</a></li>
<li class="toctree-l2"><a class="reference internal" href="solid.html">SOLID</a></li>
<li class="toctree-l2"><a class="reference internal" href="ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l2"><a class="reference internal" href="nanopubs.html">NanoPubs</a></li>
<li class="toctree-l2 current current-page"><a class="current reference internal" href="#">ERIS</a></li>
<li class="toctree-l2"><a class="reference internal" href="dmc.html">DMC</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../p2p_concepts.html">P2P Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="../out_of_scope.html">Out of Scope</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Protocol</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../definitions.html">1. Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../protocol.html">2. Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="../identity.html">3. Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="../discovery.html">4. Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="../discovery.html#scraps">5. Scraps</a></li>
<li class="toctree-l1"><a class="reference internal" href="../data_structures.html">6. Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="../vocabulary.html">7. Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="../querying.html">8. Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="../encryption.html">9. Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="../encryption.html#todo">10. TODO</a></li>
<li class="toctree-l1"><a class="reference internal" href="../federation.html">11. Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../backwards_compatibility.html">12. Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="../evolvability.html">13. Evolvability</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="../translation.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../design.html">Design Decisions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../sketchpad.html">Sketchpad</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Meta</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../genindex.html">Index</a></li>
<li class="toctree-l1"><a class="reference internal" href="../references.html">References</a></li>
</ul>
</div>
</div>
</div>
</div>
</aside>
<div class="main">
<div class="content">
<div class="article-container">
<a href="#" class="back-to-top muted-link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
</svg>
<span>Back to top</span>
</a>
<div class="content-icon-container">
<div class="theme-toggle-container theme-toggle-content">
<button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
</button>
</div>
<label class="toc-overlay-icon toc-content-icon no-toc" for="__toc">
<div class="visually-hidden">Toggle table of contents sidebar</div>
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
</div>
<article role="main">
<section id="eris">
<h1>ERIS<a class="headerlink" href="#eris" title="Permalink to this heading">#</a></h1>
<p>Encoding for Robust Immutable Storage (ERIS)</p>
<p><a class="reference external" href="https://eris.codeberg.page/spec/">https://eris.codeberg.page/spec/</a></p>
</section>
</article>
</div>
<footer>
<div class="related-pages">
<a class="next-page" href="dmc.html">
<div class="page-info">
<div class="context">
<span>Next</span>
</div>
<div class="title">DMC</div>
</div>
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
</a>
<a class="prev-page" href="nanopubs.html">
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
<div class="page-info">
<div class="context">
<span>Previous</span>
</div>
<div class="title">NanoPubs</div>
</div>
</a>
</div>
<div class="bottom-of-page">
<div class="left-details">
<div class="copyright">
Copyright &#169; 2023, Jonny Saunders
</div>
Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
<a href="https://github.com/pradyunsg/furo">Furo</a>
</div>
<div class="right-details">
</div>
</div>
</footer>
</div>
<aside class="toc-drawer no-toc">
</aside>
</div>
</div><script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/sphinx_highlight.js"></script>
<script src="../_static/scripts/furo.js"></script>
</body>
</html>

304
comparison/hypercore.html Normal file
View file

@ -0,0 +1,304 @@
<!doctype html>
<html class="no-js" lang="en">
<head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="Spritely/Goblin" href="spritely.html" /><link rel="prev" title="IPFS" href="ipfs.html" />
<link rel="canonical" href="/docs/comparison/hypercore.html" />
<!-- Generated with Sphinx 6.2.1 and Furo 2023.05.20 -->
<title>Dat/Hypercore - p2p-ld 0.1.0 documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?digest=e6660623a769aa55fea372102b9bf3151b292993" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" />
<style>
body {
--color-code-background: #f8f8f8;
--color-code-foreground: black;
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
}
}
</style></head>
<body>
<script>
document.body.dataset.theme = localStorage.getItem("theme") || "auto";
</script>
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="svg-toc" viewBox="0 0 24 24">
<title>Contents</title>
<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
<path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
</svg>
</symbol>
<symbol id="svg-menu" viewBox="0 0 24 24">
<title>Menu</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
<line x1="3" y1="12" x2="21" y2="12"></line>
<line x1="3" y1="6" x2="21" y2="6"></line>
<line x1="3" y1="18" x2="21" y2="18"></line>
</svg>
</symbol>
<symbol id="svg-arrow-right" viewBox="0 0 24 24">
<title>Expand</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
<polyline points="9 18 15 12 9 6"></polyline>
</svg>
</symbol>
<symbol id="svg-sun" viewBox="0 0 24 24">
<title>Light mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
<circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line>
<line x1="12" y1="21" x2="12" y2="23"></line>
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
<line x1="1" y1="12" x2="3" y2="12"></line>
<line x1="21" y1="12" x2="23" y2="12"></line>
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
</svg>
</symbol>
<symbol id="svg-moon" viewBox="0 0 24 24">
<title>Dark mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
</svg>
</symbol>
<symbol id="svg-sun-half" viewBox="0 0 24 24">
<title>Auto light/dark mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<circle cx="12" cy="12" r="9" />
<path d="M13 12h5" />
<path d="M13 15h4" />
<path d="M13 18h1" />
<path d="M13 9h4" />
<path d="M13 6h1" />
</svg>
</symbol>
</svg>
<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
<label class="overlay sidebar-overlay" for="__navigation">
<div class="visually-hidden">Hide navigation sidebar</div>
</label>
<label class="overlay toc-overlay" for="__toc">
<div class="visually-hidden">Hide table of contents sidebar</div>
</label>
<div class="page">
<header class="mobile-header">
<div class="header-left">
<label class="nav-overlay-icon" for="__navigation">
<div class="visually-hidden">Toggle site navigation sidebar</div>
<i class="icon"><svg><use href="#svg-menu"></use></svg></i>
</label>
</div>
<div class="header-center">
<a href="../index.html"><div class="brand">p2p-ld 0.1.0 documentation</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
<button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
</button>
</div>
<label class="toc-overlay-icon toc-header-icon no-toc" for="__toc">
<div class="visually-hidden">Toggle table of contents sidebar</div>
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
</div>
</header>
<aside class="sidebar-drawer">
<div class="sidebar-container">
<div class="sidebar-sticky"><a class="sidebar-brand" href="../index.html">
<span class="sidebar-brand-text">p2p-ld 0.1.0 documentation</span>
</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
<input type="hidden" name="check_keywords" value="yes">
<input type="hidden" name="area" value="default">
</form>
<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
<p class="caption" role="heading"><span class="caption-text">Introduction</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../overview.html">Overview</a></li>
<li class="toctree-l1 current has-children"><a class="reference internal" href="index.html">Comparison</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Comparison</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="bittorrent.html">BitTorrent</a></li>
<li class="toctree-l2"><a class="reference internal" href="ipfs.html">IPFS</a></li>
<li class="toctree-l2 current current-page"><a class="current reference internal" href="#">Dat/Hypercore</a></li>
<li class="toctree-l2"><a class="reference internal" href="spritely.html">Spritely/Goblin</a></li>
<li class="toctree-l2"><a class="reference internal" href="activitypub.html">ActivityPub</a></li>
<li class="toctree-l2"><a class="reference internal" href="ssb.html">Secure Scuttlebutt</a></li>
<li class="toctree-l2"><a class="reference internal" href="matrix.html">Matrix</a></li>
<li class="toctree-l2"><a class="reference internal" href="at_protocol.html">AT Protocol/Bluesky</a></li>
<li class="toctree-l2"><a class="reference internal" href="nostr.html">Nostr</a></li>
<li class="toctree-l2"><a class="reference internal" href="xmpp.html">XMPP</a></li>
<li class="toctree-l2"><a class="reference internal" href="solid.html">SOLID</a></li>
<li class="toctree-l2"><a class="reference internal" href="ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l2"><a class="reference internal" href="nanopubs.html">NanoPubs</a></li>
<li class="toctree-l2"><a class="reference internal" href="eris.html">ERIS</a></li>
<li class="toctree-l2"><a class="reference internal" href="dmc.html">DMC</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../p2p_concepts.html">P2P Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="../out_of_scope.html">Out of Scope</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Protocol</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../definitions.html">1. Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../protocol.html">2. Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="../identity.html">3. Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="../discovery.html">4. Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="../discovery.html#scraps">5. Scraps</a></li>
<li class="toctree-l1"><a class="reference internal" href="../data_structures.html">6. Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="../vocabulary.html">7. Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="../querying.html">8. Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="../encryption.html">9. Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="../encryption.html#todo">10. TODO</a></li>
<li class="toctree-l1"><a class="reference internal" href="../federation.html">11. Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../backwards_compatibility.html">12. Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="../evolvability.html">13. Evolvability</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="../translation.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../design.html">Design Decisions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../sketchpad.html">Sketchpad</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Meta</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../genindex.html">Index</a></li>
<li class="toctree-l1"><a class="reference internal" href="../references.html">References</a></li>
</ul>
</div>
</div>
</div>
</div>
</aside>
<div class="main">
<div class="content">
<div class="article-container">
<a href="#" class="back-to-top muted-link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
</svg>
<span>Back to top</span>
</a>
<div class="content-icon-container">
<div class="theme-toggle-container theme-toggle-content">
<button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
</button>
</div>
<label class="toc-overlay-icon toc-content-icon no-toc" for="__toc">
<div class="visually-hidden">Toggle table of contents sidebar</div>
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
</div>
<article role="main">
<section id="dat-hypercore">
<h1>Dat/Hypercore<a class="headerlink" href="#dat-hypercore" title="Permalink to this heading">#</a></h1>
</section>
</article>
</div>
<footer>
<div class="related-pages">
<a class="next-page" href="spritely.html">
<div class="page-info">
<div class="context">
<span>Next</span>
</div>
<div class="title">Spritely/Goblin</div>
</div>
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
</a>
<a class="prev-page" href="ipfs.html">
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
<div class="page-info">
<div class="context">
<span>Previous</span>
</div>
<div class="title">IPFS</div>
</div>
</a>
</div>
<div class="bottom-of-page">
<div class="left-details">
<div class="copyright">
Copyright &#169; 2023, Jonny Saunders
</div>
Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
<a href="https://github.com/pradyunsg/furo">Furo</a>
</div>
<div class="right-details">
</div>
</div>
</footer>
</div>
<aside class="toc-drawer no-toc">
</aside>
</div>
</div><script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/sphinx_highlight.js"></script>
<script src="../_static/scripts/furo.js"></script>
</body>
</html>

409
comparison/index.html Normal file
View file

@ -0,0 +1,409 @@
<!doctype html>
<html class="no-js" lang="en">
<head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="BitTorrent" href="bittorrent.html" /><link rel="prev" title="Overview" href="../overview.html" />
<link rel="canonical" href="/docs/comparison/index.html" />
<!-- Generated with Sphinx 6.2.1 and Furo 2023.05.20 -->
<title>Comparison - p2p-ld 0.1.0 documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?digest=e6660623a769aa55fea372102b9bf3151b292993" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" />
<style>
body {
--color-code-background: #f8f8f8;
--color-code-foreground: black;
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
}
}
</style></head>
<body>
<script>
document.body.dataset.theme = localStorage.getItem("theme") || "auto";
</script>
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="svg-toc" viewBox="0 0 24 24">
<title>Contents</title>
<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
<path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
</svg>
</symbol>
<symbol id="svg-menu" viewBox="0 0 24 24">
<title>Menu</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
<line x1="3" y1="12" x2="21" y2="12"></line>
<line x1="3" y1="6" x2="21" y2="6"></line>
<line x1="3" y1="18" x2="21" y2="18"></line>
</svg>
</symbol>
<symbol id="svg-arrow-right" viewBox="0 0 24 24">
<title>Expand</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
<polyline points="9 18 15 12 9 6"></polyline>
</svg>
</symbol>
<symbol id="svg-sun" viewBox="0 0 24 24">
<title>Light mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
<circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line>
<line x1="12" y1="21" x2="12" y2="23"></line>
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
<line x1="1" y1="12" x2="3" y2="12"></line>
<line x1="21" y1="12" x2="23" y2="12"></line>
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
</svg>
</symbol>
<symbol id="svg-moon" viewBox="0 0 24 24">
<title>Dark mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
</svg>
</symbol>
<symbol id="svg-sun-half" viewBox="0 0 24 24">
<title>Auto light/dark mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<circle cx="12" cy="12" r="9" />
<path d="M13 12h5" />
<path d="M13 15h4" />
<path d="M13 18h1" />
<path d="M13 9h4" />
<path d="M13 6h1" />
</svg>
</symbol>
</svg>
<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
<label class="overlay sidebar-overlay" for="__navigation">
<div class="visually-hidden">Hide navigation sidebar</div>
</label>
<label class="overlay toc-overlay" for="__toc">
<div class="visually-hidden">Hide table of contents sidebar</div>
</label>
<div class="page">
<header class="mobile-header">
<div class="header-left">
<label class="nav-overlay-icon" for="__navigation">
<div class="visually-hidden">Toggle site navigation sidebar</div>
<i class="icon"><svg><use href="#svg-menu"></use></svg></i>
</label>
</div>
<div class="header-center">
<a href="../index.html"><div class="brand">p2p-ld 0.1.0 documentation</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
<button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
</button>
</div>
<label class="toc-overlay-icon toc-header-icon" for="__toc">
<div class="visually-hidden">Toggle table of contents sidebar</div>
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
</div>
</header>
<aside class="sidebar-drawer">
<div class="sidebar-container">
<div class="sidebar-sticky"><a class="sidebar-brand" href="../index.html">
<span class="sidebar-brand-text">p2p-ld 0.1.0 documentation</span>
</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
<input type="hidden" name="check_keywords" value="yes">
<input type="hidden" name="area" value="default">
</form>
<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
<p class="caption" role="heading"><span class="caption-text">Introduction</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../overview.html">Overview</a></li>
<li class="toctree-l1 current has-children current-page"><a class="current reference internal" href="#">Comparison</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Comparison</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="bittorrent.html">BitTorrent</a></li>
<li class="toctree-l2"><a class="reference internal" href="ipfs.html">IPFS</a></li>
<li class="toctree-l2"><a class="reference internal" href="hypercore.html">Dat/Hypercore</a></li>
<li class="toctree-l2"><a class="reference internal" href="spritely.html">Spritely/Goblin</a></li>
<li class="toctree-l2"><a class="reference internal" href="activitypub.html">ActivityPub</a></li>
<li class="toctree-l2"><a class="reference internal" href="ssb.html">Secure Scuttlebutt</a></li>
<li class="toctree-l2"><a class="reference internal" href="matrix.html">Matrix</a></li>
<li class="toctree-l2"><a class="reference internal" href="at_protocol.html">AT Protocol/Bluesky</a></li>
<li class="toctree-l2"><a class="reference internal" href="nostr.html">Nostr</a></li>
<li class="toctree-l2"><a class="reference internal" href="xmpp.html">XMPP</a></li>
<li class="toctree-l2"><a class="reference internal" href="solid.html">SOLID</a></li>
<li class="toctree-l2"><a class="reference internal" href="ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l2"><a class="reference internal" href="nanopubs.html">NanoPubs</a></li>
<li class="toctree-l2"><a class="reference internal" href="eris.html">ERIS</a></li>
<li class="toctree-l2"><a class="reference internal" href="dmc.html">DMC</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../p2p_concepts.html">P2P Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="../out_of_scope.html">Out of Scope</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Protocol</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../definitions.html">1. Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../protocol.html">2. Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="../identity.html">3. Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="../discovery.html">4. Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="../discovery.html#scraps">5. Scraps</a></li>
<li class="toctree-l1"><a class="reference internal" href="../data_structures.html">6. Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="../vocabulary.html">7. Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="../querying.html">8. Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="../encryption.html">9. Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="../encryption.html#todo">10. TODO</a></li>
<li class="toctree-l1"><a class="reference internal" href="../federation.html">11. Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../backwards_compatibility.html">12. Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="../evolvability.html">13. Evolvability</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="../translation.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../design.html">Design Decisions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../sketchpad.html">Sketchpad</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Meta</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../genindex.html">Index</a></li>
<li class="toctree-l1"><a class="reference internal" href="../references.html">References</a></li>
</ul>
</div>
</div>
</div>
</div>
</aside>
<div class="main">
<div class="content">
<div class="article-container">
<a href="#" class="back-to-top muted-link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
</svg>
<span>Back to top</span>
</a>
<div class="content-icon-container">
<div class="theme-toggle-container theme-toggle-content">
<button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
</button>
</div>
<label class="toc-overlay-icon toc-content-icon" for="__toc">
<div class="visually-hidden">Toggle table of contents sidebar</div>
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
</div>
<article role="main">
<section id="comparison">
<span id="id1"></span><h1>Comparison<a class="headerlink" href="#comparison" title="Permalink to this heading">#</a></h1>
<p>All of this is TODO. Comparison to existing protocols and projects (just to situate in context, not talk shit obvs)</p>
<div class="toctree-wrapper compound">
<p class="caption" role="heading"><span class="caption-text">P2P</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="bittorrent.html">BitTorrent</a></li>
<li class="toctree-l1"><a class="reference internal" href="ipfs.html">IPFS</a><ul>
<li class="toctree-l2"><a class="reference internal" href="ipfs.html#problems">Problems</a></li>
<li class="toctree-l2"><a class="reference internal" href="ipfs.html#ipld">IPLD</a></li>
<li class="toctree-l2"><a class="reference internal" href="ipfs.html#overlap">Overlap</a></li>
<li class="toctree-l2"><a class="reference internal" href="ipfs.html#differences">Differences</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="hypercore.html">Dat/Hypercore</a></li>
<li class="toctree-l1"><a class="reference internal" href="spritely.html">Spritely/Goblin</a><ul>
<li class="toctree-l2"><a class="reference internal" href="spritely.html#references">References</a></li>
</ul>
</li>
</ul>
</div>
<div class="toctree-wrapper compound">
<p class="caption" role="heading"><span class="caption-text">Social</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="activitypub.html">ActivityPub</a></li>
<li class="toctree-l1"><a class="reference internal" href="ssb.html">Secure Scuttlebutt</a></li>
<li class="toctree-l1"><a class="reference internal" href="matrix.html">Matrix</a></li>
<li class="toctree-l1"><a class="reference internal" href="at_protocol.html">AT Protocol/Bluesky</a></li>
<li class="toctree-l1"><a class="reference internal" href="nostr.html">Nostr</a><ul>
<li class="toctree-l2"><a class="reference internal" href="nostr.html#dns-identity">DNS identity</a></li>
<li class="toctree-l2"><a class="reference internal" href="nostr.html#petnames">Petnames</a></li>
<li class="toctree-l2"><a class="reference internal" href="nostr.html#not-so-good">Not so good</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="xmpp.html">XMPP</a></li>
</ul>
</div>
<div class="toctree-wrapper compound">
<p class="caption" role="heading"><span class="caption-text">Linked Data</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="solid.html">SOLID</a></li>
<li class="toctree-l1"><a class="reference internal" href="ld_fragments.html">Linked Data Fragments</a><ul>
<li class="toctree-l2"><a class="reference internal" href="ld_fragments.html#summary">Summary</a></li>
<li class="toctree-l2"><a class="reference internal" href="ld_fragments.html#overlap">Overlap</a></li>
<li class="toctree-l2"><a class="reference internal" href="ld_fragments.html#differences">Differences</a></li>
<li class="toctree-l2"><a class="reference internal" href="ld_fragments.html#references">References</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="nanopubs.html">NanoPubs</a></li>
</ul>
</div>
<div class="toctree-wrapper compound">
<p class="caption" role="heading"><span class="caption-text">Data Structures</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="eris.html">ERIS</a></li>
<li class="toctree-l1"><a class="reference internal" href="dmc.html">DMC</a></li>
</ul>
</div>
<section id="to-be-categorized">
<h2>To be categorized<a class="headerlink" href="#to-be-categorized" title="Permalink to this heading">#</a></h2>
<ul class="simple">
<li><p>Agregore</p></li>
<li><p>Arweave</p></li>
<li><p>CAN</p></li>
<li><p>Chord</p></li>
<li><p>Earthstar</p></li>
<li><p>Freenet</p></li>
<li><p>Manyverse</p></li>
<li><p>P2panda</p></li>
<li><p>SAFE</p></li>
<li><p>Storj</p></li>
<li><p><a class="reference external" href="https://www.ethswarm.org/swarm-whitepaper.pdf">Swarm</a></p>
<ul>
<li><p>not interesting, based around coins and smart contracts</p></li>
<li><p>kademlia routing</p></li>
<li><p>chunks stored by nodes close in hash space</p></li>
</ul>
</li>
</ul>
</section>
<section id="points-of-comparison">
<h2>Points of comparison<a class="headerlink" href="#points-of-comparison" title="Permalink to this heading">#</a></h2>
<ul class="simple">
<li><p>not append-only</p></li>
<li><p>metadata</p></li>
</ul>
</section>
</section>
</article>
</div>
<footer>
<div class="related-pages">
<a class="next-page" href="bittorrent.html">
<div class="page-info">
<div class="context">
<span>Next</span>
</div>
<div class="title">BitTorrent</div>
</div>
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
</a>
<a class="prev-page" href="../overview.html">
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
<div class="page-info">
<div class="context">
<span>Previous</span>
</div>
<div class="title">Overview</div>
</div>
</a>
</div>
<div class="bottom-of-page">
<div class="left-details">
<div class="copyright">
Copyright &#169; 2023, Jonny Saunders
</div>
Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
<a href="https://github.com/pradyunsg/furo">Furo</a>
</div>
<div class="right-details">
</div>
</div>
</footer>
</div>
<aside class="toc-drawer">
<div class="toc-sticky toc-scroll">
<div class="toc-title-container">
<span class="toc-title">
On this page
</span>
</div>
<div class="toc-tree-container">
<div class="toc-tree">
<ul>
<li><a class="reference internal" href="#">Comparison</a><ul>
<li><a class="reference internal" href="#to-be-categorized">To be categorized</a></li>
<li><a class="reference internal" href="#points-of-comparison">Points of comparison</a></li>
</ul>
</li>
</ul>
</div>
</div>
</div>
</aside>
</div>
</div><script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/sphinx_highlight.js"></script>
<script src="../_static/scripts/furo.js"></script>
</body>
</html>

355
comparison/ipfs.html Normal file
View file

@ -0,0 +1,355 @@
<!doctype html>
<html class="no-js" lang="en">
<head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="Dat/Hypercore" href="hypercore.html" /><link rel="prev" title="BitTorrent" href="bittorrent.html" />
<link rel="canonical" href="/docs/comparison/ipfs.html" />
<!-- Generated with Sphinx 6.2.1 and Furo 2023.05.20 -->
<title>IPFS - p2p-ld 0.1.0 documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?digest=e6660623a769aa55fea372102b9bf3151b292993" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" />
<style>
body {
--color-code-background: #f8f8f8;
--color-code-foreground: black;
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
}
}
</style></head>
<body>
<script>
document.body.dataset.theme = localStorage.getItem("theme") || "auto";
</script>
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="svg-toc" viewBox="0 0 24 24">
<title>Contents</title>
<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
<path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
</svg>
</symbol>
<symbol id="svg-menu" viewBox="0 0 24 24">
<title>Menu</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
<line x1="3" y1="12" x2="21" y2="12"></line>
<line x1="3" y1="6" x2="21" y2="6"></line>
<line x1="3" y1="18" x2="21" y2="18"></line>
</svg>
</symbol>
<symbol id="svg-arrow-right" viewBox="0 0 24 24">
<title>Expand</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
<polyline points="9 18 15 12 9 6"></polyline>
</svg>
</symbol>
<symbol id="svg-sun" viewBox="0 0 24 24">
<title>Light mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
<circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line>
<line x1="12" y1="21" x2="12" y2="23"></line>
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
<line x1="1" y1="12" x2="3" y2="12"></line>
<line x1="21" y1="12" x2="23" y2="12"></line>
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
</svg>
</symbol>
<symbol id="svg-moon" viewBox="0 0 24 24">
<title>Dark mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
</svg>
</symbol>
<symbol id="svg-sun-half" viewBox="0 0 24 24">
<title>Auto light/dark mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<circle cx="12" cy="12" r="9" />
<path d="M13 12h5" />
<path d="M13 15h4" />
<path d="M13 18h1" />
<path d="M13 9h4" />
<path d="M13 6h1" />
</svg>
</symbol>
</svg>
<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
<label class="overlay sidebar-overlay" for="__navigation">
<div class="visually-hidden">Hide navigation sidebar</div>
</label>
<label class="overlay toc-overlay" for="__toc">
<div class="visually-hidden">Hide table of contents sidebar</div>
</label>
<div class="page">
<header class="mobile-header">
<div class="header-left">
<label class="nav-overlay-icon" for="__navigation">
<div class="visually-hidden">Toggle site navigation sidebar</div>
<i class="icon"><svg><use href="#svg-menu"></use></svg></i>
</label>
</div>
<div class="header-center">
<a href="../index.html"><div class="brand">p2p-ld 0.1.0 documentation</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
<button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
</button>
</div>
<label class="toc-overlay-icon toc-header-icon" for="__toc">
<div class="visually-hidden">Toggle table of contents sidebar</div>
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
</div>
</header>
<aside class="sidebar-drawer">
<div class="sidebar-container">
<div class="sidebar-sticky"><a class="sidebar-brand" href="../index.html">
<span class="sidebar-brand-text">p2p-ld 0.1.0 documentation</span>
</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
<input type="hidden" name="check_keywords" value="yes">
<input type="hidden" name="area" value="default">
</form>
<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
<p class="caption" role="heading"><span class="caption-text">Introduction</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../overview.html">Overview</a></li>
<li class="toctree-l1 current has-children"><a class="reference internal" href="index.html">Comparison</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Comparison</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="bittorrent.html">BitTorrent</a></li>
<li class="toctree-l2 current current-page"><a class="current reference internal" href="#">IPFS</a></li>
<li class="toctree-l2"><a class="reference internal" href="hypercore.html">Dat/Hypercore</a></li>
<li class="toctree-l2"><a class="reference internal" href="spritely.html">Spritely/Goblin</a></li>
<li class="toctree-l2"><a class="reference internal" href="activitypub.html">ActivityPub</a></li>
<li class="toctree-l2"><a class="reference internal" href="ssb.html">Secure Scuttlebutt</a></li>
<li class="toctree-l2"><a class="reference internal" href="matrix.html">Matrix</a></li>
<li class="toctree-l2"><a class="reference internal" href="at_protocol.html">AT Protocol/Bluesky</a></li>
<li class="toctree-l2"><a class="reference internal" href="nostr.html">Nostr</a></li>
<li class="toctree-l2"><a class="reference internal" href="xmpp.html">XMPP</a></li>
<li class="toctree-l2"><a class="reference internal" href="solid.html">SOLID</a></li>
<li class="toctree-l2"><a class="reference internal" href="ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l2"><a class="reference internal" href="nanopubs.html">NanoPubs</a></li>
<li class="toctree-l2"><a class="reference internal" href="eris.html">ERIS</a></li>
<li class="toctree-l2"><a class="reference internal" href="dmc.html">DMC</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../p2p_concepts.html">P2P Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="../out_of_scope.html">Out of Scope</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Protocol</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../definitions.html">1. Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../protocol.html">2. Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="../identity.html">3. Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="../discovery.html">4. Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="../discovery.html#scraps">5. Scraps</a></li>
<li class="toctree-l1"><a class="reference internal" href="../data_structures.html">6. Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="../vocabulary.html">7. Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="../querying.html">8. Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="../encryption.html">9. Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="../encryption.html#todo">10. TODO</a></li>
<li class="toctree-l1"><a class="reference internal" href="../federation.html">11. Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../backwards_compatibility.html">12. Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="../evolvability.html">13. Evolvability</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="../translation.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../design.html">Design Decisions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../sketchpad.html">Sketchpad</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Meta</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../genindex.html">Index</a></li>
<li class="toctree-l1"><a class="reference internal" href="../references.html">References</a></li>
</ul>
</div>
</div>
</div>
</div>
</aside>
<div class="main">
<div class="content">
<div class="article-container">
<a href="#" class="back-to-top muted-link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
</svg>
<span>Back to top</span>
</a>
<div class="content-icon-container">
<div class="theme-toggle-container theme-toggle-content">
<button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
</button>
</div>
<label class="toc-overlay-icon toc-content-icon" for="__toc">
<div class="visually-hidden">Toggle table of contents sidebar</div>
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
</div>
<article role="main">
<section id="ipfs">
<span id="index-0"></span><h1>IPFS<a class="headerlink" href="#ipfs" title="Permalink to this heading">#</a></h1>
<p>If IPFS is <span class="target" id="index-1"></span>BitTorrent + <span class="target" id="index-2"></span>git, and is + , then p2p-ld is IPFS + ActivityPub. We build on IPFS and are heavily inspired by its design and shortcomings revealed by practical use.</p>
<section id="problems">
<h2>Problems<a class="headerlink" href="#problems" title="Permalink to this heading">#</a></h2>
<ul class="simple">
<li><p>Slow access!</p></li>
<li><p>No identity misses the social nature of infrastructure. Where bittorrent had trackers, there is no similar concept in IPFS to organize archives.</p>
<ul>
<li><p>Hence the need for filecoin, an exogenous incentive to store, but then it becomes transactional which generates its own problems.</p></li>
<li><p>Trust! eg. its use in phishing attacks is because there is no way to know who the hell a given CID is owned by. It needs to be possible to do social curation, or at leats know when something is riskier or not.</p></li>
</ul>
</li>
<li><p>Lack of metadata means having to build a lot of shit post-hoc, like IPLD and multihashes and codecs and whatnot.</p></li>
</ul>
</section>
<section id="ipld">
<h2>IPLD<a class="headerlink" href="#ipld" title="Permalink to this heading">#</a></h2>
</section>
<section id="overlap">
<h2>Overlap<a class="headerlink" href="#overlap" title="Permalink to this heading">#</a></h2>
<ul class="simple">
<li><p><span class="target" id="index-3"></span>Merkle DAGs</p></li>
</ul>
</section>
<section id="differences">
<h2>Differences<a class="headerlink" href="#differences" title="Permalink to this heading">#</a></h2>
<ul class="simple">
<li><p>Not permanent storage! Identities retain custody and control over objects in the network.</p></li>
</ul>
</section>
</section>
</article>
</div>
<footer>
<div class="related-pages">
<a class="next-page" href="hypercore.html">
<div class="page-info">
<div class="context">
<span>Next</span>
</div>
<div class="title">Dat/Hypercore</div>
</div>
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
</a>
<a class="prev-page" href="bittorrent.html">
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
<div class="page-info">
<div class="context">
<span>Previous</span>
</div>
<div class="title">BitTorrent</div>
</div>
</a>
</div>
<div class="bottom-of-page">
<div class="left-details">
<div class="copyright">
Copyright &#169; 2023, Jonny Saunders
</div>
Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
<a href="https://github.com/pradyunsg/furo">Furo</a>
</div>
<div class="right-details">
</div>
</div>
</footer>
</div>
<aside class="toc-drawer">
<div class="toc-sticky toc-scroll">
<div class="toc-title-container">
<span class="toc-title">
On this page
</span>
</div>
<div class="toc-tree-container">
<div class="toc-tree">
<ul>
<li><a class="reference internal" href="#">IPFS</a><ul>
<li><a class="reference internal" href="#problems">Problems</a></li>
<li><a class="reference internal" href="#ipld">IPLD</a></li>
<li><a class="reference internal" href="#overlap">Overlap</a></li>
<li><a class="reference internal" href="#differences">Differences</a></li>
</ul>
</li>
</ul>
</div>
</div>
</div>
</aside>
</div>
</div><script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/sphinx_highlight.js"></script>
<script src="../_static/scripts/furo.js"></script>
</body>
</html>

View file

@ -0,0 +1,373 @@
<!doctype html>
<html class="no-js" lang="en">
<head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="NanoPubs" href="nanopubs.html" /><link rel="prev" title="SOLID" href="solid.html" />
<link rel="canonical" href="/docs/comparison/ld_fragments.html" />
<!-- Generated with Sphinx 6.2.1 and Furo 2023.05.20 -->
<title>Linked Data Fragments - p2p-ld 0.1.0 documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?digest=e6660623a769aa55fea372102b9bf3151b292993" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" />
<style>
body {
--color-code-background: #f8f8f8;
--color-code-foreground: black;
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
}
}
</style></head>
<body>
<script>
document.body.dataset.theme = localStorage.getItem("theme") || "auto";
</script>
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="svg-toc" viewBox="0 0 24 24">
<title>Contents</title>
<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
<path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
</svg>
</symbol>
<symbol id="svg-menu" viewBox="0 0 24 24">
<title>Menu</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
<line x1="3" y1="12" x2="21" y2="12"></line>
<line x1="3" y1="6" x2="21" y2="6"></line>
<line x1="3" y1="18" x2="21" y2="18"></line>
</svg>
</symbol>
<symbol id="svg-arrow-right" viewBox="0 0 24 24">
<title>Expand</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
<polyline points="9 18 15 12 9 6"></polyline>
</svg>
</symbol>
<symbol id="svg-sun" viewBox="0 0 24 24">
<title>Light mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
<circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line>
<line x1="12" y1="21" x2="12" y2="23"></line>
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
<line x1="1" y1="12" x2="3" y2="12"></line>
<line x1="21" y1="12" x2="23" y2="12"></line>
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
</svg>
</symbol>
<symbol id="svg-moon" viewBox="0 0 24 24">
<title>Dark mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
</svg>
</symbol>
<symbol id="svg-sun-half" viewBox="0 0 24 24">
<title>Auto light/dark mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<circle cx="12" cy="12" r="9" />
<path d="M13 12h5" />
<path d="M13 15h4" />
<path d="M13 18h1" />
<path d="M13 9h4" />
<path d="M13 6h1" />
</svg>
</symbol>
</svg>
<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
<label class="overlay sidebar-overlay" for="__navigation">
<div class="visually-hidden">Hide navigation sidebar</div>
</label>
<label class="overlay toc-overlay" for="__toc">
<div class="visually-hidden">Hide table of contents sidebar</div>
</label>
<div class="page">
<header class="mobile-header">
<div class="header-left">
<label class="nav-overlay-icon" for="__navigation">
<div class="visually-hidden">Toggle site navigation sidebar</div>
<i class="icon"><svg><use href="#svg-menu"></use></svg></i>
</label>
</div>
<div class="header-center">
<a href="../index.html"><div class="brand">p2p-ld 0.1.0 documentation</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
<button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
</button>
</div>
<label class="toc-overlay-icon toc-header-icon" for="__toc">
<div class="visually-hidden">Toggle table of contents sidebar</div>
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
</div>
</header>
<aside class="sidebar-drawer">
<div class="sidebar-container">
<div class="sidebar-sticky"><a class="sidebar-brand" href="../index.html">
<span class="sidebar-brand-text">p2p-ld 0.1.0 documentation</span>
</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
<input type="hidden" name="check_keywords" value="yes">
<input type="hidden" name="area" value="default">
</form>
<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
<p class="caption" role="heading"><span class="caption-text">Introduction</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../overview.html">Overview</a></li>
<li class="toctree-l1 current has-children"><a class="reference internal" href="index.html">Comparison</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Comparison</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="bittorrent.html">BitTorrent</a></li>
<li class="toctree-l2"><a class="reference internal" href="ipfs.html">IPFS</a></li>
<li class="toctree-l2"><a class="reference internal" href="hypercore.html">Dat/Hypercore</a></li>
<li class="toctree-l2"><a class="reference internal" href="spritely.html">Spritely/Goblin</a></li>
<li class="toctree-l2"><a class="reference internal" href="activitypub.html">ActivityPub</a></li>
<li class="toctree-l2"><a class="reference internal" href="ssb.html">Secure Scuttlebutt</a></li>
<li class="toctree-l2"><a class="reference internal" href="matrix.html">Matrix</a></li>
<li class="toctree-l2"><a class="reference internal" href="at_protocol.html">AT Protocol/Bluesky</a></li>
<li class="toctree-l2"><a class="reference internal" href="nostr.html">Nostr</a></li>
<li class="toctree-l2"><a class="reference internal" href="xmpp.html">XMPP</a></li>
<li class="toctree-l2"><a class="reference internal" href="solid.html">SOLID</a></li>
<li class="toctree-l2 current current-page"><a class="current reference internal" href="#">Linked Data Fragments</a></li>
<li class="toctree-l2"><a class="reference internal" href="nanopubs.html">NanoPubs</a></li>
<li class="toctree-l2"><a class="reference internal" href="eris.html">ERIS</a></li>
<li class="toctree-l2"><a class="reference internal" href="dmc.html">DMC</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../p2p_concepts.html">P2P Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="../out_of_scope.html">Out of Scope</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Protocol</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../definitions.html">1. Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../protocol.html">2. Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="../identity.html">3. Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="../discovery.html">4. Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="../discovery.html#scraps">5. Scraps</a></li>
<li class="toctree-l1"><a class="reference internal" href="../data_structures.html">6. Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="../vocabulary.html">7. Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="../querying.html">8. Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="../encryption.html">9. Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="../encryption.html#todo">10. TODO</a></li>
<li class="toctree-l1"><a class="reference internal" href="../federation.html">11. Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../backwards_compatibility.html">12. Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="../evolvability.html">13. Evolvability</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="../translation.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../design.html">Design Decisions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../sketchpad.html">Sketchpad</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Meta</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../genindex.html">Index</a></li>
<li class="toctree-l1"><a class="reference internal" href="../references.html">References</a></li>
</ul>
</div>
</div>
</div>
</div>
</aside>
<div class="main">
<div class="content">
<div class="article-container">
<a href="#" class="back-to-top muted-link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
</svg>
<span>Back to top</span>
</a>
<div class="content-icon-container">
<div class="theme-toggle-container theme-toggle-content">
<button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
</button>
</div>
<label class="toc-overlay-icon toc-content-icon" for="__toc">
<div class="visually-hidden">Toggle table of contents sidebar</div>
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
</div>
<article role="main">
<section id="linked-data-fragments">
<span id="index-0"></span><h1>Linked Data Fragments<a class="headerlink" href="#linked-data-fragments" title="Permalink to this heading">#</a></h1>
<section id="summary">
<h2>Summary<a class="headerlink" href="#summary" title="Permalink to this heading">#</a></h2>
<p><a class="reference external" href="https://linkeddatafragments.org/publications/">Linked data fragments</a> are designed to “fill in the middle” between entirely serverside (<span class="target" id="index-1"></span>SPARQL) or clientside (downloading a triple store) usage of linked data triples. SPARQL queries are notorious for being resource intensive, as queries can become much more complex than typical relational algebra and the server needs to resolve a potentially enormous number of resources. Placing all the logic on the server, rather than the client, is an architectural decision that has a complex history, but descends from the idea that the web should work by having “agents” that work on the web on our behalf<a class="footnote-reference brackets" href="#semwebagents" id="id1" role="doc-noteref"><span class="fn-bracket">[</span>1<span class="fn-bracket">]</span></a>.</p>
<p>Linked data fragments (LDFs) split the difference by placing more of the work on clients, with the server providing pre-computed sets of triples for a given selector. “Selector” is a purposefully general concept, but the LDF authors focus primarily on <a class="reference external" href="https://linkeddatafragments.org/specification/triple-pattern-fragments/">Triple Pattern Fragments</a> that are composed of:</p>
<ul class="simple">
<li><p>A <strong>Triple Pattern</strong>, a <code class="docutils literal notranslate"><span class="pre">?subject</span> <span class="pre">?predicate</span> <span class="pre">?object</span></code> that defines the contents of the fragment</p></li>
<li><p><strong>Metadata</strong>, specifically a <code class="docutils literal notranslate"><span class="pre">triples</span></code> predicate indicating the estimated total number of triples in the fragment since large fragments need to be paginated, and</p></li>
<li><p><strong>Hypermedia Controls</strong> that can be used to retrieve other related fragments. For example, a triple pattern corresponding to <code class="docutils literal notranslate"><span class="pre">s:people</span></code> <code class="docutils literal notranslate"><span class="pre">p:named</span></code> <code class="docutils literal notranslate"><span class="pre">o:tom</span></code> would have links to retrieve all the related combinations including each field being unspecified, eg. any triplet whose subject is a <code class="docutils literal notranslate"><span class="pre">person</span></code>, predicate is <code class="docutils literal notranslate"><span class="pre">named</span></code> and so on.</p></li>
</ul>
<p>The hosting server then partitions all of the triples in a given dataset into all the possible combinations of subjects, predicates, and objects.</p>
</section>
<section id="overlap">
<h2>Overlap<a class="headerlink" href="#overlap" title="Permalink to this heading">#</a></h2>
<p>p2p-ld follows Linked Data Fragments in that it emphasizes clientside logic rather than query logic on the network. Executing distributed complex queries adds substantial complexity to the protocol and would potentially import a lot of the problems with SPARQL like heightened resource requirements and potential for abuse for denial of service.</p>
</section>
<section id="differences">
<h2>Differences<a class="headerlink" href="#differences" title="Permalink to this heading">#</a></h2>
<ul class="simple">
<li><p>re: linked data platform, p2p-ld also concerns “leaf” nodes with binary data accessed via codec, rather than represented as triplets. The results of queries are thus not necessarily imagined to be single factual assertions, but datasets, images, documents, posts, etc. -&gt; So the container concept is less rigidly defined than an LDF host with a completely partitioned triplet graph.</p></li>
</ul>
<p>Additionally, by being an explicitly <em>social</em> system, p2p-ld is unconcerned with arbitrary query execution time on anonymous data systems - the expectation is that individual peers and <span class="target" id="index-2"></span>peer federations</p>
<div class="attention admonition">
<p class="admonition-title">To be very clear!</p>
<p>p2p-ld does not attempt to replace or improve SPARQL. There are a number of philosophical and practical differences in the design of the greater semantic web, and particularly its instantiation as bigass corporate knowledge graphs. We will do what we can to integrate with RDF and RDF-like technologies, but p2p-ld is <em>not</em> a distributed SPARQL endpoint.</p>
</div>
<p>There are a number of philosophical</p>
</section>
<section id="references">
<h2>References<a class="headerlink" href="#references" title="Permalink to this heading">#</a></h2>
<ul class="simple">
<li><p>Homepage: <a class="reference external" href="https://linkeddatafragments.org/">https://linkeddatafragments.org/</a></p></li>
<li><p>Papers:</p>
<ul>
<li><p>Original conference paper: <span id="id2">[<a class="reference internal" href="../references.html#id7" title="Ruben Verborgh, Sam Coppens, Miel Vander Sande, Erik Mannens, Pieter Colpaert, and Rik Van de Walle. Web-Scale Querying through Linked Data Fragments. In Proceedings of the 7th Workshop on Linked Data on the Web. 2014-04-08.">Verborgh <em>et al.</em>, 2014</a>]</span></p></li>
<li><p><span id="id3">[<a class="reference internal" href="../references.html#id6" title="Ruben Verborgh, Miel Vander Sande, Olaf Hartig, Joachim Van Herwegen, Laurens De Vocht, Ben De Meester, Gerald Haesendonck, and Pieter Colpaert. Triple Pattern Fragments: A low-cost knowledge graph interface for the Web. Journal of Web Semantics, 3738:184206, 2016-03. URL: https://linkinghub.elsevier.com/retrieve/pii/S1570826816000214 (visited on 2023-06-08), doi:10.1016/j.websem.2016.03.003.">Verborgh <em>et al.</em>, 2016</a>]</span></p></li>
</ul>
</li>
<li><p>Specification: <a class="reference external" href="https://linkeddatafragments.org/specification/triple-pattern-fragments/">Triple Pattern Fragments</a></p></li>
</ul>
<hr class="footnotes docutils" />
<aside class="footnote-list brackets">
<aside class="footnote brackets" id="semwebagents" role="note">
<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#id1">1</a><span class="fn-bracket">]</span></span>
<p>See the history of the early to middle semantic web, discussed in <span id="id4">[<a class="reference internal" href="../references.html#id5" title="Jonny L. Saunders. Surveillance Graphs. 2023-04-02T00:00:00+00:00. URL: https://jon-e.net/surveillance-graphs (visited on 2023-06-08), arXiv:hc:54749, doi:10.17613/syv8-cp10.">Saunders, 2023</a>]</span></p>
</aside>
</aside>
</section>
</section>
</article>
</div>
<footer>
<div class="related-pages">
<a class="next-page" href="nanopubs.html">
<div class="page-info">
<div class="context">
<span>Next</span>
</div>
<div class="title">NanoPubs</div>
</div>
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
</a>
<a class="prev-page" href="solid.html">
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
<div class="page-info">
<div class="context">
<span>Previous</span>
</div>
<div class="title">SOLID</div>
</div>
</a>
</div>
<div class="bottom-of-page">
<div class="left-details">
<div class="copyright">
Copyright &#169; 2023, Jonny Saunders
</div>
Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
<a href="https://github.com/pradyunsg/furo">Furo</a>
</div>
<div class="right-details">
</div>
</div>
</footer>
</div>
<aside class="toc-drawer">
<div class="toc-sticky toc-scroll">
<div class="toc-title-container">
<span class="toc-title">
On this page
</span>
</div>
<div class="toc-tree-container">
<div class="toc-tree">
<ul>
<li><a class="reference internal" href="#">Linked Data Fragments</a><ul>
<li><a class="reference internal" href="#summary">Summary</a></li>
<li><a class="reference internal" href="#overlap">Overlap</a></li>
<li><a class="reference internal" href="#differences">Differences</a></li>
<li><a class="reference internal" href="#references">References</a></li>
</ul>
</li>
</ul>
</div>
</div>
</div>
</aside>
</div>
</div><script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/sphinx_highlight.js"></script>
<script src="../_static/scripts/furo.js"></script>
</body>
</html>

304
comparison/matrix.html Normal file
View file

@ -0,0 +1,304 @@
<!doctype html>
<html class="no-js" lang="en">
<head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="AT Protocol/Bluesky" href="at_protocol.html" /><link rel="prev" title="Secure Scuttlebutt" href="ssb.html" />
<link rel="canonical" href="/docs/comparison/matrix.html" />
<!-- Generated with Sphinx 6.2.1 and Furo 2023.05.20 -->
<title>Matrix - p2p-ld 0.1.0 documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?digest=e6660623a769aa55fea372102b9bf3151b292993" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" />
<style>
body {
--color-code-background: #f8f8f8;
--color-code-foreground: black;
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
}
}
</style></head>
<body>
<script>
document.body.dataset.theme = localStorage.getItem("theme") || "auto";
</script>
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="svg-toc" viewBox="0 0 24 24">
<title>Contents</title>
<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
<path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
</svg>
</symbol>
<symbol id="svg-menu" viewBox="0 0 24 24">
<title>Menu</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
<line x1="3" y1="12" x2="21" y2="12"></line>
<line x1="3" y1="6" x2="21" y2="6"></line>
<line x1="3" y1="18" x2="21" y2="18"></line>
</svg>
</symbol>
<symbol id="svg-arrow-right" viewBox="0 0 24 24">
<title>Expand</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
<polyline points="9 18 15 12 9 6"></polyline>
</svg>
</symbol>
<symbol id="svg-sun" viewBox="0 0 24 24">
<title>Light mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
<circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line>
<line x1="12" y1="21" x2="12" y2="23"></line>
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
<line x1="1" y1="12" x2="3" y2="12"></line>
<line x1="21" y1="12" x2="23" y2="12"></line>
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
</svg>
</symbol>
<symbol id="svg-moon" viewBox="0 0 24 24">
<title>Dark mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
</svg>
</symbol>
<symbol id="svg-sun-half" viewBox="0 0 24 24">
<title>Auto light/dark mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<circle cx="12" cy="12" r="9" />
<path d="M13 12h5" />
<path d="M13 15h4" />
<path d="M13 18h1" />
<path d="M13 9h4" />
<path d="M13 6h1" />
</svg>
</symbol>
</svg>
<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
<label class="overlay sidebar-overlay" for="__navigation">
<div class="visually-hidden">Hide navigation sidebar</div>
</label>
<label class="overlay toc-overlay" for="__toc">
<div class="visually-hidden">Hide table of contents sidebar</div>
</label>
<div class="page">
<header class="mobile-header">
<div class="header-left">
<label class="nav-overlay-icon" for="__navigation">
<div class="visually-hidden">Toggle site navigation sidebar</div>
<i class="icon"><svg><use href="#svg-menu"></use></svg></i>
</label>
</div>
<div class="header-center">
<a href="../index.html"><div class="brand">p2p-ld 0.1.0 documentation</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
<button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
</button>
</div>
<label class="toc-overlay-icon toc-header-icon no-toc" for="__toc">
<div class="visually-hidden">Toggle table of contents sidebar</div>
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
</div>
</header>
<aside class="sidebar-drawer">
<div class="sidebar-container">
<div class="sidebar-sticky"><a class="sidebar-brand" href="../index.html">
<span class="sidebar-brand-text">p2p-ld 0.1.0 documentation</span>
</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
<input type="hidden" name="check_keywords" value="yes">
<input type="hidden" name="area" value="default">
</form>
<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
<p class="caption" role="heading"><span class="caption-text">Introduction</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../overview.html">Overview</a></li>
<li class="toctree-l1 current has-children"><a class="reference internal" href="index.html">Comparison</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Comparison</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="bittorrent.html">BitTorrent</a></li>
<li class="toctree-l2"><a class="reference internal" href="ipfs.html">IPFS</a></li>
<li class="toctree-l2"><a class="reference internal" href="hypercore.html">Dat/Hypercore</a></li>
<li class="toctree-l2"><a class="reference internal" href="spritely.html">Spritely/Goblin</a></li>
<li class="toctree-l2"><a class="reference internal" href="activitypub.html">ActivityPub</a></li>
<li class="toctree-l2"><a class="reference internal" href="ssb.html">Secure Scuttlebutt</a></li>
<li class="toctree-l2 current current-page"><a class="current reference internal" href="#">Matrix</a></li>
<li class="toctree-l2"><a class="reference internal" href="at_protocol.html">AT Protocol/Bluesky</a></li>
<li class="toctree-l2"><a class="reference internal" href="nostr.html">Nostr</a></li>
<li class="toctree-l2"><a class="reference internal" href="xmpp.html">XMPP</a></li>
<li class="toctree-l2"><a class="reference internal" href="solid.html">SOLID</a></li>
<li class="toctree-l2"><a class="reference internal" href="ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l2"><a class="reference internal" href="nanopubs.html">NanoPubs</a></li>
<li class="toctree-l2"><a class="reference internal" href="eris.html">ERIS</a></li>
<li class="toctree-l2"><a class="reference internal" href="dmc.html">DMC</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../p2p_concepts.html">P2P Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="../out_of_scope.html">Out of Scope</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Protocol</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../definitions.html">1. Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../protocol.html">2. Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="../identity.html">3. Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="../discovery.html">4. Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="../discovery.html#scraps">5. Scraps</a></li>
<li class="toctree-l1"><a class="reference internal" href="../data_structures.html">6. Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="../vocabulary.html">7. Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="../querying.html">8. Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="../encryption.html">9. Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="../encryption.html#todo">10. TODO</a></li>
<li class="toctree-l1"><a class="reference internal" href="../federation.html">11. Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../backwards_compatibility.html">12. Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="../evolvability.html">13. Evolvability</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="../translation.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../design.html">Design Decisions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../sketchpad.html">Sketchpad</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Meta</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../genindex.html">Index</a></li>
<li class="toctree-l1"><a class="reference internal" href="../references.html">References</a></li>
</ul>
</div>
</div>
</div>
</div>
</aside>
<div class="main">
<div class="content">
<div class="article-container">
<a href="#" class="back-to-top muted-link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
</svg>
<span>Back to top</span>
</a>
<div class="content-icon-container">
<div class="theme-toggle-container theme-toggle-content">
<button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
</button>
</div>
<label class="toc-overlay-icon toc-content-icon no-toc" for="__toc">
<div class="visually-hidden">Toggle table of contents sidebar</div>
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
</div>
<article role="main">
<section id="matrix">
<h1>Matrix<a class="headerlink" href="#matrix" title="Permalink to this heading">#</a></h1>
</section>
</article>
</div>
<footer>
<div class="related-pages">
<a class="next-page" href="at_protocol.html">
<div class="page-info">
<div class="context">
<span>Next</span>
</div>
<div class="title">AT Protocol/Bluesky</div>
</div>
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
</a>
<a class="prev-page" href="ssb.html">
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
<div class="page-info">
<div class="context">
<span>Previous</span>
</div>
<div class="title">Secure Scuttlebutt</div>
</div>
</a>
</div>
<div class="bottom-of-page">
<div class="left-details">
<div class="copyright">
Copyright &#169; 2023, Jonny Saunders
</div>
Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
<a href="https://github.com/pradyunsg/furo">Furo</a>
</div>
<div class="right-details">
</div>
</div>
</footer>
</div>
<aside class="toc-drawer no-toc">
</aside>
</div>
</div><script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/sphinx_highlight.js"></script>
<script src="../_static/scripts/furo.js"></script>
</body>
</html>

304
comparison/nanopubs.html Normal file
View file

@ -0,0 +1,304 @@
<!doctype html>
<html class="no-js" lang="en">
<head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="ERIS" href="eris.html" /><link rel="prev" title="Linked Data Fragments" href="ld_fragments.html" />
<link rel="canonical" href="/docs/comparison/nanopubs.html" />
<!-- Generated with Sphinx 6.2.1 and Furo 2023.05.20 -->
<title>NanoPubs - p2p-ld 0.1.0 documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?digest=e6660623a769aa55fea372102b9bf3151b292993" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" />
<style>
body {
--color-code-background: #f8f8f8;
--color-code-foreground: black;
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
}
}
</style></head>
<body>
<script>
document.body.dataset.theme = localStorage.getItem("theme") || "auto";
</script>
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="svg-toc" viewBox="0 0 24 24">
<title>Contents</title>
<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
<path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
</svg>
</symbol>
<symbol id="svg-menu" viewBox="0 0 24 24">
<title>Menu</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
<line x1="3" y1="12" x2="21" y2="12"></line>
<line x1="3" y1="6" x2="21" y2="6"></line>
<line x1="3" y1="18" x2="21" y2="18"></line>
</svg>
</symbol>
<symbol id="svg-arrow-right" viewBox="0 0 24 24">
<title>Expand</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
<polyline points="9 18 15 12 9 6"></polyline>
</svg>
</symbol>
<symbol id="svg-sun" viewBox="0 0 24 24">
<title>Light mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
<circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line>
<line x1="12" y1="21" x2="12" y2="23"></line>
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
<line x1="1" y1="12" x2="3" y2="12"></line>
<line x1="21" y1="12" x2="23" y2="12"></line>
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
</svg>
</symbol>
<symbol id="svg-moon" viewBox="0 0 24 24">
<title>Dark mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
</svg>
</symbol>
<symbol id="svg-sun-half" viewBox="0 0 24 24">
<title>Auto light/dark mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<circle cx="12" cy="12" r="9" />
<path d="M13 12h5" />
<path d="M13 15h4" />
<path d="M13 18h1" />
<path d="M13 9h4" />
<path d="M13 6h1" />
</svg>
</symbol>
</svg>
<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
<label class="overlay sidebar-overlay" for="__navigation">
<div class="visually-hidden">Hide navigation sidebar</div>
</label>
<label class="overlay toc-overlay" for="__toc">
<div class="visually-hidden">Hide table of contents sidebar</div>
</label>
<div class="page">
<header class="mobile-header">
<div class="header-left">
<label class="nav-overlay-icon" for="__navigation">
<div class="visually-hidden">Toggle site navigation sidebar</div>
<i class="icon"><svg><use href="#svg-menu"></use></svg></i>
</label>
</div>
<div class="header-center">
<a href="../index.html"><div class="brand">p2p-ld 0.1.0 documentation</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
<button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
</button>
</div>
<label class="toc-overlay-icon toc-header-icon no-toc" for="__toc">
<div class="visually-hidden">Toggle table of contents sidebar</div>
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
</div>
</header>
<aside class="sidebar-drawer">
<div class="sidebar-container">
<div class="sidebar-sticky"><a class="sidebar-brand" href="../index.html">
<span class="sidebar-brand-text">p2p-ld 0.1.0 documentation</span>
</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
<input type="hidden" name="check_keywords" value="yes">
<input type="hidden" name="area" value="default">
</form>
<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
<p class="caption" role="heading"><span class="caption-text">Introduction</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../overview.html">Overview</a></li>
<li class="toctree-l1 current has-children"><a class="reference internal" href="index.html">Comparison</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Comparison</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="bittorrent.html">BitTorrent</a></li>
<li class="toctree-l2"><a class="reference internal" href="ipfs.html">IPFS</a></li>
<li class="toctree-l2"><a class="reference internal" href="hypercore.html">Dat/Hypercore</a></li>
<li class="toctree-l2"><a class="reference internal" href="spritely.html">Spritely/Goblin</a></li>
<li class="toctree-l2"><a class="reference internal" href="activitypub.html">ActivityPub</a></li>
<li class="toctree-l2"><a class="reference internal" href="ssb.html">Secure Scuttlebutt</a></li>
<li class="toctree-l2"><a class="reference internal" href="matrix.html">Matrix</a></li>
<li class="toctree-l2"><a class="reference internal" href="at_protocol.html">AT Protocol/Bluesky</a></li>
<li class="toctree-l2"><a class="reference internal" href="nostr.html">Nostr</a></li>
<li class="toctree-l2"><a class="reference internal" href="xmpp.html">XMPP</a></li>
<li class="toctree-l2"><a class="reference internal" href="solid.html">SOLID</a></li>
<li class="toctree-l2"><a class="reference internal" href="ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l2 current current-page"><a class="current reference internal" href="#">NanoPubs</a></li>
<li class="toctree-l2"><a class="reference internal" href="eris.html">ERIS</a></li>
<li class="toctree-l2"><a class="reference internal" href="dmc.html">DMC</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../p2p_concepts.html">P2P Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="../out_of_scope.html">Out of Scope</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Protocol</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../definitions.html">1. Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../protocol.html">2. Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="../identity.html">3. Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="../discovery.html">4. Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="../discovery.html#scraps">5. Scraps</a></li>
<li class="toctree-l1"><a class="reference internal" href="../data_structures.html">6. Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="../vocabulary.html">7. Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="../querying.html">8. Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="../encryption.html">9. Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="../encryption.html#todo">10. TODO</a></li>
<li class="toctree-l1"><a class="reference internal" href="../federation.html">11. Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../backwards_compatibility.html">12. Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="../evolvability.html">13. Evolvability</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="../translation.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../design.html">Design Decisions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../sketchpad.html">Sketchpad</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Meta</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../genindex.html">Index</a></li>
<li class="toctree-l1"><a class="reference internal" href="../references.html">References</a></li>
</ul>
</div>
</div>
</div>
</div>
</aside>
<div class="main">
<div class="content">
<div class="article-container">
<a href="#" class="back-to-top muted-link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
</svg>
<span>Back to top</span>
</a>
<div class="content-icon-container">
<div class="theme-toggle-container theme-toggle-content">
<button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
</button>
</div>
<label class="toc-overlay-icon toc-content-icon no-toc" for="__toc">
<div class="visually-hidden">Toggle table of contents sidebar</div>
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
</div>
<article role="main">
<section id="nanopubs">
<h1>NanoPubs<a class="headerlink" href="#nanopubs" title="Permalink to this heading">#</a></h1>
</section>
</article>
</div>
<footer>
<div class="related-pages">
<a class="next-page" href="eris.html">
<div class="page-info">
<div class="context">
<span>Next</span>
</div>
<div class="title">ERIS</div>
</div>
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
</a>
<a class="prev-page" href="ld_fragments.html">
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
<div class="page-info">
<div class="context">
<span>Previous</span>
</div>
<div class="title">Linked Data Fragments</div>
</div>
</a>
</div>
<div class="bottom-of-page">
<div class="left-details">
<div class="copyright">
Copyright &#169; 2023, Jonny Saunders
</div>
Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
<a href="https://github.com/pradyunsg/furo">Furo</a>
</div>
<div class="right-details">
</div>
</div>
</footer>
</div>
<aside class="toc-drawer no-toc">
</aside>
</div>
</div><script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/sphinx_highlight.js"></script>
<script src="../_static/scripts/furo.js"></script>
</body>
</html>

360
comparison/nostr.html Normal file
View file

@ -0,0 +1,360 @@
<!doctype html>
<html class="no-js" lang="en">
<head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="XMPP" href="xmpp.html" /><link rel="prev" title="AT Protocol/Bluesky" href="at_protocol.html" />
<link rel="canonical" href="/docs/comparison/nostr.html" />
<!-- Generated with Sphinx 6.2.1 and Furo 2023.05.20 -->
<title>Nostr - p2p-ld 0.1.0 documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?digest=e6660623a769aa55fea372102b9bf3151b292993" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" />
<style>
body {
--color-code-background: #f8f8f8;
--color-code-foreground: black;
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
}
}
</style></head>
<body>
<script>
document.body.dataset.theme = localStorage.getItem("theme") || "auto";
</script>
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="svg-toc" viewBox="0 0 24 24">
<title>Contents</title>
<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
<path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
</svg>
</symbol>
<symbol id="svg-menu" viewBox="0 0 24 24">
<title>Menu</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
<line x1="3" y1="12" x2="21" y2="12"></line>
<line x1="3" y1="6" x2="21" y2="6"></line>
<line x1="3" y1="18" x2="21" y2="18"></line>
</svg>
</symbol>
<symbol id="svg-arrow-right" viewBox="0 0 24 24">
<title>Expand</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
<polyline points="9 18 15 12 9 6"></polyline>
</svg>
</symbol>
<symbol id="svg-sun" viewBox="0 0 24 24">
<title>Light mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
<circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line>
<line x1="12" y1="21" x2="12" y2="23"></line>
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
<line x1="1" y1="12" x2="3" y2="12"></line>
<line x1="21" y1="12" x2="23" y2="12"></line>
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
</svg>
</symbol>
<symbol id="svg-moon" viewBox="0 0 24 24">
<title>Dark mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
</svg>
</symbol>
<symbol id="svg-sun-half" viewBox="0 0 24 24">
<title>Auto light/dark mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<circle cx="12" cy="12" r="9" />
<path d="M13 12h5" />
<path d="M13 15h4" />
<path d="M13 18h1" />
<path d="M13 9h4" />
<path d="M13 6h1" />
</svg>
</symbol>
</svg>
<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
<label class="overlay sidebar-overlay" for="__navigation">
<div class="visually-hidden">Hide navigation sidebar</div>
</label>
<label class="overlay toc-overlay" for="__toc">
<div class="visually-hidden">Hide table of contents sidebar</div>
</label>
<div class="page">
<header class="mobile-header">
<div class="header-left">
<label class="nav-overlay-icon" for="__navigation">
<div class="visually-hidden">Toggle site navigation sidebar</div>
<i class="icon"><svg><use href="#svg-menu"></use></svg></i>
</label>
</div>
<div class="header-center">
<a href="../index.html"><div class="brand">p2p-ld 0.1.0 documentation</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
<button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
</button>
</div>
<label class="toc-overlay-icon toc-header-icon" for="__toc">
<div class="visually-hidden">Toggle table of contents sidebar</div>
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
</div>
</header>
<aside class="sidebar-drawer">
<div class="sidebar-container">
<div class="sidebar-sticky"><a class="sidebar-brand" href="../index.html">
<span class="sidebar-brand-text">p2p-ld 0.1.0 documentation</span>
</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
<input type="hidden" name="check_keywords" value="yes">
<input type="hidden" name="area" value="default">
</form>
<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
<p class="caption" role="heading"><span class="caption-text">Introduction</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../overview.html">Overview</a></li>
<li class="toctree-l1 current has-children"><a class="reference internal" href="index.html">Comparison</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Comparison</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="bittorrent.html">BitTorrent</a></li>
<li class="toctree-l2"><a class="reference internal" href="ipfs.html">IPFS</a></li>
<li class="toctree-l2"><a class="reference internal" href="hypercore.html">Dat/Hypercore</a></li>
<li class="toctree-l2"><a class="reference internal" href="spritely.html">Spritely/Goblin</a></li>
<li class="toctree-l2"><a class="reference internal" href="activitypub.html">ActivityPub</a></li>
<li class="toctree-l2"><a class="reference internal" href="ssb.html">Secure Scuttlebutt</a></li>
<li class="toctree-l2"><a class="reference internal" href="matrix.html">Matrix</a></li>
<li class="toctree-l2"><a class="reference internal" href="at_protocol.html">AT Protocol/Bluesky</a></li>
<li class="toctree-l2 current current-page"><a class="current reference internal" href="#">Nostr</a></li>
<li class="toctree-l2"><a class="reference internal" href="xmpp.html">XMPP</a></li>
<li class="toctree-l2"><a class="reference internal" href="solid.html">SOLID</a></li>
<li class="toctree-l2"><a class="reference internal" href="ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l2"><a class="reference internal" href="nanopubs.html">NanoPubs</a></li>
<li class="toctree-l2"><a class="reference internal" href="eris.html">ERIS</a></li>
<li class="toctree-l2"><a class="reference internal" href="dmc.html">DMC</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../p2p_concepts.html">P2P Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="../out_of_scope.html">Out of Scope</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Protocol</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../definitions.html">1. Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../protocol.html">2. Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="../identity.html">3. Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="../discovery.html">4. Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="../discovery.html#scraps">5. Scraps</a></li>
<li class="toctree-l1"><a class="reference internal" href="../data_structures.html">6. Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="../vocabulary.html">7. Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="../querying.html">8. Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="../encryption.html">9. Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="../encryption.html#todo">10. TODO</a></li>
<li class="toctree-l1"><a class="reference internal" href="../federation.html">11. Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../backwards_compatibility.html">12. Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="../evolvability.html">13. Evolvability</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="../translation.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../design.html">Design Decisions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../sketchpad.html">Sketchpad</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Meta</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../genindex.html">Index</a></li>
<li class="toctree-l1"><a class="reference internal" href="../references.html">References</a></li>
</ul>
</div>
</div>
</div>
</div>
</aside>
<div class="main">
<div class="content">
<div class="article-container">
<a href="#" class="back-to-top muted-link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
</svg>
<span>Back to top</span>
</a>
<div class="content-icon-container">
<div class="theme-toggle-container theme-toggle-content">
<button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
</button>
</div>
<label class="toc-overlay-icon toc-content-icon" for="__toc">
<div class="visually-hidden">Toggle table of contents sidebar</div>
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
</div>
<article role="main">
<section id="nostr">
<h1>Nostr<a class="headerlink" href="#nostr" title="Permalink to this heading">#</a></h1>
<p>Again, though we have a general distrust of the anarcho-capitalists, its worth a comparison.</p>
<p>Nostr is an extremely minimal protocol: <a class="reference external" href="https://nostr.com/the-protocol">https://nostr.com/the-protocol</a> . There just isnt a lot there worth speaking of.</p>
<section id="dns-identity">
<h2>DNS identity<a class="headerlink" href="#dns-identity" title="Permalink to this heading">#</a></h2>
<p>Like <a class="reference internal" href="at_protocol.html"><span class="doc std std-doc">AT Protocol</span></a>, there is a NIP (noster implementation possibility) for using <span class="target" id="index-0"></span>DNS to map keys: <a class="reference external" href="https://github.com/nostr-protocol/nips/blob/master/05.md">https://github.com/nostr-protocol/nips/blob/master/05.md</a></p>
<p>It seems to be Webfinger-like, using a .json file under a <code class="docutils literal notranslate"><span class="pre">.well-known</span></code> path on a domain. An identity issues an event indicating a <code class="docutils literal notranslate"><span class="pre">nip05</span></code> type:</p>
<div class="highlight-json notranslate"><div class="highlight"><pre><span></span><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;pubkey&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;b0635d6a9851d3aed0cd6c495b282167acf761729078d975fc341b22650b07b9&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;kind&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;content&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;{\&quot;name\&quot;: \&quot;bob\&quot;, \&quot;nip05\&quot;: \&quot;bob@example.com\&quot;}&quot;</span>
<span class="p">}</span>
</pre></div>
</div>
<p>and then does a GET to <code class="docutils literal notranslate"><span class="pre">https://example.com/.well-known/nostr.json?name=bob</span></code>. If the response looks like this:</p>
<div class="highlight-json notranslate"><div class="highlight"><pre><span></span><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;names&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;bob&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;b0635d6a9851d3aed0cd6c495b282167acf761729078d975fc341b22650b07b9&quot;</span>
<span class="w"> </span><span class="p">}</span>
<span class="p">}</span>
</pre></div>
</div>
<p>then the identity is considered verified.</p>
</section>
<section id="petnames">
<h2>Petnames<a class="headerlink" href="#petnames" title="Permalink to this heading">#</a></h2>
<p>And a notion of <span class="target" id="index-1"></span>Petnames: <a class="reference external" href="https://github.com/nostr-protocol/nips/blob/master/02.md">https://github.com/nostr-protocol/nips/blob/master/02.md</a></p>
</section>
<section id="not-so-good">
<h2>Not so good<a class="headerlink" href="#not-so-good" title="Permalink to this heading">#</a></h2>
<ul class="simple">
<li><p>Just a client-server architecture: clients must talk to relays, relays do not talk to one another.</p></li>
<li><p>Very very little in the way of a formalized spec for relays</p></li>
<li><p>Made by a bunch of bitcoin guys</p></li>
</ul>
</section>
</section>
</article>
</div>
<footer>
<div class="related-pages">
<a class="next-page" href="xmpp.html">
<div class="page-info">
<div class="context">
<span>Next</span>
</div>
<div class="title">XMPP</div>
</div>
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
</a>
<a class="prev-page" href="at_protocol.html">
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
<div class="page-info">
<div class="context">
<span>Previous</span>
</div>
<div class="title">AT Protocol/Bluesky</div>
</div>
</a>
</div>
<div class="bottom-of-page">
<div class="left-details">
<div class="copyright">
Copyright &#169; 2023, Jonny Saunders
</div>
Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
<a href="https://github.com/pradyunsg/furo">Furo</a>
</div>
<div class="right-details">
</div>
</div>
</footer>
</div>
<aside class="toc-drawer">
<div class="toc-sticky toc-scroll">
<div class="toc-title-container">
<span class="toc-title">
On this page
</span>
</div>
<div class="toc-tree-container">
<div class="toc-tree">
<ul>
<li><a class="reference internal" href="#">Nostr</a><ul>
<li><a class="reference internal" href="#dns-identity">DNS identity</a></li>
<li><a class="reference internal" href="#petnames">Petnames</a></li>
<li><a class="reference internal" href="#not-so-good">Not so good</a></li>
</ul>
</li>
</ul>
</div>
</div>
</div>
</aside>
</div>
</div><script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/sphinx_highlight.js"></script>
<script src="../_static/scripts/furo.js"></script>
</body>
</html>

304
comparison/solid.html Normal file
View file

@ -0,0 +1,304 @@
<!doctype html>
<html class="no-js" lang="en">
<head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="Linked Data Fragments" href="ld_fragments.html" /><link rel="prev" title="XMPP" href="xmpp.html" />
<link rel="canonical" href="/docs/comparison/solid.html" />
<!-- Generated with Sphinx 6.2.1 and Furo 2023.05.20 -->
<title>SOLID - p2p-ld 0.1.0 documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?digest=e6660623a769aa55fea372102b9bf3151b292993" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" />
<style>
body {
--color-code-background: #f8f8f8;
--color-code-foreground: black;
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
}
}
</style></head>
<body>
<script>
document.body.dataset.theme = localStorage.getItem("theme") || "auto";
</script>
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="svg-toc" viewBox="0 0 24 24">
<title>Contents</title>
<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
<path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
</svg>
</symbol>
<symbol id="svg-menu" viewBox="0 0 24 24">
<title>Menu</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
<line x1="3" y1="12" x2="21" y2="12"></line>
<line x1="3" y1="6" x2="21" y2="6"></line>
<line x1="3" y1="18" x2="21" y2="18"></line>
</svg>
</symbol>
<symbol id="svg-arrow-right" viewBox="0 0 24 24">
<title>Expand</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
<polyline points="9 18 15 12 9 6"></polyline>
</svg>
</symbol>
<symbol id="svg-sun" viewBox="0 0 24 24">
<title>Light mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
<circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line>
<line x1="12" y1="21" x2="12" y2="23"></line>
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
<line x1="1" y1="12" x2="3" y2="12"></line>
<line x1="21" y1="12" x2="23" y2="12"></line>
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
</svg>
</symbol>
<symbol id="svg-moon" viewBox="0 0 24 24">
<title>Dark mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
</svg>
</symbol>
<symbol id="svg-sun-half" viewBox="0 0 24 24">
<title>Auto light/dark mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<circle cx="12" cy="12" r="9" />
<path d="M13 12h5" />
<path d="M13 15h4" />
<path d="M13 18h1" />
<path d="M13 9h4" />
<path d="M13 6h1" />
</svg>
</symbol>
</svg>
<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
<label class="overlay sidebar-overlay" for="__navigation">
<div class="visually-hidden">Hide navigation sidebar</div>
</label>
<label class="overlay toc-overlay" for="__toc">
<div class="visually-hidden">Hide table of contents sidebar</div>
</label>
<div class="page">
<header class="mobile-header">
<div class="header-left">
<label class="nav-overlay-icon" for="__navigation">
<div class="visually-hidden">Toggle site navigation sidebar</div>
<i class="icon"><svg><use href="#svg-menu"></use></svg></i>
</label>
</div>
<div class="header-center">
<a href="../index.html"><div class="brand">p2p-ld 0.1.0 documentation</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
<button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
</button>
</div>
<label class="toc-overlay-icon toc-header-icon no-toc" for="__toc">
<div class="visually-hidden">Toggle table of contents sidebar</div>
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
</div>
</header>
<aside class="sidebar-drawer">
<div class="sidebar-container">
<div class="sidebar-sticky"><a class="sidebar-brand" href="../index.html">
<span class="sidebar-brand-text">p2p-ld 0.1.0 documentation</span>
</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
<input type="hidden" name="check_keywords" value="yes">
<input type="hidden" name="area" value="default">
</form>
<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
<p class="caption" role="heading"><span class="caption-text">Introduction</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../overview.html">Overview</a></li>
<li class="toctree-l1 current has-children"><a class="reference internal" href="index.html">Comparison</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Comparison</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="bittorrent.html">BitTorrent</a></li>
<li class="toctree-l2"><a class="reference internal" href="ipfs.html">IPFS</a></li>
<li class="toctree-l2"><a class="reference internal" href="hypercore.html">Dat/Hypercore</a></li>
<li class="toctree-l2"><a class="reference internal" href="spritely.html">Spritely/Goblin</a></li>
<li class="toctree-l2"><a class="reference internal" href="activitypub.html">ActivityPub</a></li>
<li class="toctree-l2"><a class="reference internal" href="ssb.html">Secure Scuttlebutt</a></li>
<li class="toctree-l2"><a class="reference internal" href="matrix.html">Matrix</a></li>
<li class="toctree-l2"><a class="reference internal" href="at_protocol.html">AT Protocol/Bluesky</a></li>
<li class="toctree-l2"><a class="reference internal" href="nostr.html">Nostr</a></li>
<li class="toctree-l2"><a class="reference internal" href="xmpp.html">XMPP</a></li>
<li class="toctree-l2 current current-page"><a class="current reference internal" href="#">SOLID</a></li>
<li class="toctree-l2"><a class="reference internal" href="ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l2"><a class="reference internal" href="nanopubs.html">NanoPubs</a></li>
<li class="toctree-l2"><a class="reference internal" href="eris.html">ERIS</a></li>
<li class="toctree-l2"><a class="reference internal" href="dmc.html">DMC</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../p2p_concepts.html">P2P Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="../out_of_scope.html">Out of Scope</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Protocol</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../definitions.html">1. Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../protocol.html">2. Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="../identity.html">3. Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="../discovery.html">4. Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="../discovery.html#scraps">5. Scraps</a></li>
<li class="toctree-l1"><a class="reference internal" href="../data_structures.html">6. Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="../vocabulary.html">7. Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="../querying.html">8. Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="../encryption.html">9. Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="../encryption.html#todo">10. TODO</a></li>
<li class="toctree-l1"><a class="reference internal" href="../federation.html">11. Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../backwards_compatibility.html">12. Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="../evolvability.html">13. Evolvability</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="../translation.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../design.html">Design Decisions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../sketchpad.html">Sketchpad</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Meta</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../genindex.html">Index</a></li>
<li class="toctree-l1"><a class="reference internal" href="../references.html">References</a></li>
</ul>
</div>
</div>
</div>
</div>
</aside>
<div class="main">
<div class="content">
<div class="article-container">
<a href="#" class="back-to-top muted-link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
</svg>
<span>Back to top</span>
</a>
<div class="content-icon-container">
<div class="theme-toggle-container theme-toggle-content">
<button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
</button>
</div>
<label class="toc-overlay-icon toc-content-icon no-toc" for="__toc">
<div class="visually-hidden">Toggle table of contents sidebar</div>
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
</div>
<article role="main">
<section id="solid">
<h1>SOLID<a class="headerlink" href="#solid" title="Permalink to this heading">#</a></h1>
</section>
</article>
</div>
<footer>
<div class="related-pages">
<a class="next-page" href="ld_fragments.html">
<div class="page-info">
<div class="context">
<span>Next</span>
</div>
<div class="title">Linked Data Fragments</div>
</div>
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
</a>
<a class="prev-page" href="xmpp.html">
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
<div class="page-info">
<div class="context">
<span>Previous</span>
</div>
<div class="title">XMPP</div>
</div>
</a>
</div>
<div class="bottom-of-page">
<div class="left-details">
<div class="copyright">
Copyright &#169; 2023, Jonny Saunders
</div>
Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
<a href="https://github.com/pradyunsg/furo">Furo</a>
</div>
<div class="right-details">
</div>
</div>
</footer>
</div>
<aside class="toc-drawer no-toc">
</aside>
</div>
</div><script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/sphinx_highlight.js"></script>
<script src="../_static/scripts/furo.js"></script>
</body>
</html>

357
comparison/spritely.html Normal file
View file

@ -0,0 +1,357 @@
<!doctype html>
<html class="no-js" lang="en">
<head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="ActivityPub" href="activitypub.html" /><link rel="prev" title="Dat/Hypercore" href="hypercore.html" />
<link rel="canonical" href="/docs/comparison/spritely.html" />
<!-- Generated with Sphinx 6.2.1 and Furo 2023.05.20 -->
<title>Spritely/Goblin - p2p-ld 0.1.0 documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?digest=e6660623a769aa55fea372102b9bf3151b292993" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" />
<style>
body {
--color-code-background: #f8f8f8;
--color-code-foreground: black;
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
}
}
</style></head>
<body>
<script>
document.body.dataset.theme = localStorage.getItem("theme") || "auto";
</script>
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="svg-toc" viewBox="0 0 24 24">
<title>Contents</title>
<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
<path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
</svg>
</symbol>
<symbol id="svg-menu" viewBox="0 0 24 24">
<title>Menu</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
<line x1="3" y1="12" x2="21" y2="12"></line>
<line x1="3" y1="6" x2="21" y2="6"></line>
<line x1="3" y1="18" x2="21" y2="18"></line>
</svg>
</symbol>
<symbol id="svg-arrow-right" viewBox="0 0 24 24">
<title>Expand</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
<polyline points="9 18 15 12 9 6"></polyline>
</svg>
</symbol>
<symbol id="svg-sun" viewBox="0 0 24 24">
<title>Light mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
<circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line>
<line x1="12" y1="21" x2="12" y2="23"></line>
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
<line x1="1" y1="12" x2="3" y2="12"></line>
<line x1="21" y1="12" x2="23" y2="12"></line>
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
</svg>
</symbol>
<symbol id="svg-moon" viewBox="0 0 24 24">
<title>Dark mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
</svg>
</symbol>
<symbol id="svg-sun-half" viewBox="0 0 24 24">
<title>Auto light/dark mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<circle cx="12" cy="12" r="9" />
<path d="M13 12h5" />
<path d="M13 15h4" />
<path d="M13 18h1" />
<path d="M13 9h4" />
<path d="M13 6h1" />
</svg>
</symbol>
</svg>
<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
<label class="overlay sidebar-overlay" for="__navigation">
<div class="visually-hidden">Hide navigation sidebar</div>
</label>
<label class="overlay toc-overlay" for="__toc">
<div class="visually-hidden">Hide table of contents sidebar</div>
</label>
<div class="page">
<header class="mobile-header">
<div class="header-left">
<label class="nav-overlay-icon" for="__navigation">
<div class="visually-hidden">Toggle site navigation sidebar</div>
<i class="icon"><svg><use href="#svg-menu"></use></svg></i>
</label>
</div>
<div class="header-center">
<a href="../index.html"><div class="brand">p2p-ld 0.1.0 documentation</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
<button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
</button>
</div>
<label class="toc-overlay-icon toc-header-icon" for="__toc">
<div class="visually-hidden">Toggle table of contents sidebar</div>
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
</div>
</header>
<aside class="sidebar-drawer">
<div class="sidebar-container">
<div class="sidebar-sticky"><a class="sidebar-brand" href="../index.html">
<span class="sidebar-brand-text">p2p-ld 0.1.0 documentation</span>
</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
<input type="hidden" name="check_keywords" value="yes">
<input type="hidden" name="area" value="default">
</form>
<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
<p class="caption" role="heading"><span class="caption-text">Introduction</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../overview.html">Overview</a></li>
<li class="toctree-l1 current has-children"><a class="reference internal" href="index.html">Comparison</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Comparison</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="bittorrent.html">BitTorrent</a></li>
<li class="toctree-l2"><a class="reference internal" href="ipfs.html">IPFS</a></li>
<li class="toctree-l2"><a class="reference internal" href="hypercore.html">Dat/Hypercore</a></li>
<li class="toctree-l2 current current-page"><a class="current reference internal" href="#">Spritely/Goblin</a></li>
<li class="toctree-l2"><a class="reference internal" href="activitypub.html">ActivityPub</a></li>
<li class="toctree-l2"><a class="reference internal" href="ssb.html">Secure Scuttlebutt</a></li>
<li class="toctree-l2"><a class="reference internal" href="matrix.html">Matrix</a></li>
<li class="toctree-l2"><a class="reference internal" href="at_protocol.html">AT Protocol/Bluesky</a></li>
<li class="toctree-l2"><a class="reference internal" href="nostr.html">Nostr</a></li>
<li class="toctree-l2"><a class="reference internal" href="xmpp.html">XMPP</a></li>
<li class="toctree-l2"><a class="reference internal" href="solid.html">SOLID</a></li>
<li class="toctree-l2"><a class="reference internal" href="ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l2"><a class="reference internal" href="nanopubs.html">NanoPubs</a></li>
<li class="toctree-l2"><a class="reference internal" href="eris.html">ERIS</a></li>
<li class="toctree-l2"><a class="reference internal" href="dmc.html">DMC</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../p2p_concepts.html">P2P Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="../out_of_scope.html">Out of Scope</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Protocol</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../definitions.html">1. Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../protocol.html">2. Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="../identity.html">3. Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="../discovery.html">4. Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="../discovery.html#scraps">5. Scraps</a></li>
<li class="toctree-l1"><a class="reference internal" href="../data_structures.html">6. Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="../vocabulary.html">7. Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="../querying.html">8. Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="../encryption.html">9. Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="../encryption.html#todo">10. TODO</a></li>
<li class="toctree-l1"><a class="reference internal" href="../federation.html">11. Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../backwards_compatibility.html">12. Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="../evolvability.html">13. Evolvability</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="../translation.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../design.html">Design Decisions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../sketchpad.html">Sketchpad</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Meta</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../genindex.html">Index</a></li>
<li class="toctree-l1"><a class="reference internal" href="../references.html">References</a></li>
</ul>
</div>
</div>
</div>
</div>
</aside>
<div class="main">
<div class="content">
<div class="article-container">
<a href="#" class="back-to-top muted-link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
</svg>
<span>Back to top</span>
</a>
<div class="content-icon-container">
<div class="theme-toggle-container theme-toggle-content">
<button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
</button>
</div>
<label class="toc-overlay-icon toc-content-icon" for="__toc">
<div class="visually-hidden">Toggle table of contents sidebar</div>
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
</div>
<article role="main">
<section id="spritely-goblin">
<h1>Spritely/Goblin<a class="headerlink" href="#spritely-goblin" title="Permalink to this heading">#</a></h1>
<p>The Spritely Institute is likely the closest in spirit and design to what we are considering with p2p-ld, and have significant experience having previously worked on <a class="reference internal" href="activitypub.html"><span class="doc std std-doc">ActivityPub</span></a>. The primary point of departure is their focus on building applications and running code, rather than structuring and sharing data — so their work is largely complementary.</p>
<p>Overlapping design choices include</p>
<ul class="simple">
<li><p>Emphasis on making a social, rather than a technological system!</p></li>
<li><p>Capability security vs ACLs - Containers of other identities might be a useful way of coordinating who gets capabilities, but implementing them as capabilities rather than access checks makes for a much richer space of interaction and mutation.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">Goblins</span></code> as “addressable entities with encapsulated behavior” are similar to <span class="target" id="index-0"></span>Containers</p></li>
<li><p>Distributed objects: we imagine containers as being instantiated in multiple places at once and being acted on by multiple actors. Spritelys use of the “Unum Pattern” focused on distributed behavior rather than distributed data is something we plan on following up on and re-evaluating some of our designs. One place we may diverge is in our emphasis of forking and activity that doesnt need to be explicitly approved: actors need not necessarily operate on the same shared object, but might make their own assertions, links, and so forth that dont directly change the object as owned by the original actor.</p></li>
</ul>
<p>Stuff we can learn from</p>
<ul class="simple">
<li><p>A lot</p></li>
<li><p>Promise Pipelining to reduce roundtrips</p></li>
<li><p>Implementation of protocol agnosticisim in OCapN</p></li>
<li><p>Discussion of safety of computing base and evaluation environment</p></li>
</ul>
<p>Their description of <em>portable encrypted storage</em> (<span class="target" id="index-1"></span>Storage; Portability) is also extremely useful:</p>
<blockquote>
<div><ol class="arabic simple">
<li><p>Documents must be <strong><span class="target" id="index-2"></span>Content Addressed</strong> and <strong>location agnostic.</strong> In other words, the name of the particular resource is based on information stemming from the content itself rather than a particular network location. Generally this name is the hash of the corresponding document in the case of immutable documents and a public key (or hash thereof) in the case of mutable documents.</p></li>
<li><p>Both <strong><span class="target" id="index-3"></span>immutable and mutable documents</strong> must be supported, with the latter generally being built upon the former.</p></li>
<li><p>Documents must be <strong><span class="target" id="index-4"></span>encrypted</strong> such that the documents can be stored in locations that are oblivious to their actual contents. Only those possessing read capabilities should be able to access the documents contents.</p></li>
<li><p>Documents should be <strong>chunked</strong> so that they are not vulnerable to sizeof-file attacks.</p></li>
<li><p>Reading (and, in the case of mutable documents, writing) documents must be accessed through abstract <strong>capabilities.</strong></p></li>
<li><p>Files must be network agnostic, meaning that they are not only location agnostic but agnostic even to a specific network structure. peer-to-peer, client-to-server, and sneakernet networks all should be supported with the same object URIs between them.</p></li>
</ol>
</div></blockquote>
<section id="references">
<h2>References<a class="headerlink" href="#references" title="Permalink to this heading">#</a></h2>
<ul class="simple">
<li><p><span id="id1">[<a class="reference internal" href="../references.html#id3" title="Christine Lemmer-Webber, Randy Farmer, and Juliana Sims. The Heart of Spritely: Distributed Objects and Capability Security. URL: https://www.spritely.institute/static/papers/spritely-core.html (visited on 2023-06-07).">Lemmer-Webber <em>et al.</em>, n.d.</a>]</span></p></li>
<li><p>OCapN - <a class="reference external" href="https://github.com/ocapn/ocapn">https://github.com/ocapn/ocapn</a></p></li>
<li><p>Golem - <a class="reference external" href="https://gitlab.com/spritely/golem/blob/master/README.org">https://gitlab.com/spritely/golem/blob/master/README.org</a></p></li>
</ul>
</section>
</section>
</article>
</div>
<footer>
<div class="related-pages">
<a class="next-page" href="activitypub.html">
<div class="page-info">
<div class="context">
<span>Next</span>
</div>
<div class="title">ActivityPub</div>
</div>
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
</a>
<a class="prev-page" href="hypercore.html">
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
<div class="page-info">
<div class="context">
<span>Previous</span>
</div>
<div class="title">Dat/Hypercore</div>
</div>
</a>
</div>
<div class="bottom-of-page">
<div class="left-details">
<div class="copyright">
Copyright &#169; 2023, Jonny Saunders
</div>
Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
<a href="https://github.com/pradyunsg/furo">Furo</a>
</div>
<div class="right-details">
</div>
</div>
</footer>
</div>
<aside class="toc-drawer">
<div class="toc-sticky toc-scroll">
<div class="toc-title-container">
<span class="toc-title">
On this page
</span>
</div>
<div class="toc-tree-container">
<div class="toc-tree">
<ul>
<li><a class="reference internal" href="#">Spritely/Goblin</a><ul>
<li><a class="reference internal" href="#references">References</a></li>
</ul>
</li>
</ul>
</div>
</div>
</div>
</aside>
</div>
</div><script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/sphinx_highlight.js"></script>
<script src="../_static/scripts/furo.js"></script>
</body>
</html>

304
comparison/ssb.html Normal file
View file

@ -0,0 +1,304 @@
<!doctype html>
<html class="no-js" lang="en">
<head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="Matrix" href="matrix.html" /><link rel="prev" title="ActivityPub" href="activitypub.html" />
<link rel="canonical" href="/docs/comparison/ssb.html" />
<!-- Generated with Sphinx 6.2.1 and Furo 2023.05.20 -->
<title>Secure Scuttlebutt - p2p-ld 0.1.0 documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?digest=e6660623a769aa55fea372102b9bf3151b292993" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" />
<style>
body {
--color-code-background: #f8f8f8;
--color-code-foreground: black;
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
}
}
</style></head>
<body>
<script>
document.body.dataset.theme = localStorage.getItem("theme") || "auto";
</script>
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="svg-toc" viewBox="0 0 24 24">
<title>Contents</title>
<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
<path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
</svg>
</symbol>
<symbol id="svg-menu" viewBox="0 0 24 24">
<title>Menu</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
<line x1="3" y1="12" x2="21" y2="12"></line>
<line x1="3" y1="6" x2="21" y2="6"></line>
<line x1="3" y1="18" x2="21" y2="18"></line>
</svg>
</symbol>
<symbol id="svg-arrow-right" viewBox="0 0 24 24">
<title>Expand</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
<polyline points="9 18 15 12 9 6"></polyline>
</svg>
</symbol>
<symbol id="svg-sun" viewBox="0 0 24 24">
<title>Light mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
<circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line>
<line x1="12" y1="21" x2="12" y2="23"></line>
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
<line x1="1" y1="12" x2="3" y2="12"></line>
<line x1="21" y1="12" x2="23" y2="12"></line>
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
</svg>
</symbol>
<symbol id="svg-moon" viewBox="0 0 24 24">
<title>Dark mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
</svg>
</symbol>
<symbol id="svg-sun-half" viewBox="0 0 24 24">
<title>Auto light/dark mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<circle cx="12" cy="12" r="9" />
<path d="M13 12h5" />
<path d="M13 15h4" />
<path d="M13 18h1" />
<path d="M13 9h4" />
<path d="M13 6h1" />
</svg>
</symbol>
</svg>
<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
<label class="overlay sidebar-overlay" for="__navigation">
<div class="visually-hidden">Hide navigation sidebar</div>
</label>
<label class="overlay toc-overlay" for="__toc">
<div class="visually-hidden">Hide table of contents sidebar</div>
</label>
<div class="page">
<header class="mobile-header">
<div class="header-left">
<label class="nav-overlay-icon" for="__navigation">
<div class="visually-hidden">Toggle site navigation sidebar</div>
<i class="icon"><svg><use href="#svg-menu"></use></svg></i>
</label>
</div>
<div class="header-center">
<a href="../index.html"><div class="brand">p2p-ld 0.1.0 documentation</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
<button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
</button>
</div>
<label class="toc-overlay-icon toc-header-icon no-toc" for="__toc">
<div class="visually-hidden">Toggle table of contents sidebar</div>
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
</div>
</header>
<aside class="sidebar-drawer">
<div class="sidebar-container">
<div class="sidebar-sticky"><a class="sidebar-brand" href="../index.html">
<span class="sidebar-brand-text">p2p-ld 0.1.0 documentation</span>
</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
<input type="hidden" name="check_keywords" value="yes">
<input type="hidden" name="area" value="default">
</form>
<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
<p class="caption" role="heading"><span class="caption-text">Introduction</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../overview.html">Overview</a></li>
<li class="toctree-l1 current has-children"><a class="reference internal" href="index.html">Comparison</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Comparison</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="bittorrent.html">BitTorrent</a></li>
<li class="toctree-l2"><a class="reference internal" href="ipfs.html">IPFS</a></li>
<li class="toctree-l2"><a class="reference internal" href="hypercore.html">Dat/Hypercore</a></li>
<li class="toctree-l2"><a class="reference internal" href="spritely.html">Spritely/Goblin</a></li>
<li class="toctree-l2"><a class="reference internal" href="activitypub.html">ActivityPub</a></li>
<li class="toctree-l2 current current-page"><a class="current reference internal" href="#">Secure Scuttlebutt</a></li>
<li class="toctree-l2"><a class="reference internal" href="matrix.html">Matrix</a></li>
<li class="toctree-l2"><a class="reference internal" href="at_protocol.html">AT Protocol/Bluesky</a></li>
<li class="toctree-l2"><a class="reference internal" href="nostr.html">Nostr</a></li>
<li class="toctree-l2"><a class="reference internal" href="xmpp.html">XMPP</a></li>
<li class="toctree-l2"><a class="reference internal" href="solid.html">SOLID</a></li>
<li class="toctree-l2"><a class="reference internal" href="ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l2"><a class="reference internal" href="nanopubs.html">NanoPubs</a></li>
<li class="toctree-l2"><a class="reference internal" href="eris.html">ERIS</a></li>
<li class="toctree-l2"><a class="reference internal" href="dmc.html">DMC</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../p2p_concepts.html">P2P Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="../out_of_scope.html">Out of Scope</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Protocol</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../definitions.html">1. Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../protocol.html">2. Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="../identity.html">3. Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="../discovery.html">4. Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="../discovery.html#scraps">5. Scraps</a></li>
<li class="toctree-l1"><a class="reference internal" href="../data_structures.html">6. Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="../vocabulary.html">7. Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="../querying.html">8. Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="../encryption.html">9. Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="../encryption.html#todo">10. TODO</a></li>
<li class="toctree-l1"><a class="reference internal" href="../federation.html">11. Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../backwards_compatibility.html">12. Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="../evolvability.html">13. Evolvability</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="../translation.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../design.html">Design Decisions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../sketchpad.html">Sketchpad</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Meta</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../genindex.html">Index</a></li>
<li class="toctree-l1"><a class="reference internal" href="../references.html">References</a></li>
</ul>
</div>
</div>
</div>
</div>
</aside>
<div class="main">
<div class="content">
<div class="article-container">
<a href="#" class="back-to-top muted-link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
</svg>
<span>Back to top</span>
</a>
<div class="content-icon-container">
<div class="theme-toggle-container theme-toggle-content">
<button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
</button>
</div>
<label class="toc-overlay-icon toc-content-icon no-toc" for="__toc">
<div class="visually-hidden">Toggle table of contents sidebar</div>
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
</div>
<article role="main">
<section id="secure-scuttlebutt">
<h1>Secure Scuttlebutt<a class="headerlink" href="#secure-scuttlebutt" title="Permalink to this heading">#</a></h1>
</section>
</article>
</div>
<footer>
<div class="related-pages">
<a class="next-page" href="matrix.html">
<div class="page-info">
<div class="context">
<span>Next</span>
</div>
<div class="title">Matrix</div>
</div>
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
</a>
<a class="prev-page" href="activitypub.html">
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
<div class="page-info">
<div class="context">
<span>Previous</span>
</div>
<div class="title">ActivityPub</div>
</div>
</a>
</div>
<div class="bottom-of-page">
<div class="left-details">
<div class="copyright">
Copyright &#169; 2023, Jonny Saunders
</div>
Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
<a href="https://github.com/pradyunsg/furo">Furo</a>
</div>
<div class="right-details">
</div>
</div>
</footer>
</div>
<aside class="toc-drawer no-toc">
</aside>
</div>
</div><script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/sphinx_highlight.js"></script>
<script src="../_static/scripts/furo.js"></script>
</body>
</html>

314
comparison/xmpp.html Normal file
View file

@ -0,0 +1,314 @@
<!doctype html>
<html class="no-js" lang="en">
<head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="SOLID" href="solid.html" /><link rel="prev" title="Nostr" href="nostr.html" />
<link rel="canonical" href="/docs/comparison/xmpp.html" />
<!-- Generated with Sphinx 6.2.1 and Furo 2023.05.20 -->
<title>XMPP - p2p-ld 0.1.0 documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?digest=e6660623a769aa55fea372102b9bf3151b292993" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" />
<style>
body {
--color-code-background: #f8f8f8;
--color-code-foreground: black;
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
}
}
</style></head>
<body>
<script>
document.body.dataset.theme = localStorage.getItem("theme") || "auto";
</script>
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="svg-toc" viewBox="0 0 24 24">
<title>Contents</title>
<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
<path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
</svg>
</symbol>
<symbol id="svg-menu" viewBox="0 0 24 24">
<title>Menu</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
<line x1="3" y1="12" x2="21" y2="12"></line>
<line x1="3" y1="6" x2="21" y2="6"></line>
<line x1="3" y1="18" x2="21" y2="18"></line>
</svg>
</symbol>
<symbol id="svg-arrow-right" viewBox="0 0 24 24">
<title>Expand</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
<polyline points="9 18 15 12 9 6"></polyline>
</svg>
</symbol>
<symbol id="svg-sun" viewBox="0 0 24 24">
<title>Light mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
<circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line>
<line x1="12" y1="21" x2="12" y2="23"></line>
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
<line x1="1" y1="12" x2="3" y2="12"></line>
<line x1="21" y1="12" x2="23" y2="12"></line>
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
</svg>
</symbol>
<symbol id="svg-moon" viewBox="0 0 24 24">
<title>Dark mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
</svg>
</symbol>
<symbol id="svg-sun-half" viewBox="0 0 24 24">
<title>Auto light/dark mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<circle cx="12" cy="12" r="9" />
<path d="M13 12h5" />
<path d="M13 15h4" />
<path d="M13 18h1" />
<path d="M13 9h4" />
<path d="M13 6h1" />
</svg>
</symbol>
</svg>
<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
<label class="overlay sidebar-overlay" for="__navigation">
<div class="visually-hidden">Hide navigation sidebar</div>
</label>
<label class="overlay toc-overlay" for="__toc">
<div class="visually-hidden">Hide table of contents sidebar</div>
</label>
<div class="page">
<header class="mobile-header">
<div class="header-left">
<label class="nav-overlay-icon" for="__navigation">
<div class="visually-hidden">Toggle site navigation sidebar</div>
<i class="icon"><svg><use href="#svg-menu"></use></svg></i>
</label>
</div>
<div class="header-center">
<a href="../index.html"><div class="brand">p2p-ld 0.1.0 documentation</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
<button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
</button>
</div>
<label class="toc-overlay-icon toc-header-icon no-toc" for="__toc">
<div class="visually-hidden">Toggle table of contents sidebar</div>
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
</div>
</header>
<aside class="sidebar-drawer">
<div class="sidebar-container">
<div class="sidebar-sticky"><a class="sidebar-brand" href="../index.html">
<span class="sidebar-brand-text">p2p-ld 0.1.0 documentation</span>
</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
<input type="hidden" name="check_keywords" value="yes">
<input type="hidden" name="area" value="default">
</form>
<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
<p class="caption" role="heading"><span class="caption-text">Introduction</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../overview.html">Overview</a></li>
<li class="toctree-l1 current has-children"><a class="reference internal" href="index.html">Comparison</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Comparison</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="bittorrent.html">BitTorrent</a></li>
<li class="toctree-l2"><a class="reference internal" href="ipfs.html">IPFS</a></li>
<li class="toctree-l2"><a class="reference internal" href="hypercore.html">Dat/Hypercore</a></li>
<li class="toctree-l2"><a class="reference internal" href="spritely.html">Spritely/Goblin</a></li>
<li class="toctree-l2"><a class="reference internal" href="activitypub.html">ActivityPub</a></li>
<li class="toctree-l2"><a class="reference internal" href="ssb.html">Secure Scuttlebutt</a></li>
<li class="toctree-l2"><a class="reference internal" href="matrix.html">Matrix</a></li>
<li class="toctree-l2"><a class="reference internal" href="at_protocol.html">AT Protocol/Bluesky</a></li>
<li class="toctree-l2"><a class="reference internal" href="nostr.html">Nostr</a></li>
<li class="toctree-l2 current current-page"><a class="current reference internal" href="#">XMPP</a></li>
<li class="toctree-l2"><a class="reference internal" href="solid.html">SOLID</a></li>
<li class="toctree-l2"><a class="reference internal" href="ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l2"><a class="reference internal" href="nanopubs.html">NanoPubs</a></li>
<li class="toctree-l2"><a class="reference internal" href="eris.html">ERIS</a></li>
<li class="toctree-l2"><a class="reference internal" href="dmc.html">DMC</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../p2p_concepts.html">P2P Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="../out_of_scope.html">Out of Scope</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Protocol</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../definitions.html">1. Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../protocol.html">2. Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="../identity.html">3. Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="../discovery.html">4. Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="../discovery.html#scraps">5. Scraps</a></li>
<li class="toctree-l1"><a class="reference internal" href="../data_structures.html">6. Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="../vocabulary.html">7. Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="../querying.html">8. Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="../encryption.html">9. Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="../encryption.html#todo">10. TODO</a></li>
<li class="toctree-l1"><a class="reference internal" href="../federation.html">11. Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../backwards_compatibility.html">12. Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="../evolvability.html">13. Evolvability</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="../translation.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../design.html">Design Decisions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../sketchpad.html">Sketchpad</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Meta</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../genindex.html">Index</a></li>
<li class="toctree-l1"><a class="reference internal" href="../references.html">References</a></li>
</ul>
</div>
</div>
</div>
</div>
</aside>
<div class="main">
<div class="content">
<div class="article-container">
<a href="#" class="back-to-top muted-link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
</svg>
<span>Back to top</span>
</a>
<div class="content-icon-container">
<div class="theme-toggle-container theme-toggle-content">
<button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
</button>
</div>
<label class="toc-overlay-icon toc-content-icon no-toc" for="__toc">
<div class="visually-hidden">Toggle table of contents sidebar</div>
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
</div>
<article role="main">
<section id="xmpp">
<h1>XMPP<a class="headerlink" href="#xmpp" title="Permalink to this heading">#</a></h1>
<p>Stuff we like about XMPP</p>
<ul class="simple">
<li><p>Resources like <code class="docutils literal notranslate"><span class="pre">username&#64;domain.com/resource</span></code> for indicating different accounts and contexts.</p></li>
<li><p>Service discovery</p>
<ul>
<li><p><a class="reference external" href="https://xmpp.org/extensions/xep-0030.html">https://xmpp.org/extensions/xep-0030.html</a></p></li>
</ul>
</li>
<li><p>Protocol interoperability</p></li>
</ul>
</section>
</article>
</div>
<footer>
<div class="related-pages">
<a class="next-page" href="solid.html">
<div class="page-info">
<div class="context">
<span>Next</span>
</div>
<div class="title">SOLID</div>
</div>
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
</a>
<a class="prev-page" href="nostr.html">
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
<div class="page-info">
<div class="context">
<span>Previous</span>
</div>
<div class="title">Nostr</div>
</div>
</a>
</div>
<div class="bottom-of-page">
<div class="left-details">
<div class="copyright">
Copyright &#169; 2023, Jonny Saunders
</div>
Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
<a href="https://github.com/pradyunsg/furo">Furo</a>
</div>
<div class="right-details">
</div>
</div>
</footer>
</div>
<aside class="toc-drawer no-toc">
</aside>
</div>
</div><script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/sphinx_highlight.js"></script>
<script src="../_static/scripts/furo.js"></script>
</body>
</html>

View file

@ -3,11 +3,11 @@
<head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Vocabulary" href="vocabulary.html" /><link rel="prev" title="Discovery" href="discovery.html" />
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="7. Vocabulary" href="vocabulary.html" /><link rel="prev" title="4. Discovery" href="discovery.html" />
<link rel="canonical" href="/docs/data_structures.html" />
<!-- Generated with Sphinx 6.2.1 and Furo 2023.05.20 -->
<title>Data Structures - p2p-ld 0.1.0 documentation</title>
<title>6. Data Structures - p2p-ld 0.1.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=e6660623a769aa55fea372102b9bf3151b292993" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" />
@ -158,23 +158,42 @@
<p class="caption" role="heading"><span class="caption-text">Introduction</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="overview.html">Overview</a></li>
<li class="toctree-l1"><a class="reference internal" href="comparison.html">Comparison</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="comparison/index.html">Comparison</a><input class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Comparison</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="comparison/bittorrent.html">BitTorrent</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ipfs.html">IPFS</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/hypercore.html">Dat/Hypercore</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/spritely.html">Spritely/Goblin</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/activitypub.html">ActivityPub</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ssb.html">Secure Scuttlebutt</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/matrix.html">Matrix</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/at_protocol.html">AT Protocol/Bluesky</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/nostr.html">Nostr</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/xmpp.html">XMPP</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/solid.html">SOLID</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/nanopubs.html">NanoPubs</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/eris.html">ERIS</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/dmc.html">DMC</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="p2p_concepts.html">P2P Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="out_of_scope.html">Out of Scope</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Protocol</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="definitions.html">Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="protocol.html">Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="identity.html">Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html">Discovery</a></li>
<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="vocabulary.html">Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="querying.html">Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html">Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="federation.html">Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="backwards_compatibility.html">Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="evolvability.html">Evolvability</a></li>
<li class="toctree-l1"><a class="reference internal" href="definitions.html">1. Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="protocol.html">2. Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="identity.html">3. Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html">4. Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html#scraps">5. Scraps</a></li>
<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">6. Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="vocabulary.html">7. Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="querying.html">8. Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html">9. Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html#todo">10. TODO</a></li>
<li class="toctree-l1"><a class="reference internal" href="federation.html">11. Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="backwards_compatibility.html">12. Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="evolvability.html">13. Evolvability</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
@ -183,6 +202,7 @@
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="design.html">Design Decisions</a></li>
<li class="toctree-l1"><a class="reference internal" href="sketchpad.html">Sketchpad</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Meta</span></p>
@ -224,7 +244,7 @@
</div>
<article role="main">
<section id="data-structures">
<h1>Data Structures<a class="headerlink" href="#data-structures" title="Permalink to this heading">#</a></h1>
<h1><span class="section-number">6. </span>Data Structures<a class="headerlink" href="#data-structures" title="Permalink to this heading">#</a></h1>
<p>Triplet graphs similar to linked data fragments with envelopes. decoupling content addressing from versioning</p>
<ul class="simple">
<li><p>Merkel DAGs</p></li>
@ -233,7 +253,7 @@
<li><p>Typed objects with formatting</p></li>
</ul>
<section id="containers">
<h2>Containers<a class="headerlink" href="#containers" title="Permalink to this heading">#</a></h2>
<h2><span class="section-number">6.1. </span>Containers<a class="headerlink" href="#containers" title="Permalink to this heading">#</a></h2>
<ul class="simple">
<li><p>Packets of LD-triplets that contain</p>
<ul>
@ -245,7 +265,7 @@
</li>
<li><p>Anything that can be directly referenced without local qualifier is a container.</p>
<ul>
<li><p>Triplets within a container can be referenced with the <a class="reference internal" href="#querying.html#Location"><span class="xref myst">query syntax</span></a></p></li>
<li><p>Triplets within a container can be referenced with the <a class="reference internal" href="querying.html#qlocation"><span class="std std-ref">query syntax</span></a></p></li>
</ul>
</li>
<li><p>Containers also behave like “feeds”</p>
@ -257,7 +277,7 @@
<li><p>Ordering:</p>
<ul>
<li><p>Every triple within a scope is ordered by default by the time it is declared</p></li>
<li><p>A container can declare its ordering (see <a class="reference internal" href="#vocabulary.html#Container"><span class="xref myst">vocabulary</span></a>)</p></li>
<li><p>A container can declare its ordering (see <a class="reference internal" href="definitions.html#term-Container"><span class="xref std std-term">Container</span></a>)</p></li>
</ul>
</li>
<li><p>Naming:</p>
@ -271,12 +291,14 @@
<li><p>Capabilities: A container can specify different capabilities that another account can take (eg. “Like”, “Upvote”, “Reply”)</p>
<ul>
<li><p>Capabilities should also contain a permissions scope, if none is present, the global scope is assumed.</p></li>
<li><p>Since Identities are just a special form of container, they too can advertise different actions that they support with capabilities.</p></li>
</ul>
</li>
</ul>
<p>Re hashing a graph: the container always has one root node that is the containers identity from which a graph traversal starts. A <span class="target" id="index-0"></span>Merkle DAG is then constructed starting from the leaves.</p>
</section>
<section id="triplets">
<h2>Triplets<a class="headerlink" href="#triplets" title="Permalink to this heading">#</a></h2>
<h2><span class="section-number">6.2. </span>Triplets<a class="headerlink" href="#triplets" title="Permalink to this heading">#</a></h2>
<ul class="simple">
<li><p>Triplet format</p>
<ul>
@ -293,10 +315,10 @@
</ul>
</section>
<section id="schema">
<h2>Schema<a class="headerlink" href="#schema" title="Permalink to this heading">#</a></h2>
<h2><span class="section-number">6.3. </span>Schema<a class="headerlink" href="#schema" title="Permalink to this heading">#</a></h2>
</section>
<section id="codecs">
<h2>Codecs<a class="headerlink" href="#codecs" title="Permalink to this heading">#</a></h2>
<h2><span class="section-number">6.4. </span>Codecs<a class="headerlink" href="#codecs" title="Permalink to this heading">#</a></h2>
<p>See IPLD Codecs and Linked Data Platform spec</p>
<p>Means of interacting with binary data.</p>
<p>Describes</p>
@ -306,7 +328,7 @@
</ul>
</section>
<section id="versioning">
<h2>Versioning<a class="headerlink" href="#versioning" title="Permalink to this heading">#</a></h2>
<h2><span class="section-number">6.5. </span>Versioning<a class="headerlink" href="#versioning" title="Permalink to this heading">#</a></h2>
<ul class="simple">
<li><p>A given container has an identity hash from its first packing</p></li>
<li><p>A given triple can be contained by</p></li>
@ -324,7 +346,7 @@
<div class="context">
<span>Next</span>
</div>
<div class="title">Vocabulary</div>
<div class="title"><span class="section-number">7. </span>Vocabulary</div>
</div>
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
</a>
@ -335,7 +357,7 @@
<span>Previous</span>
</div>
<div class="title">Discovery</div>
<div class="title"><span class="section-number">4. </span>Discovery</div>
</div>
</a>
@ -369,12 +391,12 @@
<div class="toc-tree-container">
<div class="toc-tree">
<ul>
<li><a class="reference internal" href="#">Data Structures</a><ul>
<li><a class="reference internal" href="#containers">Containers</a></li>
<li><a class="reference internal" href="#triplets">Triplets</a></li>
<li><a class="reference internal" href="#schema">Schema</a></li>
<li><a class="reference internal" href="#codecs">Codecs</a></li>
<li><a class="reference internal" href="#versioning">Versioning</a></li>
<li><a class="reference internal" href="#">6. Data Structures</a><ul>
<li><a class="reference internal" href="#containers">6.1. Containers</a></li>
<li><a class="reference internal" href="#triplets">6.2. Triplets</a></li>
<li><a class="reference internal" href="#schema">6.3. Schema</a></li>
<li><a class="reference internal" href="#codecs">6.4. Codecs</a></li>
<li><a class="reference internal" href="#versioning">6.5. Versioning</a></li>
</ul>
</li>
</ul>

View file

@ -3,11 +3,11 @@
<head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Protocol" href="protocol.html" /><link rel="prev" title="Out of Scope" href="out_of_scope.html" />
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="2. Protocol" href="protocol.html" /><link rel="prev" title="Out of Scope" href="out_of_scope.html" />
<link rel="canonical" href="/docs/definitions.html" />
<!-- Generated with Sphinx 6.2.1 and Furo 2023.05.20 -->
<title>Definitions - p2p-ld 0.1.0 documentation</title>
<title>1. Definitions - p2p-ld 0.1.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=e6660623a769aa55fea372102b9bf3151b292993" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" />
@ -158,23 +158,42 @@
<p class="caption" role="heading"><span class="caption-text">Introduction</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="overview.html">Overview</a></li>
<li class="toctree-l1"><a class="reference internal" href="comparison.html">Comparison</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="comparison/index.html">Comparison</a><input class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Comparison</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="comparison/bittorrent.html">BitTorrent</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ipfs.html">IPFS</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/hypercore.html">Dat/Hypercore</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/spritely.html">Spritely/Goblin</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/activitypub.html">ActivityPub</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ssb.html">Secure Scuttlebutt</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/matrix.html">Matrix</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/at_protocol.html">AT Protocol/Bluesky</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/nostr.html">Nostr</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/xmpp.html">XMPP</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/solid.html">SOLID</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/nanopubs.html">NanoPubs</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/eris.html">ERIS</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/dmc.html">DMC</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="p2p_concepts.html">P2P Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="out_of_scope.html">Out of Scope</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Protocol</span></p>
<ul class="current">
<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="protocol.html">Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="identity.html">Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html">Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="data_structures.html">Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="vocabulary.html">Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="querying.html">Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html">Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="federation.html">Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="backwards_compatibility.html">Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="evolvability.html">Evolvability</a></li>
<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">1. Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="protocol.html">2. Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="identity.html">3. Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html">4. Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html#scraps">5. Scraps</a></li>
<li class="toctree-l1"><a class="reference internal" href="data_structures.html">6. Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="vocabulary.html">7. Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="querying.html">8. Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html">9. Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html#todo">10. TODO</a></li>
<li class="toctree-l1"><a class="reference internal" href="federation.html">11. Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="backwards_compatibility.html">12. Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="evolvability.html">13. Evolvability</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
@ -183,6 +202,7 @@
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="design.html">Design Decisions</a></li>
<li class="toctree-l1"><a class="reference internal" href="sketchpad.html">Sketchpad</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Meta</span></p>
@ -224,7 +244,18 @@
</div>
<article role="main">
<section id="definitions">
<h1>Definitions<a class="headerlink" href="#definitions" title="Permalink to this heading">#</a></h1>
<h1><span class="section-number">1. </span>Definitions<a class="headerlink" href="#definitions" title="Permalink to this heading">#</a></h1>
<p>Putting there here to remind me to use the glossary directive… (these are not real definitions yet, just placeholders)</p>
<dl class="simple glossary">
<dt id="term-Identity">Identity<a class="headerlink" href="#term-Identity" title="Permalink to this term">#</a></dt><dd><p>A unique cryptographic identity. One person may have multiple identities. One identity may have one or several <a class="reference internal" href="#term-Petname"><span class="xref std std-term">Petname</span></a>s and <a class="reference internal" href="#term-Beacon"><span class="xref std std-term">Beacon</span></a>s</p>
</dd>
<dt id="term-Petname">Petname<a class="headerlink" href="#term-Petname" title="Permalink to this term">#</a></dt><dd><p>A short name used to refer to a <a class="reference internal" href="#term-Identity"><span class="xref std std-term">Identity</span></a>. Petnames are always contextual: <code class="docutils literal notranslate"><span class="pre">&#64;Alice</span></code> referring to <code class="docutils literal notranslate"><span class="pre">&#64;Bob</span></code> has the status of “The person that &#64;Alice knows as &#64;Bob.” A petname can be declared by the identity being referred to as a “canonical” petname, but since they are potentially nonunique they should always be dereferenced against the Identity making the reference.</p>
</dd>
<dt id="term-Container">Container<a class="headerlink" href="#term-Container" title="Permalink to this term">#</a></dt><dd><p>Stub to check cross-references</p>
</dd>
<dt id="term-Beacon">Beacon<a class="headerlink" href="#term-Beacon" title="Permalink to this term">#</a></dt><dd><p>Stub to check cross-references</p>
</dd>
</dl>
</section>
</article>
@ -237,7 +268,7 @@
<div class="context">
<span>Next</span>
</div>
<div class="title">Protocol</div>
<div class="title"><span class="section-number">2. </span>Protocol</div>
</div>
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
</a>

350
design.html Normal file
View file

@ -0,0 +1,350 @@
<!doctype html>
<html class="no-js" lang="en">
<head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Sketchpad" href="sketchpad.html" /><link rel="prev" title="Translation" href="translation.html" />
<link rel="canonical" href="/docs/design.html" />
<!-- Generated with Sphinx 6.2.1 and Furo 2023.05.20 -->
<title>Design Decisions - p2p-ld 0.1.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=e6660623a769aa55fea372102b9bf3151b292993" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" />
<style>
body {
--color-code-background: #f8f8f8;
--color-code-foreground: black;
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
}
}
</style></head>
<body>
<script>
document.body.dataset.theme = localStorage.getItem("theme") || "auto";
</script>
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="svg-toc" viewBox="0 0 24 24">
<title>Contents</title>
<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
<path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
</svg>
</symbol>
<symbol id="svg-menu" viewBox="0 0 24 24">
<title>Menu</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
<line x1="3" y1="12" x2="21" y2="12"></line>
<line x1="3" y1="6" x2="21" y2="6"></line>
<line x1="3" y1="18" x2="21" y2="18"></line>
</svg>
</symbol>
<symbol id="svg-arrow-right" viewBox="0 0 24 24">
<title>Expand</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
<polyline points="9 18 15 12 9 6"></polyline>
</svg>
</symbol>
<symbol id="svg-sun" viewBox="0 0 24 24">
<title>Light mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
<circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line>
<line x1="12" y1="21" x2="12" y2="23"></line>
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
<line x1="1" y1="12" x2="3" y2="12"></line>
<line x1="21" y1="12" x2="23" y2="12"></line>
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
</svg>
</symbol>
<symbol id="svg-moon" viewBox="0 0 24 24">
<title>Dark mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
</svg>
</symbol>
<symbol id="svg-sun-half" viewBox="0 0 24 24">
<title>Auto light/dark mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<circle cx="12" cy="12" r="9" />
<path d="M13 12h5" />
<path d="M13 15h4" />
<path d="M13 18h1" />
<path d="M13 9h4" />
<path d="M13 6h1" />
</svg>
</symbol>
</svg>
<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
<label class="overlay sidebar-overlay" for="__navigation">
<div class="visually-hidden">Hide navigation sidebar</div>
</label>
<label class="overlay toc-overlay" for="__toc">
<div class="visually-hidden">Hide table of contents sidebar</div>
</label>
<div class="page">
<header class="mobile-header">
<div class="header-left">
<label class="nav-overlay-icon" for="__navigation">
<div class="visually-hidden">Toggle site navigation sidebar</div>
<i class="icon"><svg><use href="#svg-menu"></use></svg></i>
</label>
</div>
<div class="header-center">
<a href="index.html"><div class="brand">p2p-ld 0.1.0 documentation</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
<button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
</button>
</div>
<label class="toc-overlay-icon toc-header-icon" for="__toc">
<div class="visually-hidden">Toggle table of contents sidebar</div>
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
</div>
</header>
<aside class="sidebar-drawer">
<div class="sidebar-container">
<div class="sidebar-sticky"><a class="sidebar-brand" href="index.html">
<span class="sidebar-brand-text">p2p-ld 0.1.0 documentation</span>
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
<input type="hidden" name="check_keywords" value="yes">
<input type="hidden" name="area" value="default">
</form>
<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
<p class="caption" role="heading"><span class="caption-text">Introduction</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="overview.html">Overview</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="comparison/index.html">Comparison</a><input class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Comparison</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="comparison/bittorrent.html">BitTorrent</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ipfs.html">IPFS</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/hypercore.html">Dat/Hypercore</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/spritely.html">Spritely/Goblin</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/activitypub.html">ActivityPub</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ssb.html">Secure Scuttlebutt</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/matrix.html">Matrix</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/at_protocol.html">AT Protocol/Bluesky</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/nostr.html">Nostr</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/xmpp.html">XMPP</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/solid.html">SOLID</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/nanopubs.html">NanoPubs</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/eris.html">ERIS</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/dmc.html">DMC</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="p2p_concepts.html">P2P Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="out_of_scope.html">Out of Scope</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Protocol</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="definitions.html">1. Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="protocol.html">2. Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="identity.html">3. Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html">4. Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html#scraps">5. Scraps</a></li>
<li class="toctree-l1"><a class="reference internal" href="data_structures.html">6. Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="vocabulary.html">7. Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="querying.html">8. Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html">9. Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html#todo">10. TODO</a></li>
<li class="toctree-l1"><a class="reference internal" href="federation.html">11. Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="backwards_compatibility.html">12. Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="evolvability.html">13. Evolvability</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="translation.html">Translation</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
<ul class="current">
<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">Design Decisions</a></li>
<li class="toctree-l1"><a class="reference internal" href="sketchpad.html">Sketchpad</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Meta</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="genindex.html">Index</a></li>
<li class="toctree-l1"><a class="reference internal" href="references.html">References</a></li>
</ul>
</div>
</div>
</div>
</div>
</aside>
<div class="main">
<div class="content">
<div class="article-container">
<a href="#" class="back-to-top muted-link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
</svg>
<span>Back to top</span>
</a>
<div class="content-icon-container">
<div class="theme-toggle-container theme-toggle-content">
<button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
</button>
</div>
<label class="toc-overlay-icon toc-content-icon" for="__toc">
<div class="visually-hidden">Toggle table of contents sidebar</div>
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
</div>
<article role="main">
<section id="design-decisions">
<h1>Design Decisions<a class="headerlink" href="#design-decisions" title="Permalink to this heading">#</a></h1>
<p>A scratchpad for keeping track of the specific choices that we are making so that we know they are choices lol.</p>
<section id="cultivate-abundance">
<h2>Cultivate Abundance<a class="headerlink" href="#cultivate-abundance" title="Permalink to this heading">#</a></h2>
<p>Much of the focus and energy in p2p and decentralized systems has been vaccuumed up by cryptocurrency and other blockchain scams. These technologies intrinsically generate artificial scarcity rather than the abundance of p2p systems like bittorrent. Much of the thinking in these systems is oriented around self-sovereignty, but p2p-ld is intended to cultivate mutualism and the radical mutual responsibility to each other that any truly autonomous social system outside of libertarian fantasies requires. We dont design the <em>system</em> to be maximally efficient and make <em>system-level</em> guarantees about reliability or persistence, but design systems for people to organize these things among themselves, voluntarily. We are <em>not</em> interested in making a self-sustaining system that is “out there” and needs to be maintained by some blockchain economy. We are interested in making tools <em>for us</em> to make our own digital life online</p>
</section>
<section id="permanence-is-impossible">
<h2>Permanence is Impossible<a class="headerlink" href="#permanence-is-impossible" title="Permalink to this heading">#</a></h2>
<blockquote>
<div><p>Every one knows that change is inevitable. From the second law of thermodynamics to Darwinian evolution, from Buddhisms insistence that nothing is permanent and all suffering results from our delusions of permanence to the third chapter of Ecclesiastes (“To everything there is a season”), change is part of life, of existence, of the common wisdom. But I dont believe were dealing with all that that means. We havent even begun to deal with it.</p>
<p class="attribution">—Octavia Butler, Parable of the Sower</p>
</div></blockquote>
<p>There is no such thing as a <a class="reference external" href="https://www.w3.org/Provider/Style/URI">Cool URI that doesnt change</a>, and there is no such thing as a persistent identifier that lasts forever <span id="id1">[<a class="reference internal" href="references.html#id2" title="John Kunze, Scout Calvert, Jeremy D. DeBarry, Matthew Hanlon, Greg Janée, and Sandra Sweat. Persistence Statements: Describing Digital Stickiness. Data Science Journal, 16(0):39, 2017-08-14. URL: http://datascience.codata.org/articles/10.5334/dsj-2017-039/ (visited on 2022-09-07), doi:10.5334/dsj-2017-039.">Kunze <em>et al.</em>, 2017</a>]</span>. All things change. Change can be because of practical reasons like running out of funding and shutting down the server, cultural reasons like shifting meanings of words, or larger shifts that render the entire domain that a thing is fixed in irrelevant. No matter how many layers of abstraction and redirection we want to create, there is no system that will for all time be able to unambiguously identify something on the web or elsewhere.</p>
<p>The appearance of persistence is a <em>social</em> phenomenon rather than a <em>technological</em> one. <code class="docutils literal notranslate"><span class="pre">Archive.org</span></code> continues to exist because many people actively keep it existing, not because of the architecture of their archive. Designing for permanence makes systems <em>fragile.</em> Instead we should design for <em>adapting</em> to change. Adapting to change is also a social phenomenon - I might misplace things, change how they are named, and tell you that the same URL means something different, or the same page goes by a different URL now. A newspaper might go out of business and its website might go offline, but someone might save a PDF of the original page and rehost it on their personal website. The tools we need look more like systems for renaming, declaring equivalence, translation, change, than they do an unalterable, permanent append-only blockchain thing.</p>
</section>
<section id="ambiguity-is-natural">
<h2>Ambiguity is Natural<a class="headerlink" href="#ambiguity-is-natural" title="Permalink to this heading">#</a></h2>
<p>The <a class="reference external" href="https://www.w3.org/DesignIssues/LinkedData.html">original vision</a> for Linked Data on the web imagined every concept having a single unique URI, but unambiguous identifiers are fictional for the same reason that unambiguous concepts are fictional. Information is contextual. The same set of words has a different meaning in a different context. Multiple sets of words can have the same meaning.</p>
<p>Names and locations are <em>linguistic</em> not <em>mathematical.</em> Rather than trying to design ambiguity out of the system so that web crawlers can deterministically generate algorithmic restaurant reservations, we should design systems that explicitly incorporate context to reference and use.</p>
</section>
<section id="autonomy-and-convenience-can-coexist">
<h2>Autonomy <em>and</em> Convenience Can Coexist<a class="headerlink" href="#autonomy-and-convenience-can-coexist" title="Permalink to this heading">#</a></h2>
<p>We should neither sacrifice control of the internet to platform giants nor should we insist that self-hosting is the only alternative. If the alternative to using Google Docs or Slack requires me to be a professional sysadmin, or even to keep a raspberry pi plugged in and online at all times, it isnt an alternative for 95% of people.</p>
<p>It should be possible to share resources such that relatively few people need to maintain persistent network infrastructure, and it should be possible to accomodate their leaving at any time. It should also be very difficult for one or a few actors to make a large number of other peers on the network dependent on them, claiming de-facto control over an ostensibly decentralized system (lookin at you mastodon.social).</p>
</section>
</section>
</article>
</div>
<footer>
<div class="related-pages">
<a class="next-page" href="sketchpad.html">
<div class="page-info">
<div class="context">
<span>Next</span>
</div>
<div class="title">Sketchpad</div>
</div>
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
</a>
<a class="prev-page" href="translation.html">
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
<div class="page-info">
<div class="context">
<span>Previous</span>
</div>
<div class="title">Translation</div>
</div>
</a>
</div>
<div class="bottom-of-page">
<div class="left-details">
<div class="copyright">
Copyright &#169; 2023, Jonny Saunders
</div>
Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
<a href="https://github.com/pradyunsg/furo">Furo</a>
</div>
<div class="right-details">
</div>
</div>
</footer>
</div>
<aside class="toc-drawer">
<div class="toc-sticky toc-scroll">
<div class="toc-title-container">
<span class="toc-title">
On this page
</span>
</div>
<div class="toc-tree-container">
<div class="toc-tree">
<ul>
<li><a class="reference internal" href="#">Design Decisions</a><ul>
<li><a class="reference internal" href="#cultivate-abundance">Cultivate Abundance</a></li>
<li><a class="reference internal" href="#permanence-is-impossible">Permanence is Impossible</a></li>
<li><a class="reference internal" href="#ambiguity-is-natural">Ambiguity is Natural</a></li>
<li><a class="reference internal" href="#autonomy-and-convenience-can-coexist">Autonomy <em>and</em> Convenience Can Coexist</a></li>
</ul>
</li>
</ul>
</div>
</div>
</div>
</aside>
</div>
</div><script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/sphinx_highlight.js"></script>
<script src="_static/scripts/furo.js"></script>
</body>
</html>

View file

@ -3,11 +3,11 @@
<head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Data Structures" href="data_structures.html" /><link rel="prev" title="Identity" href="identity.html" />
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="6. Data Structures" href="data_structures.html" /><link rel="prev" title="3. Identity" href="identity.html" />
<link rel="canonical" href="/docs/discovery.html" />
<!-- Generated with Sphinx 6.2.1 and Furo 2023.05.20 -->
<title>Discovery - p2p-ld 0.1.0 documentation</title>
<title>4. Discovery - p2p-ld 0.1.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=e6660623a769aa55fea372102b9bf3151b292993" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" />
@ -158,23 +158,42 @@
<p class="caption" role="heading"><span class="caption-text">Introduction</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="overview.html">Overview</a></li>
<li class="toctree-l1"><a class="reference internal" href="comparison.html">Comparison</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="comparison/index.html">Comparison</a><input class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Comparison</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="comparison/bittorrent.html">BitTorrent</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ipfs.html">IPFS</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/hypercore.html">Dat/Hypercore</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/spritely.html">Spritely/Goblin</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/activitypub.html">ActivityPub</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ssb.html">Secure Scuttlebutt</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/matrix.html">Matrix</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/at_protocol.html">AT Protocol/Bluesky</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/nostr.html">Nostr</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/xmpp.html">XMPP</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/solid.html">SOLID</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/nanopubs.html">NanoPubs</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/eris.html">ERIS</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/dmc.html">DMC</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="p2p_concepts.html">P2P Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="out_of_scope.html">Out of Scope</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Protocol</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="definitions.html">Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="protocol.html">Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="identity.html">Identity</a></li>
<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="data_structures.html">Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="vocabulary.html">Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="querying.html">Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html">Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="federation.html">Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="backwards_compatibility.html">Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="evolvability.html">Evolvability</a></li>
<li class="toctree-l1"><a class="reference internal" href="definitions.html">1. Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="protocol.html">2. Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="identity.html">3. Identity</a></li>
<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">4. Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="#scraps">5. Scraps</a></li>
<li class="toctree-l1"><a class="reference internal" href="data_structures.html">6. Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="vocabulary.html">7. Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="querying.html">8. Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html">9. Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html#todo">10. TODO</a></li>
<li class="toctree-l1"><a class="reference internal" href="federation.html">11. Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="backwards_compatibility.html">12. Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="evolvability.html">13. Evolvability</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
@ -183,6 +202,7 @@
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="design.html">Design Decisions</a></li>
<li class="toctree-l1"><a class="reference internal" href="sketchpad.html">Sketchpad</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Meta</span></p>
@ -224,13 +244,26 @@
</div>
<article role="main">
<section id="discovery">
<h1>Discovery<a class="headerlink" href="#discovery" title="Permalink to this heading">#</a></h1>
<h1><span class="section-number">4. </span>Discovery<a class="headerlink" href="#discovery" title="Permalink to this heading">#</a></h1>
<p>How do we find people and know how to connect to them?</p>
<ul class="simple">
<li><p>Bootstrapping initial connections</p></li>
<li><p>Gossiping</p></li>
<li><p>Hole punching</p></li>
</ul>
</section>
<section id="scraps">
<h1><span class="section-number">5. </span>Scraps<a class="headerlink" href="#scraps" title="Permalink to this heading">#</a></h1>
<p><a class="reference external" href="https://xmpp.org/extensions/xep-0030.html">https://xmpp.org/extensions/xep-0030.html</a></p>
<blockquote>
<div><p>There are three kinds of information that need to be discovered about an entity:</p>
<ul class="simple">
<li><p>its basic identity (type and/or category)</p></li>
<li><p>the features it offers and protocols it supports</p></li>
<li><p>any additional items associated with the entity, whether or not they are addressable as JIDs</p></li>
</ul>
<p>All three MUST be supported, but the first two kinds of information relate to the entity itself whereas the third kind of information relates to items associated with the entity itself; therefore two different query types are needed.</p>
</div></blockquote>
</section>
</article>
@ -243,7 +276,7 @@
<div class="context">
<span>Next</span>
</div>
<div class="title">Data Structures</div>
<div class="title"><span class="section-number">6. </span>Data Structures</div>
</div>
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
</a>
@ -254,7 +287,7 @@
<span>Previous</span>
</div>
<div class="title">Identity</div>
<div class="title"><span class="section-number">3. </span>Identity</div>
</div>
</a>

View file

@ -3,11 +3,11 @@
<head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Federation" href="federation.html" /><link rel="prev" title="Querying" href="querying.html" />
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="11. Federation" href="federation.html" /><link rel="prev" title="8. Querying" href="querying.html" />
<link rel="canonical" href="/docs/encryption.html" />
<!-- Generated with Sphinx 6.2.1 and Furo 2023.05.20 -->
<title>Encryption - p2p-ld 0.1.0 documentation</title>
<title>9. Encryption - p2p-ld 0.1.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=e6660623a769aa55fea372102b9bf3151b292993" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" />
@ -158,23 +158,42 @@
<p class="caption" role="heading"><span class="caption-text">Introduction</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="overview.html">Overview</a></li>
<li class="toctree-l1"><a class="reference internal" href="comparison.html">Comparison</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="comparison/index.html">Comparison</a><input class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Comparison</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="comparison/bittorrent.html">BitTorrent</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ipfs.html">IPFS</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/hypercore.html">Dat/Hypercore</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/spritely.html">Spritely/Goblin</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/activitypub.html">ActivityPub</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ssb.html">Secure Scuttlebutt</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/matrix.html">Matrix</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/at_protocol.html">AT Protocol/Bluesky</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/nostr.html">Nostr</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/xmpp.html">XMPP</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/solid.html">SOLID</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/nanopubs.html">NanoPubs</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/eris.html">ERIS</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/dmc.html">DMC</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="p2p_concepts.html">P2P Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="out_of_scope.html">Out of Scope</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Protocol</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="definitions.html">Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="protocol.html">Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="identity.html">Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html">Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="data_structures.html">Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="vocabulary.html">Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="querying.html">Querying</a></li>
<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="federation.html">Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="backwards_compatibility.html">Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="evolvability.html">Evolvability</a></li>
<li class="toctree-l1"><a class="reference internal" href="definitions.html">1. Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="protocol.html">2. Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="identity.html">3. Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html">4. Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html#scraps">5. Scraps</a></li>
<li class="toctree-l1"><a class="reference internal" href="data_structures.html">6. Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="vocabulary.html">7. Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="querying.html">8. Querying</a></li>
<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">9. Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="#todo">10. TODO</a></li>
<li class="toctree-l1"><a class="reference internal" href="federation.html">11. Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="backwards_compatibility.html">12. Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="evolvability.html">13. Evolvability</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
@ -183,6 +202,7 @@
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="design.html">Design Decisions</a></li>
<li class="toctree-l1"><a class="reference internal" href="sketchpad.html">Sketchpad</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Meta</span></p>
@ -224,8 +244,14 @@
</div>
<article role="main">
<section id="encryption">
<h1>Encryption<a class="headerlink" href="#encryption" title="Permalink to this heading">#</a></h1>
<h1><span class="section-number">9. </span>Encryption<a class="headerlink" href="#encryption" title="Permalink to this heading">#</a></h1>
<p>How can we make it possible to have a protocol that is “open” when it is intended to, but also protects privacy and consent when we need it to?</p>
</section>
<section id="todo">
<h1><span class="section-number">10. </span>TODO<a class="headerlink" href="#todo" title="Permalink to this heading">#</a></h1>
<ul class="simple">
<li><p><a class="reference external" href="https://en.wikipedia.org/wiki/OMEMO">https://en.wikipedia.org/wiki/OMEMO</a></p></li>
</ul>
</section>
</article>
@ -238,7 +264,7 @@
<div class="context">
<span>Next</span>
</div>
<div class="title">Federation</div>
<div class="title"><span class="section-number">11. </span>Federation</div>
</div>
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
</a>
@ -249,7 +275,7 @@
<span>Previous</span>
</div>
<div class="title">Querying</div>
<div class="title"><span class="section-number">8. </span>Querying</div>
</div>
</a>

View file

@ -3,11 +3,11 @@
<head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Triplets" href="triplets.html" /><link rel="prev" title="Backwards Compatibility" href="backwards_compatibility.html" />
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Triplets" href="triplets.html" /><link rel="prev" title="12. Backwards Compatibility" href="backwards_compatibility.html" />
<link rel="canonical" href="/docs/evolvability.html" />
<!-- Generated with Sphinx 6.2.1 and Furo 2023.05.20 -->
<title>Evolvability - p2p-ld 0.1.0 documentation</title>
<title>13. Evolvability - p2p-ld 0.1.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=e6660623a769aa55fea372102b9bf3151b292993" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" />
@ -158,23 +158,42 @@
<p class="caption" role="heading"><span class="caption-text">Introduction</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="overview.html">Overview</a></li>
<li class="toctree-l1"><a class="reference internal" href="comparison.html">Comparison</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="comparison/index.html">Comparison</a><input class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Comparison</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="comparison/bittorrent.html">BitTorrent</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ipfs.html">IPFS</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/hypercore.html">Dat/Hypercore</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/spritely.html">Spritely/Goblin</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/activitypub.html">ActivityPub</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ssb.html">Secure Scuttlebutt</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/matrix.html">Matrix</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/at_protocol.html">AT Protocol/Bluesky</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/nostr.html">Nostr</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/xmpp.html">XMPP</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/solid.html">SOLID</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/nanopubs.html">NanoPubs</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/eris.html">ERIS</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/dmc.html">DMC</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="p2p_concepts.html">P2P Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="out_of_scope.html">Out of Scope</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Protocol</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="definitions.html">Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="protocol.html">Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="identity.html">Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html">Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="data_structures.html">Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="vocabulary.html">Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="querying.html">Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html">Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="federation.html">Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="backwards_compatibility.html">Backwards Compatibility</a></li>
<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">Evolvability</a></li>
<li class="toctree-l1"><a class="reference internal" href="definitions.html">1. Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="protocol.html">2. Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="identity.html">3. Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html">4. Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html#scraps">5. Scraps</a></li>
<li class="toctree-l1"><a class="reference internal" href="data_structures.html">6. Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="vocabulary.html">7. Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="querying.html">8. Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html">9. Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html#todo">10. TODO</a></li>
<li class="toctree-l1"><a class="reference internal" href="federation.html">11. Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="backwards_compatibility.html">12. Backwards Compatibility</a></li>
<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">13. Evolvability</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
@ -183,6 +202,7 @@
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="design.html">Design Decisions</a></li>
<li class="toctree-l1"><a class="reference internal" href="sketchpad.html">Sketchpad</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Meta</span></p>
@ -224,7 +244,7 @@
</div>
<article role="main">
<section id="evolvability">
<h1>Evolvability<a class="headerlink" href="#evolvability" title="Permalink to this heading">#</a></h1>
<h1><span class="section-number">13. </span>Evolvability<a class="headerlink" href="#evolvability" title="Permalink to this heading">#</a></h1>
</section>
</article>
@ -248,7 +268,7 @@
<span>Previous</span>
</div>
<div class="title">Backwards Compatibility</div>
<div class="title"><span class="section-number">12. </span>Backwards Compatibility</div>
</div>
</a>

View file

@ -3,11 +3,11 @@
<head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Backwards Compatibility" href="backwards_compatibility.html" /><link rel="prev" title="Encryption" href="encryption.html" />
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="12. Backwards Compatibility" href="backwards_compatibility.html" /><link rel="prev" title="9. Encryption" href="encryption.html" />
<link rel="canonical" href="/docs/federation.html" />
<!-- Generated with Sphinx 6.2.1 and Furo 2023.05.20 -->
<title>Federation - p2p-ld 0.1.0 documentation</title>
<title>11. Federation - p2p-ld 0.1.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=e6660623a769aa55fea372102b9bf3151b292993" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" />
@ -158,23 +158,42 @@
<p class="caption" role="heading"><span class="caption-text">Introduction</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="overview.html">Overview</a></li>
<li class="toctree-l1"><a class="reference internal" href="comparison.html">Comparison</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="comparison/index.html">Comparison</a><input class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Comparison</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="comparison/bittorrent.html">BitTorrent</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ipfs.html">IPFS</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/hypercore.html">Dat/Hypercore</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/spritely.html">Spritely/Goblin</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/activitypub.html">ActivityPub</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ssb.html">Secure Scuttlebutt</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/matrix.html">Matrix</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/at_protocol.html">AT Protocol/Bluesky</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/nostr.html">Nostr</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/xmpp.html">XMPP</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/solid.html">SOLID</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/nanopubs.html">NanoPubs</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/eris.html">ERIS</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/dmc.html">DMC</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="p2p_concepts.html">P2P Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="out_of_scope.html">Out of Scope</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Protocol</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="definitions.html">Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="protocol.html">Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="identity.html">Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html">Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="data_structures.html">Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="vocabulary.html">Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="querying.html">Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html">Encryption</a></li>
<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="backwards_compatibility.html">Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="evolvability.html">Evolvability</a></li>
<li class="toctree-l1"><a class="reference internal" href="definitions.html">1. Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="protocol.html">2. Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="identity.html">3. Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html">4. Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html#scraps">5. Scraps</a></li>
<li class="toctree-l1"><a class="reference internal" href="data_structures.html">6. Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="vocabulary.html">7. Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="querying.html">8. Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html">9. Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html#todo">10. TODO</a></li>
<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">11. Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="backwards_compatibility.html">12. Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="evolvability.html">13. Evolvability</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
@ -183,6 +202,7 @@
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="design.html">Design Decisions</a></li>
<li class="toctree-l1"><a class="reference internal" href="sketchpad.html">Sketchpad</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Meta</span></p>
@ -224,18 +244,18 @@
</div>
<article role="main">
<section id="federation">
<h1>Federation<a class="headerlink" href="#federation" title="Permalink to this heading">#</a></h1>
<h1><span class="section-number">11. </span>Federation<a class="headerlink" href="#federation" title="Permalink to this heading">#</a></h1>
<p>Making supra-peer clusters with explicit governance and policies for rehosting and sharing!</p>
<ul class="simple">
<li><p>Creating federations of peers</p></li>
<li></li>
</ul>
<section id="sharding">
<h2>Sharding<a class="headerlink" href="#sharding" title="Permalink to this heading">#</a></h2>
<h2><span class="section-number">11.1. </span>Sharding<a class="headerlink" href="#sharding" title="Permalink to this heading">#</a></h2>
<p>Splitting data across multiple peers within a federation</p>
</section>
<section id="moderation">
<h2>Moderation<a class="headerlink" href="#moderation" title="Permalink to this heading">#</a></h2>
<h2><span class="section-number">11.2. </span>Moderation<a class="headerlink" href="#moderation" title="Permalink to this heading">#</a></h2>
<p>Federations MUST maintain a list of</p>
</section>
</section>
@ -250,7 +270,7 @@
<div class="context">
<span>Next</span>
</div>
<div class="title">Backwards Compatibility</div>
<div class="title"><span class="section-number">12. </span>Backwards Compatibility</div>
</div>
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
</a>
@ -261,7 +281,7 @@
<span>Previous</span>
</div>
<div class="title">Encryption</div>
<div class="title"><span class="section-number">9. </span>Encryption</div>
</div>
</a>
@ -295,9 +315,9 @@
<div class="toc-tree-container">
<div class="toc-tree">
<ul>
<li><a class="reference internal" href="#">Federation</a><ul>
<li><a class="reference internal" href="#sharding">Sharding</a></li>
<li><a class="reference internal" href="#moderation">Moderation</a></li>
<li><a class="reference internal" href="#">11. Federation</a><ul>
<li><a class="reference internal" href="#sharding">11.1. Sharding</a></li>
<li><a class="reference internal" href="#moderation">11.2. Moderation</a></li>
</ul>
</li>
</ul>

View file

@ -156,23 +156,42 @@
<p class="caption" role="heading"><span class="caption-text">Introduction</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="overview.html">Overview</a></li>
<li class="toctree-l1"><a class="reference internal" href="comparison.html">Comparison</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="comparison/index.html">Comparison</a><input class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Comparison</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="comparison/bittorrent.html">BitTorrent</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ipfs.html">IPFS</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/hypercore.html">Dat/Hypercore</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/spritely.html">Spritely/Goblin</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/activitypub.html">ActivityPub</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ssb.html">Secure Scuttlebutt</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/matrix.html">Matrix</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/at_protocol.html">AT Protocol/Bluesky</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/nostr.html">Nostr</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/xmpp.html">XMPP</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/solid.html">SOLID</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/nanopubs.html">NanoPubs</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/eris.html">ERIS</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/dmc.html">DMC</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="p2p_concepts.html">P2P Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="out_of_scope.html">Out of Scope</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Protocol</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="definitions.html">Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="protocol.html">Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="identity.html">Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html">Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="data_structures.html">Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="vocabulary.html">Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="querying.html">Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html">Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="federation.html">Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="backwards_compatibility.html">Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="evolvability.html">Evolvability</a></li>
<li class="toctree-l1"><a class="reference internal" href="definitions.html">1. Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="protocol.html">2. Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="identity.html">3. Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html">4. Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html#scraps">5. Scraps</a></li>
<li class="toctree-l1"><a class="reference internal" href="data_structures.html">6. Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="vocabulary.html">7. Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="querying.html">8. Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html">9. Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html#todo">10. TODO</a></li>
<li class="toctree-l1"><a class="reference internal" href="federation.html">11. Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="backwards_compatibility.html">12. Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="evolvability.html">13. Evolvability</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
@ -181,6 +200,7 @@
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="design.html">Design Decisions</a></li>
<li class="toctree-l1"><a class="reference internal" href="sketchpad.html">Sketchpad</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Meta</span></p>
@ -223,14 +243,148 @@
<section class="genindex-section">
<h1 id="index">Index</h1>
<div class="genindex-jumpbox"><a href="#I"><strong>I</strong></a></div>
<div class="genindex-jumpbox"><a href="#B"><strong>B</strong></a> | <a href="#C"><strong>C</strong></a> | <a href="#D"><strong>D</strong></a> | <a href="#E"><strong>E</strong></a> | <a href="#G"><strong>G</strong></a> | <a href="#I"><strong>I</strong></a> | <a href="#L"><strong>L</strong></a> | <a href="#M"><strong>M</strong></a> | <a href="#P"><strong>P</strong></a> | <a href="#S"><strong>S</strong></a></div>
</section>
<section id="B" class="genindex-section">
<h2>B</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="definitions.html#term-Beacon"><strong>Beacon</strong></a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="comparison/ipfs.html#index-1">BitTorrent</a>
</li>
<li><a href="comparison/at_protocol.html#index-1">Bluesky</a>
</li>
</ul></td>
</tr></table>
</section>
<section id="C" class="genindex-section">
<h2>C</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="definitions.html#term-Container"><strong>Container</strong></a>, <a href="comparison/spritely.html#index-0">[1]</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="comparison/spritely.html#index-2">Content Addressing</a>
</li>
</ul></td>
</tr></table>
</section>
<section id="D" class="genindex-section">
<h2>D</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="comparison/nostr.html#index-0">DNS</a>
</li>
</ul></td>
</tr></table>
</section>
<section id="E" class="genindex-section">
<h2>E</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="comparison/spritely.html#index-4">Encryption</a>
</li>
</ul></td>
</tr></table>
</section>
<section id="G" class="genindex-section">
<h2>G</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="comparison/ipfs.html#index-2">git</a>
</li>
</ul></td>
</tr></table>
</section>
<section id="I" class="genindex-section">
<h2>I</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="definitions.html#term-Identity"><strong>Identity</strong></a>, <a href="comparison/at_protocol.html#index-0">[1]</a>
<ul>
<li><a href="comparison/at_protocol.html#index-2">DID</a>
</li>
</ul></li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="identity.html#index-0">Instances</a>
</li>
<li><a href="comparison/ipfs.html#index-0">IPFS</a>
</li>
</ul></td>
</tr></table>
</section>
<section id="L" class="genindex-section">
<h2>L</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li>
Linked Data
<ul>
<li><a href="comparison/ld_fragments.html#index-0">Fragments</a>
</li>
</ul></li>
</ul></td>
</tr></table>
</section>
<section id="M" class="genindex-section">
<h2>M</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="comparison/ipfs.html#index-3">Merkle DAG</a>, <a href="data_structures.html#index-0">[1]</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="comparison/spritely.html#index-3">Mutability</a>
</li>
</ul></td>
</tr></table>
</section>
<section id="P" class="genindex-section">
<h2>P</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="comparison/ld_fragments.html#index-2">Peer Federations</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="definitions.html#term-Petname"><strong>Petname</strong></a>
</li>
<li><a href="comparison/nostr.html#index-1">Petnames</a>
</li>
</ul></td>
</tr></table>
</section>
<section id="S" class="genindex-section">
<h2>S</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="comparison/ld_fragments.html#index-1">SPARQL</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li>
Storage
<ul>
<li><a href="comparison/spritely.html#index-1">Portability</a>
</li>
</ul></li>
</ul></td>
</tr></table>
</section>

View file

@ -3,11 +3,11 @@
<head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Discovery" href="discovery.html" /><link rel="prev" title="Protocol" href="protocol.html" />
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="4. Discovery" href="discovery.html" /><link rel="prev" title="2. Protocol" href="protocol.html" />
<link rel="canonical" href="/docs/identity.html" />
<!-- Generated with Sphinx 6.2.1 and Furo 2023.05.20 -->
<title>Identity - p2p-ld 0.1.0 documentation</title>
<title>3. Identity - p2p-ld 0.1.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=e6660623a769aa55fea372102b9bf3151b292993" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" />
@ -158,23 +158,42 @@
<p class="caption" role="heading"><span class="caption-text">Introduction</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="overview.html">Overview</a></li>
<li class="toctree-l1"><a class="reference internal" href="comparison.html">Comparison</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="comparison/index.html">Comparison</a><input class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Comparison</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="comparison/bittorrent.html">BitTorrent</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ipfs.html">IPFS</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/hypercore.html">Dat/Hypercore</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/spritely.html">Spritely/Goblin</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/activitypub.html">ActivityPub</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ssb.html">Secure Scuttlebutt</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/matrix.html">Matrix</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/at_protocol.html">AT Protocol/Bluesky</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/nostr.html">Nostr</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/xmpp.html">XMPP</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/solid.html">SOLID</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/nanopubs.html">NanoPubs</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/eris.html">ERIS</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/dmc.html">DMC</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="p2p_concepts.html">P2P Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="out_of_scope.html">Out of Scope</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Protocol</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="definitions.html">Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="protocol.html">Protocol</a></li>
<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html">Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="data_structures.html">Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="vocabulary.html">Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="querying.html">Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html">Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="federation.html">Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="backwards_compatibility.html">Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="evolvability.html">Evolvability</a></li>
<li class="toctree-l1"><a class="reference internal" href="definitions.html">1. Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="protocol.html">2. Protocol</a></li>
<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">3. Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html">4. Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html#scraps">5. Scraps</a></li>
<li class="toctree-l1"><a class="reference internal" href="data_structures.html">6. Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="vocabulary.html">7. Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="querying.html">8. Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html">9. Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html#todo">10. TODO</a></li>
<li class="toctree-l1"><a class="reference internal" href="federation.html">11. Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="backwards_compatibility.html">12. Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="evolvability.html">13. Evolvability</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
@ -183,6 +202,7 @@
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="design.html">Design Decisions</a></li>
<li class="toctree-l1"><a class="reference internal" href="sketchpad.html">Sketchpad</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Meta</span></p>
@ -224,7 +244,7 @@
</div>
<article role="main">
<section id="identity">
<h1>Identity<a class="headerlink" href="#identity" title="Permalink to this heading">#</a></h1>
<h1><span class="section-number">3. </span>Identity<a class="headerlink" href="#identity" title="Permalink to this heading">#</a></h1>
<p>How is an individual peer identified?</p>
<ul class="simple">
<li><p>Cryptographic identity</p></li>
@ -232,13 +252,13 @@
<li><p>External verification/discovery via DNS and other out of band means.</p></li>
</ul>
<section id="instances">
<h2><span class="target" id="index-0"></span>Instances<a class="headerlink" href="#instances" title="Permalink to this heading">#</a></h2>
<h2><span class="section-number">3.1. </span><span class="target" id="index-0"></span>Instances<a class="headerlink" href="#instances" title="Permalink to this heading">#</a></h2>
<p>A given identity can have 0 or many instances - a manifestation of the peer within a particular server and runtime.</p>
<p>Each instance indicates a collection of peers</p>
<p>When connecting to a peer, the peer MUST tell the connecting peer of the instances that are within its permission scope.</p>
</section>
<section id="aliases">
<h2>Aliases<a class="headerlink" href="#aliases" title="Permalink to this heading">#</a></h2>
<h2><span class="section-number">3.2. </span>Aliases<a class="headerlink" href="#aliases" title="Permalink to this heading">#</a></h2>
<p>A given identity can have 0 or many bidirectional links indicating that the identity is <code class="docutils literal notranslate"><span class="pre">sameAs</span></code> another</p>
<ul class="simple">
<li><p>eg. a fediverse account can indicate a cryptographic identity and then be used equivalently.</p></li>
@ -246,14 +266,14 @@
<li><p>Subscribers to a given identity MUST store and represent the known aliases and treat them as equivalent</p></li>
<li><p>Other accounts can give an alias to an identity that MAY be accepted (by issuing a backlink) or denied (by ignoring it).</p></li>
</ul>
<section id="succession">
<h3>Succession<a class="headerlink" href="#succession" title="Permalink to this heading">#</a></h3>
<section id="rotation">
<h3><span class="section-number">3.2.1. </span>Rotation<a class="headerlink" href="#rotation" title="Permalink to this heading">#</a></h3>
<p>An identity has a specific field indicating whether it is “active” or “retired,” and can issue a special top-level link with given permission scope indicating the identity that succeeds it.
- eg in the case of harrassment, one can hop identities and only tell close friends.</p>
</section>
</section>
<section id="beacons">
<h2>Beacons<a class="headerlink" href="#beacons" title="Permalink to this heading">#</a></h2>
<h2><span class="section-number">3.3. </span>Beacons<a class="headerlink" href="#beacons" title="Permalink to this heading">#</a></h2>
<p>Any peer can operate as a “Pub” (in the parlance of SSB) or a bootstrapping node, where a dereferenceable network location (eg. DNS) can be resolved to a</p>
<p>A given identity can have 0 or many static inbound references that can resolve a network</p>
</section>
@ -269,7 +289,7 @@
<div class="context">
<span>Next</span>
</div>
<div class="title">Discovery</div>
<div class="title"><span class="section-number">4. </span>Discovery</div>
</div>
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
</a>
@ -280,7 +300,7 @@
<span>Previous</span>
</div>
<div class="title">Protocol</div>
<div class="title"><span class="section-number">2. </span>Protocol</div>
</div>
</a>
@ -314,13 +334,13 @@
<div class="toc-tree-container">
<div class="toc-tree">
<ul>
<li><a class="reference internal" href="#">Identity</a><ul>
<li><a class="reference internal" href="#instances">Instances</a></li>
<li><a class="reference internal" href="#aliases">Aliases</a><ul>
<li><a class="reference internal" href="#succession">Succession</a></li>
<li><a class="reference internal" href="#">3. Identity</a><ul>
<li><a class="reference internal" href="#instances">3.1. Instances</a></li>
<li><a class="reference internal" href="#aliases">3.2. Aliases</a><ul>
<li><a class="reference internal" href="#rotation">3.2.1. Rotation</a></li>
</ul>
</li>
<li><a class="reference internal" href="#beacons">Beacons</a></li>
<li><a class="reference internal" href="#beacons">3.3. Beacons</a></li>
</ul>
</li>
</ul>

View file

@ -158,23 +158,42 @@
<p class="caption" role="heading"><span class="caption-text">Introduction</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="overview.html">Overview</a></li>
<li class="toctree-l1"><a class="reference internal" href="comparison.html">Comparison</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="comparison/index.html">Comparison</a><input class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Comparison</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="comparison/bittorrent.html">BitTorrent</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ipfs.html">IPFS</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/hypercore.html">Dat/Hypercore</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/spritely.html">Spritely/Goblin</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/activitypub.html">ActivityPub</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ssb.html">Secure Scuttlebutt</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/matrix.html">Matrix</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/at_protocol.html">AT Protocol/Bluesky</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/nostr.html">Nostr</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/xmpp.html">XMPP</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/solid.html">SOLID</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/nanopubs.html">NanoPubs</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/eris.html">ERIS</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/dmc.html">DMC</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="p2p_concepts.html">P2P Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="out_of_scope.html">Out of Scope</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Protocol</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="definitions.html">Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="protocol.html">Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="identity.html">Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html">Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="data_structures.html">Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="vocabulary.html">Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="querying.html">Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html">Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="federation.html">Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="backwards_compatibility.html">Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="evolvability.html">Evolvability</a></li>
<li class="toctree-l1"><a class="reference internal" href="definitions.html">1. Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="protocol.html">2. Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="identity.html">3. Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html">4. Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html#scraps">5. Scraps</a></li>
<li class="toctree-l1"><a class="reference internal" href="data_structures.html">6. Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="vocabulary.html">7. Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="querying.html">8. Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html">9. Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html#todo">10. TODO</a></li>
<li class="toctree-l1"><a class="reference internal" href="federation.html">11. Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="backwards_compatibility.html">12. Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="evolvability.html">13. Evolvability</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
@ -183,6 +202,7 @@
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="design.html">Design Decisions</a></li>
<li class="toctree-l1"><a class="reference internal" href="sketchpad.html">Sketchpad</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Meta</span></p>
@ -226,117 +246,22 @@
<section id="p2p-ld">
<h1>p2p-ld<a class="headerlink" href="#p2p-ld" title="Permalink to this heading">#</a></h1>
<p>All of this is very work in progress :) plz do not rely on any of the descriptions or statements here, as they are all effectively provisional.</p>
<p>This site describes the implementation of the p2p linked data protocol in <span id="id1">[<a class="reference internal" href="references.html#id2" title="Jonny L. Saunders. Decentralized infrastructure for (neuro)science. 08 2022. URL: http://arxiv.org/abs/2209.07493 (visited on 2023-03-01), arXiv:2209.07493, doi:10.48550/arXiv.2209.07493.">Saunders, 2022</a>]</span></p>
<p>This site describes the implementation of the p2p linked data protocol in <span id="id1">[<a class="reference internal" href="references.html#id4" title="Jonny L. Saunders. Decentralized Infrastructure for (Neuro)science. 2022-08-31. URL: http://arxiv.org/abs/2209.07493 (visited on 2023-03-01), arXiv:2209.07493, doi:10.48550/arXiv.2209.07493.">Saunders, 2022</a>]</span></p>
<section id="document-status">
<h2>Document Status<a class="headerlink" href="#document-status" title="Permalink to this heading">#</a></h2>
<p><strong>23-06-08</strong> - Populating the <a class="reference internal" href="comparison/index.html#comparison"><span class="std std-ref">Comparison</span></a> section first to refresh myself on other projects, and starting to sketch diagrammatically in <a class="reference internal" href="sketchpad.html"><span class="doc std std-doc">Sketchpad</span></a>. The rest of the pages are just stubs to keep track of ideas before fleshing them out.</p>
<div class="toctree-wrapper compound">
<p class="caption" role="heading"><span class="caption-text">Introduction</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="overview.html">Overview</a><ul>
<li class="toctree-l2"><a class="reference internal" href="overview.html#background">Background</a></li>
<li class="toctree-l2"><a class="reference internal" href="overview.html#use">Use</a></li>
<li class="toctree-l2"><a class="reference internal" href="overview.html#roadmap">Roadmap</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="comparison.html">Comparison</a><ul>
<li class="toctree-l2"><a class="reference internal" href="comparison.html#the-big-ones">“The big ones”</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison.html#the-research-ones">“The research ones”</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison.html#social">Social</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison.html#semweb-ld">Semweb/LD</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison.html#to-be-categorized">To be categorized</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison.html#points-of-comparison">Points of comparison</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="p2p_concepts.html">P2P Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="out_of_scope.html">Out of Scope</a><ul>
<li class="toctree-l2"><a class="reference internal" href="out_of_scope.html#implementation">Implementation</a></li>
</ul>
</li>
</ul>
</div>
<div class="toctree-wrapper compound">
<p class="caption" role="heading"><span class="caption-text">Protocol</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="definitions.html">Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="protocol.html">Protocol</a><ul>
<li class="toctree-l2"><a class="reference internal" href="protocol.html#connection">Connection</a></li>
<li class="toctree-l2"><a class="reference internal" href="protocol.html#requests">Requests</a></li>
<li class="toctree-l2"><a class="reference internal" href="protocol.html#sharding">Sharding</a></li>
<li class="toctree-l2"><a class="reference internal" href="protocol.html#backlinks">Backlinks</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="identity.html">Identity</a><ul>
<li class="toctree-l2"><a class="reference internal" href="identity.html#instances">Instances</a></li>
<li class="toctree-l2"><a class="reference internal" href="identity.html#aliases">Aliases</a><ul>
<li class="toctree-l3"><a class="reference internal" href="identity.html#succession">Succession</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="identity.html#beacons">Beacons</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html">Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="data_structures.html">Data Structures</a><ul>
<li class="toctree-l2"><a class="reference internal" href="data_structures.html#containers">Containers</a></li>
<li class="toctree-l2"><a class="reference internal" href="data_structures.html#triplets">Triplets</a></li>
<li class="toctree-l2"><a class="reference internal" href="data_structures.html#schema">Schema</a></li>
<li class="toctree-l2"><a class="reference internal" href="data_structures.html#codecs">Codecs</a></li>
<li class="toctree-l2"><a class="reference internal" href="data_structures.html#versioning">Versioning</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="vocabulary.html">Vocabulary</a><ul>
<li class="toctree-l2"><a class="reference internal" href="vocabulary.html#imports">Imports</a></li>
<li class="toctree-l2"><a class="reference internal" href="vocabulary.html#container">Container</a></li>
<li class="toctree-l2"><a class="reference internal" href="vocabulary.html#social">Social</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="querying.html">Querying</a><ul>
<li class="toctree-l2"><a class="reference internal" href="querying.html#syntax">Syntax</a><ul>
<li class="toctree-l3"><a class="reference internal" href="querying.html#location">Location</a></li>
<li class="toctree-l3"><a class="reference internal" href="querying.html#version">Version</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="querying.html#query-fragments">Query Fragments</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html">Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="federation.html">Federation</a><ul>
<li class="toctree-l2"><a class="reference internal" href="federation.html#sharding">Sharding</a></li>
<li class="toctree-l2"><a class="reference internal" href="federation.html#moderation">Moderation</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="backwards_compatibility.html">Backwards Compatibility</a><ul>
<li class="toctree-l2"><a class="reference internal" href="backwards_compatibility.html#http-servers">HTTP Servers</a></li>
<li class="toctree-l2"><a class="reference internal" href="backwards_compatibility.html#bittorrent">BitTorrent</a></li>
<li class="toctree-l2"><a class="reference internal" href="backwards_compatibility.html#ipfs">IPFS</a></li>
<li class="toctree-l2"><a class="reference internal" href="backwards_compatibility.html#activitypub">ActivityPub</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="evolvability.html">Evolvability</a></li>
</ul>
</div>
<div class="toctree-wrapper compound">
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="triplets.html">Triplets</a></li>
<li class="toctree-l1"><a class="reference internal" href="translation.html">Translation</a></li>
</ul>
</div>
<div class="toctree-wrapper compound">
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="sketchpad.html">Sketchpad</a><ul>
<li class="toctree-l2"><a class="reference internal" href="sketchpad.html#system-diagram">System Diagram</a></li>
<li class="toctree-l2"><a class="reference internal" href="sketchpad.html#graph-data-model">Graph Data Model</a></li>
</ul>
</li>
</ul>
</div>
<div class="toctree-wrapper compound">
<p class="caption" role="heading"><span class="caption-text">Meta</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="genindex.html">Index</a></li>
<li class="toctree-l1"><a class="reference internal" href="references.html">References</a></li>
</ul>
</div>
</section>
</section>
<section id="indices-and-tables">
<h1>Indices and tables<a class="headerlink" href="#indices-and-tables" title="Permalink to this heading">#</a></h1>
<ul class="simple">
@ -392,6 +317,9 @@
<div class="toc-tree">
<ul>
<li><a class="reference internal" href="#">p2p-ld</a><ul>
<li><a class="reference internal" href="#document-status">Document Status</a><ul>
</ul>
</li>
</ul>
</li>
<li><a class="reference internal" href="#indices-and-tables">Indices and tables</a></li>

Binary file not shown.

View file

@ -3,7 +3,7 @@
<head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Definitions" href="definitions.html" /><link rel="prev" title="P2P Concepts" href="p2p_concepts.html" />
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="1. Definitions" href="definitions.html" /><link rel="prev" title="P2P Concepts" href="p2p_concepts.html" />
<link rel="canonical" href="/docs/out_of_scope.html" />
<!-- Generated with Sphinx 6.2.1 and Furo 2023.05.20 -->
@ -158,23 +158,42 @@
<p class="caption" role="heading"><span class="caption-text">Introduction</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="overview.html">Overview</a></li>
<li class="toctree-l1"><a class="reference internal" href="comparison.html">Comparison</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="comparison/index.html">Comparison</a><input class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Comparison</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="comparison/bittorrent.html">BitTorrent</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ipfs.html">IPFS</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/hypercore.html">Dat/Hypercore</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/spritely.html">Spritely/Goblin</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/activitypub.html">ActivityPub</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ssb.html">Secure Scuttlebutt</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/matrix.html">Matrix</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/at_protocol.html">AT Protocol/Bluesky</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/nostr.html">Nostr</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/xmpp.html">XMPP</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/solid.html">SOLID</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/nanopubs.html">NanoPubs</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/eris.html">ERIS</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/dmc.html">DMC</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="p2p_concepts.html">P2P Concepts</a></li>
<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">Out of Scope</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Protocol</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="definitions.html">Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="protocol.html">Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="identity.html">Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html">Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="data_structures.html">Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="vocabulary.html">Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="querying.html">Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html">Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="federation.html">Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="backwards_compatibility.html">Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="evolvability.html">Evolvability</a></li>
<li class="toctree-l1"><a class="reference internal" href="definitions.html">1. Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="protocol.html">2. Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="identity.html">3. Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html">4. Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html#scraps">5. Scraps</a></li>
<li class="toctree-l1"><a class="reference internal" href="data_structures.html">6. Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="vocabulary.html">7. Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="querying.html">8. Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html">9. Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html#todo">10. TODO</a></li>
<li class="toctree-l1"><a class="reference internal" href="federation.html">11. Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="backwards_compatibility.html">12. Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="evolvability.html">13. Evolvability</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
@ -183,6 +202,7 @@
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="design.html">Design Decisions</a></li>
<li class="toctree-l1"><a class="reference internal" href="sketchpad.html">Sketchpad</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Meta</span></p>
@ -245,7 +265,7 @@
<div class="context">
<span>Next</span>
</div>
<div class="title">Definitions</div>
<div class="title"><span class="section-number">1. </span>Definitions</div>
</div>
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
</a>

View file

@ -3,7 +3,7 @@
<head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Comparison" href="comparison.html" /><link rel="prev" title="p2p-ld" href="index.html" />
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Comparison" href="comparison/index.html" /><link rel="prev" title="p2p-ld" href="index.html" />
<link rel="canonical" href="/docs/overview.html" />
<!-- Generated with Sphinx 6.2.1 and Furo 2023.05.20 -->
@ -158,23 +158,42 @@
<p class="caption" role="heading"><span class="caption-text">Introduction</span></p>
<ul class="current">
<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">Overview</a></li>
<li class="toctree-l1"><a class="reference internal" href="comparison.html">Comparison</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="comparison/index.html">Comparison</a><input class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Comparison</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="comparison/bittorrent.html">BitTorrent</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ipfs.html">IPFS</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/hypercore.html">Dat/Hypercore</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/spritely.html">Spritely/Goblin</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/activitypub.html">ActivityPub</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ssb.html">Secure Scuttlebutt</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/matrix.html">Matrix</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/at_protocol.html">AT Protocol/Bluesky</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/nostr.html">Nostr</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/xmpp.html">XMPP</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/solid.html">SOLID</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/nanopubs.html">NanoPubs</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/eris.html">ERIS</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/dmc.html">DMC</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="p2p_concepts.html">P2P Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="out_of_scope.html">Out of Scope</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Protocol</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="definitions.html">Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="protocol.html">Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="identity.html">Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html">Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="data_structures.html">Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="vocabulary.html">Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="querying.html">Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html">Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="federation.html">Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="backwards_compatibility.html">Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="evolvability.html">Evolvability</a></li>
<li class="toctree-l1"><a class="reference internal" href="definitions.html">1. Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="protocol.html">2. Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="identity.html">3. Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html">4. Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html#scraps">5. Scraps</a></li>
<li class="toctree-l1"><a class="reference internal" href="data_structures.html">6. Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="vocabulary.html">7. Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="querying.html">8. Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html">9. Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html#todo">10. TODO</a></li>
<li class="toctree-l1"><a class="reference internal" href="federation.html">11. Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="backwards_compatibility.html">12. Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="evolvability.html">13. Evolvability</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
@ -183,6 +202,7 @@
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="design.html">Design Decisions</a></li>
<li class="toctree-l1"><a class="reference internal" href="sketchpad.html">Sketchpad</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Meta</span></p>
@ -252,7 +272,7 @@
<footer>
<div class="related-pages">
<a class="next-page" href="comparison.html">
<a class="next-page" href="comparison/index.html">
<div class="page-info">
<div class="context">
<span>Next</span>

View file

@ -3,7 +3,7 @@
<head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Out of Scope" href="out_of_scope.html" /><link rel="prev" title="Comparison" href="comparison.html" />
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Out of Scope" href="out_of_scope.html" /><link rel="prev" title="DMC" href="comparison/dmc.html" />
<link rel="canonical" href="/docs/p2p_concepts.html" />
<!-- Generated with Sphinx 6.2.1 and Furo 2023.05.20 -->
@ -158,23 +158,42 @@
<p class="caption" role="heading"><span class="caption-text">Introduction</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="overview.html">Overview</a></li>
<li class="toctree-l1"><a class="reference internal" href="comparison.html">Comparison</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="comparison/index.html">Comparison</a><input class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Comparison</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="comparison/bittorrent.html">BitTorrent</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ipfs.html">IPFS</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/hypercore.html">Dat/Hypercore</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/spritely.html">Spritely/Goblin</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/activitypub.html">ActivityPub</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ssb.html">Secure Scuttlebutt</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/matrix.html">Matrix</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/at_protocol.html">AT Protocol/Bluesky</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/nostr.html">Nostr</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/xmpp.html">XMPP</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/solid.html">SOLID</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/nanopubs.html">NanoPubs</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/eris.html">ERIS</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/dmc.html">DMC</a></li>
</ul>
</li>
<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">P2P Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="out_of_scope.html">Out of Scope</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Protocol</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="definitions.html">Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="protocol.html">Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="identity.html">Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html">Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="data_structures.html">Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="vocabulary.html">Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="querying.html">Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html">Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="federation.html">Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="backwards_compatibility.html">Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="evolvability.html">Evolvability</a></li>
<li class="toctree-l1"><a class="reference internal" href="definitions.html">1. Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="protocol.html">2. Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="identity.html">3. Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html">4. Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html#scraps">5. Scraps</a></li>
<li class="toctree-l1"><a class="reference internal" href="data_structures.html">6. Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="vocabulary.html">7. Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="querying.html">8. Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html">9. Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html#todo">10. TODO</a></li>
<li class="toctree-l1"><a class="reference internal" href="federation.html">11. Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="backwards_compatibility.html">12. Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="evolvability.html">13. Evolvability</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
@ -183,6 +202,7 @@
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="design.html">Design Decisions</a></li>
<li class="toctree-l1"><a class="reference internal" href="sketchpad.html">Sketchpad</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Meta</span></p>
@ -227,20 +247,20 @@
<h1>P2P Concepts<a class="headerlink" href="#p2p-concepts" title="Permalink to this heading">#</a></h1>
<p>Overview of the various concepts that p2p systems have to handle or address with links to the sections where we address them!</p>
<ul class="simple">
<li><p><a class="reference internal" href="#definitions.html"><span class="xref myst">Definitions</span></a> - Terms used within the protocol spec</p></li>
<li><p><a class="reference internal" href="#protocol.html"><span class="xref myst">Protocol</span></a> - The protocol spec itself, which encompasses the following sections and describes how they relate to one another.</p></li>
<li><p><a class="reference internal" href="#identity.html"><span class="xref myst">Identity</span></a> - How each peer in the swarm is identified (or not)</p></li>
<li><p><a class="reference internal" href="#discovery.html"><span class="xref myst">Discovery</span></a> - How peers are discovered and connected to in the swarm, or, how an identity is dereferenced into some network entity.</p></li>
<li><p><a class="reference internal" href="#data_structures.html"><span class="xref myst">Data Structures</span></a> - What and how data is represented within the protocol</p></li>
<li><p><a class="reference internal" href="#querying.html"><span class="xref myst">Querying</span></a> - How data, or pieces of data are requested from hosting peers</p></li>
<li><p><a class="reference internal" href="#evolvability.html"><span class="xref myst">Evolvability</span></a> - How the protocol is intended to accommodate changes, plugins, etc.</p></li>
<li><p><a class="reference internal" href="definitions.html"><span class="doc std std-doc">Definitions</span></a> - Terms used within the protocol spec</p></li>
<li><p><a class="reference internal" href="protocol.html"><span class="doc std std-doc">Protocol</span></a> - The protocol spec itself, which encompasses the following sections and describes how they relate to one another.</p></li>
<li><p><a class="reference internal" href="identity.html"><span class="doc std std-doc">Identity</span></a> - How each peer in the swarm is identified (or not)</p></li>
<li><p><a class="reference internal" href="discovery.html"><span class="doc std std-doc">Discovery</span></a> - How peers are discovered and connected to in the swarm, or, how an identity is dereferenced into some network entity.</p></li>
<li><p><a class="reference internal" href="data_structures.html"><span class="doc std std-doc">Data Structures</span></a> - What and how data is represented within the protocol</p></li>
<li><p><a class="reference internal" href="querying.html"><span class="doc std std-doc">Querying</span></a> - How data, or pieces of data are requested from hosting peers</p></li>
<li><p><a class="reference internal" href="evolvability.html"><span class="doc std std-doc">Evolvability</span></a> - How the protocol is intended to accommodate changes, plugins, etc.</p></li>
</ul>
<p>Additionally, p2p-ld considers these additional properties that are not universal to p2p protocols:</p>
<ul class="simple">
<li><p><a class="reference internal" href="#vocabulary.html"><span class="xref myst">Vocabulary</span></a> - The linked data vocabulary that is used within the protocol</p></li>
<li><p><a class="reference internal" href="#encryption.html"><span class="xref myst">Encryption</span></a> - How individual messages can be encrypted and decrypted by peers</p></li>
<li><p><a class="reference internal" href="#federation.html"><span class="xref myst">Federation</span></a> - How peers can form supra-peer clusters for swarm robustness, social organization, and governance</p></li>
<li><p><a class="reference internal" href="#backwards_compatibility.html"><span class="xref myst">Backwards Compatibility</span></a> - How the protocol integrates with existing protocols and technologies.</p></li>
<li><p><a class="reference internal" href="vocabulary.html"><span class="doc std std-doc">Vocabulary</span></a> - The linked data vocabulary that is used within the protocol</p></li>
<li><p><a class="reference internal" href="encryption.html"><span class="doc std std-doc">Encryption</span></a> - How individual messages can be encrypted and decrypted by peers</p></li>
<li><p><a class="reference internal" href="federation.html"><span class="doc std std-doc">Federation</span></a> - How peers can form supra-peer clusters for swarm robustness, social organization, and governance</p></li>
<li><p><a class="reference internal" href="backwards_compatibility.html"><span class="doc std std-doc">Backwards Compatibility</span></a> - How the protocol integrates with existing protocols and technologies.</p></li>
</ul>
</section>
@ -258,14 +278,14 @@
</div>
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
</a>
<a class="prev-page" href="comparison.html">
<a class="prev-page" href="comparison/dmc.html">
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
<div class="page-info">
<div class="context">
<span>Previous</span>
</div>
<div class="title">Comparison</div>
<div class="title">DMC</div>
</div>
</a>

View file

@ -3,11 +3,11 @@
<head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Identity" href="identity.html" /><link rel="prev" title="Definitions" href="definitions.html" />
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="3. Identity" href="identity.html" /><link rel="prev" title="1. Definitions" href="definitions.html" />
<link rel="canonical" href="/docs/protocol.html" />
<!-- Generated with Sphinx 6.2.1 and Furo 2023.05.20 -->
<title>Protocol - p2p-ld 0.1.0 documentation</title>
<title>2. Protocol - p2p-ld 0.1.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=e6660623a769aa55fea372102b9bf3151b292993" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" />
@ -158,23 +158,42 @@
<p class="caption" role="heading"><span class="caption-text">Introduction</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="overview.html">Overview</a></li>
<li class="toctree-l1"><a class="reference internal" href="comparison.html">Comparison</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="comparison/index.html">Comparison</a><input class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Comparison</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="comparison/bittorrent.html">BitTorrent</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ipfs.html">IPFS</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/hypercore.html">Dat/Hypercore</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/spritely.html">Spritely/Goblin</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/activitypub.html">ActivityPub</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ssb.html">Secure Scuttlebutt</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/matrix.html">Matrix</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/at_protocol.html">AT Protocol/Bluesky</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/nostr.html">Nostr</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/xmpp.html">XMPP</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/solid.html">SOLID</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/nanopubs.html">NanoPubs</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/eris.html">ERIS</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/dmc.html">DMC</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="p2p_concepts.html">P2P Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="out_of_scope.html">Out of Scope</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Protocol</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="definitions.html">Definitions</a></li>
<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="identity.html">Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html">Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="data_structures.html">Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="vocabulary.html">Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="querying.html">Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html">Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="federation.html">Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="backwards_compatibility.html">Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="evolvability.html">Evolvability</a></li>
<li class="toctree-l1"><a class="reference internal" href="definitions.html">1. Definitions</a></li>
<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">2. Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="identity.html">3. Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html">4. Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html#scraps">5. Scraps</a></li>
<li class="toctree-l1"><a class="reference internal" href="data_structures.html">6. Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="vocabulary.html">7. Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="querying.html">8. Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html">9. Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html#todo">10. TODO</a></li>
<li class="toctree-l1"><a class="reference internal" href="federation.html">11. Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="backwards_compatibility.html">12. Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="evolvability.html">13. Evolvability</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
@ -183,6 +202,7 @@
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="design.html">Design Decisions</a></li>
<li class="toctree-l1"><a class="reference internal" href="sketchpad.html">Sketchpad</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Meta</span></p>
@ -224,9 +244,9 @@
</div>
<article role="main">
<section id="protocol">
<h1>Protocol<a class="headerlink" href="#protocol" title="Permalink to this heading">#</a></h1>
<h1><span class="section-number">2. </span>Protocol<a class="headerlink" href="#protocol" title="Permalink to this heading">#</a></h1>
<section id="connection">
<h2>Connection<a class="headerlink" href="#connection" title="Permalink to this heading">#</a></h2>
<h2><span class="section-number">2.1. </span>Connection<a class="headerlink" href="#connection" title="Permalink to this heading">#</a></h2>
<ul class="simple">
<li><p>When connecting to a peer, a peer MUST advertise its own connections to other peers whose discoverability permissions allow it</p>
<ul>
@ -236,13 +256,13 @@
</ul>
</section>
<section id="requests">
<h2>Requests<a class="headerlink" href="#requests" title="Permalink to this heading">#</a></h2>
<h2><span class="section-number">2.2. </span>Requests<a class="headerlink" href="#requests" title="Permalink to this heading">#</a></h2>
</section>
<section id="sharding">
<h2>Sharding<a class="headerlink" href="#sharding" title="Permalink to this heading">#</a></h2>
<h2><span class="section-number">2.3. </span>Sharding<a class="headerlink" href="#sharding" title="Permalink to this heading">#</a></h2>
</section>
<section id="backlinks">
<h2>Backlinks<a class="headerlink" href="#backlinks" title="Permalink to this heading">#</a></h2>
<h2><span class="section-number">2.4. </span>Backlinks<a class="headerlink" href="#backlinks" title="Permalink to this heading">#</a></h2>
<p>Every link has an implicit backlink that can be accepted/denied by the owner of the referenced object.</p>
<p>If a link is proposed from a blocked identifier, the proposed link is automatically dropped</p>
</section>
@ -258,7 +278,7 @@
<div class="context">
<span>Next</span>
</div>
<div class="title">Identity</div>
<div class="title"><span class="section-number">3. </span>Identity</div>
</div>
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
</a>
@ -269,7 +289,7 @@
<span>Previous</span>
</div>
<div class="title">Definitions</div>
<div class="title"><span class="section-number">1. </span>Definitions</div>
</div>
</a>
@ -303,11 +323,11 @@
<div class="toc-tree-container">
<div class="toc-tree">
<ul>
<li><a class="reference internal" href="#">Protocol</a><ul>
<li><a class="reference internal" href="#connection">Connection</a></li>
<li><a class="reference internal" href="#requests">Requests</a></li>
<li><a class="reference internal" href="#sharding">Sharding</a></li>
<li><a class="reference internal" href="#backlinks">Backlinks</a></li>
<li><a class="reference internal" href="#">2. Protocol</a><ul>
<li><a class="reference internal" href="#connection">2.1. Connection</a></li>
<li><a class="reference internal" href="#requests">2.2. Requests</a></li>
<li><a class="reference internal" href="#sharding">2.3. Sharding</a></li>
<li><a class="reference internal" href="#backlinks">2.4. Backlinks</a></li>
</ul>
</li>
</ul>

View file

@ -3,11 +3,11 @@
<head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Encryption" href="encryption.html" /><link rel="prev" title="Vocabulary" href="vocabulary.html" />
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="9. Encryption" href="encryption.html" /><link rel="prev" title="7. Vocabulary" href="vocabulary.html" />
<link rel="canonical" href="/docs/querying.html" />
<!-- Generated with Sphinx 6.2.1 and Furo 2023.05.20 -->
<title>Querying - p2p-ld 0.1.0 documentation</title>
<title>8. Querying - p2p-ld 0.1.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=e6660623a769aa55fea372102b9bf3151b292993" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" />
@ -158,23 +158,42 @@
<p class="caption" role="heading"><span class="caption-text">Introduction</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="overview.html">Overview</a></li>
<li class="toctree-l1"><a class="reference internal" href="comparison.html">Comparison</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="comparison/index.html">Comparison</a><input class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Comparison</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="comparison/bittorrent.html">BitTorrent</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ipfs.html">IPFS</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/hypercore.html">Dat/Hypercore</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/spritely.html">Spritely/Goblin</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/activitypub.html">ActivityPub</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ssb.html">Secure Scuttlebutt</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/matrix.html">Matrix</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/at_protocol.html">AT Protocol/Bluesky</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/nostr.html">Nostr</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/xmpp.html">XMPP</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/solid.html">SOLID</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/nanopubs.html">NanoPubs</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/eris.html">ERIS</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/dmc.html">DMC</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="p2p_concepts.html">P2P Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="out_of_scope.html">Out of Scope</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Protocol</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="definitions.html">Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="protocol.html">Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="identity.html">Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html">Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="data_structures.html">Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="vocabulary.html">Vocabulary</a></li>
<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html">Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="federation.html">Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="backwards_compatibility.html">Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="evolvability.html">Evolvability</a></li>
<li class="toctree-l1"><a class="reference internal" href="definitions.html">1. Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="protocol.html">2. Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="identity.html">3. Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html">4. Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html#scraps">5. Scraps</a></li>
<li class="toctree-l1"><a class="reference internal" href="data_structures.html">6. Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="vocabulary.html">7. Vocabulary</a></li>
<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">8. Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html">9. Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html#todo">10. TODO</a></li>
<li class="toctree-l1"><a class="reference internal" href="federation.html">11. Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="backwards_compatibility.html">12. Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="evolvability.html">13. Evolvability</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
@ -183,6 +202,7 @@
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="design.html">Design Decisions</a></li>
<li class="toctree-l1"><a class="reference internal" href="sketchpad.html">Sketchpad</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Meta</span></p>
@ -224,12 +244,12 @@
</div>
<article role="main">
<section id="querying">
<h1>Querying<a class="headerlink" href="#querying" title="Permalink to this heading">#</a></h1>
<h1><span class="section-number">8. </span>Querying<a class="headerlink" href="#querying" title="Permalink to this heading">#</a></h1>
<p>How do we find peers that have subgraphs that are responsive to what we want?</p>
<section id="syntax">
<h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this heading">#</a></h2>
<h2><span class="section-number">8.1. </span>Syntax<a class="headerlink" href="#syntax" title="Permalink to this heading">#</a></h2>
<section id="location">
<h3>Location<a class="headerlink" href="#location" title="Permalink to this heading">#</a></h3>
<span id="qlocation"></span><h3><span class="section-number">8.1.1. </span>Location<a class="headerlink" href="#location" title="Permalink to this heading">#</a></h3>
<p>How to refer to a given <a class="reference internal" href="#data_structures.html#Containers"><span class="xref myst">container</span></a>, eg.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="nd">@user</span><span class="p">:</span><span class="n">containerName</span><span class="p">:</span><span class="n">childName</span>
</pre></div>
@ -241,13 +261,13 @@
<p>Children</p>
</section>
<section id="version">
<h3>Version<a class="headerlink" href="#version" title="Permalink to this heading">#</a></h3>
<h3><span class="section-number">8.1.2. </span>Version<a class="headerlink" href="#version" title="Permalink to this heading">#</a></h3>
<p>How to refer to a specific version of a container</p>
<p>References without version qualification indicate the most recent version at the time of containerizing the links.</p>
</section>
</section>
<section id="query-fragments">
<h2>Query Fragments<a class="headerlink" href="#query-fragments" title="Permalink to this heading">#</a></h2>
<h2><span class="section-number">8.2. </span>Query Fragments<a class="headerlink" href="#query-fragments" title="Permalink to this heading">#</a></h2>
<p>Using blank subgraphs to specify queries</p>
</section>
</section>
@ -262,7 +282,7 @@
<div class="context">
<span>Next</span>
</div>
<div class="title">Encryption</div>
<div class="title"><span class="section-number">9. </span>Encryption</div>
</div>
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
</a>
@ -273,7 +293,7 @@
<span>Previous</span>
</div>
<div class="title">Vocabulary</div>
<div class="title"><span class="section-number">7. </span>Vocabulary</div>
</div>
</a>
@ -307,13 +327,13 @@
<div class="toc-tree-container">
<div class="toc-tree">
<ul>
<li><a class="reference internal" href="#">Querying</a><ul>
<li><a class="reference internal" href="#syntax">Syntax</a><ul>
<li><a class="reference internal" href="#location">Location</a></li>
<li><a class="reference internal" href="#version">Version</a></li>
<li><a class="reference internal" href="#">8. Querying</a><ul>
<li><a class="reference internal" href="#syntax">8.1. Syntax</a><ul>
<li><a class="reference internal" href="#location">8.1.1. Location</a></li>
<li><a class="reference internal" href="#version">8.1.2. Version</a></li>
</ul>
</li>
<li><a class="reference internal" href="#query-fragments">Query Fragments</a></li>
<li><a class="reference internal" href="#query-fragments">8.2. Query Fragments</a></li>
</ul>
</li>
</ul>

View file

@ -158,23 +158,42 @@
<p class="caption" role="heading"><span class="caption-text">Introduction</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="overview.html">Overview</a></li>
<li class="toctree-l1"><a class="reference internal" href="comparison.html">Comparison</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="comparison/index.html">Comparison</a><input class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Comparison</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="comparison/bittorrent.html">BitTorrent</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ipfs.html">IPFS</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/hypercore.html">Dat/Hypercore</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/spritely.html">Spritely/Goblin</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/activitypub.html">ActivityPub</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ssb.html">Secure Scuttlebutt</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/matrix.html">Matrix</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/at_protocol.html">AT Protocol/Bluesky</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/nostr.html">Nostr</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/xmpp.html">XMPP</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/solid.html">SOLID</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/nanopubs.html">NanoPubs</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/eris.html">ERIS</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/dmc.html">DMC</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="p2p_concepts.html">P2P Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="out_of_scope.html">Out of Scope</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Protocol</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="definitions.html">Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="protocol.html">Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="identity.html">Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html">Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="data_structures.html">Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="vocabulary.html">Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="querying.html">Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html">Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="federation.html">Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="backwards_compatibility.html">Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="evolvability.html">Evolvability</a></li>
<li class="toctree-l1"><a class="reference internal" href="definitions.html">1. Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="protocol.html">2. Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="identity.html">3. Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html">4. Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html#scraps">5. Scraps</a></li>
<li class="toctree-l1"><a class="reference internal" href="data_structures.html">6. Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="vocabulary.html">7. Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="querying.html">8. Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html">9. Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html#todo">10. TODO</a></li>
<li class="toctree-l1"><a class="reference internal" href="federation.html">11. Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="backwards_compatibility.html">12. Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="evolvability.html">13. Evolvability</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
@ -183,6 +202,7 @@
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="design.html">Design Decisions</a></li>
<li class="toctree-l1"><a class="reference internal" href="sketchpad.html">Sketchpad</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Meta</span></p>
@ -226,9 +246,29 @@
<section id="references">
<h1>References<a class="headerlink" href="#references" title="Permalink to this heading">#</a></h1>
<div class="docutils container" id="id1">
<div class="citation" id="id4" role="doc-biblioentry">
<span class="label"><span class="fn-bracket">[</span>1<span class="fn-bracket">]</span></span>
<p>Jonny L. Saunders. Decentralized Infrastructure for (Neuro)science. 2022-08-31. URL: <a class="reference external" href="http://arxiv.org/abs/2209.07493">http://arxiv.org/abs/2209.07493</a> (visited on 2023-03-01), <a class="reference external" href="https://arxiv.org/abs/2209.07493">arXiv:2209.07493</a>, <a class="reference external" href="https://doi.org/10.48550/arXiv.2209.07493">doi:10.48550/arXiv.2209.07493</a>.</p>
</div>
<div class="citation" id="id3" role="doc-biblioentry">
<span class="label"><span class="fn-bracket">[</span>2<span class="fn-bracket">]</span></span>
<p>Christine Lemmer-Webber, Randy Farmer, and Juliana Sims. The Heart of Spritely: Distributed Objects and Capability Security. URL: <a class="reference external" href="https://www.spritely.institute/static/papers/spritely-core.html">https://www.spritely.institute/static/papers/spritely-core.html</a> (visited on 2023-06-07).</p>
</div>
<div class="citation" id="id7" role="doc-biblioentry">
<span class="label"><span class="fn-bracket">[</span>3<span class="fn-bracket">]</span></span>
<p>Ruben Verborgh, Sam Coppens, Miel Vander Sande, Erik Mannens, Pieter Colpaert, and Rik Van de Walle. Web-Scale Querying through Linked Data Fragments. In <em>Proceedings of the 7th Workshop on Linked Data on the Web</em>. 2014-04-08.</p>
</div>
<div class="citation" id="id6" role="doc-biblioentry">
<span class="label"><span class="fn-bracket">[</span>4<span class="fn-bracket">]</span></span>
<p>Ruben Verborgh, Miel Vander Sande, Olaf Hartig, Joachim Van Herwegen, Laurens De Vocht, Ben De Meester, Gerald Haesendonck, and Pieter Colpaert. Triple Pattern Fragments: A low-cost knowledge graph interface for the Web. <em>Journal of Web Semantics</em>, 3738:184206, 2016-03. URL: <a class="reference external" href="https://linkinghub.elsevier.com/retrieve/pii/S1570826816000214">https://linkinghub.elsevier.com/retrieve/pii/S1570826816000214</a> (visited on 2023-06-08), <a class="reference external" href="https://doi.org/10.1016/j.websem.2016.03.003">doi:10.1016/j.websem.2016.03.003</a>.</p>
</div>
<div class="citation" id="id5" role="doc-biblioentry">
<span class="label"><span class="fn-bracket">[</span>5<span class="fn-bracket">]</span></span>
<p>Jonny L. Saunders. Surveillance Graphs. 2023-04-02T00:00:00+00:00. URL: <a class="reference external" href="https://jon-e.net/surveillance-graphs">https://jon-e.net/surveillance-graphs</a> (visited on 2023-06-08), <a class="reference external" href="https://arxiv.org/abs/hc:54749">arXiv:hc:54749</a>, <a class="reference external" href="https://doi.org/10.17613/syv8-cp10">doi:10.17613/syv8-cp10</a>.</p>
</div>
<div class="citation" id="id2" role="doc-biblioentry">
<span class="label"><span class="fn-bracket">[</span>Sau22<span class="fn-bracket">]</span></span>
<p>Jonny L. Saunders. Decentralized infrastructure for (neuro)science. 08 2022. URL: <a class="reference external" href="http://arxiv.org/abs/2209.07493">http://arxiv.org/abs/2209.07493</a> (visited on 2023-03-01), <a class="reference external" href="https://arxiv.org/abs/2209.07493">arXiv:2209.07493</a>, <a class="reference external" href="https://doi.org/10.48550/arXiv.2209.07493">doi:10.48550/arXiv.2209.07493</a>.</p>
<span class="label"><span class="fn-bracket">[</span>6<span class="fn-bracket">]</span></span>
<p>John Kunze, Scout Calvert, Jeremy D. DeBarry, Matthew Hanlon, Greg Janée, and Sandra Sweat. Persistence Statements: Describing Digital Stickiness. <em>Data Science Journal</em>, 16(0):39, 2017-08-14. URL: <a class="reference external" href="http://datascience.codata.org/articles/10.5334/dsj-2017-039/">http://datascience.codata.org/articles/10.5334/dsj-2017-039/</a> (visited on 2022-09-07), <a class="reference external" href="https://doi.org/10.5334/dsj-2017-039">doi:10.5334/dsj-2017-039</a>.</p>
</div>
</div>
</div>

View file

@ -155,23 +155,42 @@
<p class="caption" role="heading"><span class="caption-text">Introduction</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="overview.html">Overview</a></li>
<li class="toctree-l1"><a class="reference internal" href="comparison.html">Comparison</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="comparison/index.html">Comparison</a><input class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Comparison</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="comparison/bittorrent.html">BitTorrent</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ipfs.html">IPFS</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/hypercore.html">Dat/Hypercore</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/spritely.html">Spritely/Goblin</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/activitypub.html">ActivityPub</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ssb.html">Secure Scuttlebutt</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/matrix.html">Matrix</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/at_protocol.html">AT Protocol/Bluesky</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/nostr.html">Nostr</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/xmpp.html">XMPP</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/solid.html">SOLID</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/nanopubs.html">NanoPubs</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/eris.html">ERIS</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/dmc.html">DMC</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="p2p_concepts.html">P2P Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="out_of_scope.html">Out of Scope</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Protocol</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="definitions.html">Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="protocol.html">Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="identity.html">Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html">Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="data_structures.html">Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="vocabulary.html">Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="querying.html">Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html">Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="federation.html">Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="backwards_compatibility.html">Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="evolvability.html">Evolvability</a></li>
<li class="toctree-l1"><a class="reference internal" href="definitions.html">1. Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="protocol.html">2. Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="identity.html">3. Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html">4. Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html#scraps">5. Scraps</a></li>
<li class="toctree-l1"><a class="reference internal" href="data_structures.html">6. Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="vocabulary.html">7. Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="querying.html">8. Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html">9. Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html#todo">10. TODO</a></li>
<li class="toctree-l1"><a class="reference internal" href="federation.html">11. Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="backwards_compatibility.html">12. Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="evolvability.html">13. Evolvability</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
@ -180,6 +199,7 @@
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="design.html">Design Decisions</a></li>
<li class="toctree-l1"><a class="reference internal" href="sketchpad.html">Sketchpad</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Meta</span></p>

File diff suppressed because one or more lines are too long

View file

@ -3,7 +3,7 @@
<head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="prev" title="Translation" href="translation.html" />
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="prev" title="Design Decisions" href="design.html" />
<link rel="canonical" href="/docs/sketchpad.html" />
<!-- Generated with Sphinx 6.2.1 and Furo 2023.05.20 -->
@ -158,23 +158,42 @@
<p class="caption" role="heading"><span class="caption-text">Introduction</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="overview.html">Overview</a></li>
<li class="toctree-l1"><a class="reference internal" href="comparison.html">Comparison</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="comparison/index.html">Comparison</a><input class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Comparison</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="comparison/bittorrent.html">BitTorrent</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ipfs.html">IPFS</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/hypercore.html">Dat/Hypercore</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/spritely.html">Spritely/Goblin</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/activitypub.html">ActivityPub</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ssb.html">Secure Scuttlebutt</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/matrix.html">Matrix</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/at_protocol.html">AT Protocol/Bluesky</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/nostr.html">Nostr</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/xmpp.html">XMPP</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/solid.html">SOLID</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/nanopubs.html">NanoPubs</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/eris.html">ERIS</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/dmc.html">DMC</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="p2p_concepts.html">P2P Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="out_of_scope.html">Out of Scope</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Protocol</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="definitions.html">Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="protocol.html">Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="identity.html">Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html">Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="data_structures.html">Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="vocabulary.html">Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="querying.html">Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html">Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="federation.html">Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="backwards_compatibility.html">Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="evolvability.html">Evolvability</a></li>
<li class="toctree-l1"><a class="reference internal" href="definitions.html">1. Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="protocol.html">2. Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="identity.html">3. Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html">4. Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html#scraps">5. Scraps</a></li>
<li class="toctree-l1"><a class="reference internal" href="data_structures.html">6. Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="vocabulary.html">7. Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="querying.html">8. Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html">9. Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html#todo">10. TODO</a></li>
<li class="toctree-l1"><a class="reference internal" href="federation.html">11. Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="backwards_compatibility.html">12. Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="evolvability.html">13. Evolvability</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
@ -183,6 +202,7 @@
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="design.html">Design Decisions</a></li>
<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">Sketchpad</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Meta</span></p>
@ -229,7 +249,8 @@
<section id="system-diagram">
<h2>System Diagram<a class="headerlink" href="#system-diagram" title="Permalink to this heading">#</a></h2>
<p>Just a stub to check if mermaid works</p>
<div class="highlight-mermaid notranslate"><div class="highlight"><pre><span></span>erDiagram
<div class="mermaid">
erDiagram
IDENTITY {
string hash
}
@ -244,9 +265,7 @@
BEACON }o--|{ INSTANCE : links
BEACON }o--|| IDENTITY : represents
</pre></div>
</div>
</section>
</div></section>
<section id="graph-data-model">
<h2>Graph Data Model<a class="headerlink" href="#graph-data-model" title="Permalink to this heading">#</a></h2>
<ul class="simple">
@ -263,14 +282,14 @@
<div class="related-pages">
<a class="prev-page" href="translation.html">
<a class="prev-page" href="design.html">
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
<div class="page-info">
<div class="context">
<span>Previous</span>
</div>
<div class="title">Translation</div>
<div class="title">Design Decisions</div>
</div>
</a>
@ -322,5 +341,7 @@
<script src="_static/doctools.js"></script>
<script src="_static/sphinx_highlight.js"></script>
<script src="_static/scripts/furo.js"></script>
<script src="https://unpkg.com/mermaid@10.2.0/dist/mermaid.min.js"></script>
<script>mermaid.initialize({startOnLoad:true});</script>
</body>
</html>

View file

@ -3,7 +3,7 @@
<head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Sketchpad" href="sketchpad.html" /><link rel="prev" title="Triplets" href="triplets.html" />
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Design Decisions" href="design.html" /><link rel="prev" title="Triplets" href="triplets.html" />
<link rel="canonical" href="/docs/translation.html" />
<!-- Generated with Sphinx 6.2.1 and Furo 2023.05.20 -->
@ -158,23 +158,42 @@
<p class="caption" role="heading"><span class="caption-text">Introduction</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="overview.html">Overview</a></li>
<li class="toctree-l1"><a class="reference internal" href="comparison.html">Comparison</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="comparison/index.html">Comparison</a><input class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Comparison</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="comparison/bittorrent.html">BitTorrent</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ipfs.html">IPFS</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/hypercore.html">Dat/Hypercore</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/spritely.html">Spritely/Goblin</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/activitypub.html">ActivityPub</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ssb.html">Secure Scuttlebutt</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/matrix.html">Matrix</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/at_protocol.html">AT Protocol/Bluesky</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/nostr.html">Nostr</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/xmpp.html">XMPP</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/solid.html">SOLID</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/nanopubs.html">NanoPubs</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/eris.html">ERIS</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/dmc.html">DMC</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="p2p_concepts.html">P2P Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="out_of_scope.html">Out of Scope</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Protocol</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="definitions.html">Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="protocol.html">Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="identity.html">Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html">Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="data_structures.html">Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="vocabulary.html">Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="querying.html">Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html">Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="federation.html">Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="backwards_compatibility.html">Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="evolvability.html">Evolvability</a></li>
<li class="toctree-l1"><a class="reference internal" href="definitions.html">1. Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="protocol.html">2. Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="identity.html">3. Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html">4. Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html#scraps">5. Scraps</a></li>
<li class="toctree-l1"><a class="reference internal" href="data_structures.html">6. Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="vocabulary.html">7. Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="querying.html">8. Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html">9. Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html#todo">10. TODO</a></li>
<li class="toctree-l1"><a class="reference internal" href="federation.html">11. Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="backwards_compatibility.html">12. Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="evolvability.html">13. Evolvability</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul class="current">
@ -183,6 +202,7 @@
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="design.html">Design Decisions</a></li>
<li class="toctree-l1"><a class="reference internal" href="sketchpad.html">Sketchpad</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Meta</span></p>
@ -233,12 +253,12 @@
<footer>
<div class="related-pages">
<a class="next-page" href="sketchpad.html">
<a class="next-page" href="design.html">
<div class="page-info">
<div class="context">
<span>Next</span>
</div>
<div class="title">Sketchpad</div>
<div class="title">Design Decisions</div>
</div>
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
</a>

View file

@ -3,7 +3,7 @@
<head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Translation" href="translation.html" /><link rel="prev" title="Evolvability" href="evolvability.html" />
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Translation" href="translation.html" /><link rel="prev" title="13. Evolvability" href="evolvability.html" />
<link rel="canonical" href="/docs/triplets.html" />
<!-- Generated with Sphinx 6.2.1 and Furo 2023.05.20 -->
@ -158,23 +158,42 @@
<p class="caption" role="heading"><span class="caption-text">Introduction</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="overview.html">Overview</a></li>
<li class="toctree-l1"><a class="reference internal" href="comparison.html">Comparison</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="comparison/index.html">Comparison</a><input class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Comparison</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="comparison/bittorrent.html">BitTorrent</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ipfs.html">IPFS</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/hypercore.html">Dat/Hypercore</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/spritely.html">Spritely/Goblin</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/activitypub.html">ActivityPub</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ssb.html">Secure Scuttlebutt</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/matrix.html">Matrix</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/at_protocol.html">AT Protocol/Bluesky</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/nostr.html">Nostr</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/xmpp.html">XMPP</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/solid.html">SOLID</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/nanopubs.html">NanoPubs</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/eris.html">ERIS</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/dmc.html">DMC</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="p2p_concepts.html">P2P Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="out_of_scope.html">Out of Scope</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Protocol</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="definitions.html">Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="protocol.html">Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="identity.html">Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html">Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="data_structures.html">Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="vocabulary.html">Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="querying.html">Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html">Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="federation.html">Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="backwards_compatibility.html">Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="evolvability.html">Evolvability</a></li>
<li class="toctree-l1"><a class="reference internal" href="definitions.html">1. Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="protocol.html">2. Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="identity.html">3. Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html">4. Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html#scraps">5. Scraps</a></li>
<li class="toctree-l1"><a class="reference internal" href="data_structures.html">6. Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="vocabulary.html">7. Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="querying.html">8. Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html">9. Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html#todo">10. TODO</a></li>
<li class="toctree-l1"><a class="reference internal" href="federation.html">11. Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="backwards_compatibility.html">12. Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="evolvability.html">13. Evolvability</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul class="current">
@ -183,6 +202,7 @@
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="design.html">Design Decisions</a></li>
<li class="toctree-l1"><a class="reference internal" href="sketchpad.html">Sketchpad</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Meta</span></p>
@ -249,7 +269,7 @@
<span>Previous</span>
</div>
<div class="title">Evolvability</div>
<div class="title"><span class="section-number">13. </span>Evolvability</div>
</div>
</a>

View file

@ -3,11 +3,11 @@
<head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Querying" href="querying.html" /><link rel="prev" title="Data Structures" href="data_structures.html" />
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="8. Querying" href="querying.html" /><link rel="prev" title="6. Data Structures" href="data_structures.html" />
<link rel="canonical" href="/docs/vocabulary.html" />
<!-- Generated with Sphinx 6.2.1 and Furo 2023.05.20 -->
<title>Vocabulary - p2p-ld 0.1.0 documentation</title>
<title>7. Vocabulary - p2p-ld 0.1.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=e6660623a769aa55fea372102b9bf3151b292993" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" />
@ -158,23 +158,42 @@
<p class="caption" role="heading"><span class="caption-text">Introduction</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="overview.html">Overview</a></li>
<li class="toctree-l1"><a class="reference internal" href="comparison.html">Comparison</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="comparison/index.html">Comparison</a><input class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Comparison</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="comparison/bittorrent.html">BitTorrent</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ipfs.html">IPFS</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/hypercore.html">Dat/Hypercore</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/spritely.html">Spritely/Goblin</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/activitypub.html">ActivityPub</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ssb.html">Secure Scuttlebutt</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/matrix.html">Matrix</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/at_protocol.html">AT Protocol/Bluesky</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/nostr.html">Nostr</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/xmpp.html">XMPP</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/solid.html">SOLID</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/ld_fragments.html">Linked Data Fragments</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/nanopubs.html">NanoPubs</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/eris.html">ERIS</a></li>
<li class="toctree-l2"><a class="reference internal" href="comparison/dmc.html">DMC</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="p2p_concepts.html">P2P Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="out_of_scope.html">Out of Scope</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Protocol</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="definitions.html">Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="protocol.html">Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="identity.html">Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html">Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="data_structures.html">Data Structures</a></li>
<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="querying.html">Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html">Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="federation.html">Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="backwards_compatibility.html">Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="evolvability.html">Evolvability</a></li>
<li class="toctree-l1"><a class="reference internal" href="definitions.html">1. Definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="protocol.html">2. Protocol</a></li>
<li class="toctree-l1"><a class="reference internal" href="identity.html">3. Identity</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html">4. Discovery</a></li>
<li class="toctree-l1"><a class="reference internal" href="discovery.html#scraps">5. Scraps</a></li>
<li class="toctree-l1"><a class="reference internal" href="data_structures.html">6. Data Structures</a></li>
<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">7. Vocabulary</a></li>
<li class="toctree-l1"><a class="reference internal" href="querying.html">8. Querying</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html">9. Encryption</a></li>
<li class="toctree-l1"><a class="reference internal" href="encryption.html#todo">10. TODO</a></li>
<li class="toctree-l1"><a class="reference internal" href="federation.html">11. Federation</a></li>
<li class="toctree-l1"><a class="reference internal" href="backwards_compatibility.html">12. Backwards Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="evolvability.html">13. Evolvability</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Ecosystem</span></p>
<ul>
@ -183,6 +202,7 @@
</ul>
<p class="caption" role="heading"><span class="caption-text">Drafting</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="design.html">Design Decisions</a></li>
<li class="toctree-l1"><a class="reference internal" href="sketchpad.html">Sketchpad</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Meta</span></p>
@ -224,15 +244,15 @@
</div>
<article role="main">
<section id="vocabulary">
<h1>Vocabulary<a class="headerlink" href="#vocabulary" title="Permalink to this heading">#</a></h1>
<h1><span class="section-number">7. </span>Vocabulary<a class="headerlink" href="#vocabulary" title="Permalink to this heading">#</a></h1>
<section id="imports">
<h2>Imports<a class="headerlink" href="#imports" title="Permalink to this heading">#</a></h2>
<h2><span class="section-number">7.1. </span>Imports<a class="headerlink" href="#imports" title="Permalink to this heading">#</a></h2>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">skos:sameAs</span></code> - for declaring that a given triplet is equivalent to another.</p></li>
</ul>
</section>
<section id="container">
<h2>Container<a class="headerlink" href="#container" title="Permalink to this heading">#</a></h2>
<h2><span class="section-number">7.2. </span>Container<a class="headerlink" href="#container" title="Permalink to this heading">#</a></h2>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">ordering</span></code> - how the children are to be ordered</p>
<ul>
@ -243,7 +263,7 @@
</ul>
</section>
<section id="social">
<h2>Social<a class="headerlink" href="#social" title="Permalink to this heading">#</a></h2>
<h2><span class="section-number">7.3. </span>Social<a class="headerlink" href="#social" title="Permalink to this heading">#</a></h2>
<ul class="simple">
<li><p>Containers of other accounts</p></li>
<li><p>proxy identites: a given identity can specify a collection of alts that can only be resolved with the correct permission scope - so eg. a public account that is stable can be linked to by an abusive user, but they wont be able to resolve a more private alt.</p></li>
@ -274,7 +294,7 @@
<div class="context">
<span>Next</span>
</div>
<div class="title">Querying</div>
<div class="title"><span class="section-number">8. </span>Querying</div>
</div>
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
</a>
@ -285,7 +305,7 @@
<span>Previous</span>
</div>
<div class="title">Data Structures</div>
<div class="title"><span class="section-number">6. </span>Data Structures</div>
</div>
</a>
@ -319,10 +339,10 @@
<div class="toc-tree-container">
<div class="toc-tree">
<ul>
<li><a class="reference internal" href="#">Vocabulary</a><ul>
<li><a class="reference internal" href="#imports">Imports</a></li>
<li><a class="reference internal" href="#container">Container</a></li>
<li><a class="reference internal" href="#social">Social</a></li>
<li><a class="reference internal" href="#">7. Vocabulary</a><ul>
<li><a class="reference internal" href="#imports">7.1. Imports</a></li>
<li><a class="reference internal" href="#container">7.2. Container</a></li>
<li><a class="reference internal" href="#social">7.3. Social</a></li>
</ul>
</li>
</ul>