Jak se najdou dva body v P2P síti?

Pete

Jak se najdou dva body v P2P síti?
« kdy: 24. 06. 2013, 11:00:13 »
Zdravim,

na P2P mi nie je jedno jasne. Ako sa "najdu" dva body? Dajme tomu pri torrentoch je to ok, lebo napriklad piratebay drzi zoznam kto dany content ma.. Teda tak tomu byvalo, s magnet linkom je to inak.. Ok.

Ale ako to je napriklad pri bitcoine? Ked zapnem minera, tak ako najdem ostatnych minerov? A stiahnem popripade spolupracujem na blockchain.... ? Ako toto hladanie funguje mi nejde do hlavy? Snad nejdem od IP do IP jednu po druhej a neklopem tam a nepytam sa na to ci tam niekto nahodou neminuje bitcoiny nie?

No a keby predsa, mame P2P bez serveru, a dajme tomu su zapnuty LEN dvaja klienti, nie viaceri, len dvaja, a obaja su schovany za NATom... tak aj pri nekonecno casu sa nikdy nenajdu nie? Takze vlastne P2P pri bitcoine napriklad, spolieha na to, ze niekto, co i len jediny ma verejnu IP a da sa najst? A potom prezradi info o ostatnych dalej?

Chapem tomu pravne?

Dik
« Poslední změna: 24. 06. 2013, 13:57:53 od Petr Krčmář »


Jenda

Re:P2P otazka
« Odpověď #1 kdy: 24. 06. 2013, 11:56:18 »
Bitcoin i Tor mají hardcoded IP/DNS adresy mnoha „stálých“ peerů. Magnet link funguje AFAIK podobně.

Pete

Re:P2P otazka
« Odpověď #2 kdy: 24. 06. 2013, 12:01:53 »
Aha! Okej .... hmmmmmm. Hardcoded.... meh, napaci sa mi to :)

nou

Re:Jak se najdou dva body v P2P síti?
« Odpověď #3 kdy: 24. 06. 2013, 14:20:15 »
dokonale P2P siet sa myslim neda spravit. myslim ze jedina mozna alternativa je ze by klient zacal nahodne skenovat IP a hladat ineho klienta. ak by ho nasiel tak by si vymenily zoznam inych peerov co poznaju. to by ale bolo pouzitelne iba ak by boli klienti naistalovany na dostatocne velkom % IP.

Lenin POWER!

  • ****
  • 434
  • Nekecat a delat!
    • Zobrazit profil
    • Tribut Leninovi
    • E-mail
Re:Jak se najdou dva body v P2P síti?
« Odpověď #4 kdy: 24. 06. 2013, 15:36:45 »
Nejak se musi dozvedet adresy alespon nekolika dalsich uzlu aby se mohl ptat dal. Starej bitcoin k tomu pouzival IRC, Litecoin ho jeste pouziva dodnes viz irc.smutfairy.com Kdyz se tam prihlasite a vlezete na #litecoin00 tak uvidite vsechny peery v kanalu. Tohle ma nevyhodu ze se to da snadno zablokovat.

Do gnutely se musely ty prvotni peery rucne zadat. bit torrent klienti se nauci nejake ip adresy z trackeru kdyz tahaji torrent a na dalsi se dobouchaji pres DHT, kazdyho pripojenyho peera se zkusi zeptat pres DHT. kazdemu uzlu staci znat adresy cca 100 ostatnich, pouziva se max. 5 urovni vnoreni. Prakticky to DHT funguje skvele, do peti minut se pocitace vzajemne najdou.

Nevyhoda DHT je ze se da snadno DDOSIT, stejne jako se snadno da ddosit hidden service directory v TORu. DDOSIT se to da protoze vite kde je ulozen ten hash ktery chcete znepristupnit. Aby se tomu zabranilo je potreba ty tokeny nerozdelovat rovnomerne podle ID uzlu, ale udelat virtual nodes.


Pete

Re:Jak se najdou dva body v P2P síti?
« Odpověď #5 kdy: 24. 06. 2013, 16:38:18 »
Diki, zauimave

j

Re:Jak se najdou dva body v P2P síti?
« Odpověď #6 kdy: 24. 06. 2013, 16:57:42 »
Funguje to zhruba tak, jak pisou predrecnici, ale to slouzi vicemene k urychleni procesu. Klienti se dokazi najit i bez toho. Je to jednoduchy - klient je zaroven defakto server a posloucha na nejakym znamym portu.

=> pokud pustis trebas torrent klienta, tak se
1) podiva na seznam znamych trackeru, ktery zaroven umi dht ...
2) pouziva nejakou vlastni cache - jakmile si uz nekdy v siti byl, tak se proste jednoduse pokousi kontatovat stroje, se kteryma uz komunikoval
3) jednoduse prohledava sit. Proste hleda stroje s otevrenym portem XYZ (v zavislosti na p2p siti). Tohle muze samo trvat pomerne dlouho, ale staci narazit na jedineho clena site.

