Donate BitcoinPOW.pl : 1LMofGNsTm4tMAzkPZH4qzK2qrLxu2pw2p
Możliwe jest uruchomienie Bitcoin Core jako usługi cebulowej Tor i połączenie się z takimi usługami.
Poniższe wskazówki zakładają, że masz proxy Tora działające na porcie 9050. Wiele dystrybucji domyślnie nasłuchuje proxy SOCKS na porcie 9050, ale inne mogą nie. W szczególności pakiet przeglądarki Tor domyślnie nasłuchuje na porcie 9150. Zobacz FAQ projektu Tor:TBBSocksPort, aby dowiedzieć się, jak poprawnie skonfigurować Tora.
Jak zobaczyć informacje o konfiguracji Tora poprzez Bitcoin Core
Istnieje kilka sposobów, aby zobaczyć swój lokalny adres cebuli w Bitcoin Core:
w dzienniku debugowania (grep dla „tor:” lub „AddLocal”)
na wyjściu RPC getnetworkinfo w sekcji „localaddresses”.
w wynikach panelu połączeń równorzędnych CLI -netinfo
Możesz ustawić opcję -debug=tor config rejestrowania, aby mieć w dzienniku debugowania dodatkowe informacje o konfiguracji Tora.
- Uruchom Bitcoin Core za serwerem proxy Tor
Pierwszym krokiem jest uruchomienie Bitcoin Core za serwerem proxy Tor. Spowoduje to już anonimizację wszystkich połączeń wychodzących, ale możliwe jest więcej.
-proxy=ip:port Set the proxy server. If SOCKS5 is selected (default), this proxy
server will be used to try to reach .onion addresses as well.
-onion=ip:port Set the proxy server to use for Tor onion services. You do not
need to set this if it's the same as -proxy. You can use -noonion
to explicitly disable access to onion services.
-listen When using -proxy, listening is disabled by default. If you want
to run an onion service (see next section), you'll need to enable
it explicitly.
-connect=X When behind a Tor proxy, you can specify .onion addresses instead
-addnode=X of IP addresses or hostnames in these parameters. It requires
-seednode=X SOCKS5. In Tor mode, such addresses can also be exchanged with
other P2P nodes.
-onlynet=onion Make outgoing connections only to .onion addresses. Incoming
connections are not affected by this option. This option can be
specified multiple times to allow multiple network types, e.g.
ipv4, ipv6, or onion.
W typowej sytuacji wystarczy uruchomić za proxy Tora:
./bitcoind -proxy=127.0.0.1:9050
2. Uruchom ukryty serwer Bitcoin Core
Jeśli odpowiednio skonfigurujesz swój system Tor, możliwe będzie, że Twój węzeł będzie dostępny także z sieci Tor. Dodaj te linie do swojego /etc/tor/torrc (lub równoważnego pliku konfiguracyjnego): Potrzebne tylko dla wersji Tora 0.2.7.0 i starszych wersji Tora. Nowsze wersje Tora znajdziesz w Sekcji 3.
HiddenServiceDir /var/lib/tor/bitcoin-service/
HiddenServicePort 8333 127.0.0.1:8334
HiddenServicePort 18333 127.0.0.1:18334
Katalog może być oczywiście inny, ale numery portów wirtualnych powinny być równe portowi nasłuchiwania P2P twojego bitcoinda (domyślnie 8333), a docelowe adresy i porty powinny być równe wiążącemu adresowi i portowi dla przychodzących połączeń Tor (127.0.0.1:8334 domyślnie).
-externalip=X You can tell bitcoin about its publicly reachable addresses using
this option, and this can be an onion address. Given the above
configuration, you can find your onion address in
/var/lib/tor/bitcoin-service/hostname. For connections
coming from unroutable addresses (such as 127.0.0.1, where the
Tor proxy typically runs), onion addresses are given
preference for your node to advertise itself with.
You can set multiple local addresses with -externalip. The
one that will be rumoured to a particular peer is the most
compatible one and also using heuristics, e.g. the address
with the most incoming connections, etc.
-listen You'll need to enable listening for incoming connections, as this
is off by default behind a proxy.
-discover When -externalip is specified, no attempt is made to discover local
IPv4 or IPv6 addresses. If you want to run a dual stack, reachable
from both Tor and IPv4 (or IPv6), you'll need to either pass your
other addresses using -externalip, or explicitly enable -discover.
Note that both addresses of a dual-stack system may be easily
linkable using traffic analysis.
W typowej sytuacji, gdy można się z Tobą skontaktować jedynie przez Tora, powinno to wystarczyć:
./bitcoind -proxy=127.0.0.1:9050 -externalip=7zvj7a2imdgkdbg4f2dryd5rgtrn7upivr5eeij4cicjh65pooxeshid.onion -listen
(oczywiście zamień adres .onion na własny). Należy zauważyć, że nadal słuchasz na wszystkich urządzeniach, a inny węzeł może nawiązać połączenie Clearnet, znając Twój adres. Aby temu zaradzić, dodatkowo powiąż adres swojego proxy Tor:
./bitcoind ... -bind=127.0.0.1
Jeśli nie zależy Ci zbytnio na ukrywaniu swojego węzła i chcesz być osiągalny także na IPv4, zamiast tego użyj Discover:
./bitcoind ... -discover
i otwórz port 8333 na swojej zaporze (lub użyj opcji -upnp).
Jeśli chcesz używać Tora tylko do osiągania adresów .onion, ale nie używać go jako serwera proxy do normalnej komunikacji IPv4/IPv6, użyj:
./bitcoind -onion=127.0.0.1:9050 -externalip=7zvj7a2imdgkdbg4f2dryd5rgtrn7upivr5eeij4cicjh65pooxeshid.onion -discover
3. Automatycznie słuchaj na Toru
Począwszy od wersji Tora 0.2.7.1 możliwe jest, poprzez API gniazd kontrolnych Tora, programowe tworzenie i niszczenie „efemerycznych” usług cebulowych. Bitcoin Core został zaktualizowany, aby z tego skorzystać.
Oznacza to, że jeśli Tor jest uruchomiony (i skonfigurowano odpowiednie uwierzytelnianie), Bitcoin Core automatycznie tworzy usługę cebulową do nasłuchiwania. Wpłynie to pozytywnie na liczbę dostępnych węzłów .onion.
Ta nowa funkcja jest domyślnie włączona, jeśli Bitcoin Core nasłuchuje (-listen) i do działania wymaga połączenia Tor. Można to wyraźnie wyłączyć za pomocą opcji -listenonion=0 i, jeśli nie jest wyłączone, skonfigurować przy użyciu ustawień -torcontrol i -torpassword. Aby wyświetlić szczegółowe informacje dotyczące debugowania, należy przekazać -debug=tor.
Łączenie się z interfejsem API gniazda kontrolnego Tora wymaga skonfigurowania jednej z dwóch metod uwierzytelniania. Wymaga także włączonego gniazda sterującego, np. umieść ControlPort 9051 w pliku konfiguracyjnym torrc. W celu uwierzytelnienia plików cookie użytkownik uruchamiający bitcoind musi mieć dostęp do odczytu pliku CookieAuthFile określonego w konfiguracji Tora. W niektórych przypadkach jest to wstępnie skonfigurowane, a utworzenie usługi cebulowej odbywa się automatycznie. Jeżeli przy opcji -debug=tor pojawią się problemy z uprawnieniami, można je rozwiązać dodając użytkownika Tora i użytkownika uruchamiającego bitcoind do tej samej grupy i odpowiednio ustawiając uprawnienia. W systemach opartych na Debianie użytkownik uruchamiający bitcoind może zostać dodany do grupy debian-tor, która posiada odpowiednie uprawnienia. Przed uruchomieniem bitcoind będziesz musiał się ponownie zalogować, aby umożliwić zastosowanie grupy debian-tor. W przeciwnym razie zobaczysz następujący komunikat: „tor: Plik cookie uwierzytelniania /run/tor/control.authcookie nie mógł zostać otwarty (sprawdź uprawnienia)” w debug.log.
Alternatywną metodą uwierzytelniania jest użycie opcji -torpassword=hasło. Hasło jest jawną formą tekstową, która została użyta podczas generowania zaszyfrowanego hasła dla opcji HashedControlPassword w pliku konfiguracyjnym Tora. Zaszyfrowane hasło można uzyskać za pomocą polecenia tor --hash-password hasło (przeczytaj instrukcję Tora, aby uzyskać więcej informacji).
4. Zalecenia dotyczące prywatności
Nie dodawaj niczego poza portami Bitcoin Core do usługi cebulowej utworzonej w sekcji 2. Jeśli prowadzisz także usługę internetową, utwórz dla niej nową usługę cebulową. W przeciwnym razie łączenie ich będzie trywialne, co może zmniejszyć prywatność. Usługi ukryte tworzone automatycznie (jak w punkcie 3) zawsze mają otwarty tylko jeden port.
https://github.com/bitcoin-pow/BitcoinPoW/blob/23.x/doc/tor.md
https://avlab.pl/pi-hole-skonfiguruj-serwer-dns/
https://bitcoin.stackexchange.com/questions/114781/dns-seeds-for-torv3
https://bitcoin.stackexchange.com/questions/105175/no-new-updatetip-just-pre-allocating-up-to-position
https://bitcoin.org/en/full-node#minimum-requirements