ТОН: Телеграм отворена мрежа. Део 1: Увод, мрежни слој, АДНЛ, ДХТ, мреже са преклапањем

ТОН: Телеграм отворена мрежа. Део 1: Увод, мрежни слој, АДНЛ, ДХТ, мреже са преклапањем

Рунет већ две недеље диже буку око Телеграма и ситуације са његовим бесмисленим и немилосрдним блокирањем од стране Роскомнадзора. Рикошет је увредио многе, али све су то теме за објаве на Геектимесу. Изненадило ме је нешто друго – још увек нисам видео ни једну анализу на Хабре мреже ТОН планирану за објављивање на основу Телеграма – Телеграм Опен Нетворк. Желео сам да надокнадим овај недостатак, јер тамо има шта да се учи - чак и упркос недостатку званичних изјава о томе.

Да вас подсетим да постоје гласине да је Телеграм покренуо веома велики затворени ИЦО, већ прикупивши невероватне количине новца. Очекује се да ће Грам-ова сопствена криптовалута бити лансирана ове године - и сваки корисник Телеграма ће аутоматски имати новчаник, што само по себи ствара значајну предност у односу на друге криптовалуте.

Нажалост, пошто нема званичних изјава, могу само да наставим даље документ непознатог порекла, на шта вас одмах упозоравам. Наравно, може се испоставити да је то врло вешта лажна, али је могуће и да је реч о правом белом папиру будућег система, који је написао Николај Дуров (и процурео, вероватно, од неког од инвеститора). Али чак и ако је лажна, нико нам неће забранити да проучавамо и расправљамо о томе, зар не?

Шта каже овај документ? Покушаћу да то препричам својим речима, блиским тексту, али на руском и мало хуманије (нека ми опрости Николај склоност ка формалној математици). Имајте на уму да чак и ако је ово оригинално, ово је нацрт описа система и врло је вероватно да ће се променити до тренутка јавног објављивања.

Сазнајемо да се поред криптовалуте очекује још много тога. Узмимо редом.

  • ТОН Блоцкцхаин. Ово је основа читавог система. Ако не знаш шта је то блок — Препоручујем да сазнате, јер ће овде бити много блокчејна. Угнежђени један у другом, виртуелно фрагментисани, па чак и „вертикални“ блок ланци унутар блокова других блокова. Биће и неки термини који звуче цоол, као што су Инстант Хиперцубе Роутинг и Парадигма бесконачног шардинга, али о томе касније. И, наравно, доказ о улози и паметни уговори.
  • ТОН П2П мрежа. Пеер-то-пеер мрежа на основу које ће се систем градити. О њој ће прво бити речи у овом делу приче.
  • ТОН Складиштење. Складиште датотека, које ће, без обзира на блокчејн, бити изграђено на горе поменутој пеер-то-пеер мрежи. Може се упоредити са торентима.
  • ТОН Проки. Ово је сервис чија је сврха да повећа анонимност учесника мреже. Било који пакет се може послати не директно, већ кроз посредничке тунеле са додатном енкрипцијом - попут И2П или ТОР.
  • ТОН ДХТ. Дистрибуирана хеш табела за чување произвољних вредности. Такође је изграђен на врху ТОН Нетворк (али у исто време га он користи) и помаже ТОН Складиштење пронаћи „дистрибутивне” чворове, и ТОН Проки — средњи репетитори. Али треба напоменути да, за разлику од блоцкцхаина, ова хеш табела није безбедно складиште - у њој не можете чувати важне информације.
  • ТОН услуге. Платформа за прилагођене услуге. У суштини, ово је нови Интернет поврх свега горе описаног. Размена података - преко ТОН Нетворк/ТОН Проки, а логика је у паметним уговорима ТОН Блоцкцхаин. И интерфејс са прилично познатим УРЛ-овима.
  • ТОН ДНС. Пошто је реч о познатим УРЛ адресама, потребан нам је и конвертор из њих у 256-битне адресе – налоге, уговоре, услуге и чворове.
  • ТОН плаћања. И ту долази у обзир питање новца. И неће само бити грам — као и са етром, било који „жетони“ ће бити могући; Грам ће овде бити само „подразумевана“ валута.

