{"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\/sv\/blog\/administrirovanie\/ton-telegram-open-network-chast-2-blokchejny-shardirovanie","title":{"rendered":"TON: Telegram Open Network. Del 2: Blockkedjor, sharding","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"TON: Telegram Open Network. Del 2: Blockkedjor, sharding\" src=\"\/wp-content\/uploads\/2019\/05\/e2a24aa1dda6a435e60da257af662853.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Denna text \u00e4r en forts\u00e4ttning p\u00e5 en serie artiklar d\u00e4r jag unders\u00f6ker strukturen av det f\u00f6rmodligen f\u00f6rest\u00e5ende distribuerade n\u00e4tverket Telegram Open Network (TON) som planeras att lanseras i \u00e5r. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/post\/354366\/\">den f\u00f6reg\u00e5ende delen<\/a><\/noindex> Jag har beskrivit dess mest grundl\u00e4ggande niv\u00e5 \u2014 s\u00e4ttet som noder interagerar sinsemellan.<\/p>\n<p><\/p>\n<p>Jag vill p\u00e5minna om att jag inte har n\u00e5got att g\u00f6ra med utvecklingen av detta n\u00e4tverk och allt material \u00e4r h\u00e4mtat fr\u00e5n en \u00f6ppen (\u00e4ven om den \u00e4r ogranskad) k\u00e4lla \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/denull.ru\/telegram\/ton-tech.pdf\">Inkomststrukturen f\u00f6r PhD-studenter och Post-Docs p\u00e5 EPFL<\/a><\/noindex> (till vilken det \u00e4ven finns bifogad <noindex><a rel=\"nofollow\" href=\"https:\/\/denull.ru\/telegram\/ton.pdf\">en broschyr<\/a><\/noindex>, som sammanfattar huvudpunkterna), som d\u00f6k upp i slutet av f\u00f6rra \u00e5ret. M\u00e4ngden information i detta dokument tyder, enligt min \u00e5sikt, p\u00e5 dess \u00e4kthet, \u00e4ven om det inte finns n\u00e5gra officiella bekr\u00e4ftelser p\u00e5 det.<\/p>\n<p><\/p>\n<p>Idag ska vi titta p\u00e5 huvudkomponenten i TON \u2014 blockchain.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3 id=\"bazovye-ponyatiya\">Grundl\u00e4ggande begrepp<\/h3>\n<p><\/p>\n<p><strong>Konto<\/strong> (<em>konto<\/em>). En upps\u00e4ttning data som identifieras med ett 256-bitars nummer <em>account_id<\/em> (oftast \u00e4r detta den offentliga nyckeln f\u00f6r kontoinnehavaren). I det grundl\u00e4ggande fallet (se nedan <em>noll blockchain<\/em>), inneb\u00e4r dessa data anv\u00e4ndarens saldo. \"L\u00e5na\" ett specifikt <em>account_id<\/em> kan vem som helst, men att \u00e4ndra dess v\u00e4rde kan endast g\u00f6ras enligt best\u00e4mda regler.<\/p>\n<p><\/p>\n<p><strong>Smart kontrakt<\/strong> (<em>smart-contract<\/em>). I grunden \u00e4r det ett specialfall av ett konto, kompletterat med smart kontraktskod och lagring av dess variabler. I fallet med \"pl\u00e5nboken\" kan pengar s\u00e4ttas in och dras ut enligt relativt enkla och f\u00f6rutbest\u00e4mda regler, medan i fallet med ett smart kontrakt skrivs dessa regler ner i form av dess kod (p\u00e5 n\u00e5got Turing-fullst\u00e4ndigt programmeringsspr\u00e5k).<\/p>\n<p><\/p>\n<p><strong>Blockchain tillst\u00e5nd<\/strong> (<em>state of blockchain<\/em>). En upps\u00e4ttning tillst\u00e5nd f\u00f6r alla konton\/smart kontrakt (i abstrakt mening \u2014 en hash-tabell d\u00e4r nycklarna \u00e4r kontoidentifierare och v\u00e4rdena \u00e4r de data som lagras i kontona).<\/p>\n<p><\/p>\n<p><strong>Meddelandet<\/strong> (<em>meddelande<\/em>). Jag anv\u00e4nde tidigare uttrycket \"s\u00e4tta in och dra ut pengar\" \u2014 detta \u00e4r ett specifikt exempel p\u00e5 ett meddelande (\"\u00f6verf\u00f6ra <em>N gram<\/em> fr\u00e5n kontot <em>account_1<\/em> till kontot <em>account_2<\/em>\"). Det \u00e4r uppenbart att ett s\u00e5dant meddelande endast kan skickas av en nod som \u00e4ger den privata nyckeln till kontot <em>account_1<\/em> \u2014 och kan bekr\u00e4fta detta med en signatur. Resultatet av att leverera s\u00e5dana meddelanden till ett vanligt konto \u00e4r en \u00f6kning av dess saldo, medan ett smart kontrakt f\u00e5r sin kod att utf\u00f6ras (som behandlar mottagandet av meddelandet). Naturligtvis \u00e4r andra meddelanden m\u00f6jliga (som \u00f6verf\u00f6r icke-monet\u00e4ra belopp eller godtyckliga data mellan smarta kontrakt).<\/p>\n<p><\/p>\n<p><strong>Transaktion<\/strong> (<em>transaction<\/em>). Faktumet av att ett meddelande levereras kallas transaktion. Transaktioner f\u00f6r\u00e4ndrar blockchainens tillst\u00e5nd. Det \u00e4r just av transaktioner (leveransposter) som block i blockkedjan best\u00e5r. I detta avseende kan man f\u00f6rest\u00e4lla sig blockchainens tillst\u00e5nd som en inkrementell databas \u2014 alla block \u00e4r \u00abdiffar\u00bb som m\u00e5ste till\u00e4mpas sekventiellt f\u00f6r att f\u00e5 den aktuella databasen. Om detaljeringen av hur dessa \u00abdiffar\u00bb paketeras (och hur man \u00e5terst\u00e4ller det fullst\u00e4ndiga tillst\u00e5ndet fr\u00e5n dem) kommer att behandlas i n\u00e4sta artikel.<\/p>\n<p><\/p>\n<h3 id=\"blokcheyn-v-ton-chto-eto-i-zachem\">Blockchain i TON: vad \u00e4r det och varf\u00f6r?<\/h3>\n<p><\/p>\n<p>Som n\u00e4mndes i den f\u00f6reg\u00e5ende artikeln, <em>blockchain \u00e4r en datastruktur d\u00e4r elementen (blocken) \u00e4r ordnade i en \u00abkedja\u00bb och varje efterf\u00f6ljande block i kedjan inneh\u00e5ller en hash av den f\u00f6reg\u00e5ende<\/em>. I kommentarerna st\u00e4lldes fr\u00e5gan: varf\u00f6r beh\u00f6vs \u00f6verhuvudtaget en s\u00e5dan datastruktur n\u00e4r vi redan har DHT \u2014 en distribuerad hash-tabell? Det \u00e4r uppenbart att vissa uppgifter kan lagras i DHT, men det passar endast f\u00f6r information som inte \u00e4r alltf\u00f6r \u00abk\u00e4nslig\u00bb. Man kan inte lagra kryptovaluta saldon i DHT \u2014 framf\u00f6r allt p\u00e5 grund av bristen p\u00e5 kontroller f\u00f6r <em>integritet<\/em>. Egentligen v\u00e4xer hela komplexiteten i blockchain-strukturen f\u00f6r att f\u00f6rhindra att obeh\u00f6riga g\u00f6r intr\u00e5ng i de uppgifter som lagras d\u00e4r.<\/p>\n<p><\/p>\n<p>Men blockchain i TON ser \u00e4nnu mer komplicerat ut \u00e4n i de flesta andra distribuerade system \u2014 och det finns tv\u00e5 anledningar till det. Den f\u00f6rsta \u00e4r str\u00e4van att minimera behovet av <em>forkar<\/em>. I traditionella kryptovalutor \u00e4r alla parametrar angivna fr\u00e5n b\u00f6rjan och varje f\u00f6rs\u00f6k att \u00e4ndra dem leder faktiskt till en \u00abalternativ kryptovalutauniversum\u00bb. Den andra anledningen \u00e4r st\u00f6det f\u00f6r partitionering (<em>sharding<\/em>, <em>sharding<\/em>) i blockchainen. Blockchain \u00e4r en struktur som inte kan bli mindre med tiden; och normalt m\u00e5ste varje nod som ansvarar f\u00f6r n\u00e4tverkets funktionalitet lagra det helt. I traditionella (centraliserade) system anv\u00e4nds sharding f\u00f6r att l\u00f6sa s\u00e5dana problem: en del av posterna i databasen finns p\u00e5 en server, en del \u2014 p\u00e5 en annan, och s\u00e5 vidare. N\u00e4r det g\u00e4ller kryptovalutor \u00e4r denna funktionalitet fortfarande ganska s\u00e4llsynt \u2014 s\u00e4rskilt eftersom det \u00e4r sv\u00e5rt att l\u00e4gga till sharding i ett system d\u00e4r det inte ursprungligen planerades.<\/p>\n<p><\/p>\n<p>Hur planerar d\u00e5 TON att l\u00f6sa de b\u00e5da ovan beskrivna problemen?<\/p>\n<p><\/p>\n<h3 id=\"soderzhimoe-blokcheyna-vorkcheyny\">Inneh\u00e5llet i blockkedjan. Vorkchains.<\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TON: Telegram Open Network. Del 2: Blockkedjor, sharding\" src=\"\/wp-content\/uploads\/2019\/05\/c4f0f6e6702322ad4312cb262b3a0fab.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>F\u00f6rst och fr\u00e4mst, l\u00e5t oss prata om vad som planeras att lagras i blockkedjan. Det som kommer att lagras \u00e4r tillst\u00e5nd av konton (\"pl\u00e5nb\u00f6cker\" i grundl\u00e4ggande fall) och smarta kontrakt (f\u00f6r enkelhetens skull kommer vi att betrakta dem som samma sak som konton). I grund och botten kommer det att vara en vanlig hash-tabell \u2014 identifierare kommer att vara nycklar. <strong>account_id<\/strong>, och v\u00e4rdena kommer att vara datatyper som inneh\u00e5ller s\u00e5dana saker som:<\/p>\n<p><\/p>\n<ul>\n<li>saldo;<\/li>\n<li>kod f\u00f6r det smarta kontraktet (endast f\u00f6r smarta kontrakt);<\/li>\n<li>databas f\u00f6r det smarta kontraktet (endast f\u00f6r smarta kontrakt);<\/li>\n<li>statistik;<\/li>\n<li>(<em>valfritt<\/em>) offentlig nyckel f\u00f6r \u00f6verf\u00f6ringar fr\u00e5n kontot, som standard account_id;<\/li>\n<li>k\u00f6n av utg\u00e5ende meddelanden (h\u00e4r lagras de f\u00f6r vidarebefordran till mottagaren);<\/li>\n<li>lista \u00f6ver de senaste meddelandena som levererats till detta konto.<\/li>\n<\/ul>\n<p><\/p>\n<p>Som n\u00e4mnts ovan best\u00e5r blocken direkt av transaktioner \u2014 meddelanden som levererats till olika konton account_id. Men f\u00f6rutom account_id inneh\u00e5ller meddelandena ocks\u00e5 ett 32-bitars f\u00e4lt <em>workchain_id<\/em> \u2014 identifierare f\u00f6r s\u00e5 kallade <strong>vorkchains<\/strong> (<em>workchain<\/em>, <em>working blockchain<\/em>). Detta g\u00f6r det m\u00f6jligt att ha flera oberoende blockkedjor med olika konfigurationer. H\u00e4r betrakta workchain_id = 0 som ett speciellt fall, <strong>noll vorkchain<\/strong> \u2014 det \u00e4r saldon i denna som kommer att motsvara kryptovalutan TON (Grams). Troligtvis kommer det inte att finnas n\u00e5gra andra vorkchains i b\u00f6rjan.<\/p>\n<p><\/p>\n<h3 id=\"shardcheyny-infinite-sharding-paradigm\">Shardchains. Infinite Sharding Paradigm.<\/h3>\n<p><\/p>\n<p>Men tillv\u00e4xten av antalet blockkedjor stannar inte h\u00e4r. L\u00e5t oss utforska sharding. T\u00e4nk dig att varje konto (account_id) f\u00e5r sin egen blockkedja \u2014 alla inkommande meddelanden ligger i den \u2014 och tillst\u00e5ndet f\u00f6r alla s\u00e5dana blockkedjor lagras p\u00e5 separata noder.<\/p>\n<p><\/p>\n<p>Sj\u00e4lvklart \u00e4r detta ganska sl\u00f6saktigt: troligtvis kommer transaktioner i var och en av dessa <strong>shardchains<\/strong> (<em>shardchain<\/em>, <em>shard blockchain<\/em>) att mottas mycket s\u00e4llan, och m\u00e5nga kraftfulla noder beh\u00f6vs (f\u00f6r att vara tydlig, handlar det inte bara om klienter p\u00e5 mobiltelefoner \u2014 utan om mycket kraftfulla servrar).<\/p>\n<p><\/p>\n<p>D\u00e4rf\u00f6r grupperar shardchains konton efter de bin\u00e4ra prefixen av deras identifierare: om en shardchain har prefixet 0110, kommer transaktioner f\u00f6r alla account_id som b\u00f6rjar med dessa siffror att landa d\u00e4r. Detta <em>shard_prefix<\/em> kan ha en l\u00e4ngd fr\u00e5n 0 till 60 bitar \u2014 och huvudsaken \u00e4r att det kan \u00e4ndras dynamiskt.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TON: Telegram Open Network. Del 2: Blockkedjor, sharding\" src=\"\/wp-content\/uploads\/2019\/05\/568aec7ad3d8cc3e268f0e60d453b502.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>N\u00e4r en av shardkedjorna b\u00f6rjar ta emot ett \u00f6verdrivet antal transaktioner, \"delar\" noderna som arbetar med den den i f\u00f6rv\u00e4g definierade reglerna i tv\u00e5 underliggande kedjor - deras prefix kommer att vara en bit l\u00e4ngre (och f\u00f6r en av dem kommer denna bit att vara 0, medan f\u00f6r den andra kommer den att vara 1). Till exempel, <em>shard_prefix<\/em> = <u>0110<\/u>b delas upp i <u>0110<\/u>0b och <u>0110<\/u>1b. \u00c5 sin sida, om tv\u00e5 \"grann\" shardkedjor b\u00f6rjar k\u00e4nna sig tillr\u00e4ckligt bekv\u00e4ma (under en viss tid), s\u00e5 sl\u00e5s de \u00e5terigen samman.<\/p>\n<p><\/p>\n<p>D\u00e4rf\u00f6r g\u00f6rs sharding \"uppifr\u00e5n och ner\" - vi antar att varje konto har sin egen shard, men de \u00e4r - f\u00f6r tillf\u00e4llet - \"klistrade\" ihop efter prefix. Detta inneb\u00e4r <strong>Infinite Sharding Paradigm<\/strong> (<em>paradigmen av o\u00e4ndlig sharding.<\/em>).<\/p>\n<p><\/p>\n<p>Det \u00e4r v\u00e4rt att p\u00e5peka att arbetskedjor endast existerar virtuellt - i verkligheten, <em>workchain_id<\/em> \u00e4r det en del av identifikatorn f\u00f6r den specifika shardkedjan. Formellt sett definieras varje shardkedja av ett par nummer (<em>workchain_id<\/em>, <em>shard_prefix<\/em>).<\/p>\n<p><\/p>\n<h3 id=\"ispravlenie-oshibok-vertikalnye-blokcheyny\">Felr\u00e4ttning. Vertikala blockkedjor.<\/h3>\n<p><\/p>\n<p>Det anses traditionellt att varje transaktion i en blockkedja \u00e4r \"huggen i sten\". Men i fallet med TON f\u00f6rutses m\u00f6jligheten att \"skiva om historien\" - om n\u00e5gon (s\u00e5 kallad <em>fisknod<\/em>) kan bevisa att en av blocken signerades felaktigt. I s\u00e5 fall l\u00e4ggs en s\u00e4rskild korrigerande block till den motsvarande shardkedjan, inneh\u00e5llande hash av den block som korrigeras (och inte den senaste blocket i shardkedjan). N\u00e4r vi betraktar shardkedjan som en kedja av block som ligger horisontellt, kan vi s\u00e4ga att det korrigerande blocket kopplas till det felaktiga blocket inte till h\u00f6ger, utan ovanifr\u00e5n - d\u00e4rf\u00f6r anses det bli en del av den lilla \"vertikala blockkedjan\". D\u00e4rf\u00f6r kan man s\u00e4ga att shardkedjor \u00e4r <em>tv\u00e5dimensionella blockkedjor.<\/em>.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TON: Telegram Open Network. Del 2: Blockkedjor, sharding\" src=\"\/wp-content\/uploads\/2019\/05\/eda526705f5febd37995901b5542264c.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Om efter ett felaktigt block de \u00e4ndringar som gjorts refererades av efterf\u00f6ljande block (d.v.s. nya transaktioner gjordes baserat p\u00e5 ogiltiga), l\u00e4ggs korrigerande block ocks\u00e5 \"ovanp\u00e5\" dessa. Om blocken inte p\u00e5verkade den \"drabbade\" informationen, sprider sig inte dessa \"korrigerande v\u00e5gor\" till dem. Till exempel, i illustrationen ovan erk\u00e4ndes transaktionen i f\u00f6rsta blocket som felaktig, vilket \u00f6kar saldot f\u00f6r konto C \u2014 d\u00e4rf\u00f6r m\u00e5ste transaktionen som minskar saldot f\u00f6r detta konto i det tredje blocket ocks\u00e5 annulleras, och ett korrigerande block ska g\u00f6ras \u00f6ver blocket.<\/p>\n<p><\/p>\n<p>Det \u00e4r v\u00e4rt att notera \u2014 \u00e4ven om korrigerande block visas som placerade \"ovanf\u00f6r\" originalen, kommer de faktiskt att skrivas in i slutet av den motsvarande blockchain (dit de h\u00e4ndelsem\u00e4ssigt ska befinna sig). Den tv\u00e5dimensionella placeringen visar bara vilken punkt i blockkedjan de kommer att \"kopplas\" till (genom hashet fr\u00e5n det ursprungliga blocket).<\/p>\n<p><\/p>\n<p>Man kan s\u00e4rskilt filosofera \u00f6ver hur bra det \u00e4r att \"\u00e4ndra det f\u00f6rflutna\". Det verkar som om vi accepterar m\u00f6jligheten f\u00f6r ett felaktigt block i shardkedjan, s\u00e5 kan vi inte undvika m\u00f6jligheten f\u00f6r ett felaktigt korrigerande block. H\u00e4r, s\u00e5 l\u00e5ngt jag kan d\u00f6ma, ligger skillnaden i antalet noder som m\u00e5ste n\u00e5 en \u00f6verenskommelse ang\u00e5ende nya block \u2014 vid varje shardkedja kommer en relativt liten \"<em>arbetsgrupp<\/em>\" av noder (som ofta \u00e4ndrar sin sammans\u00e4ttning) arbeta, medan inf\u00f6randet av korrigerande block kr\u00e4ver samtycke fr\u00e5n alla <em>valideringsnoder<\/em>. Mer om validerare, arbetsgrupper och andra roller f\u00f6r noder kommer jag att ber\u00e4tta i n\u00e4sta artikel.<\/p>\n<p><\/p>\n<h3 id=\"odin-blokcheyn-chtob-pravit-vsemi\">En blockchain f\u00f6r att styra alla<\/h3>\n<p><\/p>\n<p>Ovan beskrivs mycket information om olika typer av blockkedjor, som ocks\u00e5 b\u00f6r lagras n\u00e5gonstans. S\u00e4rskilt handlar det om f\u00f6ljande uppgifter:<\/p>\n<p><\/p>\n<ul>\n<li>om antal och konfigurationer av arbetskedjor;<\/li>\n<li>om antal shardkedjor och deras prefixer;<\/li>\n<li>om vilka noder som f\u00f6r n\u00e4rvarande ansvarar f\u00f6r vilka shardkedjor;<\/li>\n<li>hashar av de senaste tillagda blocken i alla shardkedjor.<\/li>\n<\/ul>\n<p><\/p>\n<p>Som du redan har gissat, registreras alla dessa saker i en annan lagringsblockkedja \u2014 <strong>masterkedja<\/strong> (<em>masterchain<\/em>, <em>master blockchain<\/em>). Tack vare n\u00e4rvaron av hash-blocken fr\u00e5n alla shard-blocken, g\u00f6r det systemet starkt sammankopplat. Det inneb\u00e4r bland annat att genereringen av ett nytt block i master-chain kommer att ske direkt efter att blocken i shard-chains har genererats \u2014 det f\u00f6rv\u00e4ntas att block i shard-chains kommer att dyka upp n\u00e4stan samtidigt var femte sekund, och n\u00e4sta block i master-chain en sekund efter det.<\/p>\n<p><\/p>\n<p>Men vem kommer att vara ansvarig f\u00f6r att genomf\u00f6ra hela detta titanska arbete \u2014 f\u00f6r att skicka meddelanden, utf\u00f6ra smarta kontrakt, skapa block i shard-chains och master-chain, och dessutom kontrollera block f\u00f6r fel? Kommer verkligen detta att ske i tysthet av telefonerna hos miljontals anv\u00e4ndare med Telegram-klienten installerad p\u00e5 sina enheter? Eller kanske Durovs team kommer att ge upp id\u00e9erna om decentralisering och l\u00e5ta sina servrar g\u00f6ra det som f\u00f6rr?<\/p>\n<p><\/p>\n<p>I sj\u00e4lva verket \u00e4r inget av svaren korrekta. Men utrymmet f\u00f6r denna artikel rinner snabbt ut, s\u00e5 diskussionen om de olika rollerna f\u00f6r noder (du har kanske redan m\u00e4rkts n\u00e5gra av dem) och hur de fungerar kommer att forts\u00e4tta i n\u00e4sta del.<\/p>\n<p>K\u00e4lla: <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 5.0.4 - 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\/sv\/blog\/administrirovanie\/ton-telegram-open-network-chast-2-blokchejny-shardirovanie\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sv_SE\" \/>\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:url\" content=\"https:\/\/prohoster.info\/sv\/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. Del 2: Blockkedjor, shardning | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/ton-telegram-open-network-chast-2-blokchejny-shardirovanie","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sv_SE","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:url":"https:\/\/prohoster.info\/sv\/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","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/34631","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=34631"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/34631\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media\/26098"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=34631"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=34631"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=34631"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}