{"id":34631,"date":"2019-10-31T21:59:31","date_gmt":"2019-10-31T18:59:31","guid":{"rendered":"https:\/\/prohoster.info\/blog\/ton-telegram-open-network-chast-2-blokchejny-shardirovanie\/"},"modified":"2019-10-31T21:59:31","modified_gmt":"2019-10-31T18:59:31","slug":"ton-telegram-open-network-chast-2-blokchejny-shardirovanie","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/ton-telegram-open-network-chast-2-blokchejny-shardirovanie","title":{"rendered":"TON: Telegram Open Network. Osa 2: Blockchain'id, shardimine","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"TON: Telegram Open Network. Osa 2: Blockchain&#039;id, shardimine\" src=\"\/wp-content\/uploads\/2019\/05\/e2a24aa1dda6a435e60da257af662853.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>See tekst on j\u00e4rje j\u00e4tk, kus ma k\u00e4sitlen struktuuri (pretensiooniliselt) k\u00e4esoleval aastal k\u00e4ivituma valmistuvat jaotatud v\u00f5rku Telegram Open Network (TON). <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/post\/354366\/\">eelmisel osal<\/a><\/noindex> Siin kirjeldan ma selle k\u00f5ige p\u00f5hitaset - \u00fchendustevaheline suhtlemine s\u00f5lmede vahel.<\/p>\n<p><\/p>\n<p>Igaks juhuks tuletan meelde, et mul ei ole selle v\u00f5rgu arendamisega mingit seost ja kogu materjal on saadud avatud (kuigi kontrollimata) allikast - <noindex><a rel=\"nofollow\" href=\"https:\/\/denull.ru\/telegram\/ton-tech.pdf\">dokument<\/a><\/noindex> (sealsetele on lisatud <noindex><a rel=\"nofollow\" href=\"https:\/\/denull.ru\/telegram\/ton.pdf\">bro\u0161\u00fc\u00fcr<\/a><\/noindex>, mis l\u00fchidalt tutvustab peamisi punkte), mis ilmus eelmise aasta l\u00f5pus. Minu arvates viitab selle dokumendi info maht selle ehtsusele, kuigi ametlikke kinnitusi selle kohta ei ole.<\/p>\n<p><\/p>\n<p>T\u00e4na vaatame TONi peamist komponenti - plokiahelat.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3 id=\"bazovye-ponyatiya\">P\u00f5hiteadmised<\/h3>\n<p><\/p>\n<p><strong>konto)<\/strong> (<em>account<\/em>). Teatud andmekogum, mida tuvastatakse 256-bitise numbriga <em>account_id<\/em> (enamasti on see konto omaniku avalik v\u00f5ti). P\u00f5hilisel juhul (vt allpool <em>nullin\u00f5i<\/em>), m\u00f5istetakse nende andmete all kasutaja bilanssi. Konkreetselt \"laenata\" v\u00f5ib iga\u00fcks, kuid selle v\u00e4\u00e4rtuse muutmine on lubatud ainult teatud reeglite alusel. <em>account_id<\/em> \u043c\u043e\u0436\u0435\u0442 \u043a\u0442\u043e \u0443\u0433\u043e\u0434\u043d\u043e, \u043d\u043e \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u0435\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043c\u043e\u0436\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u043c \u043f\u0440\u0430\u0432\u0438\u043b\u0430\u043c.<\/p>\n<p><\/p>\n<p><strong>Nutileping<\/strong> (<em>smart-contract<\/em>). P\u00f5him\u00f5tteliselt on see konto erijuhtum, millele on lisatud nutilepingu kood ja selle muutujaid sisaldav salvestus. Kui \u201erahakoti\u201c puhul saab raha kanda ja v\u00e4lja v\u00f5tta suhteliselt lihtsate ja ette m\u00e4\u00e4ratud reeglite alusel, siis nutilepingu puhul on need reeglid kirja pandud selle koodina (m\u00f5nes Turingi t\u00e4ielikus programmeerimiskeeles).<\/p>\n<p><\/p>\n<p><strong>Plokiahela olek<\/strong> (<em>plokiahela olek<\/em>). K\u00f5ikide kontode\/nutilepingute olekute kogum (abstraktse t\u00e4henduses \u2014 hash-tabel, kus v\u00f5tmed on kontode identifikaatorid ja v\u00e4\u00e4rtused on kontodes salvestatud andmed).<\/p>\n<p><\/p>\n<p><strong>Teade<\/strong> (<em>message<\/em>). Eelnevalt kasutasin v\u00e4ljendit \u201ekaardil ja v\u00e4lja v\u00f5tma raha\u201c \u2014 see on konkreetne n\u00e4ide s\u00f5numist (\"kanda <em>N grammi<\/em> kontolt <em>account_1<\/em> konto peale <em>account_2<\/em>\"). On ilmne, et sellist s\u00f5numit saab saata ainult s\u00f5lm, kellel on konto privaatv\u00f5ti. <em>account_1<\/em> \u2014 ja suudab seda allkirjaga kinnitada. Selliste teadete tavalisse kontole saatmise tulemuseks on selle saldo suurenemine ning nutilepingule \u2013 selle koodi t\u00e4itmine (mis k\u00e4sitleb s\u00f5numi vastuv\u00f5ttu). Loomulikult on v\u00f5imalikud ka teised teated (mis ei edasta raha summasid, vaid erinevaid andmeid nutilepingute vahel).<\/p>\n<p><\/p>\n<p><strong>Tehing<\/strong> (<em>tehing<\/em>). S\u00f5numi kohaletoimetamise fakti nimetatakse tehinguks. Tehingud muudavad plokiahela seisundit. Just tehingutest (s\u00f5numite kohaletoimetamise kirjed) koosnevad plokiahela plokid. Sellega seoses v\u00f5ib plokiahela seisundit ette kujutada nagu inkremenalset andmebaasi \u2013 k\u00f5ik plokid on \u201ediffid\u201d, mida tuleb j\u00e4rjestikku rakendada, et saada praegune andmebaasi seisund. Nende \u201ediffide\u201d pakkimise konkreetsusest (ja t\u00e4ieliku seisundi rekonstruktsiooni osas) r\u00e4\u00e4gime j\u00e4rgmises artiklis.<\/p>\n<p><\/p>\n<h3 id=\"blokcheyn-v-ton-chto-eto-i-zachem\">Plokiahel TON-is: mis see on ja milleks on vajalik?<\/h3>\n<p><\/p>\n<p>Nagu mainitud eelnevas artiklis, <em>plokiahel on andmestruktuur, mille elemendid (plokid) on j\u00e4rjestatud \u201eahelaks\u201d, ja iga j\u00e4rgmine ahela plokk sisaldab eelmise hashi.<\/em>. Kommentaarides esitati k\u00fcsimus: miks on selline andmestruktuur \u00fcldse vajalik, kui meil juba on DHT \u2014 jaotatud r\u00e4sitabel? Selgelt on m\u00f5ned andmed v\u00f5imalik salvestada ka DHT-s, kuid see sobib vaid mitte liiga \"tundlike\" infos\u00fcsteemide jaoks. Kr\u00fcptoraha saldosid ei saa DHT-s hoida \u2014 peamiselt kontrollimise puudumise t\u00f5ttu <em>puutumatuse<\/em>. Tegelikult, kogu plokiahela struktuuri keerukus kasvab, et takistada sekkumist talle salvestatud andmetesse.<\/p>\n<p><\/p>\n<p>Siiski, plokiahel TON-is n\u00e4eb v\u00e4lja veel keerulisem kui enamik teisi jaotatud s\u00fcsteeme \u2014 ja sellel on kaks p\u00f5hjust. Esimene \u2014 soov v\u00e4hendada vajadust <em>harude j\u00e4rele<\/em>. Traditsioonilistes kr\u00fcptovaluutades on k\u00f5ik parameetrid m\u00e4\u00e4ratud algfaasis ja any katsed neid muuta toovad sisuliselt kaasa \"alternatiivse kr\u00fcptovaluuta universumi\". Teine p\u00f5hjus \u2014 fragmentatsiooni toetamine (<em>shardimise<\/em>, <em>fragmentatsiooni<\/em>) plokia. Plokia on struktuur, mis ei saa aja jooksul v\u00e4iksemaks muutuda; ja tavaliselt on iga s\u00f5lm, mis vastutab v\u00f5rgu t\u00f6\u00f6kindluse eest, sunnitud seda t\u00e4ielikult s\u00e4ilitama. Traditsioonilistes (kesksetes) s\u00fcsteemides rakendatakse selliste probleemide lahendamiseks sharding'ut: osa andmetest andmebaasis asub \u00fchel serveril, osa - teisel jne. Kr\u00fcptovaluutade puhul on selline funktsionaalsus seni \u00fcsna haruldane - eesk\u00e4tt seet\u00f5ttu, et on keeruline lisada sharding'ut s\u00fcsteemi, kus seda ei ole algselt kavandatud.<\/p>\n<p><\/p>\n<p>Kuidas kavatseb TON lahendada m\u00f5lemad eespool kirjeldatud probleemid?<\/p>\n<p><\/p>\n<h3 id=\"soderzhimoe-blokcheyna-vorkcheyny\">Plokia sisu. V\u00f5rguplokid.<\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TON: Telegram Open Network. Osa 2: Blockchain&#039;id, shardimine\" src=\"\/wp-content\/uploads\/2019\/05\/c4f0f6e6702322ad4312cb262b3a0fab.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Esiteks r\u00e4\u00e4gime sellest, mida kavatsetakse plokias hoiustada. Seal hoitakse kontode ('rahakottide' p\u00f5hijuhtumina) ja nutilepingute olekuid (lihtsuse huvides oletame, et need on sama, mis kontod). P\u00f5him\u00f5tteliselt on see tavaline r\u00e4sitabel - v\u00f5tmed selles on identifikaatorid <strong>account_id<\/strong>, ja v\u00e4\u00e4rtused - andmestruktuurid, mis sisaldavad selliseid asju nagu:<\/p>\n<p><\/p>\n<ul>\n<li>saldo;<\/li>\n<li>nutilepingu kood (ainult nutilepingute jaoks);<\/li>\n<li>nutikate smart-lepingute andmed (ainult smart-lepingute jaoks);<\/li>\n<li>statistika;<\/li>\n<li>(<em>valikuline<\/em>) avalik v\u00f5ti konto \u00fclekanneteks, vaikimisi account_id;<\/li>\n<li>v\u00e4ljuvate s\u00f5numite j\u00e4rjekord (siia saadetakse, et edastada saajale);<\/li>\n<li>viimastele selle kontole edastatud s\u00f5numite loend.<\/li>\n<\/ul>\n<p><\/p>\n<p>Nagu eelnevalt mainitud, koosnevad plokid otsekohe tehingutest \u2014 s\u00f5numitest, mis on edastatud erinevatele kontodele account_id. Kuid lisaks account_id-le sisaldavad s\u00f5numid ka 32-bitist v\u00e4lja <em>workchain_id<\/em> \u2014 nn identifikaator. <strong>workchain<\/strong> (<em>t\u00f6\u00f6tav plokiahel<\/em>, <em>). See v\u00f5imaldab erinevate konfiguratsioonidega s\u00f5ltumatute plokiahelate olemasolu. Samuti loetakse workchain_id = 0 erandjuhuks,<\/em>nullworkchain <strong>\u2014 just selles olevaid saldosid vastavad kr\u00fcptovaluutale TON (Gramad). Tuleb t\u00f5en\u00e4oliselt, et alguses ei eksisteeri teisi plokiahelate.<\/strong> Shard chain. Infinite Sharding Paradigm.<\/p>\n<p><\/p>\n<h3 id=\"shardcheyny-infinite-sharding-paradigm\">\u0428\u0430\u0440\u0434\u0447\u0435\u0439\u043d\u044b. Infinite Sharding Paradigm.<\/h3>\n<p><\/p>\n<p>Kuid see ei t\u00e4henda, et plokiahelate arv ei j\u00e4tku suureneda. Uurime sharding'ut. Kujutame ette, et igale kontole (account_id) on m\u00e4\u00e4ratud oma plokiahel \u2014 kuhu salvestatakse k\u00f5ik sellele saabuvaid s\u00f5numeid \u2014 ja k\u00f5igi nende plokiahelate olekud hoitakse eraldi s\u00f5lmedes.<\/p>\n<p><\/p>\n<p>Loomulikult on see \u00fcsna raiskav: t\u00f5en\u00e4oliselt tuleb igasse neist <strong>shardchainidesse<\/strong> (<em>shardchain<\/em>, <em>shard blockchain<\/em>) tehingud tulevad v\u00e4ga harva, ja vajalik on palju v\u00f5imsaid s\u00f5lmi (\u00fctlen kohe, et jutt ei ole ainult mobiiltelefonide klientidest \u2014 vaid t\u00f5sistest serveritest).<\/p>\n<p><\/p>\n<p>Seet\u00f5ttu \u00fchendavad shardchainid kontod nende tuvastajate binaarsete prefiksidega: kui shardchainil on prefiks 0110, siis satuvad sellesse k\u00f5ik account_id, mis algavad nende numbritega. See <em>shard_prefix<\/em> v\u00f5ib olla pikkus vahemikus 0 kuni 60 bitti \u2014 ja mis k\u00f5ige t\u00e4htsam, see v\u00f5ib d\u00fcnaamiliselt muutuda.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TON: Telegram Open Network. Osa 2: Blockchain&#039;id, shardimine\" src=\"\/wp-content\/uploads\/2019\/05\/568aec7ad3d8cc3e268f0e60d453b502.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Kui \u00fche shardi lake hakkab laekuma liialt palju tehinguid, siis shardi kallal t\u00f6\u00f6tavad s\u00f5lmed jagavad selle etteantud reeglite kohaselt kaheks alam-shardiks, mille prefiksid on \u00fche bitiga pikemad (ja \u00fchel neist on see bit 0, teisel aga 1). N\u00e4iteks, <em>shard_prefix<\/em> = <u>0110<\/u>b jaguneb <u>0110<\/u>0b ja <u>0110<\/u>1b. Kui kaks 'naabruses' asuvat shardchaini tunnevad end piisavalt mugavalt (teatud aja jooksul), siis need taas\u00fchinevad.<\/p>\n<p><\/p>\n<p>Seega toimub sharding 'alustades alt' \u2014 me eeldame, et igal kontol on oma shard, kuid need on \u2014 vaid seni \u2014 'liidetud' prefikside kaudu. Just seda t\u00e4hendab <strong>Piiramatu jaotamise paradigma<\/strong> (<em>l\u00f5putu sharding'i paradigma.<\/em>).<\/p>\n<p><\/p>\n<p>Eriliselt tahaks r\u00f5hutada, et workchainid eksisteerivad ainult virtuaalselt \u2014 tegelikult, <em>workchain_id<\/em> see on osa konkreetse shardchain'i identifikaatorist. Formaalselt \u00f6eldes, iga shardchain on m\u00e4\u00e4ratletud paarina numbreid (<em>workchain_id<\/em>, <em>shard_prefix<\/em>).<\/p>\n<p><\/p>\n<h3 id=\"ispravlenie-oshibok-vertikalnye-blokcheyny\">Vigade parandamine. Vertikaalsed blokkheindid.<\/h3>\n<p><\/p>\n<p>Traditsiooniliselt peetakse igat tehingut plokiahelas \"kivisse raiutuks\". Kuid TON-i puhul on ette n\u00e4htud v\u00f5imalus \"lugu \u00fcmber kirjutada\" \u2014 juhul, kui keegi (nn <em>p\u00fc\u00fcgipunkt<\/em>) t\u00f5estab, et \u00fcks plokk on allkirjastatud vale moodi. Sellisel juhul lisatakse vastavasse shardchain'i spetsiaalne parandav plokk, mis sisaldab parandatava ploki hash'i (mitte viimase ploki hash'i shardchain'is). Kui vaadata shardchain'i kui horisontaalset plokkide ahelat, v\u00f5ib \u00f6elda, et parandav plokk kinnitatakse mitte vale ploki paremale, vaid \u00fclemisele poole \u2014 seega peetakse seda v\u00e4ikese \"vertikaalse plokiahela\" osaks. Nii v\u00f5ib \u00f6elda, et shardchain'id on <em>kahem\u00f5\u00f5tmelised plokiahelad<\/em>.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TON: Telegram Open Network. Osa 2: Blockchain&#039;id, shardimine\" src=\"\/wp-content\/uploads\/2019\/05\/eda526705f5febd37995901b5542264c.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Kui p\u00e4rast valeploki peal muudetud muudatustele viidati j\u00e4rgmistes plokkides (st kehtetute alusel tehti uusi tehinguid), lisatakse ka nende plokkide peale korrigeerivad. Kui plokid ei puudutanud \"tabatud\" teavet, ei laiene need \"korrektsioonilaine\" neile. N\u00e4iteks \u00fclaltoodud illustratsioonis tunnistati valeplokiks esimese ploki tehing, mis suurendas konto C bilanssi \u2014 seega peab ka selle konto bilanssi v\u00e4hendav tehing kolmandas plokis olema t\u00fchistatud ja korrektuuri plokk peab olema koos plokiga commititud.<\/p>\n<p><\/p>\n<p>Olgu m\u00e4rgitud \u2014 kuigi korrigeerivad plokid kuvatakse paigutatuna \"\u00fcle\" originaalplokkide, kirjutatakse need tegelikult vastava ploki plokiahelas l\u00f5ppu (seal, kus need chronoloogiliselt peaksid olema). Kaks m\u00f5\u00f5det n\u00e4itab lihtsalt, millele plokiahelas nad \"kinnitatakse\" (originaalploki hash, mis on neis).<\/p>\n<p><\/p>\n<p>V\u00f5ime eraldi filosoofia m\u00f5ttes arutada, kui hea on lahendus \"mineviku muutmine\". Tundub, et kui lubame moonutatud ploki ilmumist sharding'usse, ei saa me samas v\u00e4listada ka vale parandava ploki tekkimist. Siin, kuiv\u00f5rd mina suudan otsustada, on erinevus s\u00f5lmede arvus, mis peab j\u00f5udma uute plokkide konsensusele - iga sharding'u kallal t\u00f6\u00f6tab suhteliselt v\u00e4ike \"<em>t\u00f6\u00f6grupp<\/em>\" s\u00f5lme (mis \u00fcsna tihti muudab oma koosseisu), ent parandavate plokkide lisamine n\u00f5uab k\u00f5igi <em>sertifitseerimis-s\u00f5lmede<\/em>. T\u00e4iendavalt r\u00e4\u00e4gin ma sertifitseerijatest, t\u00f6\u00f6gruppidest ja teistest s\u00f5lmede rollidest j\u00e4rgmises artiklis.<\/p>\n<p><\/p>\n<h3 id=\"odin-blokcheyn-chtob-pravit-vsemi\">\u00dcks plokiahel, et hallata k\u00f5ike<\/h3>\n<p><\/p>\n<p>\u00dclaltoodud on palju teavet erinevat t\u00fc\u00fcpi plokiahelate kohta, mida tuleks ka kuskil hoida. Eelk\u00f5ige on juttu j\u00e4rgmistest andmetest:<\/p>\n<p><\/p>\n<ul>\n<li>t\u00f6\u00f6tavate plokkide arvu ja konfigureerimise kohta;<\/li>\n<li>sharding'ute arvu ja nende eesliidete kohta;<\/li>\n<li>millised s\u00f5lmed on hetkel vastutavad milliste sharding'ute eest;<\/li>\n<li>viimati lisatud plokkide hash'id k\u00f5ikidesse sharding'utesse.<\/li>\n<\/ul>\n<p><\/p>\n<p>Kuidas te juba v\u00f5isite arvata, k\u00f5ik need asjad salvestatakse veel \u00fchte ladustamisse, plokiahelasse \u2014 <strong>meistriplokiahel<\/strong> (<em>masterchain<\/em>, <em>meistriplokiahel<\/em>). Ait\u00e4h sellele, et selle plokkides on shaardplokkide plokkide hashid, teeb see s\u00fcsteemi tugevalt seotud. See t\u00e4hendab ka, et uusi bloki genereerimine meistriplokiahelas toimub vahetult p\u00e4rast shaardplokkide genereerimist \u2014 oodatakse, et bloki shaardides ilmuvad peaaegu samaaegselt ligikaudu iga 5 sekundi j\u00e4rel, ja j\u00e4rgmine blokk meistriplokiahelas \u2014 sekundi p\u00e4rast seda.<\/p>\n<p><\/p>\n<p>Aga kes siis vastutab kogu selle titanilise t\u00f6\u00f6 teostamise eest \u2014 s\u00f5numite edastamine, nutilepingute t\u00e4itmine, plokkide loomine shaardplokkides ja meistriplokiahelas ning veel plokkide vigade kontrollimine? Kas t\u00f5esti teevad seda vaikides miljonite kasutajate mobiiltelefonid, kus on installitud Telegrami klient? V\u00f5i v\u00f5ib-olla loobuvad Durovi tiimide ideedest detsentraliseerimise osas ja teevad seda nende serverid vanaviisi?<\/p>\n<p><\/p>\n<p>Tegelikult ei ole kumbki vastus \u00f5ige. Kuid selle artikli v\u00e4ljaanded saavad kiiresti otsa, seet\u00f5ttu r\u00e4\u00e4gime erinevate s\u00f5lmede rollidest (olete v\u00f5ib-olla m\u00f5nda neist juba maininud) ning nende t\u00f6\u00f6mehhanismidest j\u00e4rgmises osas.<\/p>\n<p>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/354568\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0414\u0430\u043d\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442 \u2014 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435 \u0441\u0435\u0440\u0438\u0438 \u0441\u0442\u0430\u0442\u0435\u0439, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u044f \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u044e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 (\u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e) \u0433\u043e\u0442\u043e\u0432\u044f\u0449\u0435\u0439\u0441\u044f \u043a \u0432\u044b\u0445\u043e\u0434\u0443 \u0432 \u044d\u0442\u043e\u043c \u0433\u043e\u0434\u0443 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0439 \u0441\u0435\u0442\u0438 Telegram Open Network (TON). \u0412 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0447\u0430\u0441\u0442\u0438 \u044f \u043e\u043f\u0438\u0441\u0430\u043b \u0435\u0451 \u0441\u0430\u043c\u044b\u0439 \u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u2014 \u0441\u043f\u043e\u0441\u043e\u0431 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0443\u0437\u043b\u043e\u0432 \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0431\u043e\u0439. \u041d\u0430 \u0432\u0441\u044f\u043a\u0438\u0439 \u0441\u043b\u0443\u0447\u0430\u0439 \u043d\u0430\u043f\u043e\u043c\u043d\u044e, \u0447\u0442\u043e \u043a \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u044d\u0442\u043e\u0439 \u0441\u0435\u0442\u0438 \u044f \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f \u043d\u0435 \u0438\u043c\u0435\u044e \u0438 \u0432\u0435\u0441\u044c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":26098,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-34631","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=\"\u0414\u0430\u043d\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442 \u2014 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435 \u0441\u0435\u0440\u0438\u0438 \u0441\u0442\u0430\u0442\u0435\u0439, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u044f \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u044e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 (\u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e) \u0433\u043e\u0442\u043e\u0432\u044f\u0449\u0435\u0439\u0441\u044f \u043a \u0432\u044b\u0445\u043e\u0434\u0443 \u0432 \u044d\u0442\u043e\u043c \u0433\u043e\u0434\u0443 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0439 \u0441\u0435\u0442\u0438 Telegram Open Network (TON). \u0412 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0447\u0430\u0441\u0442\u0438 \u044f \u043e\u043f\u0438\u0441\u0430\u043b \u0435\u0451 \u0441\u0430\u043c\u044b\u0439 \u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u2014 \u0441\u043f\u043e\u0441\u043e\u0431 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0443\u0437\u043b\u043e\u0432 \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0431\u043e\u0439. \u041d\u0430 \u0432\u0441\u044f\u043a\u0438\u0439 \u0441\u043b\u0443\u0447\u0430\u0439 \u043d\u0430\u043f\u043e\u043c\u043d\u044e, \u0447\u0442\u043e \u043a \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u044d\u0442\u043e\u0439 \u0441\u0435\u0442\u0438 \u044f \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f \u043d\u0435 \u0438\u043c\u0435\u044e \u0438 \u0432\u0435\u0441\u044c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\" \/>\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-2-blokchejny-shardirovanie\" \/>\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 2: \u0411\u043b\u043e\u043a\u0447\u0435\u0439\u043d\u044b, \u0448\u0430\u0440\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0414\u0430\u043d\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442 \u2014 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435 \u0441\u0435\u0440\u0438\u0438 \u0441\u0442\u0430\u0442\u0435\u0439, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u044f \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u044e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 (\u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e) \u0433\u043e\u0442\u043e\u0432\u044f\u0449\u0435\u0439\u0441\u044f \u043a \u0432\u044b\u0445\u043e\u0434\u0443 \u0432 \u044d\u0442\u043e\u043c \u0433\u043e\u0434\u0443 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0439 \u0441\u0435\u0442\u0438 Telegram Open Network (TON). \u0412 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0447\u0430\u0441\u0442\u0438 \u044f \u043e\u043f\u0438\u0441\u0430\u043b \u0435\u0451 \u0441\u0430\u043c\u044b\u0439 \u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u2014 \u0441\u043f\u043e\u0441\u043e\u0431 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0443\u0437\u043b\u043e\u0432 \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0431\u043e\u0439. \u041d\u0430 \u0432\u0441\u044f\u043a\u0438\u0439 \u0441\u043b\u0443\u0447\u0430\u0439 \u043d\u0430\u043f\u043e\u043c\u043d\u044e, \u0447\u0442\u043e \u043a \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u044d\u0442\u043e\u0439 \u0441\u0435\u0442\u0438 \u044f \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f \u043d\u0435 \u0438\u043c\u0435\u044e \u0438 \u0432\u0435\u0441\u044c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/ton-telegram-open-network-chast-2-blokchejny-shardirovanie\" \/>\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 2: Plokiahelad, jagamine | ProHoster","description":"See tekst on j\u00e4tk sarjast artikleid, milles k\u00e4sitlen struktureerimise (eeldatavasti) sel aastal ilmuvat jaotatud v\u00f5rku Telegram Open Network (TON). Eelmises osas kirjeldasin selle k\u00f5ige aluseks oleva taseme \u2014 s\u00f5lmede vahelist suhtlemisviisi. Igaks juhuks tuletan meelde, et mul ei ole selle v\u00f5rgu v\u00e4ljat\u00f6\u00f6tamisega mingit seost ning kogu materjal","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/ton-telegram-open-network-chast-2-blokchejny-shardirovanie","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 2: \u0411\u043b\u043e\u043a\u0447\u0435\u0439\u043d\u044b, \u0448\u0430\u0440\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 | ProHoster","og:description":"\u0414\u0430\u043d\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442 \u2014 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435 \u0441\u0435\u0440\u0438\u0438 \u0441\u0442\u0430\u0442\u0435\u0439, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u044f \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u044e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 (\u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e) \u0433\u043e\u0442\u043e\u0432\u044f\u0449\u0435\u0439\u0441\u044f \u043a \u0432\u044b\u0445\u043e\u0434\u0443 \u0432 \u044d\u0442\u043e\u043c \u0433\u043e\u0434\u0443 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0439 \u0441\u0435\u0442\u0438 Telegram Open Network (TON). \u0412 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0447\u0430\u0441\u0442\u0438 \u044f \u043e\u043f\u0438\u0441\u0430\u043b \u0435\u0451 \u0441\u0430\u043c\u044b\u0439 \u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u2014 \u0441\u043f\u043e\u0441\u043e\u0431 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0443\u0437\u043b\u043e\u0432 \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0431\u043e\u0439. \u041d\u0430 \u0432\u0441\u044f\u043a\u0438\u0439 \u0441\u043b\u0443\u0447\u0430\u0439 \u043d\u0430\u043f\u043e\u043c\u043d\u044e, \u0447\u0442\u043e \u043a \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u044d\u0442\u043e\u0439 \u0441\u0435\u0442\u0438 \u044f \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f \u043d\u0435 \u0438\u043c\u0435\u044e \u0438 \u0432\u0435\u0441\u044c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b","og:url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/ton-telegram-open-network-chast-2-blokchejny-shardirovanie","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":"34631","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\/34631","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=34631"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/34631\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/26098"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=34631"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=34631"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=34631"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}