Ово је први део који описује „уземљени“ слој ТОН-а - његов мрежни део, изграђен на врху традиционалних протокола. У следећем делу ћемо говорити о „меком“ - блоцкцхаину, који ће бити подржан системом описаним у наставку. Дакле, мој редослед препричавања је нешто другачији од оног који се користи у горе поменутом документу (који почиње одмах на апстрактном нивоу).

Основни појмови

TL (Језик типа). То је апстрактни бинарни формат за произвољне структуре података. Користи се у Телеграм протоколу и активно ће се користити у ТОН-у. Ако желите да се детаљно упознате са тим - ево његовог описа.

Хасх (хасх). Функција која врши неповратну трансформацију произвољне структуре података у један број фиксне дужине. У целој документацији говоримо о функцији СХА-КСНУМКС.

Мрежни чвор (чвор). Чвор је софтвер који ће осигурати рад система. Конкретно, претпоставља се да ће свака Телеграм клијентска апликација укључивати ТОН чвор. На нижем нивоу, чворови имају ИПв4/ИПв6 адресе и комуницирају користећи УДП протокол; на вишем нивоу имају апстрактне адресе и имплементирати АДНЛ протокол (о апстрактним адресама и АДНЛ-у - види доле). Када је реч о томе да неки делови система нешто раде или чувају неке податке, подразумева се да то раде мрежни чворови.

Апстрактна адреса (или једноставно адреса, адреса). Адреса чвора је одређена његовим јавним кључем. Стриктно речено, то је 256-битни хеш (СХА256) структуре података која садржи јавни кључ (специфични криптографски алгоритам није прецизиран – елиптичне криве и РСА-2048 су дати као примери). Да би један чвор могао да комуницира са другим, мора да зна не само адресу тог чвора, већ и ову структуру података. У теорији, један физички чвор може креирати било који број адреса (које одговарају различитим кључевима).

Даље, често се користи управо таква веза: „прототип“ у облику ТЛ структуре (која садржи скоро све податке) и 256-битни хеш од њега, који се користи за адресирање.

Блоцкцхаин (блоцкцхаин). Блоцкцхаин је структура података, елементи (блокови) који су поређани у „ланац“, а сваки следећи блок ланца садржи хеш претходног. На овај начин се постиже интегритет – промене се могу извршити само додавањем нових блокова.

Сервис (сервис). Услуге у оквиру ТОН-а могу бити различитих типова, у зависности од тога да ли користе блоцкцхаин или не. На пример, један (или више) мрежних чворова може да обрађује одређене РПЦ захтеве користећи АДНЛ протокол описан у наставку, без креирања икаквих записа у блок ланцу – као што су традиционални веб сервери. Укључујући могућност имплементације ХТТП-а преко АДНЛ-а, као и прелазак самог месинџера на овај протокол. По аналогији са ТОР-ом или И2П, ово ће га учинити отпорнијим на разна блокирања.

Истовремено, велики број услуга укључује и интеракцију са блокчејном и обраду захтева ван њега. На пример, за ТОН Стораге – складиште датотека – није баш разумно чувати саме датотеке на блок ланцу. Садржаће само хешове датотека (заједно са неким мета-информацијама о њима), а специјализовани мрежни чворови ће деловати као „филе сервери“, спремни да их пошаљу на друге чворове преко АДНЛ-а.

Служба за маглу (служба за маглу). Реч је о неким услугама које подразумевају децентрализацију и отворено учешће у њима. На пример, ТОН Проки је услуга коју може подржати сваки учесник који жели да обезбеди свој чвор као посредник (прокси) за прослеђивање пакета између других чворова. По жељи, он може да наплати накнаду коју је одредио за ово - користећи систем ТОН Паиментс за микро плаћања (који је, заузврат, такође услуга магле).

