diff --git a/knowledge-base/moneropedia/destination.md b/knowledge-base/moneropedia/destination.md index cdeb11c9..7971da57 100644 --- a/knowledge-base/moneropedia/destination.md +++ b/knowledge-base/moneropedia/destination.md @@ -3,17 +3,17 @@ layout: moneropedia entry: "Destination" tags: ["kovri"] terms: ["destination"] -summary: "A Kovri/I2P address that serves as a final endpoint" +summary: "A in-net address that serves as a final endpoint" --- ### The Basics -A destination is the @I2P address of the final endpoint you are trying to connect to (an @I2P website or service). +A destination is the @I2P @in-net address of the final endpoint you are trying to connect to (example: an @I2P website, service, or simply a peer). TODO(anonimal): finish ### In-depth Information -An @I2P destination can be encoded into a @base32-address or @base64-address. Most users will only care about @base32-address or a `.i2p` hostname while, internally, @Kovri will use the @base64-address. +An @I2P destination can be encoded into a @base32-address or @base64-address. Most users will only care about @base32-address or a `.i2p` hostname while, internally, @Kovri/@I2P will use the @base64-address. TODO(anonimal): finish diff --git a/knowledge-base/moneropedia/floodfill.md b/knowledge-base/moneropedia/floodfill.md index c8f88645..ca3164b4 100644 --- a/knowledge-base/moneropedia/floodfill.md +++ b/knowledge-base/moneropedia/floodfill.md @@ -3,17 +3,13 @@ layout: moneropedia entry: "Floodfill" tags: ["kovri"] terms: ["floodfill"] -summary: "TODO(anonimal): finish" +summary: "An I2P router which maintains a distributed network-database" --- ### The Basics -TODO(anonimal): finish +By actively managing a distributed network-database, a router with *floodfill* capability has the ability to help maintain network stability and resiliancy while also being decentralized and trust-less. ### In-depth information -TODO(anonimal): finish - -### Notes - -TODO(anonimal): finish +Though floodfill itself is a simple storage system, the technical underpinnings of floodfill as it relates to @network-database and other protocols within @I2P are much more complex. Visit the [Network Database](https://geti2p.net/en/docs/how/network-database) page for details. diff --git a/knowledge-base/moneropedia/garlic-routing.md b/knowledge-base/moneropedia/garlic-routing.md index a5b8360c..8b8b6cac 100644 --- a/knowledge-base/moneropedia/garlic-routing.md +++ b/knowledge-base/moneropedia/garlic-routing.md @@ -10,7 +10,7 @@ summary: "Routing technology as implemented in Kovri/I2P" The term *Garlic Routing* has a diverse history of varying interpretations. -As it currently stands, Monero defines *Garlic Routing* as the method in which @Kovri and @I2P create a message-based anonymous overlay network of internet peers. +As it currently stands, Monero defines *Garlic Routing* as the method in which @Kovri and @I2P create a @message-based anonymous overlay network of internet peers. ### History @@ -25,18 +25,19 @@ As recent as October of 2016, [#tor-dev](https://oftc.net/WebChat/) has offered >during the free haven brainstorming, there was a moment where we described a routing mechanism, and somebody said "garlic routing!", and everybody laughed. so we for sure thought we had invented the name, at the time. +Note: permission to use the aforementioned quotes were granted by Nick Mathewson and Roger Dingledine + ### In-depth Information In technical terms, for @Kovri and @I2P, *Garlic Routing* translates to any/all of the following: -1. Layered Encryption -2. Bundling multiple messages together (garlic cloves) -3. ElGamal/AES Encryption +- Layered Encryption (like Onion Routing) +- Bundling multiple @messages together (garlic cloves) +- ElGamal/AES Encryption -Note: as seen in [Tor](https://torproject.org/), *Onion Routing* also uses layered encryption but does not use ElGamal and is not message-based. +Note: though [Tor](https://torproject.org/) uses layered encryption, Tor does not use ElGamal and is not message-based. ### Notes -- Permission to use the aforementioned quotes granted by Nick Mathewson and Roger Dingledine -- For more technical details, read [Garlic Routing](https://geti2p.net/en/docs/how/garlic-routing) -- Another way to envision layered encryption (in terms of Onion/Garlic Routing) is by replacing the onion/garlic with a [Matryoshka doll](https://en.wikipedia.org/wiki/Matryoshka_doll) +- In terms of Onion/Garlic Routing, another way to envision layered encryption is by replacing the onion/garlic with a [Matryoshka doll](https://en.wikipedia.org/wiki/Matryoshka_doll) +- For more technical details on Garlic Routing, read the @Java-I2P entry on [Garlic Routing](https://geti2p.net/en/docs/how/garlic-routing) diff --git a/knowledge-base/moneropedia/i2np.md b/knowledge-base/moneropedia/i2np.md new file mode 100644 index 00000000..59dd721d --- /dev/null +++ b/knowledge-base/moneropedia/i2np.md @@ -0,0 +1,15 @@ +--- +layout: moneropedia +entry: "I2NP" +tags: ["kovri"] +terms: ["I2NP", "message", "messages"] +summary: "TODO(anonimal): finish" +--- + +### The Basics + +TODO(anonimal): finish + +### In-depth information + +TODO(anonimal): finish diff --git a/knowledge-base/moneropedia/in-net.md b/knowledge-base/moneropedia/in-net.md new file mode 100644 index 00000000..d2177652 --- /dev/null +++ b/knowledge-base/moneropedia/in-net.md @@ -0,0 +1,15 @@ +--- +layout: moneropedia +entry: "In-net" +tags: ["kovri"] +terms: ["in-net"] +summary: "Within the I2P network" +--- + +### The Basics + +**In-net** is a [colloquial](https://en.wikipedia.org/wiki/Colloquial) term of which describes activities, protocols, or functionality that exist *only* within the @I2P network. + +### In-depth information + +Example: *in-net download* would be defined as downloading *only* within @I2P. diff --git a/knowledge-base/moneropedia/kovri.md b/knowledge-base/moneropedia/kovri.md index 9f9db49d..754bd9c8 100644 --- a/knowledge-base/moneropedia/kovri.md +++ b/knowledge-base/moneropedia/kovri.md @@ -16,14 +16,55 @@ TODO(anonimal): finish @address-book -@eepsite (@hidden-service, @garlic-site, @garlic-service) +@base32-address + +@base64-address + +@canonically-unique-host @clearnet -@reseed @network-database @router-info @floodfill @lease-set +@data-directory + +@destination + +@eepsite (@hidden-service, @garlic-site, @garlic-service) + +@floodfill + +@garlic-routing + +@i2np + +@i2p + +@in-net + +@java-i2p + +@jump-service + +@kovri + +@lease + +@leaseset + +@locally-unique-host + +@message @messages + +@network-database + +@reseed + +@router-info + +@subscription + +@tunnel - Kovri Cryptography (encryption, signatures, etc.) - Kovri Transports (SSU/NTCP) -- Kovri Tunnels (garlic routing, I2NP, etc.) - Kovri I2PControl (links to API, clients + qtoopie) - ...more/what else? diff --git a/knowledge-base/moneropedia/lease-set.md b/knowledge-base/moneropedia/lease-set.md index a47a0639..0c8cb332 100644 --- a/knowledge-base/moneropedia/lease-set.md +++ b/knowledge-base/moneropedia/lease-set.md @@ -1,19 +1,25 @@ --- layout: moneropedia -entry: "Lease-set" +entry: "Lease-Set" tags: ["kovri"] -terms: ["lease-set"] -summary: "TODO(anonimal): finish" +terms: ["LeaseSet"] +summary: "Contains all currently authorized Leases for a particular I2P Destination" --- ### The Basics -TODO(anonimal): finish +A Lease-Set contains a set of authorized @leases (and other related information) for a particular @destination. ### In-depth information -TODO(anonimal): finish +A Lease-Set contains: + +- all of the currently authorized @leases for a particular @destination +- the public key to which garlic messages can be encrypted (see @garlic-routing) +- the signing public key that can be used to revoke this particular version of the structure + +The Lease-Set is one of the two structures stored in the @network-database (the other being @router-info), and is keyed under the SHA256 of the contained @destination. ### Notes -TODO(anonimal): finish +For further details, read @Java-I2P's [LeaseSet](https://geti2p.net/en/docs/how/network-database#leaseSet) diff --git a/knowledge-base/moneropedia/lease.md b/knowledge-base/moneropedia/lease.md new file mode 100644 index 00000000..f3234d8c --- /dev/null +++ b/knowledge-base/moneropedia/lease.md @@ -0,0 +1,15 @@ +--- +layout: moneropedia +entry: "Lease" +tags: ["kovri"] +terms: ["lease", "leases"] +summary: "Authorizes an I2P tunnel to receive messages targeting a destination" +--- + +### The Basics + +A lease defines the authorization for a particular @I2P @tunnel to receive a @messages targeting a @destination. + +### In-depth information + +For further details, read @Java-I2P's [Lease](https://geti2p.net/spec/common-structures#lease) diff --git a/knowledge-base/moneropedia/router-info.md b/knowledge-base/moneropedia/router-info.md index 0b8adf8c..97455e46 100644 --- a/knowledge-base/moneropedia/router-info.md +++ b/knowledge-base/moneropedia/router-info.md @@ -3,12 +3,12 @@ layout: moneropedia entry: "Router-Info" tags: ["kovri"] terms: ["router-info"] -summary: "A file/data structure which contains an I2P peer's needed network information" +summary: "A data structure or file which contains an I2P peer's needed network information" --- ### The Basics -Router-Info is a file/data structure which contains all needed information to locate, identity, and communicate with an @I2P peer. This file/data structure includes IP address, router identity, other misc. technical details; is needed for @network-database and is published to @floodfill routers. +Router-Info is a data structure (periodically written to a [binary file](https://en.wikipedia.org/wiki/Binary_file)) which contains all needed information to locate, identity, and communicate with an @I2P peer. Router-Info includes IP address, router identity, other misc. technical details; is needed for @network-database and is published to @floodfill routers. ### In-depth information diff --git a/knowledge-base/moneropedia/tunnel.md b/knowledge-base/moneropedia/tunnel.md new file mode 100644 index 00000000..8b130404 --- /dev/null +++ b/knowledge-base/moneropedia/tunnel.md @@ -0,0 +1,15 @@ +--- +layout: moneropedia +entry: "Tunnel" +tags: ["kovri"] +terms: ["tunnel"] +summary: "TODO(anonimal): finish" +--- + +### The Basics + +TODO(anonimal): finish + +### In-depth information + +TODO(anonimal): finish