TON: Telegram Open Network. Nkebi 1: Okwu mmalite, oyi akwa netwọk, ADNL, DHT, netwọk machie

TON: Telegram Open Network. Nkebi 1: Okwu mmalite, oyi akwa netwọk, ADNL, DHT, netwọk machie

Ruo izu abụọ ugbu a, Runet nọ na-eme mkpọtụ banyere Telegram na ọnọdụ ya na-egbochi enweghị isi na enweghị obi ebere site na Roskomnadzor. Ricochet kpasuru ọtụtụ mmadụ iwe, mana ihe ndị a niile bụ isiokwu maka posts na Geektimes. Ihe ọzọ tụrụ m n'anya - Ahụbeghị m otu nyocha na Habré nke netwọkụ TON akwadoro maka mwepụta na ndabere nke Telegram - Telegram Open Network. Achọrọ m imezi maka ụkọ a, n'ihi na enwere ihe m ga-amụ n'ebe ahụ - n'agbanyeghị enweghị nkwupụta gọọmentị banyere ya.

Ka m chetara gị na enwere asịrị na Telegram ewepụtala ICO mechiri emechi, ebe anakọtara ego buru ibu. A na-atụ anya na a ga-ewepụta cryptocurrency nke Gram n'afọ a - na onye ọrụ Telegram ọ bụla ga-enwe obere akpa, nke n'onwe ya na-emepụta uru dị ukwuu karịa ego crypto ndị ọzọ.

Ọ dị nwute, ebe ọ bụ na enweghị nkwupụta gọọmentị, enwere m ike ịga n'ihu site na akwụkwọ amaghị ebe o si, nke m na-adọ gị aka ná ntị ozugbo. N'ezie, ọ nwere ike ịghọ adịgboroja nwere nkà, ma ọ ga-ekwe omume na nke a bụ ezigbo akwụkwọ ọcha nke usoro n'ọdịnihu, nke Nikolai Durov dere (na leaked, eleghị anya, site na otu n'ime ndị investors). Ma ọ bụrụgodị na ọ bụ adịgboroja, ọ dịghị onye ga-amachibido anyị ịmụ na kwurịta ya, nri?

Kedu ihe akwụkwọ a na-ekwu? M ga-agbalị ikwughachi ya n'okwu nke m, nso na ederede, ma na Russian na ntakịrị ihe mmadụ (nwere ike ịgbaghara m Nikolai na ọchịchọ ya ịbanye na mgbakọ na mwepụ). Buru n'uche na ọ bụrụgodị na nke a bụ eziokwu, nke a bụ nkọwa nkọwa nke usoro ahụ, ọ ga-abụkwa na ọ ga-agbanwe n'oge mmalite ọha.