АДНЛ: Мрежни слој апстрактног датаграма

На најнижем нивоу, комуникација између чворова ће се обављати коришћењем УДП протокола (иако су друге опције прихватљиве).

Као што је горе поменуто, да би један чвор могао да пошаље пакет другом, мора да зна један од својих јавних кључева (а самим тим и адресу коју дефинише). Шифрује пакет овим кључем и додаје 256-битну одредишну адресу на почетак пакета – пошто један чвор може имати неколико ових адреса, то ће му омогућити да одреди који кључ да користи за дешифровање.

ТОН: Телеграм отворена мрежа. Део 1: Увод, мрежни слој, АДНЛ, ДХТ, мреже са преклапањем

Поред тога, уместо адресе примаоца, почетак пакета података може да садржи тзв. идентификатор канал. У овом случају, обрада пакета већ зависи од конкретних договора између чворова - на пример, подаци послати на одређени канал могу бити намењени другом чвору и морају бити прослеђени њему (ово је услуга ТОН Проки). Други посебан случај може бити интеракција директно између чворова, али са шифровањем коришћењем појединачног пара кључева за овај канал (унапред генерисан коришћењем Диффие-Хеллман протокола).

Коначно, посебан случај је „нулти“ канал – ако чвор још не зна јавне кључеве својих „суседа“, може им послати пакете без шифровања уопште. Ово је намењено само за иницијализацију – када чворови пошаљу информације о својим кључевима, треба их користити за даљу комуникацију.

Протокол описан горе (256 бита идентификатора канала + садржај пакета) назива се АДНЛ. У документацији се помиње могућност имплементације аналогног ТЦП-а на њега или његовог сопственог додатка – РЛДП (Релиабле Ларге Датаграм Протоцол), али се не улази у детаље о њиховој имплементацији.

ТОН ДХТ: Дистрибутед Хасх Табле

Као што је случај са другим дистрибуираним системима, ТОН укључује имплементацију ДХТ-а - дистрибуирана хеш табела. Тачније, табела је Кадемлиа-лике. Ако нисте упознати са овом врстом хеш табеле, не брините, у наставку ћу угрубо описати како функционишу.

ТОН: Телеграм отворена мрежа. Део 1: Увод, мрежни слој, АДНЛ, ДХТ, мреже са преклапањем

У апстрактном смислу, ДХТ мапира 256-битне кључеве у бинарне вредности произвољне дужине. У овом случају, кључеви у табели су хешови из одређене ТЛ структуре (саме структуре се такође чувају заједно са ДХТ-ом). Ово је веома слично формирању адреса чворова - и оне заиста могу бити присутне у ДХТ-у (на пример, коришћењем таквог кључа ИП адреса чвора која одговара датом апстрактно обраћање, ако то не крије). Али у општем случају, „прототипови кључева“ (њихови описи, кључни описи) су метаподаци који указују на „власника“ уноса у хеш табели (то јест, јавни кључ неког чвора), тип сачуване вредности и правила по којима се овај унос може накнадно променити. На пример, правило може дозволити само власнику да промени вредност или забранити промену вредности наниже (да би се заштитило од напада понављања).

Поред 256-битних кључева, уводи се концепт ДХТ адреса. Разлика са редовним адресама домаћина је у томе што је ДХТ адреса нужно везана за ИП адресу. Ако чвор не сакрива свој ИП, може користити редовну адресу за ДХТ. Али чешће ће се креирати посебна, „полу-стална“ адреса за потребе ДХТ-а.
ТОН: Телеграм отворена мрежа. Део 1: Увод, мрежни слој, АДНЛ, ДХТ, мреже са преклапањем
Концепт удаљености је уведен изнад тастера и ДХТ адреса - у овоме се све поклапа са табелама Кадемлиа — растојање између кључева је једнако КСОР (битно ексклузивно ОР) за њих. Као иу Кадемлиа табелама, вредност која одговара одређеном кључу мора бити сачувана s чворови који имају најкраћу удаљеност до овог кључа (s овде је релативно мали број).

