TON: Telegram Qhib Network. Part 1: Taw qhia, txheej txheej network, ADNL, DHT, overlay networks

TON: Telegram Qhib Network. Part 1: Taw qhia, txheej txheej network, ADNL, DHT, overlay networks

Tau ob lub lis piam tam sim no, Runet tau ua suab nrov txog Telegram thiab qhov xwm txheej nrog nws qhov tsis txaus ntseeg thiab tsis muaj kev hlub tshua los ntawm Roskomnadzor. Lub ricochet ua phem rau ntau tus neeg, tab sis tag nrho cov no yog cov ncauj lus rau cov lus tshaj tawm ntawm Geektimes. Kuv xav tsis thoob los ntawm lwm yam - Kuv tseem tsis tau pom ib qho kev tshuaj ntsuam ntawm HabrΓ© ntawm TON network npaj rau kev tso tawm raws li Telegram - Telegram Qhib Network. Kuv xav ua kom muaj qhov tsis txaus no, vim tias muaj qee yam los kawm nyob ntawd - txawm tias tsis muaj cov lus tshaj tawm txog nws.

Cia kuv ceeb toom rau koj tias muaj lus xaiv tias Telegram tau tshaj tawm qhov loj heev kaw ICO, twb tau sau cov nyiaj tsis txaus ntseeg. Nws cia siab tias Gram tus kheej cryptocurrency yuav raug tsim tawm xyoo no - thiab txhua tus neeg siv Telegram yuav cia li muaj lub hnab nyiaj, uas nws tus kheej tsim kom muaj txiaj ntsig zoo dua lwm cov cryptocurrencies.

Hmoov tsis zoo, txij li tsis muaj cov lus tshaj tawm, kuv tsuas tuaj yeem txuas ntxiv mus ntxiv cov ntaub ntawv tsis paub keeb kwm, uas kuv ceeb toom koj tam sim ntawd. Tau kawg, nws yuav dhau los ua ib qho kev txawj ntse heev, tab sis kuj tseem muaj peev xwm hais tias qhov no yog daim ntawv dawb tiag tiag ntawm lub neej yav tom ntej, sau los ntawm Nikolai Durov (thiab leaked, tej zaum, los ntawm ib qho ntawm cov tub ua lag luam). Tab sis txawm tias nws yog cuav, tsis muaj leej twg yuav txwv tsis pub peb kawm thiab sib tham, puas yog?

Cov ntaub ntawv no hais li cas? Kuv yuav sim rov hais dua hauv kuv tus kheej cov lus, ze rau cov ntawv nyeem, tab sis hauv Lavxias thiab me ntsis ntxiv rau tib neeg (tej zaum Nikolai zam txim rau kuv nrog nws nyiam mus rau hauv kev ua lej). Nco ntsoov tias txawm tias qhov no yog qhov tseeb, qhov no yog cov lus piav qhia ntawm lub kaw lus thiab yuav muaj peev xwm hloov pauv thaum lub sijhawm tshaj tawm pej xeem.