Anyị na-amụta na na mgbakwunye na cryptocurrency, e nwere ọtụtụ ihe ndị ọzọ na-atụ anya. Ka anyị were ya n'usoro.

  • TON Blockchain. Nke a bụ ihe ndabere nke usoro dum. Ọ bụrụ na ị maghị ihe ọ bụ ngọngọ - Ana m akwado ịchọpụta, n'ihi na a ga-enwe ọtụtụ blockchain ebe a. Akwukwo n'ime ibe ya, ihe fọrọ nke nta ka ọ bụrụ nke kewara ekewa na ọbụna '' vetikal '' blockchains n'ime ngọngọ nke blockchain ndị ọzọ. A ga-enwekwa ụfọdụ okwu na-ada ụda dị ka Ntugharị Hypercube ozugbo и Paradigm Sharding enweghị ngwụcha, ma ọzọ na nke ahụ emechaa. Na, n'ezie, akaebe-nke-oke na smart contracts.
  • TON P2P netwọkụ. Netwọk ndị ọgbọ na ndị ọgbọ na ndabere nke usoro a ga-ewu. A ga-ebu ụzọ tụlee ya n’akụkụ a nke akụkọ ahụ.
  • Nchekwa TON. Nchekwa faịlụ, nke, n'agbanyeghị blockchain, ka a ga-ewu na netwọk ndị ọgbọ-na-ọgbọ a kpọtụrụ aha n'elu. Enwere ike iji ya tụnyere iyi.
  • TON Proxy. Nke a bụ ọrụ ebumnobi ya bụ iwelie ndị sonyere netwọk amaghị aha. Enwere ike izipu ngwugwu ọ bụla ọ bụghị ozugbo, mana site na ọwara etiti nwere ntinye nzuzo ọzọ - dị ka I2P ma ọ bụ TOR.
  • TON DHT. Tebụl hash ekesara maka ịchekwa ụkpụrụ aka ike. A na-ewukwa ya n'elu Ọnụ ego nke TON Network (ma n'otu oge ahụ ọ na-eji ya) ma na-enyere aka Nchekwa TON chọta ọnụ “nkesa”, na TON Proxy - etiti repeaters. Mana ekwesiri iburu n'uche na, n'adịghị ka blockchain, tebụl hash a abụghị nchekwa echekwara - ị nweghị ike ịchekwa ozi dị mkpa na ya.
  • Ọrụ TON. Platform maka ọrụ omenala. N'ezie, nke a bụ ịntanetị ọhụrụ n'elu ihe niile akọwara n'elu. Mgbanwe data - site na Ọnụ ego nke TON Network/TON Proxy, na mgbagha dị na smart contracts nke TON Blockchain. Na interface nwere URL ndị amaara nke ọma.
  • TON DNS. Ebe ọ bụ na anyị na-ekwu maka URL ndị a maara nke ọma, anyị chọkwara onye ntụgharị sitere na ha gaa na adreesị 256-bit - akaụntụ, nkwekọrịta, ọrụ na ọnụ.
  • Ụgwọ TON. Ma ebe a ka okwu ego na-abata. Ọ bụghị naanị na ọ ga-abụ gram - dị ka ether, "ihe ịrịba ama" ọ bụla ga-ekwe omume; Grams ga-abụ naanị ego "ndabara" ebe a.

Nke a bụ akụkụ mbụ nke na-akọwa oyi akwa TON nke "ala ala" - akụkụ netwọk ya, nke e wuru n'elu usoro omenala. N'akụkụ nke ọzọ, anyị ga-ekwu maka "dị nro" - blockchain, nke a ga-akwado usoro a kọwara n'okpuru ebe a. Ya mere, usoro m na-ekwughachi dịtụ iche na nke e ji mee ihe na akwụkwọ ahụ ekwuru n'elu (nke na-amalite ozugbo na ọkwa nkịtị).

Nzuzo echiche

TL (Ụdị Asụsụ). Ọ bụ usoro ọnụọgụ abụọ na-adịghị adị maka nhazi data aka ike. A na-eji ya na usoro Telegram, a ga-ejikwa ya nke ọma na TON. Ọ bụrụ na ịchọrọ ịmata ya nke ọma - lee nkọwa ya.

Hash (hash). Ọrụ nke na-eme mgbanwe a na-apụghị ịgbagha agbagha nke nhazi data aka ike n'ime otu ọnụ ọgụgụ nke ogologo ogologo. N'ime akwụkwọ niile anyị na-ekwu maka ọrụ ahụ SHA-256.

Ọnụ netwọk (ọnụ). Otu ọnụ bụ sọftụwia nke ga-ahụ na sistemụ na-arụ ọrụ. Karịsịa, a na-eche na ngwa ahịa ahịa Telegram ọ bụla ga-etinye ọnụ ọnụ TON. N'ogo dị ala, ọnụ nwere adreesị IPv4/IPv6 ma na-ekwurịta okwu site na iji UDP protocol; na ọkwa dị elu, ha nwere. adreesị nkịtị ma mejuputa ADNL protocol (banyere adrees abstract na ADNL - lee n'okpuru). Mgbe a bịara n'eziokwu na akụkụ ụfọdụ nke usoro ahụ na-eme ihe ma ọ bụ na-echekwa ụfọdụ data, a ghọtara na nke a na-eme site na netwọk netwọk.

