TON: Rhwydwaith Agored Telegram. Rhan 1: Cyflwyniad, haen rhwydwaith, ADNL, DHT, rhwydweithiau troshaen

TON: Rhwydwaith Agored Telegram. Rhan 1: Cyflwyniad, haen rhwydwaith, ADNL, DHT, rhwydweithiau troshaen

Am bythefnos bellach, mae Runet wedi bod yn gwneud sŵn am Telegram a'r sefyllfa gyda'i rwystro'n ddisynnwyr ac yn ddidrugaredd gan Roskomnadzor. Roedd y ricochet wedi tramgwyddo llawer, ond mae'r rhain i gyd yn bynciau ar gyfer postiadau ar Geektimes. Cefais fy synnu gan rywbeth arall - nid wyf wedi gweld ar Habré o hyd dadansoddiad sengl o'r rhwydwaith TON y bwriedir ei ryddhau ar sail Telegram - Rhwydwaith Agored Telegram. Roeddwn i eisiau gwneud iawn am y diffyg hwn, oherwydd mae rhywbeth i'w astudio yno - hyd yn oed er gwaethaf absenoldeb datganiadau swyddogol amdano.

Gadewch imi eich atgoffa bod yna sibrydion bod Telegram wedi lansio ICO caeedig ar raddfa fawr iawn, ar ôl casglu symiau anhygoel ynddo eisoes. Tybir y bydd arian cyfred digidol Gram ei hun yn cael ei lansio eleni, a bydd gan bob defnyddiwr Telegram waled yn awtomatig, sydd ynddo'i hun yn creu mantais sylweddol dros arian cyfred digidol eraill.

Yn anffodus, gan nad oes datganiadau swyddogol, ni allaf ond symud ymlaen dogfen o darddiad anhysbysam yr hwn yr wyf yn eich rhybuddio ar unwaith. Wrth gwrs, efallai ei fod yn ffug medrus iawn, ond mae hefyd yn bosibl mai hwn yw papur gwyn go iawn system y dyfodol, a ysgrifennwyd gan Nikolai Durov (ac yn ôl pob tebyg wedi'i ollwng gan un o'r buddsoddwyr). Ond hyd yn oed os yw hwn yn ffug, ni fydd neb yn ein gwahardd i'w astudio a'i drafod, iawn?

Beth mae'r ddogfen hon yn ei ddweud? Byddaf yn ceisio ei ailadrodd yn fy ngeiriau fy hun, yn agos at y testun, ond yn Rwsieg ac ychydig yn fwy dynol (bydded i Nikolay faddau i mi gyda'i duedd i fynd i mewn i fathemateg ffurfiol). Cofiwch, hyd yn oed os yw'n ddilys, mae hwn yn ddisgrifiad drafft o'r system ac mae'n debygol iawn o newid erbyn y lansiad cyhoeddus.

