TON: Telegram Open Network. Māhele 1: Hoʻomaka, papa pūnaewele, ADNL, DHT, overlay networks

TON: Telegram Open Network. Māhele 1: Hoʻomaka, papa pūnaewele, ADNL, DHT, overlay networks

No ʻelua pule i kēia manawa, ua walaʻau ʻo Runet e pili ana i Telegram a me ke kūlana me kāna pale ʻole a me ke aloha ʻole e Roskomnadzor. Ua hōʻeha ka ricochet i nā poʻe he nui, akā he mau kumuhana kēia no nā pou ma Geektimes. Pīhoihoi au i kekahi mea ʻē aʻe - ʻaʻole wau i ʻike i kahi loiloi hoʻokahi ma Habré o ka pūnaewele TON i hoʻolālā ʻia no ka hoʻokuʻu ʻana ma ke kumu o Telegram - Telegram Open Network. Ua makemake au e hoʻoponopono i kēia hemahema, no ka mea, aia kekahi mea e aʻo ai ma laila - ʻoiai ka nele o nā ʻōlelo kūhelu e pili ana.

E hoʻomanaʻo wau iā ʻoe aia nā lono ua hoʻokumu ʻo Telegram i kahi ICO pani nui loa, ua hōʻiliʻili mua i nā kālā he nui. Manaʻo ʻia e hoʻokuʻu ʻia ka cryptocurrency ponoʻī o Gram i kēia makahiki - a e loaʻa koke i kēlā me kēia mea hoʻohana Telegram kahi ʻeke kālā, kahi e hana ai i kahi waiwai nui ma mua o nā cryptocurrencies ʻē aʻe.

ʻO ka mea pōʻino, no ka mea ʻaʻohe ʻōlelo kūhelu, hiki iaʻu ke hoʻomau hou aku palapala ʻike ʻole ʻia ke kumu, ka'u e ao koke aku nei ia oe. 'Oia'i'o, hiki ke lilo i mea ho'opunipuni akamai loa, akā hiki nō ho'i i kēia mea he whitepaper maoli o ka 'ōnaehana e hiki mai ana, i kākau 'ia e Nikolai Durov (a leaked, paha, e kekahi o nā mea hoʻopukapuka kālā). Akā inā he hoʻopunipuni, ʻaʻohe mea e pāpā iā mākou e aʻo a kūkākūkā, ʻeā?

He aha ka ʻōlelo a kēia palapala? E ho'āʻo wau e haʻi hou iā ia ma kaʻu mau ʻōlelo ponoʻī, kokoke i ka kikokikona, akā ma ka ʻōlelo Lūkini a me ke kanaka liʻiliʻi (e kala mai ʻo Nikolai iaʻu me kona makemake e hele i ka makemakika formal). E hoʻomanaʻo ʻoiai inā he ʻoiaʻiʻo kēia, he wehewehe kikoʻī kēia o ka ʻōnaehana a hiki ke loli i ka manawa o ka hoʻolaha ʻana o ka lehulehu.