Adreesị nkọwa (ma ọ bụ naanị adreesị, address). A na-ekpebi adreesị ọnụ site na igodo ọha ya. Karịa siri ike, ọ bụ 256-bit hash (SHA256) nke usoro data nwere igodo ọha (akọwapụtaghị algorithm cryptographic akọwapụtara - elliptical curves na RSA-2048 bụ ihe atụ). Ka otu ọnụ na-ekwurịta okwu na onye ọzọ, ọ kwesịrị ịma ọ bụghị naanị adreesị nke onye ahụ, kamakwa usoro data a. Na tiori, otu ọnụ anụ ahụ nwere ike ịmepụta ọnụọgụ ọ bụla nke adreesị (dakọtara na igodo dị iche iche).

Ọzọkwa, a na-ejikarị njikọ dị otú ahụ eme ihe: "prototype" n'ụdị usoro TL (nwere ihe fọrọ nke nta ka ọ bụrụ data ọ bụla), na 256-bit hash site na ya, nke a na-eji eme ihe.

Ihe ngọngọ (blockchain). Blockchain bụ usoro data, ihe (nkanka) nke a na-enye iwu ka ọ bụrụ "agbụ", na ngọngọ ọ bụla na-esote nke yinye nwere hash nke gara aga. N'ụzọ dị otú a, a na-enweta iguzosi ike n'ezi ihe - enwere ike ime mgbanwe naanị site na ịgbakwunye ngọngọ ọhụrụ.

ọrụ (ọrụ). Ọrụ dị n'ime TON nwere ike ịbụ ụdị dị iche iche, dabere ma ha na-eji blockchain ma ọ bụ na ha anaghị eji. Dịka ọmụmaatụ, otu (ma ọ bụ ọtụtụ) oghere netwọk nwere ike ịhazi ụfọdụ arịrịọ RPC site na iji usoro ADNL nke akọwara n'okpuru ebe a, na-enweghị ịmepụta ndekọ ọ bụla na blockchain - dị ka sava weebụ omenala. Gụnyere ohere nke mmejuputa HTTP n'elu ADNL, yana mgbanwe nke onye ozi n'onwe ya na usoro a. Site na ntụnyere ya na TOR ma ọ bụ I2P, nke a ga-eme ka ọ na-eguzogide ọgwụ dị iche iche.

N'otu oge ahụ, ọtụtụ ọrụ gụnyere ma mmekọrịta na blockchain na nhazi arịrịọ n'èzí ya. Dịka ọmụmaatụ, maka nchekwa TON - nchekwa faịlụ - ọ bụghị ihe ezi uche dị na ya ịchekwa faịlụ n'onwe ha na blockchain. Ọ ga-enwe naanị hashes faịlụ (yana ụfọdụ meta-ozi gbasara ha), na oghere netwọk pụrụ iche ga-arụ ọrụ dị ka "sava faịlụ", dị njikere iziga ha na oghere ndị ọzọ site na ADNL.

Ọrụ Fog (foogu ọrụ). Anyị na-ekwu maka ụfọdụ ọrụ na-egosi ntọhapụ na imeghe ikere òkè na ha. Dịka ọmụmaatụ, TON Proxy bụ ọrụ nwere ike ịkwado onye ọ bụla so na ya chọrọ ịnye ọnụ ha dị ka ihe ntinye (proxy) na-ebugharị n'etiti ọnụ ndị ọzọ. Ọ bụrụ na ọchọrọ, ọ nwere ike na-ana ụgwọ nke o debere maka nke a - iji usoro ịkwụ ụgwọ TON maka micropayments (nke, n'aka nke ya, bụkwa ọrụ foogu).

