TON: Teregiramu Vhura Network. Chikamu 1: Nhanganyaya, network layer, ADNL, DHT, overlay network

TON: Teregiramu Vhura Network. Chikamu 1: Nhanganyaya, network layer, ADNL, DHT, overlay network

Kwemavhiki maviri ikozvino, Runet yave ichiita ruzha pamusoro peTeregiramu uye mamiriro acho nekuvharwa kwayo kusina musoro uye kusina tsitsi neRoskomnadzor. Iyo ricochet yakagumbura vanhu vazhinji, asi ese aya misoro yezvinyorwa paGeektimes. Ndakashamiswa nechimwe chinhu - ini handisati ndaona kuongororwa kumwe chete paHabré yeTON network yakarongwa kusunungurwa pahwaro hweTeregiramu - Telegraph Open Network. Ini ndaida kugadzirisa kushomeka uku, nekuti pane chimwe chinhu chekudzidza ipapo - kunyangwe nekushaikwa kwezvirevo zvepamutemo nezvazvo.

Rega ndikuyeuchidze kuti kune runyerekupe rwekuti Teregiramu yakatanga yakakura kwazvo yakavharwa ICO, yatounganidza mari inoshamisa. Zvinotarisirwa kuti Gram's own cryptocurrency ichatangwa gore rino - uye mushandisi wega wega weTeregiramu achange aine chikwama, icho pachacho chinogadzira mukana wakakura pane mamwe makriptoakti.

Nehurombo, sezvo pasina zvirevo zvepamutemo, ndinogona kungoenderera mberi kubva gwaro risingazivikanwi kwakabva, izvo zvandinokurumidza kukuyambirai nezvazvo. Ehe, inogona kuve yakanyatso hunyanzvi hwekunyepedzera, asi zvakare zvinogoneka kuti iyi ichena chaiyo yeramangwana system, yakanyorwa naNikolai Durov (uye yakaburitswa, pamwe, nemumwe wevanoisa mari). Asi kunyangwe iri manyepo, hapana achatirambidza kudzidza nekukurukura, handiti?

Gwaro iri rinoti kudii? Ini ndichaedza kuzvitaura zvakare nemashoko angu, pedyo nemashoko, asi muchiRussia uye zvishoma zvishoma (dai Nikolai ngaandiregerere nemaitiro ake ekupinda musvomhu dzepamutemo). Ramba uchifunga kuti kunyangwe ichi chiri chokwadi, iyi rondedzero yehurongwa uye inogona kuchinja panguva yekuvhurwa kweruzhinji.

Tinodzidza kuti mukuwedzera kune cryptocurrency, pane zvakawanda zvakawanda zvinotarisirwa. Ngatitorei muhurongwa.

  • TON Blockchain. Iyi ndiyo nheyo yehurongwa hwose. Kana usingazivi kuti chii blockchain - Ini ndinokurudzira kutsvaga, nekuti kuchave neakawanda blockchains pano. Yakaiswa mukati memumwe nemumwe, yakakamurwa uye kunyange "yakatwasuka" blockchains mukati mezvivharo zvemamwe blockchains. Pachave zvakare nemamwe mazwi anotonhorera-anonzwika senge Instant Hypercube Routing и Infinite Sharding Paradigm, asi zvakawanda pamusoro pazvo gare gare. Uye, chokwadi, humbowo-hwe-danda uye akangwara zvibvumirano.
  • TON P2P Network. Peer-to-peer network pahwaro hweiyo system ichavakwa. Iye achatanga kukurukurwa muchikamu chino chenyaya.
  • TON Storage. Kuchengetwa kwefaira, iyo, pasinei ne blockchain, ichavakwa pane yakataurwa pamusoro peer-to-peer network. Inogona kufananidzwa nenzizi.
  • TON Proxy. Iri ibasa rine chinangwa chekuwedzera kusazivikanwa kwevatori vechikamu network. Chero pakiti inogona kutumirwa kwete zvakananga, asi kuburikidza neanopindirana tunnel nekuwedzera encryption - senge I2P kana TOR.
  • TON DHT. Tafura yehashi yekuchengetera zvinhu zvisina tsarukano. Inovakwawo pamusoro TON Network (asi panguva imwechete inoshandiswa naye) uye inobatsira TON Storage tsvaga "kugovera" node, uye TON Proxy - vanodzokorora zvepakati. Asi zvinofanirwa kucherechedzwa kuti, kusiyana ne blockchain, iyi hashi tafura haisi yekuchengetedza yakachengeteka - haugone kuchengetedza ruzivo rwakakosha mairi.
  • TON Services. Platform yemasevhisi etsika. Muchidimbu, iyi iInternet nyowani pamusoro pezvese zvatsanangurwa pamusoro. Kuchinjana kwedata - kuburikidza TON Network/TON Proxy, uye pfungwa iri muzvibvumirano zvakangwara zve TON Blockchain. Uye chinongedzo chine maURL akajairika.
  • TON DNS. Sezvo tiri kutaura nezve maURL anozivikanwa, isu tinoda zvakare anoshandura kubva kwavari kuita 256-bit kero - maakaundi, zvibvumirano, masevhisi uye node.
  • TON Mipiro. Uye apa ndipo panopinda nyaya yemari. Uye hazvizodaro chete gram - sezvakaita ether, chero "zviratidzo" zvinogoneka; Magiremu anongove "default" mari pano.

