mirror of
https://github.com/logos-storage/logos-storage-docs-obsidian.git
synced 2026-07-27 17:03:11 +00:00
adds reference docs for MIX resources
This commit is contained in:
parent
e70aedbaf5
commit
0ab2b1fe9b
58
10 Notes/Learning Mix.md
Normal file
58
10 Notes/Learning Mix.md
Normal file
@ -0,0 +1,58 @@
|
||||
- MIX THEORY
|
||||
- Mix spec: https://lip.logos.co/anoncomms/raw/mix.html
|
||||
- SURBs
|
||||
- Sphinx: A Compact and Provably Secure Mix Format: https://cypherpunks.ca/~iang/pubs/Sphinx_Oakland09.pdf
|
||||
- Sphinx YouTube video: https://youtu.be/34TKXELJa2c?is=J8G4cNyG3djsWdtm
|
||||
- In-depth treatment by Balazs: https://hackmd.io/@bkomuves/SJzVxYMsZl
|
||||
- SURB section in the SPEC: https://lip.logos.co/anoncomms/raw/mix.html#87-single-use-reply-blocks
|
||||
- PR: https://github.com/vacp2p/rfc-index/pull/307
|
||||
- Sphinx Header Processing Example: https://hackmd.io/P-lbrq-iS7ui0WVcuw1rNA
|
||||
- Also available in our Obsidian Vault: https://github.com/logos-storage/logos-storage-docs-obsidian
|
||||
- Search for "Sphinx Header Processing Example".
|
||||
- MIX IMPLEMENTATION:
|
||||
- Main Mix Repo: https://github.com/logos-co/nim-libp2p-mix
|
||||
- Examples:
|
||||
- From Main Mix Repo:
|
||||
- examples
|
||||
- https://github.com/logos-co/nim-libp2p-mix/blob/master/examples/mix_ping.nim
|
||||
- additional examples of how to use MIX in its default mode when `exit node == destination`:
|
||||
- https://github.com/logos-co/nim-libp2p-mix/blob/feat/runtime-mix-exit-destination-dispatch/examples/mix_ping_mix_node.nim
|
||||
- relevant DRAFT PR: https://github.com/logos-co/nim-libp2p-mix/pull/11
|
||||
- Standalone (extracted from the main repo for convenience)
|
||||
- https://github.com/logos-storage/libp2p-mix-ping-example
|
||||
- Transport over MIX
|
||||
- Transport layer over Mix - draft spec: https://hackmd.io/CykSpMIrRP6XA2byDiWurg
|
||||
- Transport layer abstraction over Mix (initial notes from Balazs): https://hackmd.io/-6VNSq4iSpSQGu3xdJ6rOA
|
||||
- Reference implementation in Haskel (from Balazs)
|
||||
- https://github.com/logos-storage/transport-over-mix
|
||||
- Nim implementation (placeholder):
|
||||
- https://github.com/logos-storage/libp2p-storage-mix-transport
|
||||
- includes some documents mirrored from Obsidian:
|
||||
- https://github.com/logos-storage/libp2p-storage-mix-transport/tree/master/docs
|
||||
- includes drafts implementations to encode the so-called "read-destination behavior" in the payload:
|
||||
- mix-read-behavior-option-1: https://github.com/logos-storage/libp2p-storage-mix-transport/tree/mix-read-behavior-option-1
|
||||
- mix-read-behavior-option-2:https://github.com/logos-storage/libp2p-storage-mix-transport/tree/mix-read-behavior-option-2
|
||||
- preferred
|
||||
- made it to a DRAFT PR on the Mix repo
|
||||
- https://github.com/logos-co/nim-libp2p-mix/pull/11
|
||||
- Hidden Services
|
||||
- Mix hidden service specification: https://hackmd.io/@codex-storage/BJ2V1TwsZg
|
||||
- https://github.com/logos-co/logos-lips/pull/330
|
||||
- Earlier documents
|
||||
- Logos-Storage Anonymous Publishing: https://hackmd.io/@codex-storage/Hyy8v2nrZg
|
||||
- New Block Exchange Protocol
|
||||
- New Block Protocol - Summary: https://hackmd.io/YKEKMFGgSAaHjVxKcz8n2w
|
||||
- Bandwidth-Delay Product Estimations: Are we Doing It Right?: https://hackmd.io/2brFqqXzS9GQ4Ei5xe0gLw
|
||||
|
||||
### Potential Next Steps
|
||||
|
||||
- if you are new to MIX: look at MIX THEORY above
|
||||
- if you want to see it action: look at MIX Implementation
|
||||
- with some background, you can start building the MIX transport:
|
||||
- Transport layer over Mix - draft spec: https://hackmd.io/CykSpMIrRP6XA2byDiWurg
|
||||
- Reference implementation in Haskel (from Balazs)
|
||||
- https://github.com/logos-storage/transport-over-mix
|
||||
- start building
|
||||
- the convention from the MIX implementation feels reasonable:
|
||||
- a libp2p `Connection` as the transport interface
|
||||
- start without erasure codding (can be added at a later step)
|
||||
@ -1,4 +1,4 @@
|
||||
The copy of this document can be found in [https://github.com/logos-storage/libp2p-storage-mix-transport/blob/master/docs/surb.md](https://github.com/logos-storage/libp2p-storage-mix-transport/blob/master/docs/surb.md). The content of this document should contain the most recent version.
|
||||
The copy of this document can be found in [https://github.com/logos-storage/libp2p-storage-mix-transport/blob/master/docs/surb.md](https://github.com/logos-storage/libp2p-storage-mix-transport/blob/master/docs/surb.md). The content available in the Obsidian vault should be considered the most recent version.
|
||||
|
||||
> This document belong to the series of [[Mix Implementation]] notes.
|
||||
|
||||
@ -7,11 +7,10 @@ vendored libp2p MIX implementation at
|
||||
`nimbledeps/pkgs2/libp2p-*/libp2p/protocols/mix`.
|
||||
|
||||
It maps the implementation to the MIX spec, with special attention to the newer
|
||||
SURB section in pull request 307:
|
||||
SURB section in [pull request 307](https://github.com/logos-co/logos-lips/pull/307):
|
||||
|
||||
- Published MIX LIP: https://lip.logos.co/ift-ts/raw/mix.html
|
||||
- Pull request 307: https://github.com/logos-co/logos-lips/pull/307
|
||||
- Pull request snapshot, Section 8.7: https://github.com/logos-co/logos-lips/blob/bfd845f11c5ee4edc1d425c7c4a2b941285fd9a3/docs/ift-ts/raw/mix.md#87-single-use-reply-blocks
|
||||
- Published MIX LIP: https://lip.logos.co/anoncomms/raw/mix.html
|
||||
- SURB section in the SPEC: https://lip.logos.co/anoncomms/raw/mix.html#87-single-use-reply-blocks
|
||||
|
||||
The published LIP still contains older wording saying reply support is not
|
||||
implemented yet. The pull request snapshot adds Section 8.7, which describes
|
||||
|
||||
@ -1,9 +1,8 @@
|
||||
The copy of this document can be found in [https://github.com/logos-storage/libp2p-storage-mix-transport/blob/master/docs/mix.md](https://github.com/logos-storage/libp2p-storage-mix-transport/blob/master/docs/mix.md). The content of this document should contain the most recent version.
|
||||
The copy of this document can be found in [https://github.com/logos-storage/libp2p-storage-mix-transport/blob/master/docs/mix.md](https://github.com/logos-storage/libp2p-storage-mix-transport/blob/master/docs/mix.md). The content available in the Obsidian vault should be considered the most recent version.
|
||||
|
||||
> This document belong to the series of [[Mix Implementation]] notes.
|
||||
|
||||
This document describes the MIX implementation vendored with this [project] under
|
||||
`nimbledeps/pkgs2/libp2p-*/libp2p/protocols/mix`. It focuses on how the code is
|
||||
This document describes the MIX implementation. It focuses on how the code is
|
||||
structured, what API surface is intended for callers, and what constraints matter
|
||||
when using MIX as a transport-like wrapper for other libp2p protocols.
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user