Aʻo mākou ma waho aʻe o ka cryptocurrency, nui nā mea i manaʻo ʻia. E hooponopono kakou.

  • ʻO TON Blockchain. ʻO kēia ke kumu o ka'ōnaehana holoʻokoʻa. Inā ʻaʻole ʻoe i ʻike he aha ia i ka pō - Manaʻo wau e ʻike, no ka mea, e nui ana nā blockchains ma aneʻi. Hoʻopaʻa ʻia i loko o kekahi i kekahi, ʻaneʻane ʻāpana a me ka "vertical" blockchains i loko o nā poloka o nā blockchains ʻē aʻe. E loaʻa pū kekahi mau ʻōlelo leo ʻoluʻolu e like me Alanui Hypercube koke и ʻO ka Paradigm Sharding palena ʻole, akā ʻoi aku ka nui o kēlā ma hope. A, ʻoiaʻiʻo, hōʻoia-o-stake a me nā ʻaelike akamai.
  • TON P2P Pūnaewele. Peer-to-peer pūnaewele ma ke kumu e kūkulu ʻia ai ka ʻōnaehana. E kūkākūkā mua ʻia ʻo ia ma kēia māhele o ka moʻolelo.
  • Waihona TON. ʻO ka waiho ʻana i nā faila, ka mea, me ka nānā ʻole i ka blockchain, e kūkulu ʻia ma luna o ka pūnaewele peer-to-peer i ʻōlelo ʻia ma luna. Hiki ke hoʻohālikelike ʻia me nā kahawai.
  • TON Kokua. He lawelawe kēia nona ka manaʻo e hoʻonui i ka inoa ʻole o nā mea komo pūnaewele. ʻAʻole hiki ke hoʻouna pololei ʻia kekahi ʻeke, akā ma o nā tunnels intermediary me ka hoʻopili hoʻopili hou - e like me I2P a i ʻole TOR.
  • TONA DHT. Papaʻaina hash no ka mālama ʻana i nā waiwai kūʻokoʻa. Ua kūkulu ʻia ma luna TON Network (akā i ka manawa like e hoʻohana ʻia e ia) a kōkua Waihona TON e imi i na node "kahelehele", a TON Kokua - nā mea hoʻopuka waena. Akā, pono e hoʻomaopopo ʻia, ʻaʻole like me ka blockchain, ʻaʻole mālama paʻa kēia papaʻaina hash - ʻaʻole hiki iā ʻoe ke mālama i ka ʻike koʻikoʻi i loko.
  • Nā lawelawe TON. Papahana no nā lawelawe maʻamau. ʻO ke kumu, he pūnaewele hou kēia ma luna o nā mea a pau i wehewehe ʻia ma luna. Hoʻololi ʻikepili - ma o TON Network/TON Kokua, a aia ka logic i nā ʻaelike akamai o ka ʻO TON Blockchain. A he interface me nā URL maʻamau.
  • TON DNS. No ka mea ke kamaʻilio nei mākou e pili ana i nā URL maʻamau, pono mākou i kahi mea hoʻololi mai iā lākou i nā helu 256-bit - nā moʻokāki, nā ʻaelike, nā lawelawe a me nā nodes.
  • ʻO TON Payments. A eia kahi e komo ai ka hihia kālā. A ʻaʻole ia wale nō gram - e like me ka etera, hiki i nā "hōʻailona" ke hiki; ʻO Grams wale nō ke kālā "paʻamau" ma aneʻi.

ʻO kēia ka ʻāpana mua e wehewehe ana i ka papa "grounded" o TON - kāna ʻāpana pūnaewele, i kūkulu ʻia ma luna o nā kuʻuna kuʻuna. Ma ka ʻāpana aʻe e kamaʻilio mākou e pili ana i ka "soft" - blockchain, e kākoʻo ʻia e ka ʻōnaehana i wehewehe ʻia ma lalo nei. No laila, ʻokoʻa kaʻu kauoha o ka haʻi ʻana mai ka palapala i ʻōlelo ʻia ma luna nei (e hoʻomaka koke ana ma ka pae abstract).

Nā manaʻo kumu

TL (ʻAno ʻŌlelo). He palapala binary abstract ia no nā hale ʻikepili arbitrary. Hoʻohana ʻia ia ma ka protocol Telegram a e hoʻohana ikaika ʻia ma TON. Inā makemake ʻoe e kamaʻāina me ia i nā kikoʻī - eia kāna wehewehe.

Hash (hash). He hana e hana ana i ka hoʻololi hiki ʻole ke hoʻololi ʻia o kahi hoʻolālā ʻikepili i hoʻokahi helu o ka lōʻihi paʻa. Ma nā palapala a pau e kamaʻilio mākou e pili ana i ka hana SHA-256.

Pupu pūnaewele (wahi). ʻO kahi node ka polokalamu e hōʻoia i ka holo ʻana o ka ʻōnaehana. Ma keʻano kūikawā, ua manaʻo ʻia e loaʻa i kēlā me kēia noi mea kūʻai Telegram kahi node TON. Ma kahi haʻahaʻa, loaʻa nā node i nā helu IPv4/IPv6 a kamaʻilio me ka hoʻohana ʻana i ka protocol UDP; ma kahi kiʻekiʻe, loaʻa iā lākou. nā ʻōlelo huna a hoʻokō i ka protocol ADNL (e pili ana i nā helu abstract a me ADNL - e ʻike ma lalo). I ka hiki ʻana i ka ʻoiaʻiʻo e hana kekahi mau ʻāpana o ka ʻōnaehana i kekahi mea a mālama paha i kekahi mau ʻikepili, ua hoʻomaopopo ʻia ua hana ʻia kēia e nā nodes pūnaewele.