Vsimni si, ze pokud pouzivas magnet, tak start trva pomerne dlouho (muzou to bejt i desitky minut). Jde totiz o to, ze pak se stroj nemuze jednoduse zeptat trackeru na dalsi peery, ale musi cekat, az mu z dht prijde zpet odpoved. Predstav si to asi tak, ze posles do internetu ping, ve kterym je hash souboru kterej chces, a kazdej stroj cestou ten ping veme a posle ho dal na vsechny stroje co zna + samo mu snizi ttl nebo si nekam zapise kdo a na co se ptal(= dotaz casem v siti umre, aby se nesiril do nekonecna).

student

Re:Jak se najdou dva body v P2P síti?
« Odpověď #7 kdy: 24. 06. 2013, 17:48:37 »
Nevyhoda DHT je ze se da snadno DDOSIT, stejne jako se snadno da ddosit hidden service directory v TORu. DDOSIT se to da protoze vite kde je ulozen ten hash ktery chcete znepristupnit. Aby se tomu zabranilo je potreba ty tokeny nerozdelovat rovnomerne podle ID uzlu, ale udelat virtual nodes.
Urcite toto funguje? (Teda ako to funguje?) Staci odkaz na clanok - virtual nodes v spojeni s DHT a DDoS Google nenasiel.

U DHT totiz nemusim vediet, kde je ulozeny ten hash, ktory chcem znepristupnit - mozem vediet len to, kto to vie lepsie.

Kazdopadne, ak mam dostatocnu kapacitu, tak mi staci na ciel posielat z mnohych mojich nodov traffic - v lepsom pripade to nebude zvladat cielovy web server a spadne to pomerne skoro - v horsom pripade bude treba dost velky traffic a nevydrzia to prepojenia medzi niektorymi peermi. To by znamenalo ciastocny vypadok DHT pre vsetky poskytovane sluzby, co asi nie je ciel, ale zato je to dost nepravdepodobne.

Lenin POWER!

  • ****
  • 434
  • Nekecat a delat!
    • Zobrazit profil
    • Tribut Leninovi
    • E-mail
Re:Jak se najdou dva body v P2P síti?
« Odpověď #8 kdy: 24. 06. 2013, 20:26:16 »
u DHT znas vzdalenost od node id k tomu hashi. Tak si zvolis node id takovy aby vzdalenost k torrentu co chces dosnout byla nula a pak staci odpovidat - tenhle torrent nema zadne peery.

Stejne se dosi i HS v toru. Vygenerujes si takovy node id aby jsi byl autoritativni pro danou HS, celkem je pro ni autoritativni 6 nodu takze musis mit jeste ostatnich 5 uzlu co nejbliz jejimu hashi. No a pak odpovidas ze nic takoveho neexistuje a klienti se s ni nespoji.

DHT v BT nepouziva virtual nodes. Virtual nodes je zjednodusene to, ze mas sice node id ale k nemu nemas prideleny na starosti rozsah okolo ale nahodne vybrane kusy rozsahu. Takze se to timhle zpusobem dosit neda protoze ten cilovy torrent pak muze mit kdokoliv a je potreba vysledky slucovat a u kazdeho nodu si ostatni pocitaji i trust - jak moc se jeho vysledek lisi od tech ostatnich.

student

Re:Jak se najdou dva body v P2P síti?
« Odpověď #9 kdy: 25. 06. 2013, 08:30:45 »
u DHT znas vzdalenost od node id k tomu hashi. Tak si zvolis node id takovy aby vzdalenost k torrentu co chces dosnout byla nula a pak staci odpovidat - tenhle torrent nema zadne peery.
DDoSovanie si predstavujem trochu inak - ako posielanie takeho mnozstva takych poziadavkov, ze to ciel nezvladne. Co moze byt aj 1 poziadavok. Toto je skor taka "kradez sluzby" - DDoSenie opakovanim requestov by malo fungovat vzdy, nie? (Samozrejme, je to ovela narocnejsie na zdroje)

Toto funguje iba vtedy, ked si moze node id zvolit uplne lubovolne. Keby bolo predpisane, ze nodeid = concat (ip adresa, nahodny string) a kazdy regulerny node v sieti by to overoval, tak by to mohlo fungovat. Problemom by bola sekvencnost adresoveho priestoru - ale to by som vyriesil aplikaciou vhodnej funkcie na ip adresu.

Stejne se dosi i HS v toru. Vygenerujes si takovy node id aby jsi byl autoritativni pro danou HS, celkem je pro ni autoritativni 6 nodu takze musis mit jeste ostatnich 5 uzlu co nejbliz jejimu hashi. No a pak odpovidas ze nic takoveho neexistuje a klienti se s ni nespoji.
Ten utociaci node bude potom vystupovat presne v akej roli?
Ako hidden service asi vystupovat nemoze - nema jeho privatny kluc.
Ako introduction point asi tiez nie - to by si ho hidden service musel vybrat.
Ako rendezvous point rovnako nie - to by musel byt nahodne vybraty klientom, co sa tazko zariadi.
Budes teda tor directory service? Da sa ta spravit az tak lahko?