Ichi ndicho chikamu chekutanga chinotsanangura "yakadzika" layer yeTON - network yayo chikamu, chakavakirwa pamusoro pechinyakare maprotocol. Muchikamu chinotevera tichataura nezve "nyoro" - blockchain, iyo inotsigirwa nehurongwa hunotsanangurwa pazasi. Saka, kurongeka kwangu kwekudzokorora kwakasiyana kwakasiyana nekushandiswa mugwaro rataurwa pamusoro (iro rinotanga nekukasira padanho risinganzwisisike).

Basic pfungwa

TL (Type Mutauro). Iyo iabstract bhinari fomati yeabirary data zvimiro. Inoshandiswa muTeregiramu protocol uye ichashandiswa nesimba muTON. Kana iwe uchida kujairana nazvo zvakadzama - heino tsananguro yake.

Hash (hashi) Basa rinoita shanduko isingadzoreki yedhizaini isina kurongeka kuita nhamba imwechete yehurefu hwakatarwa. Muzvinyorwa zvese tinotaura nezve basa SHA-256.

Network node (node) Node ndiyo software inoita kuti sisitimu ishande. Kunyanya, zvinofungidzirwa kuti yega yega Telegraph mutengi application ichasanganisira TON node. Padanho rakaderera, node dzine IPv4/IPv6 kero uye vanotaurirana vachishandisa UDP protocol; padanho repamusoro, vane abstract addresses uye shandisa ADNL protocol (nezve abstract kero uye ADNL - ona pazasi). Kana zvasvika kune chokwadi chekuti zvimwe zvikamu zvehurongwa zvinoita chimwe chinhu kana kuchengetedza imwe data, zvinonzwisiswa kuti izvi zvinoitwa netiweki node.

Abstract address (kana zvakapusa address, adhiresi) Kero yenodhi inotemwa nekiyi yavose. Zvakanyanya kuomarara, i256-bit hash (SHA256) yedata chimiro chine kiyi yeruzhinji (iyo chaiyo cryptographic algorithm haina kutaurwa - elliptic curves uye RSA-2048 inopiwa semuenzaniso). Kuti imwe node itaurirane neimwe, inoda kuziva kwete kero yeiyo chete, asiwo iyi data data. Muchirevo, imwe node yemuviri inogona kugadzira chero nhamba yemakero (inoenderana nemakiyi akasiyana).

Kupfuurirazve, chinongedzo chakadaro chinowanzoshandiswa: "prototype" muchimiro cheTL chimiro (chine chero data), uye 256-bit hashi kubva kwairi, inoshandiswa kugadzirisa.

