Ogromna większość węzłów za NAT (bez przekierowania portów) - Stan sieci jest kiepski

Wygadany
Posty: 611
Rejestracja: 6 lutego 2012
Reputacja: 102
Reputacja postu: 
2
Napiwki za post: 0.0001 BTC

Ogromna większość węzłów za NAT (bez przekierowania portów) - Stan sieci jest kiepski

Postautor: McGravier » wtorek, 20 czerwca 2017, 12:55

Jakiś czas temu dyskutowałem z LukeJr na reddicie,


i z naszej wymiany zdań dowiedziałem się czegoś bardzo niepokojącego:
UPnP was disabled by default after a number of security vulnerabilities in the UPnP code in v0.12 (2015). Furthermore, there is no real need for more listening nodes - the important part is that people run full nodes at all, not whether they are listening.
UPnP jest ważnym mechanizmem automatycznej konfiguracji, która zajmuje się między innymi przekierowaniem portów. Węzeł który nie posiada przekierowanych portów, jest w stanie nawiązać połączenie z węzłem z otwartymi portami, ale nie może połączyć się z drugim węzłem który ma zamknięte porty. Efektywnie węzeł z zamkniętymi portami musi być obsłużony przez węzeł z otwartymi.

Pogrzebałem w necie, i znalazłem dwie metody zliczania ilości węzłów
- pierwsza opierająca się crawlerze łączącym się aktywnie z węzłami pozwala na wykrywanie węzłów posiadających przekierowane porty
przykład:
https://bitnodes.21.co/dashboard/
https://coin.dance/nodes/all

- druga (pasywna) zlicza wszystkie węzły, które łączą się z crawlerem - narzędzie napisał zresztą sam LukeJr


Statystyki są dosyć brzydkie.
Wedle coindance, pod koniec marca 2017 było około 6750 węzłów z otwartymi portami.

W tym samym czasie ogólna ilość węzłów wynosiła (wg pasywnego crawlera) ok. 57000 węzłów

Oznacza to efektywnie że te 6750 węzłów musi obsługiwać pozostałe 50 000!!!

Mimo iż mamy zaledwie 1MB bloki = 4,3GB miesięcznie (plus jakiś tam overhead), niektórzy użytkownicy raportują że ich węzły BTC muszą wysłać nawet 200GB danych na miesiąc. SegWit czy jakie kolwiek inne zwiększenie rozmiaru bloku, wywinduje te wymagania jeszcze wyżej.

Nie wiem czym kieruje się Core, prowadząc politykę domyślnego wyłączenia UPnP - moim zdaniem bugi powinny zostać załatane i funkcja domyślnie włączona. Inaczej nadal otwarte węzły (które muszą być konfigurowane ręcznie) będą musiały obsługiwać masę pasożytów, a zwiększenie bloku tylko pogorszy sprawę. Co gorsza to tak pracuje już od dwóch lat - taki stan rzeczy zakrawa na niekompetencję...

Bardzo Zły Moderator
Awatar użytkownika
Posty: 14380
Rejestracja: 16 kwietnia 2012
Reputacja: 2659
Reputacja postu: 
0
Napiwki za post: 0 BTC
Lokalizacja: Polska/Wwa/GW

Ogromna większość węzłów za NAT (bez przekierowania portów) - Stan sieci jest kiepski

Postautor: rav3n_pl » wtorek, 20 czerwca 2017, 14:28

Gros ludzi ma zmienne IP, więc ta liczba może być znacznie zawyżona.
Aż z ciekawości zdejmę limit połączeń przychodzących i zobaczę ile uda mi się uzyskać :)

Dodano po 56 sekundach:
McGravier pisze: będą musiały obsługiwać masę pasożytów
Ojtam, to tylko pijawki... ;]
Piffko: PLC/BTC 1Rav3nkMayCijuhzcYemMiPYsvcaiwHni
BIP39 Mnemonic z talii kart
Bitcoin Core 0.26.1
Linki do YT, TT, LI i reszty

