From 47c0d02f126c73755288c3084402098567964329 Mon Sep 17 00:00:00 2001 From: Vasil Dimov Date: Thu, 9 Jun 2022 12:04:33 +0200 Subject: doc: document I2P transient addresses usage in doc/i2p.md --- doc/i2p.md | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) (limited to 'doc') diff --git a/doc/i2p.md b/doc/i2p.md index 39f65c4e5f..1599c2fe0f 100644 --- a/doc/i2p.md +++ b/doc/i2p.md @@ -47,9 +47,26 @@ In a typical situation, this suffices: bitcoind -i2psam=127.0.0.1:7656 ``` -The first time Bitcoin Core connects to the I2P router, its I2P address (and -corresponding private key) will be automatically generated and saved in a file -named `i2p_private_key` in the Bitcoin Core data directory. +The first time Bitcoin Core connects to the I2P router, if +`-i2pacceptincoming=1`, then it will automatically generate a persistent I2P +address and its corresponding private key. The private key will be saved in a +file named `i2p_private_key` in the Bitcoin Core data directory. The persistent +I2P address is used for accepting incoming connections and for making outgoing +connections if `-i2pacceptincoming=1`. If `-i2pacceptincoming=0` then only +outbound I2P connections are made and a different transient I2P address is used +for each connection to improve privacy. + +## Persistent vs transient I2P addresses + +In I2P connections, the connection receiver sees the I2P address of the +connection initiator. This is unlike the Tor network where the recipient does +not know who is connecting to them and can't tell if two connections are from +the same peer or not. + +If an I2P node is not accepting incoming connections, then Bitcoin Core uses +random, one-time, transient I2P addresses for itself for outbound connections +to make it harder to discriminate, fingerprint or analyze it based on its I2P +address. ## Additional configuration options related to I2P @@ -85,7 +102,8 @@ one of the networks has issues. ## I2P-related information in Bitcoin Core -There are several ways to see your I2P address in Bitcoin Core: +There are several ways to see your I2P address in Bitcoin Core if accepting +incoming I2P connections (`-i2pacceptincoming`): - in the "Local addresses" output of CLI `-netinfo` - in the "localaddresses" output of RPC `getnetworkinfo` - in the debug log (grep for `AddLocal`; the I2P address ends in `.b32.i2p`) -- cgit v1.2.3 From d7ec30b648721133b5a5ac3f52275f779c54310f Mon Sep 17 00:00:00 2001 From: Vasil Dimov Date: Thu, 9 Jun 2022 12:10:37 +0200 Subject: doc: add release notes about the I2P transient addresses --- doc/release-notes-25355.md | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 doc/release-notes-25355.md (limited to 'doc') diff --git a/doc/release-notes-25355.md b/doc/release-notes-25355.md new file mode 100644 index 0000000000..34dd2c3687 --- /dev/null +++ b/doc/release-notes-25355.md @@ -0,0 +1,8 @@ +Notable changes +=============== + +P2P and network changes +----------------------- + +- With I2P connections, a new, transient address is used for each outbound + connection if `-i2pacceptincoming=0`. (#25355) -- cgit v1.2.3