Blockchain (blockchain) Blockchain chimiro che data, zvinhu (mabhuroko) iyo yakarongedzerwa mu "cheni", uye imwe neimwe inotevera block yeketani ine hashi yeimwe yapfuura. Nenzira iyi, kutendeseka kunowanikwa - shanduko dzinogona kuitwa chete nekuwedzera mabhuroko matsva.

sevhisi (sevhisi) Masevhisi mukati meTON anogona kuve emhando dzakasiyana, zvichienderana nekuti ivo vanoshandisa blockchain here kana kwete. Semuenzaniso, imwe (kana akawanda) network node inogona kugadzirisa zvimwe zvikumbiro zveRPC vachishandisa ADNL protocol inotsanangurwa pazasi, pasina kugadzira chero marekodhi mu blockchain - senge echinyakare mawebhu maseva. Kusanganisira mukana wekushandisa HTTP pamusoro peADNL, pamwe neshanduko yemutumwa pachayo kune iyi protocol. Nekufananidza neTOR kana I2P, izvi zvinoita kuti iwedzere kupikisa kuvharika kwakasiyana.

Panguva imwecheteyo, akati wandei masevhisi anosanganisira zvese kudyidzana ne blockchain uye kugadzirisa zvikumbiro kunze kwayo. Semuenzaniso, yeTON Storage - faira kuchengetedza - hazvina musoro zvakanyanya kuchengetedza mafaera pachawo pa blockchain. Ichange iine chete faira hashes (pamwe neimwe meta-ruzivo nezvavo), uye nyanzvi network node ichaita se "faira maseva", yakagadzirira kuvatumira kune dzimwe node kuburikidza neADNL.

Fog service (fog service) Tiri kutaura nezve mamwe masevhisi anoreva kuendesa matunhu uye kutora chikamu pachena mavari. Semuenzaniso, TON Proxy ibasa rinogona kutsigirwa nechero mutori wechikamu anoda kupa node yavo semurevereri (proxy) kutumira mapaketi pakati pedzimwe node. Kana achida, anogona kubhadharisa mari yakatarwa naye nekuda kweizvi - achishandisa TON Payments system ye micropayments (iyo, iyo, zvakare, iriwo fog service).

ADNL: Abstract Datagram Network Layer

Padanho rakaderera, kutaurirana pakati pemanodhi kuchaitwa uchishandisa iyo UDP protocol (kunyangwe dzimwe sarudzo dzichigamuchirwa).

Sezvataurwa pamusoro apa, kuitira kuti imwe node itumire pakiti kune imwe, inofanirwa kuziva imwe yemakiyi ayo eruzhinji (uye saka kero yainotsanangura). Inovharidzira packet nekiyi iyi uye inowedzera 256-bit kero yekuenda kunotanga packet - sezvo node imwe inogona kuva neaya akati wandei kero, izvi zvinoibvumira kuona kuti ndeipi kiyi yekushandisa pakubvisa.

TON: Teregiramu Vhura Network. Chikamu 1: Nhanganyaya, network layer, ADNL, DHT, overlay network

Mukuwedzera, panzvimbo yekero yemugamuchiri, kutanga kwepakiti yedata inogona kunge iine izvo zvinonzi. identifier mugero. Muchiitiko ichi, kugadziriswa kwepakiti kunotoenderana nezvibvumirano zvakananga pakati penode - semuenzaniso, data inotumirwa kune imwe chiteshi inogona kuitirwa imwe node uye inofanirwa kuendeswa kwairi (iri ibasa. TON Proxy) Imwe nyaya yakakosha inogona kunge iri yekudyidzana pakati pemanodhi, asi nekuvharidzira uchishandisa yega kiyi peya yeiyi chiteshi (yakafanogadzirwa uchishandisa Diffie-Hellman protocol).

Chekupedzisira, nyaya yakakosha ndeye "null" chiteshi - kana node isati yaziva makiyi eruzhinji e "vavakidzani" vayo, inogona kuvatumira mapaketi pasina encryption zvachose. Izvi zvinoitirwa chete kutanga - kana node dzatumira ruzivo nezve makiyi avo, dzinofanirwa kushandiswa kuenderera mberi kutaurirana.