Wygadany
Posty: 611
Rejestracja: 6 lutego 2012
Reputacja: 102
Reputacja postu: 
0
Napiwki za post: 0 BTC

Ogromna większość węzłów za NAT (bez przekierowania portów) - Stan sieci jest kiepski

Postautor: McGravier » wtorek, 20 czerwca 2017, 15:21

rav3n_pl pisze: Gros ludzi ma zmienne IP, więc ta liczba może być znacznie zawyżona.
To prawda - zwłaszcza jeśli pomiar był wykonywany w długim okresie czasu (powyżej 24h)

Ale nawet jeśli mamy 20-30% przekłamania, to i tak sytuację można mocno poprawić.

Weteran
Awatar użytkownika
Posty: 1902
Rejestracja: 25 października 2013
Reputacja: 639
Reputacja postu: 
0
Napiwki za post: 0 BTC

Ogromna większość węzłów za NAT (bez przekierowania portów) - Stan sieci jest kiepski

Postautor: baggins » wtorek, 20 czerwca 2017, 15:37

nie wiem czy to jest realny problem... ja mam prehistoryczne łącze 1Mb i około 60 nawiązanych połączeń (kiedyś na szybszym dobijało do 100) - i jeszcze youtube chodzi więc mogę obsługiwać tych bez otwartych portów bez bólu ;)
Wszystko co piszę jest jedynie moją opinią. Nie roszczę sobie prawa do głoszenia prawdy objawionej. Mylić się może każdy.
LEWAR TWÓJ WRÓG!!!

NoMoreCore

Bardzo Zły Moderator
Awatar użytkownika
Posty: 14380
Rejestracja: 16 kwietnia 2012
Reputacja: 2659
Reputacja postu: 
0
Napiwki za post: 0 BTC
Lokalizacja: Polska/Wwa/GW

Ogromna większość węzłów za NAT (bez przekierowania portów) - Stan sieci jest kiepski

Postautor: rav3n_pl » wtorek, 20 czerwca 2017, 15:51

W sumie nie przesadzajmy. 2MB blok (4MB danych w segwit) na 10 minut to ciągły strumień 6kb/s, łącze 1MB zatkamy dopiero 20 klientami którzy ciągną tylko od nas, a klient ma co najmniej 6 połączeń. Czyli dopiero ok 120 połączeń może nas wysycić.
Piffko: PLC/BTC 1Rav3nkMayCijuhzcYemMiPYsvcaiwHni
BIP39 Mnemonic z talii kart
Bitcoin Core 0.26.1
Linki do YT, TT, LI i reszty

Weteran
Awatar użytkownika
Posty: 3439
Rejestracja: 4 sierpnia 2011
Reputacja: 479
Reputacja postu: 
1
Napiwki za post: 0 BTC
Napiwki: 1AqwNEzAp5GE46jebmZYqvq3tXt19iChJN

Ogromna większość węzłów za NAT (bez przekierowania portów) - Stan sieci jest kiepski

Postautor: powered » wtorek, 20 czerwca 2017, 17:38

A jakie są wnioski? Z czego to wynika?
Wszystkie nowe routery domyślnie mają wyłączone UPnP?
Czy to bitcoin nie umie współpracować z UPnP?
Czy większość administratorów sieci celowo wyłącza UPnP?

Wygadany
Posty: 611
Rejestracja: 6 lutego 2012
Reputacja: 102
Reputacja postu: 
0
Napiwki za post: 0.0001 BTC

Ogromna większość węzłów za NAT (bez przekierowania portów) - Stan sieci jest kiepski

Postautor: McGravier » wtorek, 20 czerwca 2017, 18:59

powered pisze: A jakie są wnioski? Z czego to wynika?
Wszystkie nowe routery domyślnie mają wyłączone UPnP?
Czy to bitcoin nie umie współpracować z UPnP?
Czy większość administratorów sieci celowo wyłącza UPnP?
- Praktycznie wszystkie routery mają domyślnie włączone UPnP
- Klient bitcoin Core posiada zdolność do współpracy z UPnP ale jest ona domyślnie wyłączona
- Sądzę że większość administratorów sieci pozostawia UPnP włączone (wedle ustawień domyślnych)

