{"id":34632,"date":"2019-10-31T21:59:31","date_gmt":"2019-10-31T18:59:31","guid":{"rendered":"https:\/\/prohoster.info\/blog\/ton-telegram-open-network-chast-1-vstuplenie-setevoj-uroven-adnl-dht-overlejnye-seti\/"},"modified":"2019-10-31T21:59:31","modified_gmt":"2019-10-31T18:59:31","slug":"ton-telegram-open-network-chast-1-vstuplenie-setevoj-uroven-adnl-dht-overlejnye-seti","status":"publish","type":"post","link":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/ton-telegram-open-network-chast-1-vstuplenie-setevoj-uroven-adnl-dht-overlejnye-seti","title":{"rendered":"TON: Re\u021beaua deschis\u0103 Telegram. Partea 1: Introducere, nivelul re\u021belei, ADNL, DHT, re\u021belele overlay","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"TON: Re\u021beaua deschis\u0103 Telegram. Partea 1: Introducere, nivelul re\u021belei, ADNL, DHT, re\u021belele overlay\" src=\"\/wp-content\/uploads\/2019\/05\/65710678b9e432476cf1b6e24348a7ac.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>De dou\u0103 s\u0103pt\u0103m\u00e2ni, Ruse\u021bul discut\u0103 despre Telegram \u0219i situa\u021bia bloc\u0103rii sale f\u0103r\u0103 sens \u0219i necru\u021b\u0103toare de c\u0103tre Roskomnadzor. Mul\u021bi au fost afecta\u021bi, dar toate acestea sunt subiecte pentru post\u0103ri pe Geektimes. Pe mine m-a surprins altceva - p\u00e2n\u0103 acum nu am v\u0103zut pe Habr nicio analiz\u0103 a re\u021belei TON - Telegram Open Network, care urmeaz\u0103 s\u0103 fie lansat\u0103 pe baza Telegramului. Mi-am dorit s\u0103 completez aceast\u0103 lips\u0103, deoarece este mult de studiat acolo - chiar \u0219i \u00een absen\u021ba declara\u021biilor oficiale despre aceasta.<\/p>\n<p><\/p>\n<p>\u00cemi amintesc - se zvone\u0219te c\u0103 Telegram a lansat un ICO masiv \u0219i \u00eenchis, deja str\u00e2ng\u00e2nd sume incredibile. Se presupune c\u0103 \u00een acest an va fi lansat\u0103 propria criptomoned\u0103 Gram - \u0219i fiecare utilizator al Telegramului va avea automat un portofel, ceea ce \u00een sine creeaz\u0103 un avantaj considerabil fa\u021b\u0103 de alte criptomonede.<\/p>\n<p><\/p>\n<p>Din p\u0103cate, av\u00e2nd \u00een vedere c\u0103 nu exist\u0103 declara\u021bii oficiale, mai departe m\u0103 pot baza doar pe <noindex><a rel=\"nofollow\" href=\"https:\/\/denull.ru\/telegram\/ton-tech.pdf\">un document de origine necunoscut\u0103<\/a><\/noindex>, despre care v\u0103 avertizez imediat. Desigur, poate fi o falsificare foarte bine executat\u0103, dar nu este exclus s\u0103 fie un whitepaper real al viitoarei sisteme, scris de Nikolai Durov (\u0219i scurs, probabil, de cineva dintre investitori). Dar chiar dac\u0103 este un fals, nimeni nu ne va interzice s\u0103-l studiem \u0219i s\u0103 discut\u0103m despre el, nu-i a\u0219a?<\/p>\n<p><\/p>\n<p>Ce spune acest document? Voi \u00eencerca s\u0103 \u00eel parafrazez \u00een cuvintele mele, aproape conform textului, dar \u00een rom\u00e2n\u0103 \u0219i pu\u021bin mai uman (s\u0103 m\u0103 ierte Nikolai pentru tendin\u021ba sa de a se lansa \u00een matematic\u0103 formal\u0103). Tine\u021bi cont c\u0103, chiar \u0219i \u00een cazul autenticit\u0103\u021bii sale, acesta este o descriere preliminar\u0103 a sistemului \u0219i este foarte probabil s\u0103 se schimbe p\u00e2n\u0103 la lansarea public\u0103.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Afl\u0103m c\u0103, pe l\u00e2ng\u0103 criptomoned\u0103, se preconizeaz\u0103 \u0219i foarte multe altele. S\u0103 le discut\u0103m pe r\u00e2nd.<\/p>\n<p><\/p>\n<ul>\n<li><strong>TON Blockchain<\/strong>. Aceasta este baza \u00eentregului sistem. Dac\u0103 nu \u0219ti\u021bi deloc ce este <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%91%D0%BB%D0%BE%D0%BA%D1%87%D0%B5%D0%B9%D0%BD\">blockchain<\/a><\/noindex> - v\u0103 recomand s\u0103 v\u0103 informa\u021bi, deoarece aici vor fi multe blockchain-uri. \u00centrep\u0103trunse, virtual descompuse \u0219i chiar \"verticale\" blockchain-uri \u00een interiorul altor blockchain-uri. \u0218i aici vor fi c\u00e2teva termeni interesan\u021bi precum <em>Instant Hypercube Routing<\/em> \u0219i <em>Infinite Sharding Paradigm<\/em>, dar despre asta mai t\u00e2rziu. \u0218i, desigur, proof-of-stake \u0219i smart contracts.<\/li>\n<li><strong>TON P2P Network<\/strong>. O re\u021bea peer-to-peer pe baza c\u0103reia va fi construit\u0103 func\u021bionarea sistemului. Despre aceasta se va discuta, \u00een primul r\u00e2nd, \u00een aceast\u0103 parte a nara\u021biunii.<\/li>\n<li><strong>TON Storage<\/strong>. Stocare de fi\u0219iere, care va fi construit\u0103 pe re\u021beaua peer-to-peer men\u021bionat\u0103 anterior, independent de blockchain. Poate fi comparat cu torrentele.<\/li>\n<li><strong>TON Proxy<\/strong>. Acesta este un serviciu destinat s\u0103 creasc\u0103 anonimatul participan\u021bilor la re\u021bea. Orice pachet poate fi trimis nu direct, ci prin tuneluri intermediare cu criptare suplimentar\u0103 \u2014 similar cu I2P sau TOR. <\/li>\n<li><strong>TON DHT<\/strong>. O tabel\u0103 de hash distribuit\u0103 pentru stocarea valorilor arbitrare. De asemenea, este construit\u0103 pe <em>TON Network<\/em> (dar utilizeaz\u0103 sistemul s\u0103u) \u0219i ajut\u0103 <strong>TON Storage<\/strong> s\u0103 g\u0103seasc\u0103 nodurile \u201edistribuitoare\u201d, iar <strong>TON Proxy<\/strong> \u2014 retransmi\u021b\u0103toarele intermediare. Dar trebuie men\u021bionat c\u0103, spre deosebire de blockchain, aceast\u0103 tabel\u0103 de hash nu este un depozit sigur \u2014 nu este recomandat s\u0103 stoca\u021bi informa\u021bii importante \u00een ea.<\/li>\n<li><strong>TON Services<\/strong>. O platform\u0103 pentru servicii arbitrare. Practic \u2014 este un nou internet deasupra tuturor celor men\u021bionate anterior. Schimbul de date se face prin <strong>TON Network<\/strong>\/<strong>TON Proxy<\/strong>, iar logica se afl\u0103 \u00een smart contractele \u00een sine <strong>TON Blockchain<\/strong>. \u0218i interfa\u021ba are URL-uri destul de obi\u0219nuite.<\/li>\n<li><strong>TON DNS<\/strong>. Daca tot am vorbit despre URL-uri obi\u0219nuite, avem nevoie \u0219i de un convertor din acestea \u00een adrese de 256 de bi\u021bi \u2014 pentru conturi, contracte, servicii \u0219i noduri.<\/li>\n<li><strong>TON Payments<\/strong>. \u0218i doar aici se discut\u0103 despre aspectul financiar. \u0218i nu va fi doar <strong>gram<\/strong> \u2014 la fel ca \u00een cazul eterului, vor fi posibile orice \u201etoken-uri\u201d; gramii vor fi doar valuta \u201eimplicit\u0103\u201d.<\/li>\n<\/ul>\n<p><\/p>\n<p>Aceasta este prima parte care descrie nivelul \u201ep\u0103\u0219it\u201d TON \u2014 partea sa de re\u021bea construit\u0103 deasupra protocoalelor tradi\u021bionale. \u00cen partea urm\u0103toare se va vorbi despre \u201emiez\u201d \u2014 blockchain-ul, care va fi sus\u021binut de sistemul descris mai jos. Astfel, ordinea mea de relatare difer\u0103 pu\u021bin de cea utilizat\u0103 \u00een documentul men\u021bionat anterior (care \u00eencepe direct cu nivelul abstract).<\/p>\n<p><\/p>\n<h3 id=\"bazovye-ponyatiya\">No\u021biuni de baz\u0103<\/h3>\n<p><\/p>\n<p><strong>TL<\/strong> (Type Language). Acesta este un format binar abstract pentru structuri de date arbitrare. Este folosit \u00een protocolul Telegram \u0219i va fi utilizat activ \u00een TON. Dac\u0103 dori\u021bi s\u0103 v\u0103 familiariza\u021bi \u00een detaliu cu acesta \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/core.telegram.org\/mtproto\/TL\">iat\u0103 descrierea sa<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p><strong>Hash<\/strong> (<em>hash<\/em>). Func\u021bia care produce o transformare ireversibil\u0103 a unei structuri de date arbitrare \u00eentr-un singur num\u0103r de lungime fix\u0103. \u00cen documenta\u021bie se discut\u0103 pe scar\u0103 larg\u0103 despre func\u021bia <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/SHA-2\">SHA-256<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p><strong>Nodul re\u021belei<\/strong> (<em>node<\/em>). Nodul este un software care va asigura func\u021bionarea sistemului. \u00cen special, se preconizeaz\u0103 c\u0103 fiecare aplica\u021bie client Telegram va include un nod TON. La un nivel inferior, nodurile au adrese IPv4\/IPv6 \u0219i comunic\u0103 prin protocolul UDP, iar la un nivel mai \u00eenalt \u2014 dispun de <em>adrese abstracte<\/em> \u0219i implementeaz\u0103 protocolul ADNL (despre adresele abstracte \u0219i ADNL \u2014 vezi mai jos). C\u00e2nd se vorbe\u0219te despre faptul c\u0103 anumite p\u0103r\u021bi ale sistemului fac ceva sau stocheaz\u0103 anumite date \u2014 se sub\u00een\u021belege c\u0103 aceste lucruri sunt f\u0103cute de nodurile re\u021belei.<\/p>\n<p><\/p>\n<p><strong>Adresa abstract\u0103<\/strong> sau simplu <em>adres\u0103<\/em>, <em>address<\/em>). Adresa unui nod este definit\u0103 de cheia sa public\u0103. Mai strict, aceasta este un hash de 256 de bi\u021bi (SHA256) al structurii de date care con\u021bine cheia public\u0103 (algoritmul criptografic specific nu este precizat \u2014 ca exemplu sunt men\u021bionate curbele eliptice \u0219i RSA-2048). Pentru ca un nod s\u0103 interac\u021bioneze cu altul, trebuie s\u0103 cunoasc\u0103 nu doar adresa respectiv\u0103, ci \u0219i aceast\u0103 structur\u0103 de date. Teoretic, un nod fizic poate crea un num\u0103r nelimitat de adrese (corespunz\u0103toare diferitelor chei).<\/p>\n<p><\/p>\n<p>Pentru unele utiliz\u0103ri se folose\u0219te exact acest tip de leg\u0103tur\u0103: \u00abmodelul\u00bb sub forma unei structuri TL (care con\u021bine practic orice date), \u0219i hash-ul de 256 de bi\u021bi al acesteia, folosit pentru adresare.<\/p>\n<p><\/p>\n<p><strong>Blockchain<\/strong> (<em>blockchain<\/em>). Blockchain-ul este o structur\u0103 de date, elementele (<em>blocuri<\/em>) c\u0103reia sunt ordonate \u00eentr-o \u00ablan\u021b\u00bb, \u0219i fiecare bloc urm\u0103tor din lan\u021b con\u021bine hash-ul celui anterior. Astfel se atinge integritatea \u2014 modific\u0103rile se pot aduce doar prin ad\u0103ugarea de blocuri noi.<\/p>\n<p><\/p>\n<p><strong>Serviciu<\/strong> (<em>service<\/em>). Serviciile \u00een cadrul TON pot fi de diferite tipuri \u2014 \u00een func\u021bie de faptul dac\u0103 utilizeaz\u0103 blockchain sau nu. De exemplu, unul (sau mai multe) din nodurile re\u021belei poate procesa anumite cereri RPC prin protocolul ADNL descris mai jos, f\u0103r\u0103 a crea nicio \u00eenregistrare \u00een blockchain \u2014 asem\u0103n\u0103tor serverelor web tradi\u021bionale. De asemenea, se analizeaz\u0103 posibilitatea implement\u0103rii HTTP deasupra ADNL, precum \u0219i trecerea messenger-ului \u00eensu\u0219i la acest protocol. Prin analogie cu TOR sau I2P, acest lucru \u00eel va face mai rezistent la diverse blocaje.<\/p>\n<p><\/p>\n<p>\u00cen acela\u0219i timp, o serie de servicii implic\u0103 at\u00e2t interac\u021biunea cu blockchain-ul, c\u00e2t \u0219i procesarea cererilor din afara acestuia. De exemplu, pentru TON Storage \u2014 un stocare de fi\u0219iere \u2014 nu este foarte rezonabil s\u0103 stochezi fi\u0219ierele \u00een blockchain. Acesta va con\u021bine doar hash-uri ale fi\u0219ierelor (\u00eempreun\u0103 cu unele metainforma\u021bii despre acestea), iar ca \u201eservere de fi\u0219iere\u201d vor ac\u021biona noduri specializate ale re\u021belei, preg\u0103tite s\u0103 le ofere altor noduri prin ADNL.<\/p>\n<p><\/p>\n<p><strong>Serviciul de tip fog<\/strong> (<em>fog service<\/em>). Vorbim despre unele servicii care implic\u0103 descentralizarea \u0219i participarea deschis\u0103 \u00een acestea. De exemplu, TON Proxy \u2014 este un serviciu care poate fi sus\u021binut de orice participant doritor s\u0103 ofere nodul s\u0103u ca intermediar (proxy), care redirec\u021bioneaz\u0103 pachete \u00eentre alte noduri. Dac\u0103 dore\u0219te, acesta poate percepe o tax\u0103 stabilit\u0103 de el \u2014 folosind sistemul TON Payments pentru micropagamente (care, la r\u00e2ndul s\u0103u, este tot un serviciu de tip fog).<\/p>\n<p><\/p>\n<h3 id=\"adnl-abstract-datagram-network-layer\">ADNL: Abstract Datagram Network Layer<\/h3>\n<p><\/p>\n<p>La cel mai de baz\u0103 nivel, interac\u021biunea \u00eentre noduri se va realiza prin protocolul UDP (de\u0219i sunt acceptabile \u0219i alte variante).<\/p>\n<p><\/p>\n<p>A\u0219a cum s-a men\u021bionat mai sus, pentru ca un nod s\u0103 trimit\u0103 un pachet altui nod, acesta trebuie s\u0103 cunoasc\u0103 unul dintre cheile sale publice (\u0219i, prin urmare, adresa definit\u0103 de aceasta). El cripteaz\u0103 pachetul cu aceast\u0103 cheie \u0219i adaug\u0103 la \u00eenceputul pachetului o adres\u0103 de 256 de bi\u021bi a destinatarului \u2014 deoarece un nod poate avea mai multe astfel de adrese, acest lucru \u00eei va permite s\u0103 determine ce cheie s\u0103 foloseasc\u0103 pentru decriptare.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TON: Re\u021beaua deschis\u0103 Telegram. Partea 1: Introducere, nivelul re\u021belei, ADNL, DHT, re\u021belele overlay\" src=\"\/wp-content\/uploads\/2019\/05\/570ed97bb0745d074e806e84651af567.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>\u00cen plus, \u00een loc de adresa destinatarului la \u00eenceputul pachetului de date poate fi un a\u0219a-numit identificator <em>al canalului<\/em>. \u00cen acest caz, procesarea pachetului depinde deja de acordurile specifice \u00eentre noduri \u2014 de exemplu, datele trimise \u00eentr-un anumit canal pot fi destinate altui nod \u0219i trebuie s\u0103 fie redirec\u021bionate c\u0103tre acesta (aceasta este un serviciu <em>TON Proxy<\/em>). Un alt caz specific poate fi interac\u021biunea direct\u0103 \u00eentre noduri, dar cu criptarea pe o pereche individual\u0103 de chei pentru acest canal (formate anterior prin protocolul Diffie-Hellman).<\/p>\n<p><\/p>\n<p>\u00cen cele din urm\u0103, un caz special este canalul \u201ezero\u201d - dac\u0103 un nod nu cunoa\u0219te \u00eenc\u0103 cheile publice ale \u201evecinilor\u201d s\u0103i, acesta poate trimite pachete f\u0103r\u0103 criptare deloc. Aceasta este destinat doar ini\u021bializ\u0103rii - imediat ce nodurile trimite informa\u021bii despre cheile lor, acestea ar trebui utilizate pentru interac\u021biunea ulterioar\u0103.<\/p>\n<p><\/p>\n<p>Protocolul descris mai sus (256 de bi\u021bi de identificare a canalului + con\u021binutul pachetului) se nume\u0219te ADNL. Documenta\u021bia men\u021bioneaz\u0103 posibilitatea de implementare a unui analog TCP pe l\u00e2ng\u0103 acesta sau a unui strat propriu - RLDP (Reliable Large Datagram Protocol), dar nu intr\u0103 \u00een detalii despre implementarea lor.<\/p>\n<p><\/p>\n<h3 id=\"ton-dht-raspredelyonnaya-hesh-tablica\">TON DHT: Tabel de dispersie distribuit<\/h3>\n<p><\/p>\n<p>Ca \u00een cazul altor sisteme distribuite, TON preconizeaz\u0103 implementarea DHT - <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%A0%D0%B0%D1%81%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D1%91%D0%BD%D0%BD%D0%B0%D1%8F_%D1%85%D0%B5%D1%88-%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D0%B0\">tabel de dispersie distribuit<\/a><\/noindex>. Mai concret - tabelul este <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Kademlia\">asem\u0103n\u0103tor Kademlia.<\/a><\/noindex>Dac\u0103 nu e\u0219ti familiarizat cu acest tip de tabele de dispersie - nu-\u021bi face griji, voi descrie \u00een linii mari cum sunt structurate.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TON: Re\u021beaua deschis\u0103 Telegram. Partea 1: Introducere, nivelul re\u021belei, ADNL, DHT, re\u021belele overlay\" src=\"\/wp-content\/uploads\/2019\/05\/790d623466c72c78ee17fa298ac9d81d.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>\u00cen sens abstract, DHT asociaz\u0103 chei de 256 bi\u021bi cu anumite valori binare de lungime arbitrar\u0103. \u00cen acest caz, cheile din tabel sunt hash-uri ale unei structuri TL specifice (structurile \u00een sine sunt de asemenea stocate \u00eempreun\u0103 cu DHT). Acest lucru se aseam\u0103n\u0103 foarte mult cu formarea adreselor nodurilor - \u0219i acestea pot fi de fapt prezente \u00een DHT (de exemplu, o adres\u0103 IP a nodului corespunz\u0103tor adres\u0103rii abstracte) <em>dac\u0103 acesta nu o ascunde). Dar \u00een general, \u201emodelele cheilor\u201d (descrierile lor<\/em>, dac\u0103 nu ascund informa\u021biile). <em>descrieri ale cheilor<\/em>, <em>key descriptions<\/em>) - sunt metadate care indic\u0103 \u201eproprietarul\u201d \u00eenregistr\u0103rii \u00een tabelul de dispersie (adic\u0103 cheia public\u0103 a unui nod), tipul valorii stocate \u0219i regulile conform c\u0103rora aceast\u0103 \u00eenregistrare poate fi ulterior modificat\u0103. De exemplu, regula poate permite modificarea valorii doar proprietarului - sau poate interzice modificarea valorii spre mai pu\u021bin (pentru a se proteja de atacurile de tip replay).<\/p>\n<p><\/p>\n<p>Pe l\u00e2ng\u0103 cheile de 256 bi\u021bi, se introduce conceptul de adrese DHT. Diferen\u021ba fa\u021b\u0103 de adresele obi\u0219nuite ale nodurilor este c\u0103 adresa DHT este strict legat\u0103 de adresa IP. Dac\u0103 un nod nu \u00ee\u0219i ascunde IP-ul, el poate utiliza adresa obi\u0219nuit\u0103 pentru DHT. Dar de obicei, pentru nevoile DHT se va crea o adres\u0103 separat\u0103, \u201esemi-permanent\u0103\u201d.<br \/>\n<img decoding=\"async\" alt=\"TON: Re\u021beaua deschis\u0103 Telegram. Partea 1: Introducere, nivelul re\u021belei, ADNL, DHT, re\u021belele overlay\" src=\"\/wp-content\/uploads\/2019\/05\/93064abdf9dbfd5276502cd3aa6cf8f8.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nPe cheile \u0219i adresele DHT se introduce conceptul de distan\u021b\u0103 - \u00een acest sens totul coincide cu tabelele <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Kademlia\">Kademlia<\/a><\/noindex> \u2014 distan\u021ba dintre chei este egal\u0103 cu XOR (sau exclusiv bit pe bit) dintre ele. Ca \u0219i \u00een tabelele Kademlia, valoarea corespunz\u0103toare unei chei anume trebuie stocat\u0103 pe <em>s<\/em> noduri care au cea mai mic\u0103 distan\u021b\u0103 fa\u021b\u0103 de aceast\u0103 cheie (<em>s<\/em> aici \u2014 un num\u0103r relativ mic).<\/p>\n<p><\/p>\n<p>Pentru ca un nod DHT s\u0103 poat\u0103 interac\u021biona cu alte astfel de noduri, el p\u0103streaz\u0103 \u00een memorie <em>o tabel\u0103 de rutare DHT<\/em> \u2014 adresele DHT \u0219i IP ale nodurilor cu care a interac\u021bionat anterior, grupate \u00een func\u021bie de distan\u021ba fa\u021b\u0103 de ele. Exist\u0103 256 de astfel de grupuri (correspondente cu bitul cel mai semnificativ \u00een valoarea distan\u021bei \u2014 adic\u0103 nodurile la o distan\u021b\u0103 de la 0 la 255 vor c\u0103dea \u00eentr-un grup, de la 256 la 65535 \u2014 \u00een urm\u0103torul, \u0219i a\u0219a mai departe). \u00cen interiorul fiec\u0103rui grup se p\u0103streaz\u0103 un num\u0103r limitat de \u201ecele mai bune\u201d noduri (\u00een ceea ce prive\u0219te ping-ul p\u00e2n\u0103 la ele).<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TON: Re\u021beaua deschis\u0103 Telegram. Partea 1: Introducere, nivelul re\u021belei, ADNL, DHT, re\u021belele overlay\" src=\"\/wp-content\/uploads\/2019\/05\/9db2fef6986010db046f797f1fe68130.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Fiecare nod trebuie s\u0103 sus\u021bin\u0103 mai multe opera\u021biuni: <em>stocarea valorii pentru o cheie<\/em>, <em>c\u0103utarea nodurilor<\/em> \u0219i <em>c\u0103utarea valorilor<\/em>. C\u0103utarea nodurilor implic\u0103 returnarea celor mai apropiate noduri de la tabelul de rutare pentru o cheie dat\u0103; c\u0103utarea valorilor \u2014 acela\u0219i lucru, cu excep\u021bia cazului \u00een care nodul cunoa\u0219te valoarea pentru cheie (atunci pur \u0219i simplu o returneaz\u0103). Prin urmare, dac\u0103 un nod dore\u0219te s\u0103 g\u0103seasc\u0103 \u00een DHT o valoare pentru o cheie, el trimite cereri unui num\u0103r mic de noduri apropiate de aceast\u0103 cheie din tabelul s\u0103u de rutare. Dac\u0103 printre r\u0103spunsurile lor nu se afl\u0103 valoarea c\u0103utat\u0103, dar exist\u0103 alte adrese de noduri, cererea se repet\u0103 deja la acestea.<\/p>\n<p><\/p>\n<p>TON DHT poate fi utilizat pentru diverse scopuri, de exemplu \u2014 pentru implementarea unui depozit de fi\u0219iere similar torrentelor (vezi <em>TON Storage<\/em>); pentru determinarea adreselor nodurilor care implementeaz\u0103 anumite servicii; pentru stocarea informa\u021biilor despre proprietarii de conturi \u00een blockchain. Dar cea mai important\u0103 aplica\u021bie este descoperirea nodurilor prin adresele lor abstracte. Pentru aceasta, adresa este utilizat\u0103 ca o cheie, iar valoarea acesteia trebuie g\u0103sit\u0103. Ca rezultat al cererii, se va g\u0103si fie nodul \u00eensu\u0219i (dac\u0103 adresa c\u0103utat\u0103 a fost adresa sa DHT semi-permanent\u0103), fie valoarea va fi IP-ul \u0219i portul pentru conectare \u2014 sau o alt\u0103 adres\u0103 care trebuie utilizat\u0103 ca tunel-intermediar.<\/p>\n<p><\/p>\n<h3 id=\"overleynye-seti-v-ton\">Re\u021belele de overlay \u00een TON<\/h3>\n<p><\/p>\n<p>Protocolul ADNL descris mai sus permite oric\u0103rui nod s\u0103 schimbe informa\u021bii \u00eentre ele \u2014 de\u0219i nu neap\u0103rat pe c\u0103i optime. Se poate spune c\u0103 datorit\u0103 ADNL, toate nodurile formeaz\u0103 un graf global TON (\u00een ideal \u2014 conex). Totu\u0219i, este prev\u0103zut\u0103 \u0219i posibilitatea de a crea re\u021bele overlay \u2014 subgrafuri \u00een interiorul acestui graf.<br \/>\n<img decoding=\"async\" alt=\"TON: Re\u021beaua deschis\u0103 Telegram. Partea 1: Introducere, nivelul re\u021belei, ADNL, DHT, re\u021belele overlay\" src=\"\/wp-content\/uploads\/2019\/05\/0badd85ba46517c04f63439f7dd1e8d7.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>\u00cen cadrul unei astfel de re\u021bele, interac\u021biunea se face direct \u2014 prin leg\u0103turi preformate \u00eentre nodurile participan\u021bilor re\u021belei (prin canalele ADNL, descrise mai sus). Formarea acestor leg\u0103turi \u00eentre vecini \u0219i c\u0103utarea propriilor vecini sunt procese automate, menite s\u0103 p\u0103streze conectivitatea re\u021belei overlay \u0219i s\u0103 minimizeze \u00eent\u00e2rzierile \u00een schimbul de date.<\/p>\n<p><\/p>\n<p>\u00cen plus, este prev\u0103zut un mod de a r\u0103sp\u00e2ndi rapid actualiz\u0103ri masive \u00een re\u021bea \u2014 acestea sunt \u00eemp\u0103r\u021bite \u00een p\u0103r\u021bi, completate cu cod de corectare a erorilor, iar toate aceste fragmente sunt trimise de la un participant la altul. Astfel, participantul nu trebuie s\u0103 primeasc\u0103 toate p\u0103r\u021bile \u00eenainte de a le trimite mai departe \u00een re\u021bea.<\/p>\n<p><\/p>\n<p>Re\u021belele overlay pot fi publice \u0219i private. A deveni participant \u00eentr-o re\u021bea public\u0103 nu este greu \u2014 trebuie s\u0103 g\u0103se\u0219ti o structur\u0103 TL care o descrie (aceasta poate fi public\u0103 \u2014 sau disponibil\u0103 printr-o cheie specific\u0103 \u00een DHT). \u00cen cazul unei re\u021bele private, aceast\u0103 structur\u0103 trebuie s\u0103 fie cunoscut\u0103 nodului dinainte.<\/p>\n<p><\/p>\n<h3 id=\"prodolzhenie-sleduet\">Continuarea urmeaz\u0103<\/h3>\n<p><\/p>\n<p>Am decis s\u0103 \u00eempart recenzia TON \u00een mai multe articole. Aceast\u0103 parte se \u00eencheie aici, iar <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/post\/354568\/\">\u00een urm\u0103toarea<\/a><\/noindex> voi trece la analiza structurii blockchain-ului (mai exact, a blockchain-urilor) din care va consta TON.<\/p>\n<p>Sursa: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/354366\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0423\u0436\u0435 \u0434\u0432\u0435 \u043d\u0435\u0434\u0435\u043b\u0438 \u0420\u0443\u043d\u0435\u0442 \u0448\u0443\u043c\u0438\u0442 \u043f\u0440\u043e Telegram \u0438 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044e \u0441 \u0435\u0433\u043e \u0431\u0435\u0441\u0441\u043c\u044b\u0441\u043b\u0435\u043d\u043d\u043e\u0439 \u0438 \u0431\u0435\u0441\u043f\u043e\u0449\u0430\u0434\u043d\u043e\u0439 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u043e\u0439 \u0420\u043e\u0441\u043a\u043e\u043c\u043d\u0430\u0434\u0437\u043e\u0440\u043e\u043c. \u0420\u0438\u043a\u043e\u0448\u0435\u0442\u043e\u043c \u0437\u0430\u0434\u0435\u043b\u043e \u043c\u043d\u043e\u0433\u0438\u0445, \u043d\u043e \u0432\u0441\u0451 \u044d\u0442\u043e \u2014 \u0442\u0435\u043c\u044b \u0434\u043b\u044f \u043f\u043e\u0441\u0442\u043e\u0432 \u043d\u0430 Geektimes. \u041c\u0435\u043d\u044f \u0436\u0435 \u0443\u0434\u0438\u0432\u0438\u043b\u043e \u0434\u0440\u0443\u0433\u043e\u0435 \u2014 \u044f \u0434\u043e \u0441\u0438\u0445 \u043f\u043e\u0440 \u043d\u0435 \u0432\u0438\u0434\u0435\u043b \u043d\u0430 \u0425\u0430\u0431\u0440\u0435 \u043d\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u0431\u043e\u0440\u0430 \u0437\u0430\u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u043a \u0432\u044b\u0445\u043e\u0434\u0443 \u043d\u0430 \u0431\u0430\u0437\u0435 Telegram \u0441\u0435\u0442\u0438 TON \u2014 Telegram Open [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":26099,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-34632","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2.1 - aioseo.com -->\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/ton-telegram-open-network-chast-1-vstuplenie-setevoj-uroven-adnl-dht-overlejnye-seti\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47TON: Telegram Open Network. \u0427\u0430\u0441\u0442\u044c 1: \u0412\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0435, \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c, ADNL, DHT, \u043e\u0432\u0435\u0440\u043b\u0435\u0439\u043d\u044b\u0435 \u0441\u0435\u0442\u0438 | ProHoster\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/ton-telegram-open-network-chast-1-vstuplenie-setevoj-uroven-adnl-dht-overlejnye-seti\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:59:31+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:59:31+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47TON: Telegram Open Network. Partea 1: Introducere, nivel de re\u021bea, ADNL, DHT, re\u021bele overlay | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/ton-telegram-open-network-chast-1-vstuplenie-setevoj-uroven-adnl-dht-overlejnye-seti","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47TON: Telegram Open Network. \u0427\u0430\u0441\u0442\u044c 1: \u0412\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0435, \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c, ADNL, DHT, \u043e\u0432\u0435\u0440\u043b\u0435\u0439\u043d\u044b\u0435 \u0441\u0435\u0442\u0438 | ProHoster","og:url":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/ton-telegram-open-network-chast-1-vstuplenie-setevoj-uroven-adnl-dht-overlejnye-seti","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:59:31+00:00","article:modified_time":"2019-10-31T18:59:31+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"34632","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 20:00:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:17:24","updated":"2026-01-21 20:00:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/34632","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=34632"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/34632\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media\/26099"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=34632"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=34632"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=34632"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}