Iyo protocol inotsanangurwa pamusoro (256 bits yechiteshi identifier + packet zviri mukati) inonzi ADNL. Zvinyorwa zvinotaura nezve mukana wekushandisa analogue yeTCP pamusoro payo kana yayo yekuwedzera - RLDP (Reliable Large Datagram Protocol), asi haipindi muhuwandu nezvekuita kwavo.

TON DHT: Yakagoverwa Hash Tafura

Sezvinoita kune mamwe masisitimu akagoverwa, TON inosanganisira kuitwa kweDHT - tafura yehashi yakagoverwa. Kunyanya, tafura iri Kademlia-kufanana. Kana iwe usiri kujairana nemhando iyi yetafura yehashi, usazvinetse, pazasi ini ndichanyatso kutsanangura mashandiro avanoita.

TON: Teregiramu Vhura Network. Chikamu 1: Nhanganyaya, network layer, ADNL, DHT, overlay network

Nenzira isinganzwisisike, DHT mepu 256-bit makiyi kune mabhinari maitiro ehurefu hwekupokana. Muchiitiko ichi, makiyi ari patafura hashes kubva kune imwe TL chimiro (izvo zvimiro pachazvo zvinochengetwa pamwe chete neDHT). Izvi zvakangofanana nekuumbwa kwemanodhi kero - uye vanogona kunge varipo muDHT (semuenzaniso, uchishandisa kiyi yakadaro iyo IP kero yenodhi inoenderana neyakapihwa. abstract address, kana asina kuvanza). Asi kazhinji, "prototypes yekiyi" (yavo tsananguro, tsananguro dzinokosha) is metadata inoratidza "muridzi" wekupinda mutafura yehashi (kureva, kiyi yeruzhinji yeimwe node), rudzi rweukoshi hwakachengetwa, uye mitemo iyo ino pinda inogona kushandurwa. Semuenzaniso, mutemo unogona kubvumira muridzi chete kuti achinje kukosha, kana kurambidza kushandura kukosha kudzika (kudzivirira pakurwiswa kwekudzokorora).

Pamusoro pe256-bit kiyi, iyo pfungwa yeDHT kero inounzwa. Musiyano neanogara achitambira kero ndewekuti iyo DHT kero yakasungirirwa kune IP kero. Kana node isingavanze IP yayo, inogona kushandisa kero yenguva dzose yeDHT. Asi kazhinji, kero yakaparadzana, "semi-permanent" ichagadzirwa kune zvinodiwa neDHT.
TON: Teregiramu Vhura Network. Chikamu 1: Nhanganyaya, network layer, ADNL, DHT, overlay network
Pfungwa yechinhambwe inounzwa pamusoro pemakiyi uye kero dzeDHT - mune izvi zvese zvinopindirana nematafura kademlia - chinhambwe chiri pakati pemakiyi chakaenzana neXOR (bitwise exclusive OR) yavo. Sezviri mumatafura eKademlia, kukosha kunoenderana neimwe kiyi inofanirwa kuchengetwa s node dzine chinhambwe chipfupi kune kiyi iyi (s heino nhamba diki).

Kuti DHT node itaure nemamwe manode akadaro, inoramba iri mundangariro DHT routing tafura -DHT uye IP kero dzenodhi dzayakambodyidzana nadzo, dzakaunganidzwa nedaro kure navo. Kune 256 mapoka akadaro (anoenderana neakanyanya kukosha akaiswa mukukosha kwechinhambwe - ndiko kuti, nodes ari chinhambwe kubva 0 kusvika 255 achawira muboka rimwe, kubva 256 kusvika 65535 - mune rinotevera, nezvimwewo). Mukati meboka rega rega, nhamba shoma ye "akanakisa" node inochengetwa (maererano neping kwavari).

TON: Teregiramu Vhura Network. Chikamu 1: Nhanganyaya, network layer, ADNL, DHT, overlay network