Peb kawm tias ntxiv rau cryptocurrency, muaj ntau yam ntxiv uas xav tau. Wb coj nws mus rau qhov kev txiav txim.

  • TUJ Blockchain. Qhov no yog lub hauv paus ntawm tag nrho cov system. Yog koj tsis paub nws yog dab tsi blockchain - Kuv pom zoo kom nrhiav, vim tias yuav muaj ntau blockchains ntawm no. Nested nyob rau hauv ib leeg, zoo fragmented thiab txawm "ntev" blockchains nyob rau hauv cov blocks ntawm lwm yam blockchains. Tseem yuav muaj qee cov lus txias-suab zoo li Instant Hypercube Routing ΠΈ Infinite Sharding Paradigm, tab sis ntau ntxiv rau qhov ntawd tom qab. Thiab, ntawm chav kawm, pov thawj-ntawm- ceg txheem ntseeg thiab cov ntawv cog lus ntse.
  • TON P2P Network. Peer-to-peer network ntawm lub hauv paus ntawm qhov system yuav raug tsim. Nws yuav tau tham ua ntej hauv ntu ntawm zaj dab neeg no.
  • TON Cia. Cov ntaub ntawv khaws cia, uas, tsis hais txog ntawm blockchain, yuav tsim los ntawm cov lus hais saum toj no-rau-peer network. Yuav muab piv rau torrents.
  • TON Proxy. Qhov no yog qhov kev pabcuam uas nws lub hom phiaj yog txhawm rau txhawm rau tsis qhia npe ntawm cov neeg koom tes hauv network. Ib pob ntawv tuaj yeem raug xa tsis ncaj, tab sis los ntawm qhov nruab nrab qhov nruab nrab nrog kev encryption ntxiv - zoo li I2P lossis TOR.
  • TON DHT. Distributed hash table rau khaws cia qhov tseem ceeb. Nws tseem ua rau saum TON Network (tab sis tib lub sijhawm nws siv los ntawm nws) thiab pab TON Cia nrhiav "distributing" nodes, thiab TON Proxy - intermediate repeaters. Tab sis nws yuav tsum tau muab sau tseg tias, tsis zoo li lub blockchain, lub rooj hash no tsis yog ib qho chaw ruaj ntseg - koj tsis tuaj yeem khaws cov ntaub ntawv tseem ceeb hauv nws.
  • TON Services. Platform rau cov kev pabcuam kev cai. Hauv qhov tseeb, qhov no yog Internet tshiab nyob rau sab saum toj ntawm txhua yam tau piav qhia saum toj no. Data exchange - via TON Network/TON Proxy, thiab cov logic yog nyob rau hauv cov ntawv cog lus ntse ntawm lub TUJ Blockchain. Thiab ib qho interface nrog cov URLs paub zoo.
  • TSI DNS. Txij li thaum peb tab tom tham txog cov URLs paub, peb kuj xav tau lub converter los ntawm lawv mus rau 256-ntsis chaw nyob - nyiaj, ntawv cog lus, kev pabcuam thiab cov nodes.
  • TON Kev Them Nyiaj. Thiab qhov no yog qhov teeb meem nyiaj txiag los ua si. Thiab nws yuav tsis tsuas yog gram - ib yam li ether, ib qho "tokens" yuav ua tau; Grams yuav tsuas yog "default" txiaj ntawm no.

Qhov no yog thawj feem uas piav qhia txog "hauv av" txheej ntawm TON - nws qhov kev sib txuas, ua rau saum cov txheej txheem ib txwm muaj. Hauv ntu tom ntej peb yuav tham txog "mos" - blockchain, uas yuav tau txais kev txhawb nqa los ntawm lub kaw lus tau piav qhia hauv qab no. Yog li, kuv qhov kev txiav txim ntawm kev rov hais dua yog qhov txawv me ntsis ntawm qhov uas siv hauv cov ntaub ntawv hais saum toj no (uas pib tam sim ntawd ntawm qib paub daws teeb meem).

Cov ntsiab lus yooj yim

TL (Hom lus). Nws yog ib qho kev paub daws teeb binary rau cov ntaub ntawv arbitrary. Nws yog siv hauv Telegram raws tu qauv thiab yuav nquag siv hauv TON. Yog tias koj xav paub txog nws hauv kev nthuav dav - ntawm no yog nws cov lus piav qhia.

Hash (hash). Ib txoj haujlwm uas ua rau kev hloov pauv tsis hloov pauv ntawm cov ntaub ntawv tsis txaus ntseeg rau hauv ib tus lej ntawm qhov ntev. Thoob plaws hauv cov ntaub ntawv peb tham txog kev ua haujlwm SHA-256.

