{"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\/it\/blog\/administrirovanie\/ton-telegram-open-network-chast-2-blokchejny-shardirovanie","title":{"rendered":"TON: Telegram Open Network. Parte 2: Blockchain, sharding","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"TON: Telegram Open Network. Parte 2: Blockchain, sharding\" src=\"\/wp-content\/uploads\/2019\/05\/e2a24aa1dda6a435e60da257af662853.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Questo testo \u00e8 il seguito di una serie di articoli in cui esamino la struttura (presumibilmente) in fase di lancio quest'anno della rete distribuita Telegram Open Network (TON). In <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/post\/354366\/\">parte precedente<\/a><\/noindex> ho descritto il suo livello pi\u00f9 basilare: il modo in cui i nodi interagiscono tra loro.<\/p>\n<p><\/p>\n<p>Per sicurezza, ricordo che non ho alcun legame con lo sviluppo di questa rete e tutto il materiale proviene da una fonte aperta (anche se non verificata) \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/denull.ru\/telegram\/ton-tech.pdf\">del documento<\/a><\/noindex> (c'\u00e8 anche una <noindex><a rel=\"nofollow\" href=\"https:\/\/denull.ru\/telegram\/ton.pdf\">brochure<\/a><\/noindex>, che espone brevemente i punti principali), emersa alla fine dello scorso anno. A mio avviso, la quantit\u00e0 di informazioni in questo documento testimonia la sua autenticit\u00e0, anche se non ci sono conferme ufficiali a riguardo.<\/p>\n<p><\/p>\n<p>Oggi daremo un'occhiata al componente principale di TON: la blockchain.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3 id=\"bazovye-ponyatiya\">Concetti di base<\/h3>\n<p><\/p>\n<p><strong>Account<\/strong> (<em>account<\/em>). Un insieme di dati identificato da un numero a 256 bit <em>account_id<\/em> (nella maggior parte dei casi si tratta della chiave pubblica del proprietario dell'account). Nel caso base (vedi sotto <em>workchain zero<\/em>), questi dati si riferiscono al saldo dell'utente. Chiunque pu\u00f2 \"prendere in prestito\" un certo <em>account_id<\/em> ma il suo valore pu\u00f2 essere modificato solo secondo regole specifiche.<\/p>\n<p><\/p>\n<p><strong>Smart contract<\/strong> (<em>smart-contract<\/em>). In sostanza, \u00e8 un caso particolare di account, arricchito con codice di smart contract e memorizzazione delle sue variabili. Mentre nel caso di un \u00abportafoglio\u00bb \u00e8 possibile accreditare e addebitare denaro secondo regole relativamente semplici e predefinite, nel caso di uno smart contract queste regole sono registrate come codice (in un linguaggio di programmazione Turing-completo).<\/p>\n<p><\/p>\n<p><strong>Stato della blockchain<\/strong> (<em>state of blockchain<\/em>). L'insieme degli stati di tutti gli account\/smart contract (in una accezione astratta \u2014 una tabella hash, dove le chiavi sono gli identificatori degli account e i valori sono i dati memorizzati negli account).<\/p>\n<p><\/p>\n<p><strong>Messaggio<\/strong> (<em>message<\/em>). Ho utilizzato sopra l'espressione \u00abaccreditare e addebitare denaro\u00bb \u2014 \u00e8 un esempio specifico di messaggio (\u00abtrasferire <em>N grammi<\/em> dall'account <em>account_1<\/em> all'account <em>account_2<\/em>\u00bb). \u00c8 ovvio che solo un nodo che possiede la chiave privata dell'account possa inviare un tale messaggio. <em>account_1<\/em> \u2014 e pu\u00f2 confermare ci\u00f2 con la firma. La consegna di tali messaggi a un account normale porta ad un aumento del suo saldo, mentre al contratto intelligente ne comporta l'esecuzione del codice (che gestir\u00e0 la ricezione del messaggio). Naturalmente, sono possibili anche altri messaggi (che trasferiscono non somme di denaro, ma dati arbitrari tra contratti intelligenti).<\/p>\n<p><\/p>\n<p><strong>Transazione<\/strong> (<em>transazione<\/em>). Il fatto che un messaggio venga consegnato \u00e8 chiamato transazione. Le transazioni modificano lo stato della blockchain. Sono proprio le transazioni (registrazioni di consegna dei messaggi) a costituire i blocchi nella blockchain. In questo senso, si pu\u00f2 immaginare lo stato della blockchain come un database incrementale: tutti i blocchi sono \u00abdiff\u00bb che devono essere applicati sequenzialmente per ottenere l'attuale stato del DB. Di specificit\u00e0 del confezionamento di questi \u00abdiff\u00bb (e del ripristino dello stato completo tramite essi) si parler\u00e0 nel prossimo articolo.<\/p>\n<p><\/p>\n<h3 id=\"blokcheyn-v-ton-chto-eto-i-zachem\">Blockchain in TON: cos'\u00e8 e a cosa serve?<\/h3>\n<p><\/p>\n<p>Come accennato nell'articolo precedente, <em>la blockchain \u00e8 una struttura dati i cui elementi (blocchi) sono ordinati in una \u00abcatena\u00bb, e ogni blocco successivo della catena contiene l'hash del blocco precedente.<\/em>. Nei commenti \u00e8 stata posta la domanda: a che serve una struttura dati del genere, quando abbiamo gi\u00e0 il DHT \u2014 una tabella hash distribuita? \u00c8 evidente che alcuni dati possono essere memorizzati anche nel DHT, ma questo \u00e8 adatto solo per informazioni non troppo \"sensibili\". I saldi delle criptovalute non possono essere memorizzati nel DHT \u2014 soprattutto a causa dell'assenza di controlli sull' <em>integrit\u00e0<\/em>. Infatti, tutta la complessit\u00e0 della struttura della blockchain cresce per prevenire le interferenze nei dati memorizzati in essa.<\/p>\n<p><\/p>\n<p>Tuttavia, la blockchain in TON sembra essere ancora pi\u00f9 complessa rispetto alla maggior parte degli altri sistemi distribuiti \u2014 e ci sono due motivi per questo. Il primo \u00e8 il tentativo di minimizzare la necessit\u00e0 di <em>fork<\/em>. Nelle criptovalute tradizionali, tutti i parametri sono definiti nella fase iniziale e ogni tentativo di modificarli porta praticamente alla nascita di un'\"universo alternativo di criptovalute\". Il secondo motivo \u00e8 il supporto per la suddivisione (<em>sharding<\/em>, <em>)<\/em>) blockchain. Il blockchain \u00e8 una struttura che non pu\u00f2 ridursi nel tempo; e in genere ogni nodo responsabile del funzionamento della rete deve conservarne una copia completa. Nelle tradizionali (centralizzate) i sistemi, per risolvere problemi simili si usa lo sharding: parte dei dati nel database si trova su un server, parte su un altro, e cos\u00ec via. Nel caso delle criptovalute, questa funzionalit\u00e0 \u00e8 ancora piuttosto rara \u2014 in particolare, perch\u00e9 \u00e8 difficile aggiungere lo sharding in un sistema dove non era stato pianificato inizialmente.<\/p>\n<p><\/p>\n<p>Come intende il TON risolvere entrambi i problemi descritti sopra?<\/p>\n<p><\/p>\n<h3 id=\"soderzhimoe-blokcheyna-vorkcheyny\">Contenuto del blockchain. I workchain.<\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TON: Telegram Open Network. Parte 2: Blockchain, sharding\" src=\"\/wp-content\/uploads\/2019\/05\/c4f0f6e6702322ad4312cb262b3a0fab.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Per prima cosa, parliamo di cosa si prevede di archiviare nel blockchain. Saranno conservati stati degli account (i \"portafogli\" nel caso di base) e dei contratti smart (per semplicit\u00e0 consideriamoli la stessa cosa degli account). In sostanza, sar\u00e0 una normale tabella hash \u2014 gli identificatori saranno le chiavi <strong>account_id<\/strong>, e i valori saranno strutture dati che conterranno cose come:<\/p>\n<p><\/p>\n<ul>\n<li>bilancio;<\/li>\n<li>codice del contratto smart (solo per i contratti smart);<\/li>\n<li>archiviazione dati del contratto intelligente (solo per contratti intelligenti);<\/li>\n<li>statistiche;<\/li>\n<li>(<em>opzionale<\/em>) chiave pubblica per trasferimenti dall'account, per impostazione predefinita account_id;<\/li>\n<li>coda dei messaggi in uscita (qui vengono registrati per l'invio al destinatario);<\/li>\n<li>elenco degli ultimi messaggi consegnati a questo account.<\/li>\n<\/ul>\n<p><\/p>\n<p>Come detto sopra, i blocchi consistono direttamente in transazioni \u2014 messaggi consegnati a diversi account account_id. Tuttavia, oltre a account_id, i messaggi contengono anche un campo di 32 bit <em>workchain_id<\/em> \u2014 identificatore del cosiddetto <strong>workchain<\/strong> (<em>workchain<\/em>, <em>blockchain funzionante<\/em>). Questo permette di avere pi\u00f9 blockchain indipendenti l'una dall'altra con configurazioni diverse. In questo caso, workchain_id = 0 \u00e8 considerato un caso speciale, <strong>workchain nullo<\/strong> \u2014 i saldi in esso corrisponderanno alla criptovaluta TON (Grams). \u00c8 probabile che inizialmente non esistano altri workchain.<\/p>\n<p><\/p>\n<h3 id=\"shardcheyny-infinite-sharding-paradigm\">Sharding. Infinite Sharding Paradigm.<\/h3>\n<p><\/p>\n<p>Ma la crescita del numero di blockchain non si ferma qui. Approfondiamo il concetto di sharding. Immaginiamo che a ogni account (account_id) venga assegnata una propria blockchain \u2014 in essa vengono registrati tutti i messaggi in arrivo \u2014 e gli stati di tutte queste blockchain sono memorizzati su nodi distinti.<\/p>\n<p><\/p>\n<p>Certo, \u00e8 piuttosto dispendioso: probabilmente, in ciascuna di queste <strong>shardchain<\/strong> (<em>shardchain<\/em>, <em>shard blockchain<\/em>) le transazioni arriveranno molto raramente, e saranno necessari molti nodi potenti (anticipando, sottolineo che non si parla solo di client su telefoni cellulari \u2014 ma di server robusti).<\/p>\n<p><\/p>\n<p>Pertanto, gli shardchain raggruppano gli account in base ai prefissi binari dei loro identificatori: se uno shardchain ha un prefisso 0110, in esso confluiranno le transazioni di tutti gli account_id che iniziano con queste cifre. Questo <em>shard_prefix<\/em> pu\u00f2 avere una lunghezza da 0 a 60 bit \u2014 e la cosa importante \u00e8 che pu\u00f2 cambiare dinamicamente.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TON: Telegram Open Network. Parte 2: Blockchain, sharding\" src=\"\/wp-content\/uploads\/2019\/05\/568aec7ad3d8cc3e268f0e60d453b502.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Non appena uno dei shard chain inizia a ricevere un numero eccessivo di transazioni, i nodi che vi operano \"splittano\" il chain in due figli secondo regole prestabilite: i loro prefissi saranno pi\u00f9 lunghi di un bit (e per uno di essi questo bit sar\u00e0 0, mentre per l'altro sar\u00e0 1). Per esempio, <em>shard_prefix<\/em> = <u>0110<\/u>b si divider\u00e0 in <u>0110<\/u>0b e <u>0110<\/u>1b. A sua volta, se due shard chain \"vicini\" iniziano a sentirsi abbastanza a loro agio (per un certo periodo di tempo), essi si uniranno di nuovo in un unico chain.<\/p>\n<p><\/p>\n<p>Pertanto, lo sharding avviene \"dal basso verso l'alto\" \u2014 partiamo dal presupposto che ogni account abbia il proprio shard, ma fino a quel momento essi sono \"uniti\" per prefissi. Questo implica <strong>Paradigma di Sharding Infinito<\/strong> (<em>il paradigma dello sharding infinito.<\/em>).<\/p>\n<p><\/p>\n<p>Va sottolineato che i work chain esistono solo virtualmente \u2014 in realt\u00e0, <em>workchain_id<\/em> sono parte dell'identificatore di un particolare shard chain. In termini formali, ogni shard chain \u00e8 definito da una coppia di numeri (<em>workchain_id<\/em>, <em>shard_prefix<\/em>).<\/p>\n<p><\/p>\n<h3 id=\"ispravlenie-oshibok-vertikalnye-blokcheyny\">Correzione degli errori. Blockchain verticali.<\/h3>\n<p><\/p>\n<p>Tradizionalmente si considera che qualsiasi transazione sulla blockchain sia 'incisa nella pietra'. Tuttavia, nel caso di TON \u00e8 prevista la possibilit\u00e0 di 'riscrivere la storia' \u2014 nel caso in cui qualcuno (il cosiddetto <em>nodo 'pescatore'<\/em>) dimostri che uno dei blocchi \u00e8 stato firmato in modo errato. In tal caso, viene aggiunto un blocco correttivo speciale al corrispondente shard chain, contenente l'hash del blocco da correggere (e non dell'ultimo blocco nella shard chain). Rappresentando lo shard chain come una catena di blocchi disposti orizzontalmente, si pu\u00f2 dire che il blocco correttivo si attacca non a destra del blocco errato, ma sopra \u2014 per questo motivo si considera parte di un piccolo 'blockchain verticale'. Cos\u00ec si pu\u00f2 dire che gli shard chain sono <em>blockchain bidimensionali<\/em>.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TON: Telegram Open Network. Parte 2: Blockchain, sharding\" src=\"\/wp-content\/uploads\/2019\/05\/eda526705f5febd37995901b5542264c.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Nel caso in cui, dopo un blocco errato, successivi blocchi facessero riferimento alle modifiche apportate (cio\u00e8, fossero state effettuate nuove transazioni su basi non valide), anche a questi blocchi vengono aggiunti correttivi \"dall'alto\". Se i blocchi non hanno coinvolto le informazioni \"colpite\", queste \"onde correttive\" non si propagano su di essi. Ad esempio, nell'illustrazione sopra, la transazione del primo blocco, che incrementa il saldo dell'account C, \u00e8 stata riconosciuta come non valida \u2014 pertanto la transazione che decrementa il saldo di questo account nel terzo blocco deve anche essere annullata, e un blocco correttivo deve essere registrato sopra il blocco stesso.<\/p>\n<p><\/p>\n<p>Va notato che, sebbene i blocchi correttivi siano rappresentati come posizionati \"sopra\" gli originali, in realt\u00e0 verranno scritti alla fine del corrispondente blockchain (l\u00ec dove devono trovarsi cronologicamente). La disposizione bidimensionale mostra solo a quale punto della blockchain verranno \"collegati\" (tramite l'hash del blocco originale contenuto in essi).<\/p>\n<p><\/p>\n<p>Si pu\u00f2 discutere separatamente su quanto sia efficace la soluzione di \"cambiare il passato\". Sembra che, se ammettiamo la possibilit\u00e0 di un blocco errato nella blockchain, non possiamo escludere neanche la possibilit\u00e0 di un blocco correttivo errato. Qui, per quanto posso giudicare, la differenza risiede nel numero di nodi che devono raggiungere un consenso sui nuovi blocchi: un numero relativamente ridotto di \"<em>gruppo di lavoro<\/em>\" nodi (che cambia abbastanza frequentemente), mentre l'aggiunta di blocchi correttivi richieder\u00e0 il consenso di tutti <em>i nodi-validatori<\/em>. Maggiori dettagli sui validatori, sui gruppi di lavoro e sugli altri ruoli dei nodi saranno forniti nel prossimo articolo.<\/p>\n<p><\/p>\n<h3 id=\"odin-blokcheyn-chtob-pravit-vsemi\">Una blockchain per governarle tutte<\/h3>\n<p><\/p>\n<p>\u00c8 stata fornita una grande quantit\u00e0 di informazioni sui vari tipi di blockchain, che di per s\u00e9 deve anche essere archiviata da qualche parte. In particolare, si tratta delle seguenti informazioni:<\/p>\n<p><\/p>\n<ul>\n<li>sul numero e le configurazioni dei workchain;<\/li>\n<li>sul numero di shardchain e i loro prefissi;<\/li>\n<li>su quali nodi sono attualmente responsabili di quali shardchain;<\/li>\n<li>gli hash degli ultimi blocchi aggiunti a tutte le shardchain.<\/li>\n<\/ul>\n<p><\/p>\n<p>Come avrete gi\u00e0 capito, tutte queste cose vengono registrate in un ulteriore sistema di archiviazione: la blockchain \u2014 <strong>masterchain<\/strong> (<em>masterchain<\/em>, <em>master blockchain<\/em>). Grazie alla presenza degli hash dei blocchi di tutti gli sharding nei suoi blocchi, rende il sistema fortemente interconnesso. Ci\u00f2 significa che la generazione di un nuovo blocco nel masterchain avverr\u00e0 immediatamente dopo la generazione dei blocchi negli sharding \u2014 ci si aspetta che i blocchi negli sharding appaiano quasi simultaneamente ogni circa 5 secondi, e il successivo blocco nel masterchain \u2014 un secondo dopo di ci\u00f2.<\/p>\n<p><\/p>\n<p>Ma chi sar\u00e0 responsabile per l'implementazione di tutto questo lavoro titanico \u2014 per l'invio dei messaggi, l'esecuzione dei contratti smart, la formazione dei blocchi negli sharding e nel masterchain, e anche per la verifica degli errori nei blocchi? Saranno davvero i telefoni di milioni di utenti con il client Telegram installato a fare tutto questo in silenzio? O forse il team di Durov rinuncer\u00e0 alle idee di decentralizzazione e lo faranno i loro server in modo tradizionale?<\/p>\n<p><\/p>\n<p>In realt\u00e0, n\u00e9 l'uno n\u00e9 l'altro sono la risposta corretta. Ma gli spazi di quest'articolo si stanno rapidamente esaurendo, quindi parleremo delle diverse funzioni dei nodi (potresti aver gi\u00e0 notato alcune menzioni di essi) e delle loro meccaniche nella prossima parte.<\/p>\n<p>Fonte: <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\/it\/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=\"it_IT\" \/>\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\/it\/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. Parte 2: Blockchain, sharding | ProHoster","description":"Questo testo \u00e8 un proseguimento di una serie di articoli in cui esamino la struttura della rete distribuita Telegram Open Network (TON), che si prevede sia in uscita quest'anno. Nella parte precedente ho descritto il suo livello pi\u00f9 fondamentale: il modo in cui i nodi interagiscono tra loro. Ricordo che non ho alcun rapporto con lo sviluppo di questa rete e tutto il materiale","canonical_url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/ton-telegram-open-network-chast-2-blokchejny-shardirovanie","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","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\/it\/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\/it\/wp-json\/wp\/v2\/posts\/34631","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=34631"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/34631\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/26098"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=34631"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=34631"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=34631"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}