ADNL: Abstract Datagram Network Layer

Na ọkwa kachasị ala, a ga-eme nkwurịta okwu n'etiti ọnụ ọnụ site na iji usoro UDP (ọ bụ ezie na nhọrọ ndị ọzọ na-anabata).

Dị ka e kwuru n'elu, ka otu ọnụ nwee ike iziga otu ngwugwu gaa na nke ọzọ, ọ ghaghị ịma otu n'ime igodo ọha ya (ya mere adreesị ọ na-akọwa). Ọ na-eji igodo a ezochi ngwugwu ahụ ma gbakwunye adreesị ebe 256-bit na mmalite nke ngwugwu ahụ - ebe ọ bụ na otu ọnụ nwere ike ịnwe ọtụtụ n'ime adreesị ndị a, nke a ga-enye ya ohere ikpebi igodo ọ ga-eji maka decryption.

TON: Telegram Open Network. Nkebi 1: Okwu mmalite, oyi akwa netwọk, ADNL, DHT, netwọk machie

Na mgbakwunye, kama adreesị onye nnata, mmalite nke ngwugwu data nwere ike ịnwe ihe a na-akpọ. njirimara ọwa. N'okwu a, nhazi nke ngwugwu ahụ adaberelarị na nkwekọrịta dị iche iche n'etiti ọnụ - dịka ọmụmaatụ, data ezigara na ọwa ụfọdụ nwere ike ezubere maka ọnụ ọzọ ma a ga-ebuga ya na ya (nke a bụ ọrụ ahụ. TON Proxy). Okwu ọzọ pụrụ iche nwere ike ịbụ mmekọrịta ozugbo n'etiti ọnụ ọnụ, mana na izo ya ezo site na iji otu ụzọ igodo otu maka ọwa a (emepụtara ya site na iji usoro Diffie-Hellman).

N'ikpeazụ, ihe pụrụ iche bụ ọwa "null" - ọ bụrụ na ọnụ na-amabeghị igodo ọha nke "ndị agbata obi," ọ nwere ike izipu ha ngwugwu na-enweghị ezoro ezo. Ezubere nke a naanị maka mbido - ozugbo ọnụ ụzọ zipuru ozi gbasara igodo ha, ekwesịrị iji ha maka nzikọrịta ozi ọzọ.

A na-akpọ protocol akọwara n'elu (bits 256 nke ihe nchọpụta ọwa + ọdịnaya ngwugwu) ADNL. Akwụkwọ ahụ kwuru na enwere ike imejuputa analogue nke TCP n'elu ya ma ọ bụ ihe mgbakwunye nke ya - RLDP (Protocol Large Datagram), ma ọ dịghị abanye n'ime nkọwa gbasara mmejuputa ha.

TON DHT: Tebụl Hash ekesara

Dị ka ọ dị na usoro ndị ọzọ ekesa, TON gụnyere mmejuputa DHT - tebụl hash ekesa. More kpọmkwem, okpokoro bụ Kademlia dị ka. Ọ bụrụ na ịmabeghị ụdị tebụl hash a, echegbula, n'okpuru m ga-akọwa nke ọma ka ha si arụ ọrụ.

TON: Telegram Open Network. Nkebi 1: Okwu mmalite, oyi akwa netwọk, ADNL, DHT, netwọk machie

