mirror of
https://github.com/p2p-ld/docs.git
synced 2024-11-12 17:54:30 +00:00
some basic pages and start of diagram
This commit is contained in:
parent
4e7dd7775a
commit
9890c25e95
24 changed files with 1506 additions and 2 deletions
11
.github/workflows/deploy.yml
vendored
11
.github/workflows/deploy.yml
vendored
|
@ -14,6 +14,13 @@ jobs:
|
|||
- uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: Update rustup
|
||||
run: rustup self update
|
||||
- name: Install Rust
|
||||
run: |
|
||||
rustup set profile minimal
|
||||
rustup toolchain install nightly -c rust-docs
|
||||
rustup override set nightly
|
||||
- name: Install latest mdbook
|
||||
run: |
|
||||
tag=$(curl 'https://api.github.com/repos/rust-lang/mdbook/releases/latest' | jq -r '.tag_name')
|
||||
|
@ -21,6 +28,10 @@ jobs:
|
|||
mkdir mdbook
|
||||
curl -sSL $url | tar -xz --directory=./mdbook
|
||||
echo `pwd`/mdbook >> $GITHUB_PATH
|
||||
- name: Install plugins
|
||||
run: |
|
||||
cargo install mdbook-bib
|
||||
cargo install mdbook-mermaid
|
||||
- name: Deploy GitHub Pages
|
||||
run: |
|
||||
# This assumes your book is in the root of your repository.
|
||||
|
|
|
@ -1 +1,5 @@
|
|||
# docs
|
||||
# docs
|
||||
|
||||
https://piracy.solutions/docs
|
||||
|
||||
Made with [mdBook](https://rust-lang.github.io/mdBook/)
|
13
book.toml
13
book.toml
|
@ -4,3 +4,16 @@ language = "en"
|
|||
multilingual = false
|
||||
src = "src"
|
||||
title = "p2p-ld"
|
||||
|
||||
[preprocessor.bib]
|
||||
bibliography = "p2p_ld_docs.bib"
|
||||
render-bib = "cited"
|
||||
|
||||
[preprocessor.mermaid]
|
||||
command = "mdbook-mermaid"
|
||||
|
||||
[output.html]
|
||||
site-url = "/docs/"
|
||||
git-repository-url = "https://github.com/p2p-ld/docs"
|
||||
git-repository-icon = "fa-github"
|
||||
additional-js = ["mermaid.min.js", "mermaid-init.js"]
|
1
mermaid-init.js
Normal file
1
mermaid-init.js
Normal file
|
@ -0,0 +1 @@
|
|||
mermaid.initialize({startOnLoad:true});
|
1282
mermaid.min.js
vendored
Normal file
1282
mermaid.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
6
src/README.md
Normal file
6
src/README.md
Normal file
|
@ -0,0 +1,6 @@
|
|||
# Introduction
|
||||
|
||||
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.
|
||||
|
||||
This site describes the implementation of the p2p linked data protocol in {{#cite saundersDecentralizedInfrastructureNeuro2022 }}
|
||||
|
|
@ -1,3 +1,31 @@
|
|||
# Summary
|
||||
|
||||
- [Chapter 1](./chapter_1.md)
|
||||
[Introduction](README.md)
|
||||
|
||||
|
||||
- [Overview](./overview.md)
|
||||
- [Comparison](./comparison.md)
|
||||
- [P2P Concepts](./p2p_concepts.md)
|
||||
- [Out of Scope](./out_of_scope.md)
|
||||
|
||||
# p2p-ld Protocol
|
||||
|
||||
- [Protocol](./protocol.md)
|
||||
- [Identity](./identity.md)
|
||||
- [Discovery](./discovery.md)
|
||||
- [Data Structures](./data_structures.md)
|
||||
- [Vocabulary](./vocabulary.md)
|
||||
- [Querying](./querying.md)
|
||||
- [Encryption](./encryption.md)
|
||||
- [Federation](./federation.md)
|
||||
- [Backwards Compatibility](./backwards_compatibility.md)
|
||||
- [Evolvability](./evolvability.md)
|
||||
|
||||
# Ecosystem
|
||||
|
||||
- [Triplets]()
|
||||
- [Translation]()
|
||||
|
||||
---
|
||||
|
||||
[Sketchpad](./sketchpad.md)
|
||||
|
|
6
src/backwards_compatibility.md
Normal file
6
src/backwards_compatibility.md
Normal file
|
@ -0,0 +1,6 @@
|
|||
# Backwards Compatibility
|
||||
|
||||
- HTTP
|
||||
- Bittorrent
|
||||
- IPFS
|
||||
- ActivityPub
|
44
src/comparison.md
Normal file
44
src/comparison.md
Normal file
|
@ -0,0 +1,44 @@
|
|||
# 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
|
8
src/data_structures.md
Normal file
8
src/data_structures.md
Normal file
|
@ -0,0 +1,8 @@
|
|||
# Data Structures
|
||||
|
||||
Triplet graphs similar to linked data fragments with envelopes. decoupling content addressing from versioning
|
||||
|
||||
- Merkel DAGs
|
||||
- Envelopes
|
||||
- Versioning
|
||||
- Typed objects with formatting
|
7
src/discovery.md
Normal file
7
src/discovery.md
Normal file
|
@ -0,0 +1,7 @@
|
|||
# Discovery
|
||||
|
||||
How do we find people and know how to connect to them?
|
||||
|
||||
- Bootstrapping initial connections
|
||||
- Gossiping
|
||||
- Hole punching
|
3
src/encryption.md
Normal file
3
src/encryption.md
Normal file
|
@ -0,0 +1,3 @@
|
|||
# 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?
|
1
src/evolvability.md
Normal file
1
src/evolvability.md
Normal file
|
@ -0,0 +1 @@
|
|||
# Evolvability
|
6
src/federation.md
Normal file
6
src/federation.md
Normal file
|
@ -0,0 +1,6 @@
|
|||
# Federation
|
||||
|
||||
Making supra-peer clusters with explicit governance and policies for rehosting and sharing!
|
||||
|
||||
- Creating federations of peers
|
||||
-
|
7
src/identity.md
Normal file
7
src/identity.md
Normal file
|
@ -0,0 +1,7 @@
|
|||
# Identity
|
||||
|
||||
How is an individual peer identified?
|
||||
|
||||
- Cryptographic identity
|
||||
- Web of trust/shared identity
|
||||
- External verification/discovery via DNS and other out of band means.
|
7
src/out_of_scope.md
Normal file
7
src/out_of_scope.md
Normal file
|
@ -0,0 +1,7 @@
|
|||
# Out of Scope
|
||||
|
||||
What should explicitly be left out of the protocol?
|
||||
|
||||
## Implementation
|
||||
|
||||
Things that are described in the spec, but details are left up to the implementation
|
16
src/overview.md
Normal file
16
src/overview.md
Normal file
|
@ -0,0 +1,16 @@
|
|||
# Overview
|
||||
|
||||
p2p-ld
|
||||
|
||||
## Background
|
||||
|
||||
- Semweb/Linked Data
|
||||
- Limitations/differences of existing p2p
|
||||
|
||||
## Use
|
||||
|
||||
- How is this intended to be used? by whom? in what contexts?
|
||||
|
||||
## Roadmap
|
||||
|
||||
- Development roadmap and timeline!
|
3
src/p2p_concepts.md
Normal file
3
src/p2p_concepts.md
Normal file
|
@ -0,0 +1,3 @@
|
|||
# P2P Concepts
|
||||
|
||||
Overview of the various concepts that p2p systems have to handle or address with links to the sections where we address them!
|
16
src/p2p_ld_docs.bib
Normal file
16
src/p2p_ld_docs.bib
Normal file
|
@ -0,0 +1,16 @@
|
|||
@online{saundersDecentralizedInfrastructureNeuro2022,
|
||||
title = {Decentralized Infrastructure for (Neuro)Science},
|
||||
author = {Saunders, Jonny L.},
|
||||
date = {2022-08-31},
|
||||
eprint = {2209.07493},
|
||||
eprinttype = {arxiv},
|
||||
eprintclass = {cs},
|
||||
doi = {10.48550/arXiv.2209.07493},
|
||||
url = {http://arxiv.org/abs/2209.07493},
|
||||
urldate = {2023-03-01},
|
||||
abstract = {The most pressing problems in science are neither empirical nor theoretical, but infrastructural. Scientific practice is defined by coproductive, mutually reinforcing infrastructural deficits and incentive systems that everywhere constrain and contort our art of curiosity in service of profit and prestige. Our infrastructural problems are not unique to science, but reflective of the broader logic of digital enclosure where platformatized control of information production and extraction fuels some of the largest corporations in the world. I have taken lessons learned from decades of intertwined digital cultures within and beyond academia like wikis, pirates, and librarians in order to draft a path towards more liberatory infrastructures for both science and society. Based on a system of peer-to-peer linked data, I sketch interoperable systems for shared data, tools, and knowledge that map onto three domains of platform capture: storage, computation and communication. The challenge of infrastructure is not solely technical, but also social and cultural, and so I attempt to ground a practical development blueprint in an ethics for organizing and maintaining it. I intend this draft as a rallying call for organization, to be revised with the input of collaborators and through the challenges posed by its implementation. I argue that a more liberatory future for science is neither utopian nor impractical -- the truly impractical choice is to continue to organize science as prestige fiefdoms resting on a pyramid scheme of underpaid labor, playing out the clock as every part of our work is swallowed whole by circling information conglomerates. It was arguably scientists looking for a better way to communicate that created something as radical as the internet in the first place, and I believe we can do it again.},
|
||||
archive = {https://web.archive.org/web/20230301224337/https://arxiv.org/abs/2209.07493},
|
||||
pubstate = {preprint},
|
||||
keywords = {archived,Computer Science - General Literature,E.2,H.4.3,H.5.3,K.2,K.4.1,K.4.3,K.6.4},
|
||||
file = {/Users/jonny/Dropbox/papers/zotero/S/SaundersJ/saunders_2022_decentralized_infrastructure_for_(neuro)science.pdf}
|
||||
}
|
1
src/protocol.md
Normal file
1
src/protocol.md
Normal file
|
@ -0,0 +1 @@
|
|||
# Protocol
|
3
src/querying.md
Normal file
3
src/querying.md
Normal file
|
@ -0,0 +1,3 @@
|
|||
# Querying
|
||||
|
||||
How do we find peers that have subgraphs that are responsive to what we want?
|
1
src/references.md
Normal file
1
src/references.md
Normal file
|
@ -0,0 +1 @@
|
|||
# References
|
29
src/sketchpad.md
Normal file
29
src/sketchpad.md
Normal file
|
@ -0,0 +1,29 @@
|
|||
# Sketchpad
|
||||
|
||||
## System Diagram
|
||||
|
||||
Just a stub to check if mermaid works
|
||||
|
||||
```mermaid
|
||||
erDiagram
|
||||
IDENTITY {
|
||||
string hash
|
||||
}
|
||||
INSTANCE {
|
||||
string ip
|
||||
string client
|
||||
}
|
||||
BEACON {
|
||||
string uri
|
||||
}
|
||||
IDENTITY ||--o{ INSTANCE : runs
|
||||
BEACON }o--|{ INSTANCE : links
|
||||
BEACON }o--|| IDENTITY : represents
|
||||
|
||||
```
|
||||
|
||||
## Graph Data Model
|
||||
|
||||
- Triplets
|
||||
- Containers
|
||||
- Codecs
|
1
src/vocabulary.md
Normal file
1
src/vocabulary.md
Normal file
|
@ -0,0 +1 @@
|
|||
# Vocabulary
|
Loading…
Reference in a new issue