{"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\/et\/blog\/administrirovanie\/ton-telegram-open-network-chast-1-vstuplenie-setevoj-uroven-adnl-dht-overlejnye-seti","title":{"rendered":"TON: Telegram Open Network. Osa 1: Sissejuhatus, v\u00f5rgu tase, ADNL, DHT, \u00fclekatted","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"TON: Telegram Open Network. Osa 1: Sissejuhatus, v\u00f5rgu tase, ADNL, DHT, \u00fclekatted\" src=\"\/wp-content\/uploads\/2019\/05\/65710678b9e432476cf1b6e24348a7ac.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Kaks n\u00e4dalat on Ruunet r\u00e4\u00e4kinud Telegramist ja olukorrast, kus Roskomnadzor on selle m\u00f5ttetu ja julma blokeeringu rakendanud. Kaja on tabanud paljusid, kuid see k\u00f5ik on teema postituste jaoks Geektimesis. Mind aga \u00fcllatas midagi muud \u2013 ma pole siiani n\u00e4inud Habras \u00fchtegi anal\u00fc\u00fcsi Telegrami baasil v\u00e4lja tulevast TON \u2014 Telegram Open Network. Soovin selle puuduj\u00e4\u00e4gi t\u00e4ita, kuna seal on palju uurimist\u00f6\u00f6d \u2014 isegi vaatamata sellele, et ametlikke avaldusi ei ole.<\/p>\n<p><\/p>\n<p>Kordan \u2014 r\u00e4\u00e4gitakse kuuldustest, et Telegram on k\u00e4ivitanud v\u00e4ga ulatusliku suletud ICO, kogudes juba seal uskumatuid summasid. Eeldatakse, et juba sel aastal k\u00e4ivitatakse oma kr\u00fcptovaluuta Gram \u2014 ja igal Telegrami kasutajal tekib automaatselt \u00fclekandekott, mis iseenesest loob v\u00e4ga palju eeliseid teiste kr\u00fcptovaluutade ees.<\/p>\n<p><\/p>\n<p>Kahjuks, kuna ametlikke avaldusi ei ole, saan edaspidi tugineda ainult <noindex><a rel=\"nofollow\" href=\"https:\/\/denull.ru\/telegram\/ton-tech.pdf\">tundmatu p\u00e4ritoluga dokumendile<\/a><\/noindex>, millest ma kohe teid hoiatama hakkan. Loomulikult v\u00f5ib see olla v\u00e4ga oskuslik vale, kuid ei ole v\u00e4listatud, et see on tulevase s\u00fcsteemi t\u00f5eline whitepaper, mille on kirjutanud Nikolai Durov (ja mis on t\u00f5en\u00e4oliselt lekitatud m\u00f5ne investori poolt). Kuid isegi kui see on vale, ei saa keegi meid keelata seda uurimast ja arutamast, eks?<\/p>\n<p><\/p>\n<p>Mida siis selles dokumendis \u00f6eldakse? Proovin seda oma s\u00f5nadega edasi anda, l\u00e4hedalt tekstile, kuid eesti keeles ja veidi inimlikumalt (palun andestage mulle, Nikolai, teie kalduvuse eest minna formaalse matemaatika juurde). Pidage meeles, et isegi kui see on t\u00f5eline, on see s\u00fcsteemi mustandkirjeldus ja see t\u00f5en\u00e4oliselt muutub avaliku k\u00e4ivitamise ajaks.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Saame teada, et lisaks kr\u00fcptovaluutale on oodata veel v\u00e4ga ja v\u00e4ga palju muud. Vaatame j\u00e4rjestikku.<\/p>\n<p><\/p>\n<ul>\n<li><strong>TON Blockchain<\/strong>. See on kogu s\u00fcsteemi alus. Kui te ei tea, mis on <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\">blokchain<\/a><\/noindex> \u2014 soovitan teada saada, sest siin on palju blokchaine. \u00dcksteise sisse peidetud, virtuaalselt purustatud ja isegi 'vertikaalsed' blokchainid teiste blokchainide sees. Ja siin on veel mitmeid \u00e4gedalt k\u00f5lavad termineid, n\u00e4iteks <em>Instant Hypercube Routing<\/em> ja <em>Piiramatu jaotamise paradigma<\/em>, kuid sellest hiljem. Ja muidugi, t\u00f5end-panik ja nutilepingud.<\/li>\n<li><strong>TON P2P v\u00f5rk<\/strong>. Peer-to-peer v\u00f5rk, mille p\u00f5hjal s\u00fcsteem t\u00f6\u00f6tab. Sellel teemal r\u00e4\u00e4gitakse selle loo esimeses osas.<\/li>\n<li><strong>TON salvestus<\/strong>. Failide salvestus, mis s\u00f5ltumata plokiahelast ehitatakse eespool mainitud peer-to-peer v\u00f5rgule. Seda on v\u00f5imalik v\u00f5rrelda torrentidega.<\/li>\n<li><strong>TON Proxy<\/strong>. Teenus, mille eesm\u00e4rk on suurendada v\u00f5rguliikmete anon\u00fc\u00fcmsust. Iga andmepakett saab saata mitte otse, vaid l\u00e4bi vahetus-tunnelite koos t\u00e4iendava kr\u00fcptimisega \u2014 sarnaselt I2P v\u00f5i TOR-iga. <\/li>\n<li><strong>TON DHT<\/strong>. Jagatud hash-tabel juhuslike v\u00e4\u00e4rtuste hoidmiseks. See on samuti \u00fcles ehitatud <em>TON v\u00f5rgule<\/em> (kuid kasutab selle omadusi) ja aitab <strong>TON salvestus<\/strong> leida 'jagamise' s\u00f5lme, ja <strong>TON Proxy<\/strong> \u2014 vahepealseid edastajaid. Kuid tuleb m\u00e4rkida, et erinevalt plokiahelast ei ole see hash-tabel turvaline salvestus \u2014 seal ei tohi olulisi andmeid hoida.<\/li>\n<li><strong>TON teenused<\/strong>. Platvorm, mis v\u00f5imaldab mitmesuguseid teenuseid. Tegelikult on see uus Internet k\u00f5igi \u00fclaltoodud p\u00f5him\u00f5tete p\u00f5hjal. Andmevahetus toimub l\u00e4bi <strong>TON v\u00f5rgule<\/strong>\/<strong>TON Proxy<\/strong>, samas logika on nutilepingutes ise. <strong>TON Blockchain<\/strong>. Ja liides \u00fcsna harjumusp\u00e4raste URL-idega.<\/li>\n<li><strong>TON DNS<\/strong>. Kui juba juttu on harjumusp\u00e4rastest URL-idest, siis on vaja ka konverterit, mis teisendab need 256-bitisteks aadressideks \u2014 konto, lepingute, teenuste ja s\u00f5lmede jaoks.<\/li>\n<li><strong>TON Payments<\/strong>. Siin t\u00f5statub rahak\u00fcsimus. Ja see ei piirdu mitte ainult <strong>gramiga<\/strong> \u2014 nagu eetri puhul, on k\u00f5ik v\u00f5imalikud \u201etokenid\u201d; gramid on siin lihtsalt \u201evaikimisi\u201d valuuta.<\/li>\n<\/ul>\n<p><\/p>\n<p>See on esimene osa, mis kirjeldab TON-i \u201emaapealset\u201d taset \u2014 selle v\u00f5rguosa, mis ehitatakse traditsiooniliste protokollide peale. J\u00e4rgmisel osal r\u00e4\u00e4gitakse \u201es\u00fcdamikust\u201d \u2014 plokiahelast, mida toetab hiljem kirjeldatav s\u00fcsteem. Seega, minu jutt erineb m\u00f5nev\u00f5rra \u00fclalmainitud dokumendis kasutatud korrast (mis algab kohe abstraktselt).<\/p>\n<p><\/p>\n<h3 id=\"bazovye-ponyatiya\">P\u00f5hiteadmised<\/h3>\n<p><\/p>\n<p><strong>TL<\/strong> (Type Language). See on abstraktne binaarvorming, mida kasutatakse suvaliste andmestruktuuride jaoks. Seda kasutatakse Telegrami protokollis ja see leiab aktiivset kasutust TON-is. Kui soovite sellega p\u00f5hjalikult tutvuda \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/core.telegram.org\/mtproto\/TL\">siin on selle kirjeldus<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p><strong>Hash<\/strong> (<em>hash<\/em>). Funktsioon, mis teostab p\u00f6\u00f6rdumatut muundamist suvalisest andmestruktuurist fikseeritud pikkusega numbriks. Dokumentatsioonis r\u00e4\u00e4gitakse laialdaselt funktsioonist <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/SHA-2\">SHA-256<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p><strong>V\u00f5rgu s\u00f5lm<\/strong> (<em>node<\/em>). S\u00f5lm on tarkvara, mis tagab s\u00fcsteemi t\u00f6\u00f6. Eelk\u00f5ige eeldatakse, et iga Telegrami kliendi rakendus sisaldab TON'i s\u00f5lme. Madalamal tasemel on s\u00f5lmedel IPv4\/IPv6-aadressid ja nad suhtlevad UDP-protokolli kaudu, k\u00f5rgemal tasemel on neil <em>abstraktseid aadresse<\/em> ja rakendavad ADNL protokolli (abstraktsete aadresside ja ADNL kohta - vt allpool). Kui r\u00e4\u00e4gitakse, et osad s\u00fcsteemist teevad midagi v\u00f5i salvestavad andmeid, eeldatakse, et seda teevad v\u00f5rgu s\u00f5lmed.<\/p>\n<p><\/p>\n<p><strong>Abstraktne aadress<\/strong> (v\u00f5i lihtsalt <em>aadress<\/em>, <em>address<\/em>). K\u00fcnode aadress m\u00e4\u00e4ratakse tema avaliku v\u00f5tme j\u00e4rgi. T\u00e4psemalt \u00f6eldes on see 256-bitine r\u00e4si (SHA256) andmestruktuurist, mis sisaldab avalikku v\u00f5tmet. Konkreetne kr\u00fcptograafiline algoritm ei ole selgelt m\u00e4\u00e4ratletud - n\u00e4iteks tuuakse v\u00e4lja elliptilised k\u00f5verad ja RSA-2048. Selleks, et \u00fcks s\u00f5lm saaks omavahel suhelda, peab ta teadma mitte ainult teise aadressi, vaid ka seda andmestruktuuri. Teoreetiliselt v\u00f5ib \u00fcks f\u00fc\u00fcsiline s\u00f5lm luua suvalise arvu aadresse (mis vastavad erinevatele v\u00f5tmetele).<\/p>\n<p><\/p>\n<p>J\u00e4rgnevalt kasutatakse sageli just sellist kombinatsiooni: \u201eprotot\u00fc\u00fcp\u201d TL-struktuuri n\u00e4ol (mis sisaldab praktiliselt igasuguseid andmeid) ja 256-bitine r\u00e4si sellest, mida kasutatakse adresseerimiseks.<\/p>\n<p><\/p>\n<p><strong>Plokiahel<\/strong> (<em>plokiahel<\/em>). Plokiahel on andmestruktuur, mille elemendid (<em>plokid<\/em>) on korraldatud \u201eahelas\u201d, ning iga j\u00e4rgmine ahel bloke sisaldab eelneva r\u00e4si. Nii saavutatakse terviklikkus - muudatusi saab teha ainult uute plokkide lisamisega.<\/p>\n<p><\/p>\n<p><strong>Teenuse<\/strong> (<em>teenus<\/em>). TONi raames teenuseid on erinevaid t\u00fc\u00fcpe \u2014 olenevalt sellest, kas need kasutavad plokiahelat v\u00f5i mitte. N\u00e4iteks v\u00f5ib \u00fcks (v\u00f5i mitu) v\u00f5rgu s\u00f5lme t\u00f6\u00f6delda teatud RPC-p\u00e4ringuid allpool kirjeldatud ADNL-protokolli kaudu, luues samas plokiahelas mingeid kirjeid \u2014 nagu traditsioonilised veebiserverid. Samuti kaalutakse v\u00f5imalust rakendada HTTP-d ADNL-i peal ning \u00fcle minna ka ise suhtlusrakendusele selle protokolli peale. Sarnaselt TOR-i v\u00f5i I2P-ga, teeb see selle erinevate blokeeringute suhtes vastupidavamaks.<\/p>\n<p><\/p>\n<p>Samas h\u00f5lmavad mitmed teenused nii plokiahela kui plokiahelast v\u00e4ljaspool toimuva suhtlemise. N\u00e4iteks TON Storage'i \u2014 failide hoidla \u2014 puhul pole m\u00f5istlik faile plokiahelas hoida. Seal sisaldatakse vaid failide r\u00e4sisid (koos mingite metaandmetega nende kohta), samas kui \u201efailiserveritena\u201c toimivad spetsialiseeritud v\u00f5rgu s\u00f5lmed, mis on valmis neid teistele s\u00f5lmedele ADNL-i kaudu edastama.<\/p>\n<p><\/p>\n<p><strong>Udu teenus<\/strong> (<em>fog service<\/em>). R\u00e4\u00e4gime teenustest, mis h\u00f5lmavad detsentraliseerimist ja avatud osalemist. N\u00e4iteks TON Proxy on teenus, mida toetada saab iga liige, kes soovib pakkuda oma s\u00f5lme vahendajana (proxy), edastades pakette teiste s\u00f5lmede vahel. Ta v\u00f5ib k\u00fcsida selle eest kehtestatud tasu \u2014 kasutades TON Paymentsi mikromaksete s\u00fcsteemi (mis omakorda on samuti hajutatud teenus).<\/p>\n<p><\/p>\n<h3 id=\"adnl-abstract-datagram-network-layer\">ADNL: Abstraktne Datagrammi V\u00f5rgukiht<\/h3>\n<p><\/p>\n<p>Madalaimal tasemel toimub suhtlemine s\u00f5lmede vahel UDP-protokolli kaudu (kuigi on lubatud ka teised variandid).<\/p>\n<p><\/p>\n<p>Nagu eelnevalt mainitud, peab \u00fcks s\u00f5lm saatma paberi teisele, teadma \u00fchte tema avalikest v\u00f5tmetest (ja seega ka aadressi, mille see m\u00e4\u00e4rab). Ta kr\u00fcpteerib paketi selle v\u00f5tmega ja lisab paketi algusesse 256-bitise saaja aadressi \u2014 kuna \u00fchel s\u00f5lmel v\u00f5ib olla mitu sellist aadressi, v\u00f5imaldab see tal kindlaks teha, millist v\u00f5tit kasutada dekr\u00fcpteerimiseks.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TON: Telegram Open Network. Osa 1: Sissejuhatus, v\u00f5rgu tase, ADNL, DHT, \u00fclekatted\" src=\"\/wp-content\/uploads\/2019\/05\/570ed97bb0745d074e806e84651af567.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Lisaks v\u00f5ib andmepaketi alguses saaja aadressi asemel olla nn identifikaator <em>kanal<\/em>. Sel juhul s\u00f5ltub paketi t\u00f6\u00f6tlemine konkreetsest kokkuleppest s\u00f5lmede vahel - n\u00e4iteks v\u00f5ivad teatud kanalisse saadetud andmed olla m\u00f5eldud teisele s\u00f5lmele ja need peavad olema talle edasi suunatud (see on teenus. <em>TON Proxy<\/em>). Teine erijuhtum v\u00f5ib olla otsene suhtlemine s\u00f5lmede vahel, kuid sel juhul tuleb selle kanali jaoks kasutada individuaalset v\u00f5tmepaariga kr\u00fcptimist (eelnevalt loodud Diffie-Hellmani protokolli j\u00e4rgi).<\/p>\n<p><\/p>\n<p>L\u00f5puks on erijuhuks 'null' kanal - kui s\u00f5lm ei tea veel oma 'naabrite' avalikke v\u00f5tmeid, v\u00f5ib ta saata neile pakette t\u00e4iesti kr\u00fcptimata. See on m\u00f5eldud ainult initsialiseerimiseks - niipea kui s\u00f5lmed saadavad teavet oma v\u00f5tmete kohta, tuleb neid kasutada edasiseks suhtlemiseks.<\/p>\n<p><\/p>\n<p>\u00dclaltoodud protokolli (256-bitine kanalituvastus + paketi sisu) nimetatakse ADNL-ks. Dokumentatsioon mainib, et selle \u00fcle v\u00f5iks rakendada TCP analooge v\u00f5i oma \u00fclesehitust - RLDP (Reliable Large Datagram Protocol), kuid ei l\u00e4he detailidesse nende rakendamise osas.<\/p>\n<p><\/p>\n<h3 id=\"ton-dht-raspredelyonnaya-hesh-tablica\">TON DHT: Jaotatud hash-tabel<\/h3>\n<p><\/p>\n<p>Nagu teiste jaotatud s\u00fcsteemide puhul, eeldab TON DHT elluviimist \u2014 <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\">jaotatud r\u00e4sitabeli<\/a><\/noindex>. T\u00e4psemalt \u00f6eldes \u2014 tabel on <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Kademlia\">Kademlia-t\u00fc\u00fcpi<\/a><\/noindex>. Kui te ei ole sellise r\u00e4sitabeli t\u00fc\u00fcbiga tuttav \u2014 \u00e4rge muretsege, ma selgitan edaspidi l\u00fchidalt, kuidas need toimivad.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TON: Telegram Open Network. Osa 1: Sissejuhatus, v\u00f5rgu tase, ADNL, DHT, \u00fclekatted\" src=\"\/wp-content\/uploads\/2019\/05\/790d623466c72c78ee17fa298ac9d81d.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Abstraktselt \u00f6eldes seondab DHT 256-bitiseid v\u00f5tmeid teatud binaarsete v\u00e4\u00e4rtustega, mille pikkus on suvaline. Samuti on v\u00f5tmed tabelis r\u00e4sid kindla TL-struktuuri (need struktuurid salvestatakse samuti koos DHT-ga). See sarnaneb t\u00f5eliselt s\u00f5lmede aadresside loomisega \u2014 ja need v\u00f5ivad t\u00f5epoolest DHT-s esineda (n\u00e4iteks v\u00f5ib sellise v\u00f5tme all asuda vastava s\u00f5lme IP-aadress antud <em>abstraktse aadressi<\/em>, kui see ei varja seda). Aga \u00fcldiselt \u00f6eldes, \"v\u00f5tmete proovid\" (nende <em>kirjeldused<\/em>, <em>key descriptions<\/em>) \u2014 need metaandmed, mis n\u00e4itavad registreerimise \"omanikku\" (st mingi s\u00f5lme avalikku v\u00f5tit), salvestatud v\u00e4\u00e4rtuse t\u00fc\u00fcpi ja reegleid, mille alusel seda kirjet hiljem muudetakse. N\u00e4iteks v\u00f5ib reegel lubada v\u00e4\u00e4rtuse muutmist ainult omanikule v\u00f5i keelata v\u00e4\u00e4rtuse v\u00e4hendamise (kaitseks replay-r\u00fcnnakute eest).<\/p>\n<p><\/p>\n<p>Lisaks 256-bitistele v\u00f5tmetele tutvustatakse DHT-aadresse. Erinevus tavalistest s\u00f5lme aadressidest on see, et DHT-aadress on tingimata seotud IP-aadressiga. Kui s\u00f5lm ei peida oma IP-d, v\u00f5ib ta DHT jaoks kasutada tavap\u00e4rast aadressi. Kuid sagedamini luuakse DHT jaoks eraldi, \"pool-p\u00fcsiv\" aadress.<br \/>\n<img decoding=\"async\" alt=\"TON: Telegram Open Network. Osa 1: Sissejuhatus, v\u00f5rgu tase, ADNL, DHT, \u00fclekatted\" src=\"\/wp-content\/uploads\/2019\/05\/93064abdf9dbfd5276502cd3aa6cf8f8.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nV\u00f5tmete ja DHT-aadresside puhul tutvustatakse kauguse m\u00f5istet \u2014 selles osas kattub see tabelitega <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Kademlia\">Kademlia<\/a><\/noindex> \u2014 v\u00f5tmete vahelise kauguse v\u00e4\u00e4rtus on XOR (bitihommik v\u00e4listav OR) neist. Nagu Kademlia tabelites, peab v\u00e4\u00e4rtus, mis vastab teatud v\u00f5tmele, olema talletatud <em>s<\/em> s\u00f5lmedes, mille kaugus selle v\u00f5tme suhtes on k\u00f5ige v\u00e4iksem (<em>s<\/em> siin \u2014 suhteliselt v\u00e4ike number).<\/p>\n<p><\/p>\n<p>Kuna DHT s\u00f5lm peab suhtlema teiste selliste s\u00f5lmedega, hoiab ta meeles <em>DHT marsruuditabelit<\/em> \u2014 DHT- ja IP-aadressid s\u00f5lmedest, millega ta varem suheldud, gruppeeritakse nende kauguse alusel. Selliseid gruppe on 256 (need vastavad kauguse v\u00e4\u00e4rtuse k\u00f5rgeima seadistatud bitile \u2014 st s\u00f5lmed, mis on kaugusel 0 kuni 255, kuuluvad \u00fchte gruppi, 256 kuni 65535 \u2014 j\u00e4rgmisse jne.). Igas grupis hoitakse piiratud arvu \u201eparimaid\u201c s\u00f5lmi (p\u00f5hinedes nendele pingele).<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TON: Telegram Open Network. Osa 1: Sissejuhatus, v\u00f5rgu tase, ADNL, DHT, \u00fclekatted\" src=\"\/wp-content\/uploads\/2019\/05\/9db2fef6986010db046f797f1fe68130.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Iga s\u00f5lm peab toetama mitmeid operatsioone: <em>v\u00f5tme v\u00e4\u00e4rtuse salvestamine<\/em>, <em>s\u00f5lmede otsimine<\/em> ja <em>v\u00e4\u00e4rtuste otsimine<\/em>. S\u00f5lmede otsimine t\u00e4hendab, et antud v\u00f5tme alusel saadakse l\u00e4himad s\u00f5lmed marsruuditi tabelist; v\u00e4\u00e4rtuste otsimine on sama, v\u00e4lja arvatud juhul, kui s\u00f5lm teab v\u00f5tme v\u00e4\u00e4rtust (siis tagastab ta lihtsalt selle). Vastavalt, kui s\u00f5lm soovib DHT-s leida v\u00e4\u00e4rtuse v\u00f5tme alusel, saadab ta p\u00e4ringud v\u00e4ikesele hulgale l\u00e4himatele s\u00f5lmedele oma marsruuditi tabelist. Kui nende vastustes ei ole soovitud v\u00e4\u00e4rtust, kuid on teisi s\u00f5lmi, siis p\u00e4ringut korratakse nende poole.<\/p>\n<p><\/p>\n<p>TON DHT-d saab kasutada erinevate eesm\u00e4rkide jaoks, n\u00e4iteks \u2014 failide torrent-t\u00fc\u00fcpi salvestamiseks (vt. <em>TON salvestus<\/em>); teenuste rakenduste s\u00f5lmede aadresside m\u00e4\u00e4ramiseks; konto omanike teabe s\u00e4ilitamiseks plokiahelas. Kuid k\u00f5ige olulisem rakendus on s\u00f5lmede tuvastamine nende abstraktsete aadresside j\u00e4rgi. Selleks kasutatakse aadressit v\u00f5tmena, mille v\u00e4\u00e4rtust tuleb leida. Taotluse tulemusena kas leitakse s\u00f5lm (kui otsitav aadress oli selle poolp\u00fcsiv DHT-aadress) v\u00f5i on v\u00e4\u00e4rtuseks IP-aadress ja port \u00fchendamiseks \u2014 v\u00f5i m\u00f5ni muu aadress, mida tuleks kasutada tunnelina-vahendajana.<\/p>\n<p><\/p>\n<h3 id=\"overleynye-seti-v-ton\">TON-i \u00fclekandev\u00f5rgud<\/h3>\n<p><\/p>\n<p>\u00dclaltoodud ADNL-protokoll v\u00f5imaldab igal s\u00f5lmel omavahel teavet vahetada - t\u00f5si, mitte tingimata optimaalsel teel. V\u00f5ib \u00f6elda, et ADNL-i abil moodustavad k\u00f5ik s\u00f5lmed globaalset TON-i graafi (ideaalis - \u00fchendatud). Kuid lisaks on ette n\u00e4htud ka \u00fclekandev\u00f5rkude loomise v\u00f5imalus - alagraafikud selle graafi sees.<br \/>\n<img decoding=\"async\" alt=\"TON: Telegram Open Network. Osa 1: Sissejuhatus, v\u00f5rgu tase, ADNL, DHT, \u00fclekatted\" src=\"\/wp-content\/uploads\/2019\/05\/0badd85ba46517c04f63439f7dd1e8d7.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Sellistes v\u00f5rkudes toimub suhtlemine ainult otseselt - eelnevalt loodud sidemete kaudu v\u00f5rgupunktide vahel (ADNL-kanalite kaudu, nagu eespool kirjeldatud). Selliste suhete loomine naabrite vahel ja naabrite otsimine on automaatne protsess, mille eesm\u00e4rk on s\u00e4ilitada overlay-v\u00f5rgu \u00fchendus ja v\u00e4hendada andmevahetuse viivitusi.<\/p>\n<p><\/p>\n<p>Lisaks on v\u00e4lja t\u00f6\u00f6tatud viis suurte laiaulatuslike v\u00e4rskenduste kiiremaks levitamiseks v\u00f5rgus - need jagatakse osadeks, t\u00e4iendatakse vigade parandamise koodiga ja k\u00f5ik need t\u00fckid saadetakse \u00fche osaleja poolt teisele. Seega ei pea osaleja t\u00e4ielikult saama k\u00f5iki osi enne, kui saadab need v\u00f5rgus edasi.<\/p>\n<p><\/p>\n<p>Overlay-v\u00f5rgud v\u00f5ivad olla avalikud ja privaatsed. Avaliku v\u00f5rgu liikmeks saamine ei ole keeruline - tuleb leida TL-struktuur, mis seda kirjeldab (see v\u00f5ib olla avalik - v\u00f5i k\u00e4ttesaadav teatud v\u00f5tme kaudu DHT-s). Privaatsuse korral peaks see struktuur olema s\u00f5lmele eelnevalt teada.<\/p>\n<p><\/p>\n<h3 id=\"prodolzhenie-sleduet\">J\u00e4tkub<\/h3>\n<p><\/p>\n<p>Otsustasin jagada TONi \u00fclevaate mitmeks artikliks. Selle osa l\u00f5petan n\u00fc\u00fcd ja <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/post\/354568\/\">j\u00e4rgmises<\/a><\/noindex> l\u00e4hen blockchain'i (t\u00e4psemalt, blockchain'ide) struktuuri arutamisele, millest TON koosneb.<\/p>\n<p>Allikas: <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 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\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\" \/>\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\/et\/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) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\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:description\" content=\"\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\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/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. Osa 1: Sissejuhatus, v\u00f5rgu tase, ADNL, DHT, overlay-v\u00f5rgud | ProHoster","description":"Juba kaks n\u00e4dalat on Runet r\u00e4\u00e4kinud Telegramist ja selle olukorrast, kus Roskomnadzor blokeerib seda m\u00f5ttetult ja halastamatult. Paljusid see on puudutanud, kuid k\u00f5ik need on teemad postitamiseks Geektimes'is. Mind aga \u00fcllatas midagi muud - ma ei ole siiani n\u00e4inud Habres \u00fchtegi anal\u00fc\u00fcsi planeeritava Telegrami p\u00f5hise v\u00f5rgu TON kohta - Telegram Open","canonical_url":"https:\/\/prohoster.info\/et\/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":"et_EE","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:description":"\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","og:url":"https:\/\/prohoster.info\/et\/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"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/34632","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=34632"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/34632\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/26099"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=34632"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=34632"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=34632"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}