Helu wahi huna (a maʻalahi paha wahi helu, aae?). Hoʻoholo ʻia ka helu wahi node e kāna kī lehulehu. ʻO ka ʻoi aku ka paʻakikī, he 256-bit hash (SHA256) o ka hoʻolālā ʻikepili i loaʻa i ke kī lehulehu (ʻaʻole i kuhikuhi ʻia ka algorithm cryptographic kikoʻī - hāʻawi ʻia nā pihi elliptic a me RSA-2048 ma ke ʻano he laʻana). I mea e kamaʻilio ai kekahi node me kekahi, pono e ʻike ʻaʻole wale i ka helu wahi o kēlā, akā i kēia ʻano ʻikepili. Ma ke kumumanaʻo, hiki i hoʻokahi node kino ke hana i nā helu helu helu (e pili ana i nā kī like ʻole).

Eia kekahi, hoʻohana pinepine ʻia kahi loulou: kahi "prototype" ma ke ʻano o kahi hoʻolālā TL (ʻaneʻi i loaʻa nā ʻikepili), a me kahi hash 256-bit mai ia mea, i hoʻohana ʻia no ka kamaʻilio ʻana.

Pahu kaulahao (blockchain). ʻO Blockchain kahi hoʻolālā ʻikepili, nā mea (palaka) i kauoha ʻia i loko o kahi "chain", a ʻo kēlā me kēia poloka ma hope o ke kaulahao aia ka hash o ka mea ma mua. Ma kēia ala, loaʻa ka pono - hiki ke hoʻololi wale ʻia ma ka hoʻohui ʻana i nā poloka hou.

hana (hana). Hiki i nā lawelawe i loko o TON ke ʻano o nā ʻano like ʻole, ma muli o ka hoʻohana ʻana i ka blockchain a i ʻole. No ka laʻana, hiki i hoʻokahi (a i ʻole he nui) nā node pūnaewele ke hana i kekahi mau noi RPC me ka hoʻohana ʻana i ka protocol ADNL i wehewehe ʻia ma lalo nei, me ka ʻole o ka hana ʻana i nā moʻolelo i loko o ka blockchain - e like me nā kikowaena pūnaewele kuʻuna. Me ka hiki ke hoʻokō i ka HTTP ma luna o ADNL, a me ka hoʻololi ʻana o ka ʻelele iā ia iho i kēia protocol. Ma ka hoʻohālikelike me TOR a i ʻole I2P, e ʻoi aku ka paʻa ʻana o kēia i nā pale like ʻole.

I ka manawa like, pili kekahi mau lawelawe i ka launa pū ʻana me ka blockchain a me nā noi noi ma waho. No ka laʻana, no TON Storage - waihona waihona - ʻaʻole kūpono loa e mālama i nā faila iā lākou iho ma ka blockchain. Loaʻa iā ia nā hashes faila wale nō (me kekahi mau ʻike-meta e pili ana iā lākou), a e hana ʻia nā node pūnaewele kūikawā ma ke ʻano he "server server", mākaukau e hoʻouna iā lākou i nā node ʻē aʻe ma o ADNL.

lawelawe noe (lawelawe noe). Ke kamaʻilio nei mākou e pili ana i kekahi mau lawelawe e hōʻike ana i ka decentralization a wehe i ke komo ʻana iā lākou. No ka laʻana, ʻo TON Proxy kahi lawelawe i hiki ke kākoʻo ʻia e kekahi mea komo e makemake e hāʻawi i kā lākou node ma ke ʻano he mea hoʻolaha (proxy) hoʻouna i nā ʻeke ma waena o nā node ʻē aʻe. Inā makemake ʻia, hiki iā ia ke uku i kahi uku i hoʻonohonoho ʻia e ia no kēia - me ka hoʻohana ʻana i ka ʻōnaehana TON Payments no nā micropayments (ʻo ia hoʻi, he lawelawe puaʻa).