Network node (ntawm). Node yog software uas yuav ua kom lub cev ua haujlwm. Tshwj xeeb, nws tau xav tias txhua daim ntawv thov Telegram tus neeg siv yuav suav nrog TON node. Nyob rau theem qis, cov nodes muaj IPv4 / IPv6 chaw nyob thiab sib txuas lus siv UDP raws tu qauv; nyob rau theem siab dua, lawv muaj abstract chaw nyob thiab siv ADNL raws tu qauv (txog qhov chaw nyob paub daws teeb thiab ADNL - saib hauv qab). Thaum nws los txog rau qhov tseeb tias qee qhov ntawm qhov system ua ib yam dab tsi lossis khaws qee cov ntaub ntawv, nws nkag siab tias qhov no yog ua los ntawm lub network nodes.

Abstract chaw nyob (lossis yooj yim chaw nyob, chaw nyob). Ib qhov chaw nyob yog txiav txim los ntawm nws tus lej pej xeem. Qhov nruj dua, nws yog 256-ntsis hash (SHA256) ntawm cov ntaub ntawv qauv uas muaj tus yuam sij rau pej xeem (qhov tshwj xeeb cryptographic algorithm tsis tau teev tseg - elliptic nkhaus thiab RSA-2048 tau muab ua piv txwv). Txhawm rau kom ib qho kev sib txuas lus nrog lwm tus, nws yuav tsum paub tsis yog qhov chaw nyob ntawm tus ntawd xwb, tab sis kuj yog cov qauv ntaub ntawv no. Hauv txoj kev xav, ib lub cev muaj peev xwm tsim tau ib qho chaw nyob (suav nrog cov yuam sij sib txawv).

Tsis tas li ntawd, tsuas yog qhov txuas no feem ntau siv: "tus qauv" hauv daim ntawv ntawm TL qauv (muaj yuav luag txhua cov ntaub ntawv), thiab 256-ntsis hash los ntawm nws, siv los hais.

Blockchain (blockchain). Blockchain yog cov qauv ntaub ntawv, cov ntsiab lus (thaiv) uas tau txiav txim rau hauv "chain", thiab txhua qhov txuas ntxiv ntawm cov saw hlau muaj cov hash ntawm yav dhau los. Ua li no, kev ncaj ncees tau ua tiav - kev hloov pauv tsuas yog ua los ntawm kev ntxiv cov blocks tshiab.

kev pab cuam (kev pab cuam). Cov kev pabcuam hauv TON tuaj yeem muaj ntau hom, nyob ntawm seb lawv puas siv blockchain lossis tsis. Piv txwv li, ib qho (lossis ntau) network nodes tuaj yeem ua qee qhov kev thov RPC siv ADNL raws tu qauv piav qhia hauv qab no, tsis tas yuav tsim cov ntaub ntawv hauv blockchain - zoo li cov web servers ib txwm muaj. Nrog rau qhov ua tau ntawm kev siv HTTP dhau ADNL, nrog rau kev hloov pauv ntawm tus xa xov nws tus kheej mus rau qhov kev cai no. Los ntawm kev sib piv nrog TOR lossis I2P, qhov no yuav ua rau nws tiv taus ntau yam thaiv.

Nyob rau tib lub sijhawm, ntau cov kev pabcuam cuam tshuam nrog kev sib cuam tshuam nrog blockchain thiab kev thov ua haujlwm sab nraud. Piv txwv li, rau TON Storage - cov ntaub ntawv khaws cia - nws tsis tsim nyog khaws cov ntaub ntawv lawv tus kheej ntawm blockchain. Nws yuav tsuas muaj cov ntaub ntawv hashes (nrog rau qee cov ntaub ntawv meta-cov ntaub ntawv hais txog lawv), thiab cov chaw tshwj xeeb network yuav ua raws li "cov ntaub ntawv servers", npaj xa lawv mus rau lwm qhov ntawm ADNL.

Fog kev pab cuam (pos huab). Peb tab tom tham txog qee qhov kev pabcuam uas cuam tshuam txog kev faib tawm thiab qhib kev koom tes hauv lawv. Piv txwv li, TON Proxy yog ib qho kev pabcuam uas tuaj yeem txhawb nqa los ntawm txhua tus neeg koom nrog uas xav muab lawv cov node ua tus intermediary (proxy) xa cov pob ntawv ntawm lwm cov nodes. Yog tias xav tau, nws tuaj yeem them tus nqi them los ntawm nws rau qhov no - siv TON Payments system rau micropayments (uas, dhau los, kuj yog kev pabcuam huab cua).

