mirror of
https://github.com/darkrenaissance/darkfi.git
synced 2026-01-09 14:48:08 -05:00
doc/ p2p-network.md: add monero source paper and some final formatting
This commit is contained in:
@@ -171,6 +171,7 @@ connections were established are classified as anchor nodes, and stored
|
||||
in the white list. Monero ensures that every node is connected to at
|
||||
least two anchor nodes.
|
||||
|
||||
[Source](https://eprint.iacr.org/2019/411.pdf)
|
||||
|
||||
### Scope of the update
|
||||
|
||||
@@ -184,10 +185,10 @@ selects random peers from its greylist and pings them. If a peer is
|
||||
responsive, update the `last_seen` field and add it to the whitelist,
|
||||
otherwise remove it from the greylist. [STATUS: COMPLETE/ TESTING]
|
||||
|
||||
* Lilith currently checks connections on the host list using a method
|
||||
* `lilith` currently checks connections on the host list using a method
|
||||
called `periodic_purge` that gets hosts from the host list, copies them to
|
||||
a local ring buffer, and periodically handshakes the connections. If the
|
||||
handshake fails, Lilith removes the host from the hostlist. This protocol
|
||||
handshake fails, `lilith` removes the host from the hostlist. This protocol
|
||||
has been replaced by a method called `whitelist_cleansing`. Like the
|
||||
prior method, `whitelist_cleansing` pulls connections from the whitelist,
|
||||
copies them to a ring buffer and handshakes them periodically. If they
|
||||
@@ -195,18 +196,18 @@ respond, the `last_seen` is updated, otherwise nothing happens. This is
|
||||
loosely based on Monero's `IDLE_HANDSHAKE` protocol. [STATUS: COMPLETE/
|
||||
REEVALUATE/ TESTING]
|
||||
|
||||
* SeedsyncSession: on receiving whitelisted peers, append them to
|
||||
greylist. [STATUS: INCOMPLETE/ FIXME]
|
||||
|
||||
* ProtocolAddress: On receiving an address, append it to the greylist. On
|
||||
receiving get_addr, fetch an address from the whitelist. [STATUS COMPLETE/
|
||||
* `ProtocolAddress`: On receiving an address, append it to the greylist. On
|
||||
receiving `get_addr`, fetch an address from the whitelist. [STATUS: COMPLETE/
|
||||
TESTING].
|
||||
|
||||
* ProtocolSeed: Send our address to the seed node, and on receiving
|
||||
* `SeedSyncSession`: on receiving whitelisted peers, append them to
|
||||
greylist. [STATUS: INCOMPLETE/ FIXME]
|
||||
|
||||
* `ProtocolSeed`: Send our address to the seed node, and on receiving
|
||||
addresses, append them to the whitelist. [STATUS: INCOMPLETE/ FIXME]
|
||||
|
||||
* Create a new list in `hosts.rs` called `anchorlist`. OutboundSession
|
||||
first tries to connect to address in the `anchorlist` on start(). [STATUS:
|
||||
* Create a new list in `hosts.rs` called `anchorlist`. `OutboundSession`
|
||||
first tries to connect to address in the `anchorlist` on `start()`. [STATUS:
|
||||
TODO]
|
||||
|
||||
* Potentially create a new Protocol to send the top 250 nodes from the
|
||||
|
||||
Reference in New Issue
Block a user