DHT v BT nepouziva virtual nodes. Virtual nodes je zjednodusene to, ze mas sice node id ale k nemu nemas prideleny na starosti rozsah okolo ale nahodne vybrane kusy rozsahu. Takze se to timhle zpusobem dosit neda protoze ten cilovy torrent pak muze mit kdokoliv a je potreba vysledky slucovat a u kazdeho nodu si ostatni pocitaji i trust - jak moc se jeho vysledek lisi od tech ostatnich.
Urcite moze mat torrent kdokolvek? Je treba ho nejak najst, teda by malo existovat nejake rozumne smerovanie (lepsie ako flooding). A na to musi existovat preklad z kusu rozsahu na nejaku identifikaciu alebo mozno nejaky nazov cesty. Kto ho zariadi tak, aby sa pri tom neprezradil ciel a fungovalo to?

To s trustom by sa dalo zaviest aj pri tej "mojej" sieti s DHT, kde by bol zaciatok node id odvodeny od IP adresy. Potom by sa mohlo lahko urcit, ze original ma ten, kto ma najblizsi node id, kopiu ma ten, kto ma najblizsi node id po dalsom prehashovani atd. Zlucovanie vysledkov sa da zariadit podobne jednoducho.

Lenin POWER!

  • ****
  • 434
  • Nekecat a delat!
    • Zobrazit profil
    • Tribut Leninovi
    • E-mail
Re:Jak se najdou dva body v P2P síti?
« Odpověď #10 kdy: 26. 06. 2013, 23:35:13 »
Ten utociaci node bude potom vystupovat presne v akej roli?
Budes teda tor directory service? Da sa ta spravit az tak lahko?

HSDirectory

Tor jsou looseri, ty se nepredrou. Jejich filozofie je: sice je to spatne reseni ale doposud to funguje takze nebudeme nic delat. Tickety otevreny leta, jak koukam do jejich databaze tak s tim budou mozna delat neco az v 0.2.5, to znamena tak za rok.

Tor je porad minoritni sit - prujezd ma 20Gbit, porad tam jeste velmi rychle funguji utoky pres korelace traffiku. Vzal jsem asi pred tydnem jednoho borce co dela do TORu 6 let, dovolil jsem mu nahodit nekolik nodu s celkem bw 300Mbit - realne po nich tece asi tak 1/3 toho co announcuji a i tu announci tor directory skrouhne o tretinu. Dokud nebudeme pod DDOSem tak mu tu muzou bezet dokud bude makat tak abych byl s nim spokojen; rek bych ze bude - ten TOR ho hodne bavi.

Nejvetsi vyhoda HS kterou mne naucil ten borec je ze muzou byt i za NATem. Takze TOR je v soucasnosti jedina moznost jak se pripojim na svuj domaci pocitac ktery je za 2x NAT ze sveho mobilu - ten je prozmenu za 3x NAT. Prenosovka ke mne domu pres 5 natu a 6 tor relayu je ale jen 20 KB/s - jako VPN je tor nouzovka, ale da se ale pres to streamovat audio a odeslat ci precist maily.

TOR je zajimava myslenka, uvidime jestli se nekdy stane mainstreamem jako BitTorrent nebo BTC, to znaji dnes uz vsichni. Hudebni prumysl provokoval tak dlouho s mp3.com, napsterem, gnutellou a s drbal i deti "pro vystrahu" az se technologie vymakala tak ze staci znat hash torrentu a jede se - 500 mega aktivnich useru mesicne a ISP maji vylozene nahaku automaticke bonzovani uzivatelu podle udaju z trackeru. Ted americkou byrokracii depta BTC a posila zajimave dopisy kdyz najde u vas na webu napsano ze prijimate BTC.

Jenda

Re:Jak se najdou dva body v P2P síti?
« Odpověď #11 kdy: 26. 06. 2013, 23:49:27 »
a posila zajimave dopisy kdyz najde u vas na webu napsano ze prijimate BTC.
I za příjem? Co píšou? Co jsem zatím viděl, tak šli hlavně po směnárnách.

iwtu

Re:Jak se najdou dva body v P2P síti?
« Odpověď #12 kdy: 27. 06. 2013, 02:46:06 »

Lenin POWER!

  • ****
  • 434
  • Nekecat a delat!
    • Zobrazit profil
    • Tribut Leninovi
    • E-mail
Re:Jak se najdou dva body v P2P síti?
« Odpověď #13 kdy: 27. 06. 2013, 15:27:52 »
a posila zajimave dopisy kdyz najde u vas na webu napsano ze prijimate BTC.
I za příjem? Co píšou? Co jsem zatím viděl, tak šli hlavně po směnárnách.

Pisi seznam 5 zakonu ktere to porusuje a mozne sankce. Urcite to nekde na netu najdes oskenovany, mne to prislo 3x.

student

Re:Jak se najdou dva body v P2P síti?
« Odpověď #14 kdy: 30. 06. 2013, 23:32:48 »
Lenin: diky za odpoved. Este k spojeniu cez NAT - na to mi dost spolahlivo a aj rychlo funguje IPv6 cez miredo. Aj ked sa zase meni IP...

iwtu: pekne slidy; DHT dobre ukazoval aj Petr Tuma na prednaske "Middleware", kde ale nie su az tak graficke slidy (ale on to zase vie odprednasat).