ADNL: Abstract Datagram Network Layer

Nyob rau theem qis tshaj, kev sib txuas lus ntawm cov nodes yuav ua tiav siv UDP raws tu qauv (txawm tias muaj lwm yam kev xaiv tau txais).

Raws li tau hais los saum no, txhawm rau txhawm rau xa ib pob ntawv mus rau lwm qhov, nws yuav tsum paub ib qho ntawm nws cov yuam sij pej xeem (thiab yog li qhov chaw nyob nws txhais). Nws encrypts lub pob ntawv nrog tus yuam sij no thiab ntxiv qhov chaw nyob 256-ntsis rau qhov pib ntawm pob ntawv - vim tias ib lub node tuaj yeem muaj ob peb qhov chaw nyob, qhov no yuav tso cai rau nws txiav txim siab seb tus yuam sij twg siv rau kev decryption.

TON: Telegram Qhib Network. Part 1: Taw qhia, txheej txheej network, ADNL, DHT, overlay networks

Tsis tas li ntawd, es tsis txhob ntawm tus neeg txais qhov chaw nyob, qhov pib ntawm cov ntaub ntawv pob ntawv yuav muaj qhov hu ua. tus cim channel. Hauv qhov no, kev ua tiav ntawm pob ntawv twb nyob ntawm qhov kev pom zoo tshwj xeeb ntawm cov nodes - piv txwv li, cov ntaub ntawv xa mus rau ib qho channel yuav raug npaj rau lwm qhov thiab yuav tsum tau xa mus rau nws (qhov no yog qhov kev pabcuam. TON Proxy). Lwm qhov xwm txheej tshwj xeeb yuav yog kev sib cuam tshuam ncaj qha ntawm cov nodes, tab sis nrog encryption siv tus khub tseem ceeb rau cov channel no (ua ntej tsim siv Diffie-Hellman raws tu qauv).

Thaum kawg, rooj plaub tshwj xeeb yog qhov "null" channel - yog tias lub pob tseem tsis tau paub cov yuam sij pej xeem ntawm nws "cov neeg nyob ze", nws tuaj yeem xa lawv cov pob ntawv yam tsis muaj encryption txhua. Qhov no tsuas yog npaj rau kev pib - ib zaug cov nodes xa cov ntaub ntawv hais txog lawv cov yuam sij, lawv yuav tsum tau siv rau kev sib txuas lus ntxiv.

Cov txheej txheem tau piav qhia saum toj no (256 khoom ntawm tus cim channel + cov ntawv ntim khoom) hu ua ADNL. Cov ntaub ntawv hais txog qhov muaj peev xwm ntawm kev siv cov analogue ntawm TCP nyob rau sab saum toj ntawm nws lossis nws tus kheej add-on - RLDP (Reliable Large Datagram Protocol), tab sis tsis mus rau cov ntsiab lus ntawm lawv qhov kev siv.

TON DHT: Distributed Hash Table

Raws li yog cov ntaub ntawv nrog rau lwm qhov kev faib tawm, TON koom nrog kev siv DHT - faib hash rooj. Tshwj xeeb tshaj yog, lub rooj yog Kademlia zoo li. Yog tias koj tsis paub txog hom lus hash no, tsis txhob txhawj, hauv qab no kuv yuav piav qhia txog lawv ua haujlwm li cas.

TON: Telegram Qhib Network. Part 1: Taw qhia, txheej txheej network, ADNL, DHT, overlay networks