N'echiche nkịtị, DHT maapụ igodo 256-bit maka ọnụọgụ ọnụọgụ abụọ nke ogologo aka ike. N'okwu a, igodo dị na tebụl bụ hashes sitere na ụfọdụ ihe owuwu TL (a na-echekwa ihe ndị ahụ n'onwe ha yana DHT). Nke a yiri nnọọ ka nhazi nke adreesị ọnụ - na ha nwere ike ịnọ na DHT (dịka ọmụmaatụ, iji igodo dị otú ahụ adreesị IP nke ọnụ ọnụ kwekọrọ na nke enyere. adreesị nkịtị, ma ọ bụrụ na ọ naghị ezobe ya). Ma n'ozuzu ikpe, "prototypes nke igodo" (ha nkọwa, nkọwa isi) bụ metadata nke na-egosi “onye nwe” ntinye na tebụl hash (ya bụ, igodo ọha nke ụfọdụ ọnụ), ụdị uru echekwara, yana iwu nke enwere ike mechaa gbanwee ntinye a. Dịka ọmụmaatụ, iwu nwere ike ịhapụ naanị onye nwe ya ka ọ gbanwee uru ahụ, ma ọ bụ machibido ịgbanwe uru ala ala (iji chebe megide mwakpo ịmegharị).

Na mgbakwunye na igodo 256-bit, ewebata echiche nke adreesị DHT. Ọdịiche dị na adreesị ndị ọbịa mgbe niile bụ na adreesị DHT bụ nke ejikọtara na adreesị IP. Ọ bụrụ na ọnụ anaghị ezobe IP ya, ọ nwere ike iji adreesị mgbe niile maka DHT. Mana ọtụtụ mgbe, a ga-emepụta adreesị dị iche, "ọkara-adịgide adịgide" maka mkpa DHT.
TON: Telegram Open Network. Nkebi 1: Okwu mmalite, oyi akwa netwọk, ADNL, DHT, netwọk machie
A na-ewebata echiche nke anya n'elu igodo na adreesị DHT - na nke a ihe niile dabara na tebụl kademlia - anya n'etiti igodo ha nhata XOR (bitwise exclusive OR) nke ha. Dịka ọ dị na tebụl Kademlia, uru nke dabara na otu igodo ga-echekwarịrị s ọnụ ndị nwere ogologo kacha nso na igodo a (s ebe a bụ ọnụ ọgụgụ dị ntakịrị).

Ka ọnụ DHT nwee ike ịkparịta ụka na ọnụ ndị ọzọ, ọ na-edobe na ebe nchekwa Tebụl ntụgharị DHT - DHT na adreesị IP nke ọnụ nke ọ na-emekọrịta ihe na mbụ, chịkọtara site n'ebe dị anya na ha. E nwere 256 dị otú ahụ dị iche iche (ha na-ederịta akwụkwọ ozi ndị kasị dị ịrịba ama bit atọrọ na anya uru - ya bụ, ọnụ n'ebe dị anya site na 0 ruo 255 ga-adaba n'otu ìgwè, si 256 ka 65535 - n'ime ọzọ, wdg). N'ime otu ọ bụla, a na-echekwa ọnụ ọgụgụ "kachasị mma" ọnụ ọgụgụ (n'ihe gbasara ping na ha).

TON: Telegram Open Network. Nkebi 1: Okwu mmalite, oyi akwa netwọk, ADNL, DHT, netwọk machie

Ọnụ ọ bụla ga-akwado ọtụtụ arụmọrụ: na-echekwa uru maka igodo, oghere search и chọọ ụkpụrụ. Ịchọ ọnụ ụzọ gụnyere ịnye, dabere na igodo enyere, ọnụ ụzọ kacha nso ya site na tebụl ntụgharị; ịchọ elu ụkpụrụ bụ otu, ma e wezụga mgbe ọnụ maara uru maka igodo (mgbe ahụ ọ na-eweghachi ya). N'ihi ya, ọ bụrụ na ọnụ chọrọ ịchọta uru site na igodo dị na DHT, ọ na-eziga arịrịọ na ọnụ ọgụgụ dị nta nke dị nso na igodo a site na tebụl ntụgharị ya. Ọ bụrụ na uru achọrọ adịghị n'etiti nzaghachi ha, mana enwere adreesị ọnụ ụzọ ndị ọzọ, mgbe ahụ, a na-ekpeghachi arịrịọ ahụ ọzọ.