Rydyn ni'n dysgu bod llawer mwy i fod i ddigwydd yn ogystal â cryptocurrency. Gadewch i ni ei gymryd mewn trefn.

  • TON Blockchain. Dyma sail y system gyfan. Os nad ydych chi wir yn gwybod beth sydd blockchain - Rwy'n argymell darganfod, oherwydd bydd llawer o blockchains yma. Blockchains nythu, bron yn dameidiog a hyd yn oed “fertigol” o fewn blociau o blockchains eraill. Bydd rhai termau cŵl hefyd fel Llwybro Hypercube Instant и Paradigm Sharding Anfeidrol, ond mwy am hynny yn nes ymlaen. Ac, wrth gwrs, prawf-o-fanwl a chontractau smart.
  • Rhwydwaith TON P2P. Rhwydwaith cymar-i-gymar y bydd y system yn cael ei hadeiladu ar ei sail. Bydd yn cael ei drafod yn gyntaf yn y rhan hon o'r stori.
  • Storio TON. Storfa ffeiliau a fydd yn cael ei hadeiladu ar y rhwydwaith cyfoedion-i-gymar a grybwyllwyd uchod waeth beth fo'r blockchain. Gellir ei gymharu â llifeiriant.
  • Dirprwy TON. Mae hwn yn wasanaeth a'i ddiben yw cynyddu anhysbysrwydd cyfranogwyr y rhwydwaith. Gellir anfon unrhyw becyn nid yn uniongyrchol, ond trwy dwneli cyfryngol gydag amgryptio ychwanegol - fel I2P neu TOR.
  • TON DHT. Tabl hash wedi'i ddosbarthu ar gyfer storio gwerthoedd mympwyol. Mae hefyd wedi'i adeiladu ar ei ben Rhwydwaith TON (ond ar yr un pryd mae'n cael ei ddefnyddio ganddo) ac yn helpu Storio TON dod o hyd i nodau "dosbarthu", a Dirprwy TON - ras gyfnewid canolradd. Ond dylid nodi, yn wahanol i'r blockchain, nad yw'r tabl hash hwn yn storfa ddiogel - ni allwch storio gwybodaeth bwysig ynddo.
  • Gwasanaethau TON. Llwyfan ar gyfer gwasanaethau mympwyol. Mewn gwirionedd, mae hwn yn Rhyngrwyd newydd ar ben popeth a ddisgrifir uchod. Cyfnewid data - trwy Rhwydwaith TON/Dirprwy TON, ac mae'r rhesymeg yn y contractau smart y TON Blockchain. A rhyngwyneb gyda URLs eithaf cyfarwydd.
  • TON DNS. Gan ein bod yn sôn am yr URLs arferol, mae arnom hefyd angen trawsnewidydd oddi wrthynt i gyfeiriadau 256-bit - cyfrifon, contractau, gwasanaethau a nodau.
  • Taliadau TON. A dyna lle mae'r mater arian yn dod i rym. Ac nid yn unig y bydd gram - fel gydag ether, bydd unrhyw "tocynnau" yn bosibl; Yr arian cyfred “diofyn” yn unig fydd gramau yma.

Dyma'r rhan gyntaf sy'n disgrifio lefel "ddaear" TON - ei ran rhwydwaith, wedi'i adeiladu ar ben protocolau traddodiadol. Yn y rhan nesaf, byddwn yn siarad am y "mwydion" - y blockchain, a fydd yn cael ei gefnogi gan y system a ddisgrifir isod. Felly, mae fy nhrefn ailadrodd ychydig yn wahanol i'r hyn a ddefnyddir yn y ddogfen uchod (sy'n dechrau ar unwaith ar y lefel haniaethol).

Cysyniadau sylfaenol

TL (Math Iaith). Mae'n fformat deuaidd haniaethol ar gyfer strwythurau data mympwyol. Fe'i defnyddir yn y protocol Telegram a bydd yn cael ei ddefnyddio'n weithredol yn TON. Os ydych chi eisiau dysgu mwy amdano - dyma ei ddisgrifiad.

stwnsh (hash). Swyddogaeth sy'n cyflawni trawsnewidiad anwrthdroadwy o strwythur data mympwyol yn un rhif o hyd sefydlog. Drwy gydol y ddogfennaeth, mae llawer o sôn am y swyddogaeth SHA-256.

Nod rhwydwaith (nod). Y nod yw'r meddalwedd a fydd yn sicrhau gweithrediad y system. Yn benodol, rhagdybir y bydd pob cais cleient Telegram yn cynnwys nod TON. Ar lefel isel, mae gan nodau gyfeiriadau IPv4/IPv6 ac maent yn cyfathrebu gan ddefnyddio'r protocol CDU, ar lefel uwch. cyfeiriadau haniaethol a gweithredu'r protocol ADNL (gweler isod am gyfeiriadau haniaethol ac ADNL). Pan ddaw i'r ffaith bod rhai rhannau o'r system yn gwneud rhywbeth neu'n storio rhywfaint o ddata, deellir bod nodau rhwydwaith yn gwneud hyn.

Cyfeiriad haniaethol (neu'n syml cyfeiriad, Cyfeiriad). Mae cyfeiriad nod yn cael ei bennu gan ei allwedd gyhoeddus. Yn fwy llym, mae hwn yn hash 256-bit (SHA256) o strwythur data sy'n cynnwys allwedd gyhoeddus (nid yw'r algorithm cryptograffig penodol wedi'i nodi yn yr achos hwn - rhoddir cromliniau eliptig a RSA-2048 fel enghraifft). Er mwyn i un nod gyfathrebu ag un arall, mae angen iddo wybod nid yn unig gyfeiriad yr un hwnnw, ond hefyd y strwythur data hwn. Yn ddamcaniaethol, gall un nod corfforol greu unrhyw nifer o gyfeiriadau (sy'n cyfateb i allweddi gwahanol).

Ymhellach, dim ond bwndel o'r fath a ddefnyddir yn aml: “rhaglun” ar ffurf strwythur TL (sy'n cynnwys bron unrhyw ddata), a stwnsh 256-did ohono a ddefnyddir ar gyfer mynd i'r afael.

Blockchain (blockchain). Strwythur data yw Blockchain, elfennau (blociau) sy'n cael eu harchebu'n "gadwyn", ac mae pob bloc nesaf o'r gadwyn yn cynnwys hash yr un blaenorol. Yn y modd hwn, sicrheir uniondeb - dim ond trwy ychwanegu blociau newydd y gellir gwneud newidiadau.

Gwasanaeth (gwasanaeth). Gall gwasanaethau o fewn TON fod o wahanol fathau, yn dibynnu a ydynt yn defnyddio'r blockchain ai peidio. Er enghraifft, gall un (neu lawer) o'r nodau rhwydwaith brosesu rhai ceisiadau RPC gan ddefnyddio'r protocol ADNL a ddisgrifir isod, heb greu unrhyw gofnodion yn y blockchain - fel gweinyddwyr gwe traddodiadol. Yn benodol, mae'r posibilrwydd o weithredu HTTP dros ADNL yn cael ei ystyried, yn ogystal â thrawsnewid y negesydd ei hun i'r protocol hwn. Trwy gyfatebiaeth â TOR neu I2P, bydd hyn yn ei gwneud yn fwy gwrthsefyll blocio amrywiol.

Ar yr un pryd, mae nifer o wasanaethau yn awgrymu rhyngweithio â'r blockchain a phrosesu ceisiadau y tu allan iddo. Er enghraifft, ar gyfer TON Storage - storio ffeiliau - nid yw'n rhesymol iawn storio'r ffeiliau eu hunain ar y blockchain. Bydd yn cynnwys hashes ffeil yn unig (ynghyd â rhywfaint o feta-wybodaeth amdanynt), a bydd nodau rhwydwaith arbenigol yn gweithredu fel “gweinyddion ffeil”, yn barod i'w rhoi i nodau eraill trwy ADNL.

gwasanaeth niwl (gwasanaeth niwl). Yr ydym yn sôn am rai gwasanaethau sy’n ymwneud â datganoli a chyfranogiad agored ynddynt. Er enghraifft, mae TON Proxy yn wasanaeth y gellir ei gefnogi gan unrhyw gyfranogwr sydd am ddarparu eu nod fel cyfryngwr (procsi) sy'n anfon pecynnau ymlaen rhwng nodau eraill. Os dymunir, gall godi ffi a osodwyd ganddo ar gyfer hyn - gan ddefnyddio'r system Taliadau TON ar gyfer microdaliadau (sydd, yn ei dro, hefyd yn wasanaeth niwlog).

ADNL: Haen Rhwydwaith Datagram Haniaethol

Ar y lefel isaf, bydd cyfathrebu rhwng nodau trwy'r CDU (er bod opsiynau eraill yn dderbyniol).

Fel y soniwyd uchod, er mwyn i un nod anfon pecyn i un arall, rhaid iddo wybod un o'i allweddi cyhoeddus (ac felly'r cyfeiriad y mae'n ei bennu). Mae'n amgryptio'r pecyn gyda'r allwedd hon ac yn ychwanegu cyfeiriad cyrchfan 256-bit i ddechrau'r pecyn - gan y gall un nod gael sawl cyfeiriad o'r fath, bydd hyn yn caniatáu iddo benderfynu pa allwedd i'w ddefnyddio ar gyfer dadgryptio.

TON: Rhwydwaith Agored Telegram. Rhan 1: Cyflwyniad, haen rhwydwaith, ADNL, DHT, rhwydweithiau troshaen

Yn ogystal, yn lle cyfeiriad y derbynnydd ar ddechrau'r pecyn data, efallai y bydd yr hyn a elwir. dynodydd sianel. Yn yr achos hwn, mae prosesu'r pecyn eisoes yn dibynnu ar gytundebau penodol rhwng y nodau - er enghraifft, gall data a anfonir i sianel benodol gael ei dynghedu ar gyfer nod arall a rhaid ei ailgyfeirio iddo (dyma'r gwasanaeth Dirprwy TON). Gall achos arbennig arall fod yn rhyngweithio'n uniongyrchol rhwng nodau, ond gydag amgryptio gan ddefnyddio pâr allweddol unigol ar gyfer y sianel hon (a ffurfiwyd yn flaenorol gan ddefnyddio protocol Diffie-Hellman).

Yn olaf, achos arbennig yw'r sianel "null" - os nad yw'r nod yn gwybod eto allweddi cyhoeddus ei "gymdogion", gall anfon pecynnau heb eu hamgryptio o gwbl. Dim ond ar gyfer ymgychwyn y mae hyn - cyn gynted ag y bydd y nodau'n anfon gwybodaeth am eu bysellau, dylid eu defnyddio ar gyfer rhyngweithio pellach.

ADNL yw'r enw ar y protocol a ddisgrifir uchod (256 did o ID sianel + pecyn cynnwys). Mae'r ddogfennaeth yn sôn am y posibilrwydd o weithredu analog o TCP ar ei ben neu ei ychwanegiad ei hun - RLDP (Protocol Datagram Mawr Dibynadwy), ond nid yw'n mynd i fanylion am eu gweithredu.

TON DHT: Tabl Hash Dosbarthedig

Fel yn achos systemau gwasgaredig eraill, mae TON yn cynnwys gweithredu DHT - tabl hash dosbarthu. Yn fwy penodol, mae'r tabl yn tebyg i Kademlia. Os nad ydych yn gyfarwydd â’r math hwn o dablau hash, peidiwch â phoeni, yna byddaf yn disgrifio’n fras sut y cânt eu trefnu.

TON: Rhwydwaith Agored Telegram. Rhan 1: Cyflwyniad, haen rhwydwaith, ADNL, DHT, rhwydweithiau troshaen

Mewn ystyr haniaethol, mae DHT yn mapio allweddi 256-did i werthoedd deuaidd hyd mympwyol. Ar yr un pryd, mae'r allweddi yn y tabl yn hashes o strwythur TL penodol (mae'r strwythurau eu hunain hefyd yn cael eu storio ynghyd â'r DHT). Mae hyn yn debyg iawn i ffurfio cyfeiriadau nodau - a gallant yn wir fod yn bresennol yn y DHT (er enghraifft, gall allwedd o'r fath gynnwys cyfeiriad IP y nod sy'n cyfateb i'r un a roddir cyfeiriad haniaetholos nad yw'n ei guddio). Ond yn yr achos cyffredinol, "cyn-delweddau o allweddi" (eu disgrifiadau, disgrifiadau allweddol) yw metadata sy'n nodi “perchennog” cofnod yn y tabl stwnsh (hynny yw, allwedd gyhoeddus rhyw nod), y math o werth sy'n cael ei storio, a'r rheolau ar gyfer newid y cofnod hwn wedyn. Er enghraifft, efallai y bydd rheol yn caniatáu i'r perchennog newid y gwerth yn unig - neu wahardd newid y gwerth i lawr (i amddiffyn rhag ymosodiadau ailchwarae).

Yn ogystal ag allweddi 256-did, cyflwynir y cysyniad o gyfeiriadau DHT. Y gwahaniaeth gyda chyfeiriadau gwesteiwr rheolaidd yw bod cyfeiriad DHT wedi'i rwymo i gyfeiriad IP. Os nad yw nod yn cuddio ei IP, gall ddefnyddio cyfeiriad rheolaidd ar gyfer DHT. Ond yn amlach, bydd cyfeiriad “lled-barhaol” ar wahân yn cael ei greu ar gyfer anghenion DHT.
TON: Rhwydwaith Agored Telegram. Rhan 1: Cyflwyniad, haen rhwydwaith, ADNL, DHT, rhwydweithiau troshaen
Uchod allweddi a chyfeiriadau DHT, cyflwynir y cysyniad o bellter - mae popeth yn cyd-fynd â thablau yn hyn kademlia - mae'r pellter rhwng y bysellau yn hafal i XOR (bitwise exclusive OR) oddi wrthynt. Yn yr un modd â thablau Kademlia, rhaid storio'r gwerth sy'n cyfateb i rai allwedd s nodau sydd â'r pellter lleiaf i'r allwedd hon (s dyma nifer gymharol fach).

Er mwyn i nod DHT gyfathrebu â nodau eraill o'r fath, mae'n cadw yn y cof Tabl llwybro DHT - Cyfeiriadau DHT ac IP y nodau y bu'n rhyngweithio â nhw o'r blaen, wedi'u grwpio yn ôl pellter iddynt. Mae yna 256 o grwpiau o'r fath (maent yn cyfateb i'r did mwyaf arwyddocaol a osodwyd yn y gwerth pellter - hynny yw, bydd nodau ar bellter o 0 i 255 yn disgyn i un grŵp, o 256 i 65535 - i'r nesaf, ac ati). O fewn pob grŵp, mae nifer gyfyngedig o nodau "gorau" yn cael eu storio (o ran ping iddynt).

TON: Rhwydwaith Agored Telegram. Rhan 1: Cyflwyniad, haen rhwydwaith, ADNL, DHT, rhwydweithiau troshaen

Rhaid i bob nod gefnogi nifer o weithrediadau: storio gwerth am allwedd, chwilio nod и chwilio am werthoedd. Mae chwilio am nodau yn awgrymu bod allwedd benodol yn cael ei rhoi o'r nodau sydd agosaf ato o'r tabl llwybro; mae edrych i fyny gwerthoedd yr un peth, ac eithrio pan fydd y nod yn gwybod gwerth yr allwedd (ac os felly, mae'n syml yn ei ddychwelyd). Yn unol â hynny, os yw nod am ddod o hyd i werth yn y DHT trwy allwedd, mae'n anfon ceisiadau i nifer fach o nodau sydd agosaf at yr allwedd hon o'i dabl llwybro. Os nad oes unrhyw werth dymunol ymhlith eu hatebion, ond bod yna gyfeiriadau nodau eraill, yna ailadroddir y cais iddynt.

Gellir defnyddio TON DHT at wahanol ddibenion, er enghraifft, i weithredu storfa ffeiliau tebyg i genllif (gweler. Storio TON); pennu cyfeiriadau nodau sy'n gweithredu gwasanaethau penodol; i storio gwybodaeth am ddeiliaid cyfrif yn y blockchain. Ond y cymhwysiad pwysicaf yw darganfod nodau yn ôl eu cyfeiriadau haniaethol. I wneud hyn, defnyddir y cyfeiriad fel allwedd, y mae ei werth i'w ganfod. Bydd yr ymholiad naill ai'n dod o hyd i'r gwesteiwr ei hun (os mai'r cyfeiriad dan sylw oedd ei gyfeiriad DHT lled-barhaol), neu'r gwerth fydd y cyfeiriad IP a'r porthladd i gysylltu ag ef, neu gyfeiriad arall i'w ddefnyddio fel twnnel cyfryngol.

Rhwydweithiau troshaenu yn TON

Mae'r protocol ADNL a ddisgrifir uchod yn awgrymu'r gallu i unrhyw nodau gyfnewid gwybodaeth â'i gilydd - er nid o reidrwydd yn y ffyrdd gorau posibl. Gallwn ddweud, diolch i ADNL, bod pob nod yn ffurfio graff TON byd-eang (yn ddelfrydol, wedi'i gysylltu). Ond yn ogystal, mae'n bosibl creu rhwydweithiau troshaen - subgraffau y tu mewn i'r graff hwn.
TON: Rhwydwaith Agored Telegram. Rhan 1: Cyflwyniad, haen rhwydwaith, ADNL, DHT, rhwydweithiau troshaen

O fewn rhwydwaith o'r fath, dim ond yn uniongyrchol y cynhelir rhyngweithio - trwy gysylltiadau a ffurfiwyd ymlaen llaw rhwng nodau aelodau'r rhwydwaith (trwy'r sianeli ADNL a ddisgrifir uchod). Mae ffurfio cysylltiadau o'r fath rhwng cymdogion, chwilio am y cymdogion eu hunain yn broses awtomatig sy'n ceisio cynnal cysylltedd y rhwydwaith troshaen a lleihau oedi wrth gyfnewid data ynddo.

Yn ogystal, mae yna ffordd i ddosbarthu diweddariadau darlledu mawr yn gyflym o fewn y rhwydwaith - maent yn cael eu torri'n rhannau, wedi'u hategu â chod cywiro gwallau, ac mae'r holl rannau hyn yn cael eu hanfon o un cyfranogwr i'r llall. Felly, nid oes rhaid i'r cyfranogwr dderbyn yr holl rannau'n llawn cyn eu hanfon ymlaen ymhellach ar y rhwydwaith.

Gall rhwydweithiau troshaen fod yn gyhoeddus neu'n breifat. Nid yw dod yn aelod o rwydwaith cyhoeddus yn anodd - mae angen i chi ddod o hyd i strwythur TL sy'n ei ddisgrifio (gall fod yn gyhoeddus - neu'n hygyrch trwy allwedd benodol yn y DHT). Yn achos rhwydwaith preifat, rhaid i'r strwythur hwn fod yn hysbys i'r nod ymlaen llaw.

I'w barhau

Penderfynais rannu adolygiad TON yn sawl erthygl. Dyma lle mae’r adran hon yn gorffen, nesaf Trof at yr ystyriaeth o strwythur y blockchain (yn fwy manwl gywir, blockchains) y bydd TON yn ei gynnwys.

Ffynhonnell: hab.com

Ychwanegu sylw