Hauv kev nkag siab tsis meej, DHT maps 256-ntsis yuam sij rau binary qhov tseem ceeb ntawm qhov ntev. Hauv qhov no, cov yuam sij hauv lub rooj yog hashs los ntawm qee cov qauv TL (cov qauv lawv tus kheej kuj tau khaws cia ua ke nrog DHT). Qhov no zoo ib yam li kev tsim cov chaw nyob ntawm node - thiab lawv tuaj yeem muaj tseeb nyob hauv DHT (piv txwv li, siv tus yuam sij no tus IP chaw nyob ntawm qhov sib thooj rau qhov muab. abstract chaw nyob, tshwj tsis yog nws zais nws). Tab sis nyob rau hauv dav dav, "prototypes ntawm cov yuam sij" (lawv piav qhia, cov lus piav qhia tseem ceeb) yog metadata uas qhia txog "tus tswv" ntawm qhov nkag hauv lub rooj hash (uas yog, tus yuam sij rau pej xeem ntawm qee qhov ntawm), hom khoom muaj nqis, thiab cov cai uas qhov kev nkag no tuaj yeem hloov pauv tom qab. Piv txwv li, ib txoj cai yuav tso cai rau tus tswv tsuas yog hloov tus nqi, lossis txwv tsis pub hloov tus nqi qis (kom tiv thaiv kev tawm tsam rov qab).

Ntxiv rau 256-ntsis yuam sij, lub tswv yim ntawm DHT chaw nyob tau qhia. Qhov sib txawv nrog cov chaw nyob tsis tu ncua yog qhov chaw nyob DHT yuav tsum tau khi rau qhov chaw nyob IP. Yog tias qhov node tsis zais nws tus IP, nws tuaj yeem siv qhov chaw nyob tsis tu ncua rau DHT. Tab sis ntau zaus, qhov chaw nyob sib cais, "semi-permanent" yuav raug tsim rau DHT cov kev xav tau.
TON: Telegram Qhib Network. Part 1: Taw qhia, txheej txheej network, ADNL, DHT, overlay networks
Lub tswv yim ntawm kev nyob deb yog qhia saum toj no cov yawm sij thiab DHT chaw nyob - nyob rau hauv no txhua yam coincides nrog lub rooj kademlia - qhov kev ncua deb ntawm cov yuam sij yog sib npaug rau XOR (bitwise tshwj xeeb LOSSIS) ntawm lawv. Raws li nyob rau hauv Kademlia cov ntxhuav, tus nqi sib thooj rau ib qho tseem ceeb yuav tsum tau muab cia rau s cov nodes uas muaj qhov luv tshaj plaws ntawm qhov tseem ceeb no (s ntawm no yog tus lej tsawg).

Txhawm rau kom DHT node sib txuas lus nrog lwm cov nodes, nws khaws cia hauv nco DHT routing rooj - DHT thiab IP chaw nyob ntawm cov nodes uas nws cuam tshuam ua ntej, pab pawg los ntawm kev deb rau lawv. Muaj 256 pawg xws li (lawv sib raug rau qhov tseem ceeb tshaj plaws nyob rau hauv qhov kev ncua deb - uas yog, cov nodes ntawm qhov deb ntawm 0 mus rau 255 yuav poob rau hauv ib pab pawg, los ntawm 256 txog 65535 - mus rau tom ntej, thiab lwm yam). Hauv txhua pab pawg, qee qhov txwv ntawm "zoo tshaj" nodes tau khaws cia (raws li ping rau lawv).

TON: Telegram Qhib Network. Part 1: Taw qhia, txheej txheej network, ADNL, DHT, overlay networks

Txhua lub node yuav tsum txhawb nqa ntau txoj haujlwm: khaws tus nqi rau tus yuam sij, nrhiav node ΠΈ nrhiav tus nqi. Tshawb nrhiav cov nodes suav nrog kev tshaj tawm, raws li tus yuam sij muab, cov nodes nyob ze rau nws los ntawm lub rooj sib tham; nrhiav qhov tseem ceeb yog tib yam, tshwj tsis yog thaum lub node paub tus nqi rau tus yuam sij (ces nws tsuas yog rov qab nws). Raws li, yog tias ib lub node xav nrhiav tus nqi los ntawm tus yuam sij hauv DHT, nws xa cov lus thov mus rau ib qho me me ntawm cov nodes ze tshaj plaws rau tus yuam sij no los ntawm nws cov lus routing. Yog tias tus nqi xav tau tsis nyob hauv lawv cov lus teb, tab sis muaj lwm qhov chaw nyob, ces qhov kev thov rov qab rau lawv.

