@@ -45,27 +45,6 @@ In a typical situation, this suffices:
45
45
bitcoind -i2psam=127.0.0.1:7656
46
46
```
47
47
48
- The first time Bitcoin Core connects to the I2P router, if
49
- ` -i2pacceptincoming=1 ` , then it will automatically generate a persistent I2P
50
- address and its corresponding private key. The private key will be saved in a
51
- file named ` i2p_private_key ` in the Bitcoin Core data directory. The persistent
52
- I2P address is used for accepting incoming connections and for making outgoing
53
- connections if ` -i2pacceptincoming=1 ` . If ` -i2pacceptincoming=0 ` then only
54
- outbound I2P connections are made and a different transient I2P address is used
55
- for each connection to improve privacy.
56
-
57
- ## Persistent vs transient I2P addresses
58
-
59
- In I2P connections, the connection receiver sees the I2P address of the
60
- connection initiator. This is unlike the Tor network where the recipient does
61
- not know who is connecting to them and can't tell if two connections are from
62
- the same peer or not.
63
-
64
- If an I2P node is not accepting incoming connections, then Bitcoin Core uses
65
- random, one-time, transient I2P addresses for itself for outbound connections
66
- to make it harder to discriminate, fingerprint or analyze it based on its I2P
67
- address.
68
-
69
48
## Additional configuration options related to I2P
70
49
71
50
```
@@ -98,7 +77,29 @@ In general, a node can be run with both onion and I2P hidden services (or
98
77
any/all of IPv4/IPv6/onion/I2P/CJDNS), which can provide a potential fallback if
99
78
one of the networks has issues.
100
79
101
- ## I2P-related information in Bitcoin Core
80
+ ## Persistent vs transient I2P addresses
81
+
82
+ The first time Bitcoin Core connects to the I2P router, it automatically
83
+ generates a persistent I2P address and its corresponding private key by default
84
+ or if ` -i2pacceptincoming=1 ` is set. The private key is saved in a file named
85
+ ` i2p_private_key ` in the Bitcoin Core data directory. The persistent I2P
86
+ address is used for making outbound connections and accepting inbound
87
+ connections.
88
+
89
+ In the I2P network, the receiver of an inbound connection sees the address of
90
+ the initiator. This is unlike the Tor network, where the recipient does not
91
+ know who is connecting to it.
92
+
93
+ If your node is configured by setting ` -i2pacceptincoming=0 ` to not accept
94
+ inbound I2P connections, then it will use a random transient I2P address for
95
+ itself on each outbound connection to make it harder to discriminate,
96
+ fingerprint or analyze it based on its I2P address.
97
+
98
+ I2P addresses are designed to be long-lived. Waiting for tunnels to be built
99
+ for every peer connection adds delay to connection setup time. Therefore, I2P
100
+ listening should only be turned off if really needed.
101
+
102
+ ## Fetching I2P-related information from Bitcoin Core
102
103
103
104
There are several ways to see your I2P address in Bitcoin Core if accepting
104
105
incoming I2P connections (` -i2pacceptincoming ` ):
0 commit comments