Enwere ike iji TON DHT maka ebumnuche dị iche iche, dịka ọmụmaatụ, iji mejuputa ebe nchekwa faịlụ dị ka iyi (lee. Nchekwa TON); iji chọpụta adreesị nke ọnụ na-emejuputa ụfọdụ ọrụ; iji chekwaa ozi gbasara ndị nwe akaụntụ na blockchain. Mana ngwa kachasị mkpa bụ nchọpụta ọnụ ọnụ site na adreesị nkịtị ha. Iji mee nke a, a na-eji adreesị ahụ dị ka igodo nke kwesịrị ịchọta uru ya. N'ihi arịrịọ ahụ, a ga-ahụ ọnụ ọnụ n'onwe ya (ọ bụrụ na adreesị a na-achọgharị bụ adreesị DHT nke na-adịgide adịgide), ma ọ bụ uru ọ ga-abụ adreesị IP na ọdụ ụgbọ mmiri maka njikọ - ma ọ bụ adreesị ọzọ nke ekwesịrị iji dị ka intermediary ọwara.

Machie netwọk na TON

Usoro ADNL nke akọwara n'elu na-egosi ikike maka ọnụ ọnụ ọ bụla iji gbanwee ozi na ibe ya - ọ bụ ezie na ọ bụchaghị n'ụzọ kacha mma. Anyị nwere ike ịsị na ekele ADNL, ọnụ niile na-etolite eserese TON zuru ụwa ọnụ (njikọ nke ọma). Mana ọ ga-ekwe omume ịmepụta netwọk machie - subgraphs n'ime eserese a.
TON: Telegram Open Network. Nkebi 1: Okwu mmalite, oyi akwa netwọk, ADNL, DHT, netwọk machie

N'ime netwọkụ dị otú ahụ, a na-eme mmekọrịta naanị ozugbo - site na njikọ emepụtara tupu oge eruo n'etiti ọnụ na-esonye na netwọkụ (site na ọwa ADNL akọwara n'elu). Ịmepụta njikọ dị otú ahụ n'etiti ndị agbata obi, ịchọ ndị agbata obi n'onwe ha, bụ usoro na-akpaghị aka nke na-achọ ịnọgide na-enwe njikọ nke netwọk mkpuchi ma belata nkwụsịtụ na mgbanwe nke data na ya.

Na mgbakwunye, enwere ụzọ iji kesaa ngwa ngwa mgbasa ozi mgbasa ozi buru ibu n'ime netwọkụ - a na-agbaji ha n'ime iberibe, agbakwunyere koodu mgbazi njehie, a na-ezigakwa ibe ndị a niile site na otu onye so na nke ọzọ. Ya mere, onye so na ya agaghị enweta akụkụ niile nke ọma tupu izipu ha n'ihu na netwọk.

Netwọk mkpuchi nwere ike ịbụ nke ọha ma ọ bụ nkeonwe. Ịbụ onye so na netwọk ọha abụghị ihe siri ike - ịkwesịrị ịchọta usoro TL nke na-akọwa ya (ọ nwere ike ịbụ ọha ma ọ bụ nweta ya site na ụfọdụ igodo dị na DHT). N'ihe gbasara netwọkụ nkeonwe, a ga-amarịrị usoro a n'ọnụ ọnụ tupu oge eruo.

Na-aga n'ihu

Ekpebiri m ikewa nyocha TON n'ime ọtụtụ akụkọ. Nke a bụ ebe akụkụ a kwụsịrị, na na-esote M na-aga n'ihu ịtụle usoro nke blockchain (n'ụzọ ziri ezi, blockchains) nke TON ga-agụnye.

isi: www.habr.com

Zụta nnabata ntụkwasị obi maka saịtị nwere nchekwa DDoS, sava VPS VDS 🔥 Zụta ebe nrụọrụ weebụ a pụrụ ịtụkwasị obi na nchekwa DDoS, sava VPS VDS | ProHoster