TON DHT tuaj yeem siv rau ntau lub hom phiaj, piv txwv li, los siv cov ntaub ntawv zoo li torrent (saib. TON Cia); los txiav txim qhov chaw nyob ntawm cov nodes uas siv qee cov kev pabcuam; khaws cov ntaub ntawv hais txog tus tswv tus account hauv blockchain. Tab sis daim ntawv thov tseem ceeb tshaj plaws yog nrhiav cov nodes los ntawm lawv qhov chaw nyob paub daws teeb. Ua li no, qhov chaw nyob yog siv los ua tus yuam sij uas nws tus nqi yuav tsum tau pom. Raws li qhov tshwm sim ntawm qhov kev thov, ob lub node nws tus kheej yuav pom (yog tias qhov chaw tshawb nrhiav yog nws qhov chaw nyob ib nrab DHT), lossis tus nqi yuav yog tus IP chaw nyob thiab chaw nres nkoj rau kev sib txuas - lossis lwm qhov chaw nyob uas yuav tsum tau siv los ua ib qho intermediary qhov.

Overlay networks hauv TON

ADNL raws tu qauv tau piav qhia saum toj no txhais tau hais tias muaj peev xwm rau txhua lub nodes los pauv cov ntaub ntawv nrog ib leeg - txawm tias tsis tas yuav tsum ua kom zoo. Peb tuaj yeem hais tias ua tsaug rau ADNL, tag nrho cov nodes tsim lub ntiaj teb TON daim duab (kev sib txuas zoo). Tab sis nws tseem muaj peev xwm los tsim kev sib tshooj sib tshooj - subgraphs hauv daim duab no.
TON: Telegram Qhib Network. Part 1: Taw qhia, txheej txheej network, ADNL, DHT, overlay networks

Nyob rau hauv xws li ib tug network, kev sib cuam tshuam yog nqa tawm ncaj qha - los ntawm pre-tsim kev sib txuas ntawm nodes koom nyob rau hauv lub network (ntawm ADNL raws tau piav saum toj no). Kev tsim cov kev sib txuas ntawm cov neeg nyob sib ze, kev tshawb nrhiav cov neeg nyob ze lawv tus kheej, yog cov txheej txheem tsis siv neeg uas nrhiav kev tswj hwm kev sib txuas ntawm cov overlay network thiab txo qis qeeb hauv kev sib pauv cov ntaub ntawv hauv nws.

Tsis tas li ntawd, muaj ib txoj hauv kev kom sai sai nthuav tawm cov xov xwm loj tshaj tawm hauv lub network - lawv tau tawg mus rau hauv daim, ntxiv nrog kev kho qhov yuam kev, thiab tag nrho cov khoom no raug xa los ntawm ib tus neeg koom nrog rau lwm tus. Yog li, tus neeg koom tsis tas yuav tsum tau txais tag nrho cov khoom ua ntej xa lawv mus rau hauv lub network.

Overlay tes hauj lwm tuaj yeem yog pej xeem lossis ntiag tug. Ua ib tug tswv cuab ntawm pej xeem network tsis yooj yim - koj yuav tsum nrhiav TL qauv uas piav qhia nws (nws tuaj yeem yog pej xeem lossis siv tau los ntawm qee qhov tseem ceeb hauv DHT). Nyob rau hauv cov ntaub ntawv ntawm ib tug private network, cov qauv no yuav tsum tau paub rau cov node ua ntej.

Kom txuas ntxiv

Kuv txiav txim siab faib TON tshuaj xyuas rau hauv ob peb nqe lus. Qhov no yog qhov chaw no xaus, thiab tom ntej no Kuv txav mus los xav txog cov qauv ntawm blockchain (ntau dua, blockchains) uas TON yuav muaj.

Tau qhov twg los: www.hab.com

Ntxiv ib saib