ADNL: ʻĀpana Pūnaewele ʻIkepili ʻikepili

Ma ka pae haʻahaʻa, e hoʻokō ʻia ke kamaʻilio ma waena o nā nodes me ka hoʻohana ʻana i ka protocol UDP (ʻoiai ʻae ʻia nā koho ʻē aʻe).

E like me ka mea i ʻōlelo ʻia ma luna, i mea e hoʻouna ai kekahi node i kahi ʻeke i kahi ʻē aʻe, pono ia e ʻike i kekahi o kāna mau kī lehulehu (a no laila ka helu wahi āna i wehewehe ai). Hoʻopili ia i ka ʻeke me kēia kī a hoʻohui i ka helu wahi e hele ai 256-bit i ka hoʻomaka ʻana o ka ʻeke - no ka mea hiki i kekahi node ke loaʻa i kekahi o kēia mau ʻōlelo, e ʻae kēia iā ia e hoʻoholo i ke kī e hoʻohana ai no ka decryption.

TON: Telegram Open Network. Māhele 1: Hoʻomaka, papa pūnaewele, ADNL, DHT, overlay networks

Eia kekahi, ma kahi o ka helu wahi o ka mea i loaʻa, hiki i ka hoʻomaka ʻana o ka ʻeke ʻikepili ke loaʻa ka mea i kapa ʻia. mea hōʻike kanal. I kēia hihia, ua hilinaʻi ʻia ka hana ʻana o ka ʻeke i nā ʻaelike kikoʻī ma waena o nā nodes - no ka laʻana, hiki ke manaʻo ʻia ka ʻikepili i hoʻouna ʻia i kahi kahawai no kekahi node a pono e hoʻouna ʻia iā ia (ʻo ia ka lawelawe. TON Kokua). ʻO kekahi hihia kūikawā paha ka pilina pololei ma waena o nā nodes, akā me ka hoʻopili ʻana me ka hoʻohana ʻana i kahi kī kī pākahi no kēia kahawai (i hana mua ʻia me ka hoʻohana ʻana i ka protocol Diffie-Hellman).

ʻO ka mea hope loa, ʻo kahi hihia kūikawā ka "null" channel - inā ʻaʻole ʻike ka node i nā kī ākea o kona mau "hoa noho," hiki iā ia ke hoʻouna iā lākou i nā ʻeke me ka ʻole o ka hoʻopili ʻana. Hoʻomaka wale kēia no ka hoʻomaka ʻana - i ka manawa e hoʻouna ai nā nodes i ka ʻike e pili ana i kā lākou mau kī, pono e hoʻohana ʻia no ka kamaʻilio hou ʻana.

ʻO ka protocol i wehewehe ʻia ma luna (256 bits of channel identifier + packet contents) i kapa ʻia ʻo ADNL. Hōʻike ka palapala i ka hiki ke hoʻokō i kahi analogue o TCP ma luna ona a i ʻole kāna mea hoʻohui ponoʻī - RLDP (Reliable Large Datagram Protocol), akā ʻaʻole i komo i nā kikoʻī e pili ana i kā lākou hoʻokō.

TON DHT: Paʻi Hash Distributed

E like me ka hihia me nā ʻōnaehana hoʻolaha ʻē aʻe, pili ka TON i ka hoʻokō ʻana o DHT - papaʻaina hash distributed. ʻOi aku ke kikoʻī, ʻo ka papaʻaina Kademlia-like. Inā ʻaʻole ʻoe i kamaʻāina i kēia ʻano papaʻaina hash, mai hopohopo, ma lalo wau e wehewehe kikoʻī pehea e hana ai lākou.

TON: Telegram Open Network. Māhele 1: Hoʻomaka, papa pūnaewele, ADNL, DHT, overlay networks