Imwe neimwe node inofanirwa kutsigira akati wandei mashandiro: kuchengetedza kukosha kwekiyi, node search и tsvaga maitiro. Kutsvaga ma node kunosanganisira kuburitsa, zvichibva pane yakapihwa kiyi, node dziri padyo nayo kubva patafura yekufambisa; kutarisa kumusoro kwakafanana, kunze kwekunge iyo node ichiziva kukosha kwekiyi (inobva yangoidzosera). Saizvozvo, kana node ichida kuwana kukosha nekiyi muDHT, inotumira mibvunzo kune nhamba diki yemanodhi padyo nekiyi iyi kubva patafura yayo yekufambisa. Kana kukosha kunodiwa kusiri pakati pemhinduro dzavo, asi pane dzimwe node kero, ipapo chikumbiro chinodzokororwa kwavari.

TON DHT inogona kushandiswa kune zvakasiyana siyana, semuenzaniso, kuita torrent-senge faira kuchengetedza (ona. TON Storage); kuona kero dzenodhi dzinoita mamwe masevhisi; kuchengetedza ruzivo nezvevaridzi veakaunti mu blockchain. Asi chinonyanya kukosha chekushandisa ndiko kuwanikwa kwemanodhi nemakero avo asinganzwisisike. Kuti uite izvi, kero inoshandiswa sekiyi iyo kukosha kwayo kunoda kuwanikwa. Nekuda kwechikumbiro, ingave iyo node pachayo ichawanikwa (kana kero yakatsvagirwa yaive kero yayo yekusingaperi DHT), kana kukosha kuchave iyo IP kero uye chiteshi chekubatanidza - kana imwe kero inofanirwa kushandiswa se mugero wepakati.

Overlay network muTON

Iyo ADNL protocol yakatsanangurwa pamusoro inoreva kugona kwechero nodes kuchinjanisa ruzivo nemumwe - kunyangwe zvisiri hazvo munzira dzakakwana. Isu tinogona kutaura kuti nekuda kweADNL, node dzese dzinogadzira yepasi rose TON graph (yakanyatso batana). Asi zvakare zvinogoneka kugadzira overlay network - subgraphs mukati meiyi girafu.
TON: Teregiramu Vhura Network. Chikamu 1: Nhanganyaya, network layer, ADNL, DHT, overlay network

Mukati menetiweki yakadai, kudyidzana kunoitwa zvakananga - kuburikidza nehukama hwakafanogadzirwa pakati pemanodhi anotora chikamu munetiweki (kuburikidza neADNL chiteshi chakatsanangurwa pamusoro). Kuumbwa kwekubatana kwakadaro pakati pevavakidzani, kutsvaga vavakidzani ivo pachavo, inzira ye otomatiki inotsvaga kuchengetedza kubatana kweiyo overlay network uye kuderedza kunonoka mukutsinhana kwe data mairi.

Pamusoro pezvo, pane nzira yekukurumidza kugovera nhepfenyuro huru mukati metiweki - dzakaputswa kuita zvidimbu, zvichiwedzerwa nekodhi yekukanganisa, uye zvidimbu zvese izvi zvinotumirwa kubva kune mumwe mubatanidzwa kuenda kune mumwe. Nekudaro, mutori wechikamu haafanire kuwana zvizere zvikamu zvese asati azvitumira mberi kune network.

Overlay network inogona kuve yeruzhinji kana yakavanzika. Kuve nhengo yeruzhinji network hakuna kuoma - unofanirwa kutsvaga chimiro cheTL chinochitsanangura (chinogona kuve cheruzhinji kana kuwanikwa neimwe kiyi muDHT). Panyaya ye network yakavanzika, chimiro ichi chinofanira kuzivikanwa kune node pamberi.

Zvichaenderera mberi

Ndakafunga kupatsanura iyo TON ongororo muzvinyorwa zvakati wandei. Apa ndipo panoperera chikamu ichi, uye mune inotevera Ini ndinoenderera mberi ndichifunga nezve chimiro che blockchain (chaizvo, blockchains) iyo TON ichave nayo.

Source: www.habr.com

Voeg