Niestety o przyczyny wyłączenia UPnP w kliencie Core, musisz pytać deweloperów tego klienta - ja nie widzę uzasadnienia innego jak zwykła niedbałość

Bardzo Zły Moderator
Awatar użytkownika
Posty: 14380
Rejestracja: 16 kwietnia 2012
Reputacja: 2659
Reputacja postu: 
1
Napiwki za post: 0 BTC
Lokalizacja: Polska/Wwa/GW

Ogromna większość węzłów za NAT (bez przekierowania portów) - Stan sieci jest kiepski

Postautor: rav3n_pl » wtorek, 20 czerwca 2017, 22:12

UPnP w Core zostało wyłączone ze względu na masę routerów które mając aktywne i działające przekierowanie UPnP stawały się podatne na ataki z zewnątrz ORAZ błąd w bibliotece używanej przez core: https://bitcoin.org/en/alert/2015-10-12 ... nerability (do wersji 0.11).

Nie wiem, czy sytuacja z routerami się poprawiła w ostatnim czasie, ale bez ustawienia w kliencie włączenia UPnP (klient domyślnie kompilowany jest z modułem UPnP ale jest on wyłączony w domyślnej konfiguracji) Core musi polegać na userze, że ten łaskawie otworzy odpowiedni port.

Włączenie UPnP w QT to ptaszek w konfiguracji, a w każdym dodatnie "upnp=1" w bitcoin.conf załatwia temat.
Piffko: PLC/BTC 1Rav3nkMayCijuhzcYemMiPYsvcaiwHni
BIP39 Mnemonic z talii kart
Bitcoin Core 0.26.1
Linki do YT, TT, LI i reszty

Weteran
Awatar użytkownika
Posty: 3439
Rejestracja: 4 sierpnia 2011
Reputacja: 479
Reputacja postu: 
0
Napiwki za post: 0 BTC
Napiwki: 1AqwNEzAp5GE46jebmZYqvq3tXt19iChJN

Ogromna większość węzłów za NAT (bez przekierowania portów) - Stan sieci jest kiepski

Postautor: powered » środa, 21 czerwca 2017, 03:58

W Core w tym samym czasie pewnie zostało wyłączone dużo więcej funkcji. Teraz kojarzę że od pewnej wersji nie mogłem kopać solo gdy core był na innym komputerze w sieci lokalnej i nie umiałem znaleźć powodu w czym problem.

Wygadany
Posty: 611
Rejestracja: 6 lutego 2012
Reputacja: 102
Reputacja postu: 
0
Napiwki za post: 0 BTC

Ogromna większość węzłów za NAT (bez przekierowania portów) - Stan sieci jest kiepski

Postautor: McGravier » środa, 21 czerwca 2017, 13:02

rav3n_pl pisze: UPnP w Core zostało wyłączone ze względu na masę routerów które mając aktywne i działające przekierowanie UPnP stawały się podatne na ataki z zewnątrz
To ciekawe, pamiętam problem z wadliwym kodem w Core, ale o tym że na rynku jest masa dziurawych routerów nie wiedziałem - masz jakieś linki z dodatkowymi informacjami na ten temat?

I jak to się ma do innych projektów (zarówno kryptowalutowych jak i pozostałych) które mają domyślnie włączone UPnP?

Bardzo Zły Moderator
Awatar użytkownika
Posty: 14380
Rejestracja: 16 kwietnia 2012
Reputacja: 2659
Reputacja postu: 
1
Napiwki za post: 0 BTC
Lokalizacja: Polska/Wwa/GW

Ogromna większość węzłów za NAT (bez przekierowania portów) - Stan sieci jest kiepski

Postautor: rav3n_pl » środa, 21 czerwca 2017, 13:44

Piffko: PLC/BTC 1Rav3nkMayCijuhzcYemMiPYsvcaiwHni
BIP39 Mnemonic z talii kart
Bitcoin Core 0.26.1
Linki do YT, TT, LI i reszty

Wróć do „Bitcoin”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 48 gości