Да би ДХТ чвор могао да комуницира са другим таквим чворовима, он се чува у меморији ДХТ табела рутирања — ДХТ и ИП адресе чворова са којима је раније комуницирао, груписане према удаљености до њих. Постоји 256 таквих група (одговарају најзначајнијем биту постављеном у вредности удаљености - то јест, чворови на удаљености од 0 до 255 ће пасти у једну групу, од 256 до 65535 - у следећу итд.). Унутар сваке групе се чува ограничен број „најбољих“ чворова (у смислу пинга за њих).

ТОН: Телеграм отворена мрежа. Део 1: Увод, мрежни слој, АДНЛ, ДХТ, мреже са преклапањем

Сваки чвор мора да подржава неколико операција: чување вредности за кључ, претрага чворова и тражи вредности. Тражење чворова укључује издавање, на основу датог кључа, чворова који су му најближи из табеле рутирања; тражење вредности је исто, осим када чвор зна вредност за кључ (онда га само враћа). Сходно томе, ако чвор жели да пронађе вредност по кључу у ДХТ-у, он шаље захтеве малом броју чворова који су најближи овом кључу из своје табеле рутирања. Ако тражена вредност није међу њиховим одговорима, али постоје друге адресе чворова, онда им се захтев понавља.

ТОН ДХТ се може користити у различите сврхе, на пример, за имплементацију складишта датотека налик торренту (види. ТОН Складиштење); да одреди адресе чворова који имплементирају одређене услуге; за чување информација о власницима налога у блок ланцу. Али најважнија примена је откривање чворова по њиховим апстрактним адресама. Да бисте то урадили, адреса се користи као кључ чију вредност треба пронаћи. Као резултат захтева, или ће се пронаћи сам чвор (ако је тражена адреса била његова полу-стална ДХТ адреса), или ће вредност бити ИП адреса и порт за конекцију - или друга адреса која треба да се користи као посреднички тунел.

Мреже са преклапањем у ТОН

Горе описани АДНЛ протокол подразумева могућност за било који чвор да размењује информације једни са другима – мада не нужно на оптималне начине. Можемо рећи да захваљујући АДНЛ-у сви чворови формирају глобални ТОН граф (идеално повезан). Али додатно је могуће креирати мреже преклапања - подграфове унутар овог графа.
ТОН: Телеграм отворена мрежа. Део 1: Увод, мрежни слој, АДНЛ, ДХТ, мреже са преклапањем

Унутар такве мреже, интеракција се врши само директно – преко унапред формираних веза између чворова који учествују у мрежи (преко АДНЛ канала описаних горе). Формирање оваквих веза међу суседима, тражење самих суседа, је аутоматски процес који настоји да одржи повезаност мреже преклапања и минимизира кашњења у размени података у њој.

Поред тога, постоји начин да се брзо дистрибуирају велика ажурирања емитовања унутар мреже - они су разбијени на делове, допуњени кодом за исправљање грешака, и сви ови делови се шаљу од једног учесника до другог. Дакле, учесник не мора у потпуности да прибави све делове пре него што их пошаље даље дуж мреже.

Мреже са преклапањем могу бити јавне или приватне. Постати члан јавне мреже није тешко - потребно је пронаћи ТЛ структуру која то описује (може бити јавна или доступна путем одређеног кључа у ДХТ-у). У случају приватне мреже, ова структура мора бити позната чвору унапред.

Наставиће се

Одлучио сам да поделим ТОН рецензију на неколико чланака. Овде се овај део завршава, и у наредном Прелазим на разматрање структуре блоцкцхаина (тачније, блок ланца) од којих ће се ТОН састојати.

Извор: ввв.хабр.цом

Додај коментар