Ma kahi ʻano abstract, palapala ʻo DHT i nā kī 256-bit i nā waiwai binary o ka lōʻihi. I kēia hihia, ʻo nā kī i ka papaʻaina he hashes mai kahi ʻano TL (ua mālama pū ʻia nā hale me ka DHT). Ua like loa kēia me ka hoʻokumu ʻana i nā helu node - a hiki ke loaʻa i loko o ka DHT (no ka laʻana, me ka hoʻohana ʻana i kēlā kī i ka IP address o kahi node e pili ana i kahi i hāʻawi ʻia. ʻōlelo huna, ina aole ia e huna). Akā i ka hihia maʻamau, "nā prototypes o nā kī" (ʻo kā lākou ho'ākāka, wehewehe kī) he metadata e hōʻike ana i ka "mea nona" o kahi komo i loko o ka papaʻaina hash (ʻo ia hoʻi, ke kī lehulehu o kekahi node), ke ʻano o ka waiwai i mālama ʻia, a me nā lula e hiki ai ke hoʻololi i kēia komo. No ka laʻana, hiki i ka lula ke ʻae i ka mea nona ka waiwai e hoʻololi i ka waiwai, a i ʻole e pāpā i ka hoʻololi ʻana i ka waiwai i lalo (e pale aku i nā hoʻouka hou ʻana).

Ma waho aʻe o nā kī 256-bit, ua hoʻokomo ʻia ka manaʻo o nā helu DHT. ʻO ka ʻokoʻa me nā helu hoʻokipa maʻamau ʻo ia ka pili pono ʻana o ka helu DHT i kahi helu IP. Inā ʻaʻole hūnā kahi node i kāna IP, hiki iā ia ke hoʻohana i kahi helu maʻamau no DHT. Akā i ka manawa pinepine, e hana ʻia kahi ʻōlelo kaʻawale, "semi-permanent" no nā pono DHT.
TON: Telegram Open Network. Māhele 1: Hoʻomaka, papa pūnaewele, ADNL, DHT, overlay networks
Hoʻokomo ʻia ka manaʻo o ka mamao ma luna o nā kī a me nā ʻōlelo DHT - i kēia mau mea āpau me nā papa. kademlia — ua like ka mamao ma waena o nā kī me ka XOR (bitwise exclusive OR) o lākou. E like me nā papa ʻo Kademlia, pono e mālama ʻia ka waiwai e pili ana i kekahi kī s nā node i loaʻa ka mamao pōkole loa i kēia kī (s eia kahi helu liʻiliʻi).

I mea e kamaʻilio ai kahi node DHT me nā node ʻē aʻe, mālama ia i ka hoʻomanaʻo papa hoʻokele DHT - Nā helu DHT a me IP o nā nodes i hui mua ai, i hui pū ʻia e ka mamao iā lākou. He 256 ia mau pūʻulu (kūlike lākou me ka mea nui loa i hoʻonohonoho ʻia i ka waiwai mamao - ʻo ia hoʻi, e hāʻule nā ​​nodes ma kahi mamao mai 0 a 255 i hoʻokahi pūʻulu, mai 256 a 65535 - i ka wā e hiki mai ana, etc.). I loko o kēlā me kēia hui, mālama ʻia kahi helu palena o nā nodes "maikaʻi" (ma ke ʻano o ka ping iā lākou).

TON: Telegram Open Network. Māhele 1: Hoʻomaka, papa pūnaewele, ADNL, DHT, overlay networks

Pono kēlā me kēia node e kākoʻo i kekahi mau hana: ka mālama ʻana i kahi waiwai no ke kī, huli node и huli i na waiwai. ʻO ka ʻimi ʻana i nā nodes e pili ana i ka hoʻopuka ʻana, ma muli o ke kī i hāʻawi ʻia, nā nodes kokoke loa iā ia mai ka papa kuhikuhi; ʻO ka nānā ʻana i nā waiwai like, koe wale nō ke ʻike ka node i ka waiwai o ke kī (a laila hoʻihoʻi wale ia). No laila, inā makemake ka node e ʻimi i kahi waiwai ma ke kī i ka DHT, hoʻouna ʻo ia i nā noi i kahi helu liʻiliʻi o nā nodes kokoke loa i kēia kī mai kāna papa kuhikuhi. Inā ʻaʻole ka waiwai i koi ʻia ma waena o kā lākou mau pane, akā aia kekahi mau helu node ʻē aʻe, a laila hoʻihoʻi ʻia ke noi iā lākou.

Hiki ke hoʻohana ʻia ʻo TON DHT no nā kumu like ʻole, no ka laʻana, e hoʻokō i kahi waihona waihona e like me torrent (e nānā. Waihona TON); e hoʻoholo i nā helu o nā nodes e hoʻokō i kekahi mau lawelawe; e mālama i ka ʻike e pili ana i nā mea nona ka moʻokāki ma ka blockchain. Akā ʻo ka noi nui loa ka loaʻa ʻana o nā nodes e kā lākou mau ʻōlelo abstract. No ka hana ʻana i kēia, hoʻohana ʻia ka helu wahi ma ke kī nona ka waiwai e pono ai ke ʻike. Ma muli o ke noi, e ʻike ʻia ka node ponoʻī (inā ʻo ka helu i ʻimi ʻia ʻo ia ka helu DHT semi-permanent), a i ʻole ka waiwai ʻo ia ka IP address a me ke awa no ka pilina - a i ʻole kahi helu ʻē aʻe e hoʻohana ʻia ma ke ʻano he awāwa waena.

Hoʻopili i nā pūnaewele ma TON

ʻO ka protocol ADNL i hōʻike ʻia ma luna nei e hōʻike ana i ka hiki i nā nodes ke hoʻololi i ka ʻike me kekahi - ʻoiai ʻaʻole pono i nā ala maikaʻi loa. Hiki iā mākou ke ʻōlelo i ka mahalo iā ADNL, hoʻokumu nā nodes āpau i ka pakuhi TON honua (pili maikaʻi). Akā hiki ke hana i nā ʻupena overlay - subgraphs i loko o kēia pakuhi.
TON: Telegram Open Network. Māhele 1: Hoʻomaka, papa pūnaewele, ADNL, DHT, overlay networks

I loko o ia pūnaewele, hana pololei ʻia ka pilina - ma o nā pilina i hana mua ʻia ma waena o nā nodes e komo ana i ka pūnaewele (ma o nā kahawai ADNL i hōʻike ʻia ma luna). ʻO ka hoʻokumu ʻana o ia mau pilina ma waena o nā hoalauna, ʻo ka ʻimi ʻana i nā hoalauna iā lākou iho, he kaʻina hana maʻalahi e ʻimi e mālama i ka hoʻopili ʻana o ka pūnaewele overlay a hōʻemi i nā lohi i ka hoʻololi ʻana o ka ʻikepili i loko.

Eia kekahi, aia kahi ala e hoʻolaha wikiwiki ai i nā hoʻolaha hoʻolaha nui i loko o ka pūnaewele - ua ʻoki ʻia lākou i nā ʻāpana, hoʻohui ʻia me ka code hoʻoponopono hewa, a hoʻouna ʻia kēia mau ʻāpana āpau mai kekahi mea i kekahi. No laila, ʻaʻole pono ka mea komo e loaʻa i nā ʻāpana āpau ma mua o ka hoʻouna ʻana aku iā lākou ma ka pūnaewele.

Hiki ke lehulehu a pilikino paha nā pūnaewele overlay. ʻAʻole paʻakikī ka lilo ʻana i lālā o kahi pūnaewele lehulehu - pono ʻoe e ʻimi i kahi hoʻolālā TL e wehewehe ana iā ia (hiki i ka lehulehu a i ʻole ke ʻike ʻia e kekahi kī ma DHT). I ka hihia o kahi pūnaewele pilikino, pono e ʻike mua ʻia kēia ʻano i ka node.

E hoʻomauʻia

Ua hoʻoholo wau e hoʻokaʻawale i ka loiloi TON i mau ʻatikala. ʻO kēia kahi e pau ai kēia māhele, a i ka wā e hiki mai ana Ke neʻe nei au e noʻonoʻo i ke ʻano o ka blockchain (ʻoi aku ka pololei, blockchains) e komo ai ʻo TON.

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka