TON: Шабакаи кушодаи Telegram. Қисми 2: Blockchains, sharding

TON: Шабакаи кушодаи Telegram. Қисми 2: Blockchains, sharding

Ин матн идомаи як қатор мақолаҳост, ки дар он ман сохтори (эҳтимолан) шабакаи тақсимшудаи Telegram Open Network (TON), ки имсол барои нашр омода мешавад, баррасӣ мекунам. ДАР қисми қаблӣ Ман сатҳи асосии онро тавсиф кардам - ​​тарзи муоширати гиреҳҳо бо ҳамдигар.

Ба ҳар ҳол, ба шумо хотиррасон мекунам, ки ман ба рушди ин шабака рабте надорам ва тамоми мавод аз як манбаи кушода (ҳарчанд тасдиқнашуда) ҷамъоварӣ шудааст - ҳуҷҷат (ҳамроҳӣ вуҷуд дорад брошюра, нуктахои асосиро мухтасар баён намуда), ки дар охири соли гузашта пайдо шуда буданд. Миқдори маълумот дар ин ҳуҷҷат, ба назари ман, дурустии онро нишон медиҳад, ҳарчанд дар ин бора тасдиқи расмӣ вуҷуд надорад.

Имрӯз мо ҷузъи асосии TON - blockchain -ро дида мебароем.

Мафҳумҳои асосӣ

Ҳисоби (ҳисоби). Маҷмӯи маълумоте, ки бо рақами 256-бит муайян карда шудааст account_id (аксар вақт ин калиди ҷамъиятии соҳиби ҳисоб аст). Дар ҳолати асосӣ (ба поён нигаред сифр занҷири корӣ), ин маълумот ба тавозуни корбар дахл дорад. мушаххаси "ишғол" account_id хар кас метавонад, вале арзиши онро танхо аз руи коидахои муайян тагьир додан мумкин аст.

Шартномаи оқилона (интеллектуалӣ-шартнома). Аслан, ин як ҳолати махсуси ҳисоб мебошад, ки бо рамзи шартномаи интеллектуалӣ ва нигоҳдории тағирёбандаҳои он илова карда шудааст. Агар дар сурати «ҳамён» шумо метавонед аз он мувофиқи қоидаҳои нисбатан содда ва пешакӣ муайяншуда пул гузоред ва гиред, пас дар ҳолати шартномаи интеллектуалӣ ин қоидаҳо дар шакли рамзи он навишта мешаванд (дар як Тюринг-комплекси муайян). забони барномасозӣ).

Ҳолати блокчейн (ҳолати blockchain). Маҷмӯи ҳолати ҳама ҳисобҳо/қарордодҳои интеллектуалӣ (ба маънои абстрактӣ, ҷадвали хэш, ки дар он калидҳо идентификаторҳои ҳисоб ва арзишҳо маълумоте мебошанд, ки дар ҳисобҳо нигоҳ дошта мешаванд).

хабар (хабар). Дар боло ман ибораи "пули кредитӣ ва дебетӣ" -ро истифода кардам - ​​ин як мисоли мушаххаси паём аст ("интиқол" Н грамм аз ҳисоби ҳисоб_1 ба ҳисоб ҳисоб_2"). Аён аст, ки танҳо гиреҳе, ки калиди шахсии ҳисобро дорад, метавонад чунин паём фиристад ҳисоб_1 - ва қодир аст инро бо имзо тасдиқ кунад. Натиҷаи интиқоли чунин паёмҳо ба ҳисоби муқаррарӣ афзоиши тавозуни он ва натиҷаи шартномаи интеллектуалӣ иҷрои рамзи он мебошад (ки қабули паёмро коркард мекунад). Албатта, паёмҳои дигар низ имконпазиранд (интиқоли на маблағи пулӣ, балки маълумоти худсарона байни шартномаҳои интеллектуалӣ).

Муомила (амалиёт). Далели интиқоли паём транзаксия номида мешавад. Амалиётҳо ҳолати blockchainро тағир медиҳанд. Ин транзаксияҳо (сабти интиқоли паёмҳо) мебошанд, ки блокҳоро дар blockchain ташкил медиҳанд. Дар робита ба ин, шумо метавонед дар бораи ҳолати blockchain ҳамчун пойгоҳи додаҳои афзоянда фикр кунед - ҳама блокҳо "фарқиятҳо" мебошанд, ки барои гирифтани ҳолати кунунии пойгоҳи додаҳо пайдарпай татбиқ карда мешаванд. Хусусиятҳои бастабандии ин "фарқиятҳо" (ва барқарор кардани ҳолати пурраи онҳо) дар мақолаи навбатӣ баррасӣ карда мешаванд.

Blockchain дар TON: он чист ва чаро?

Тавре ки дар мақолаи гузашта зикр гардид, blockchain як сохтори додаҳост, ки унсурҳои (блокҳои) он ба "занҷир" тартиб дода шудаанд ва ҳар як блоки минбаъдаи занҷир як хэши қаблиро дар бар мегирад. Шарҳҳо савол доданд: чаро ба мо умуман чунин сохтори додаҳо лозим аст, вақте ки мо аллакай DHT - ҷадвали hash тақсимшуда дорем? Аён аст, ки баъзе маълумотҳоро дар DHT нигоҳ доштан мумкин аст, аммо ин танҳо барои маълумоти на он қадар "ҳассос" мувофиқ аст. Бақияи криптовалютҳоро дар DHT нигоҳ доштан мумкин нест - пеш аз ҳама аз сабаби набудани чекҳо поквичдонй. Дарвоқеъ, тамоми мураккабии сохтори blockchain барои пешгирӣ кардани дахолат ба маълумоти дар он нигоҳ дошташуда афзоиш меёбад.

Аммо, blockchain дар TON нисбат ба дигар системаҳои тақсимшуда боз ҳам мураккабтар ба назар мерасад - ва бо ду сабаб. Якум, хоҳиши кам кардани ниёз ба он аст чангакхо. Дар криптовалютаҳои анъанавӣ, ҳама параметрҳо дар марҳилаи ибтидоӣ муқаррар карда мешаванд ва ҳама гуна кӯшиши тағир додани онҳо воқеан ба пайдоиши “алтернативаи коиноти криптовалютӣ” оварда мерасонад. Сабаби дуюм дастгирии шикастан аст (шикастан, шикастан) blockchain. Blockchain сохторест, ки бо мурури замон наметавонад хурдтар шавад; ва одатан ҳар як гиреҳе, ки барои кори шабака масъул аст, маҷбур аст, ки онро пурра нигоҳ дорад. Дар системаҳои анъанавӣ (марказонидашуда) барои ҳалли чунин мушкилот sharding истифода мешавад: баъзе сабтҳо дар пойгоҳи додаҳо дар як сервер ҷойгиранд, баъзеҳо дар сервери дигар ва ғайра. Дар мавриди cryptocurrencies, чунин функсия ҳоло ҳам хеле нодир аст - аз ҷумла, аз он сабаб, ки илова кардани sharding ба системае, ки дар он ибтидо ба нақша гирифта нашуда буд, душвор аст.

Чй тавр ТОН халли хар ду проблемам дар боло зикршударо ба накша гирифтааст?

Мазмуни blockchain. Занҷирҳои корӣ.

TON: Шабакаи кушодаи Telegram. Қисми 2: Blockchains, sharding

Пеш аз ҳама, биёед дар бораи он чизе, ки дар blockchain нигоҳ дошта мешавад, сӯҳбат кунем. Ҳолати ҳисобҳо («ҳамёнҳо» дар ҳолати асосӣ) ва шартномаҳои интеллектуалӣ дар он ҷо нигоҳ дошта мешаванд (барои соддагӣ, мо фарз мекунем, ки ин ҳамон ҳисобҳост). Дар асл, ин ҷадвали ҳашҳои муқаррарӣ хоҳад буд - калидҳои он идентификаторҳо хоҳанд буд account_id, ва арзишҳо сохторҳои додаҳо мебошанд, ки чунин чизҳоро дар бар мегиранд:

  • мувозинат;
  • рамзи шартномаи интеллектуалӣ (танҳо барои шартномаҳои интеллектуалӣ);
  • нигаҳдории маълумоти шартномаи интеллектуалӣ (танҳо барои шартномаҳои интеллектуалӣ);
  • омор;
  • (ихтиёрӣ) калиди ҷамъиятӣ барои интиқол аз суратҳисоб, бо нобаёнӣ account_id;
  • навбати паёмҳои содиротӣ (дар ин ҷо онҳо барои фиристодан ба қабулкунанда ворид карда мешаванд);
  • рӯйхати паёмҳои охирини ба ин ҳисоб расонидашуда.

Тавре ки дар боло зикр гардид, худи блокҳо аз транзаксия иборатанд - паёмҳое, ки ба ҳисобҳои гуногуни account_id расонида мешаванд. Аммо, ба ғайр аз account_id, паёмҳо инчунин майдони 32-бит доранд workchain_id — ба ном идентификатор занҷири корӣ (занҷири корӣ, blockchain кор). Ин ба шумо имкон медиҳад, ки якчанд блокчейнҳои аз ҳамдигар мустақил бо конфигуратсияҳои гуногун дошта бошед. Дар ин ҳолат, workchain_id = 0 як ҳолати махсус ҳисобида мешавад, сифр занҷири корӣ — маҳз тавозуни он ба криптовалютаи ТОН (Грам) мувофиқат мекунад. Эҳтимол, дар аввал, дигар занҷирҳои корӣ умуман вуҷуд надоранд.

Шардчейнҳо. Парадигмаи беохир.

Аммо афзоиши шумораи блокчейнҳо бо ин қатъ намешавад. Биёед бо порахӯрӣ сарукор кунем. Биёед тасаввур кунем, ки ҳар як ҳисоб (account_id) блокчейни худро ҷудо мекунад - он дорои ҳама паёмҳое, ки ба он меоянд - ва ҳолати ҳамаи ин блокчейнҳо дар гиреҳҳои алоҳида нигоҳ дошта мешаванд.

Албатта, ин хеле беҳуда аст: эҳтимолан, дар ҳар яки инҳо занҷирҳо (shardchain, blockchain shard) транзаксияҳо хеле кам меоянд ва бисёр гиреҳҳои пурқувват лозим мешаванд (ба пеш нигоҳ карда, ман қайд мекунам, ки мо на танҳо дар бораи муштариён дар телефонҳои мобилӣ - балки дар бораи серверҳои ҷиддӣ сухан меронем).

Аз ин рӯ, shardchain ҳисобҳоро аз рӯи префиксҳои бинарии идентификаторҳои худ муттаҳид мекунанд: агар shardchain префикси 0110 дошта бошад, пас он транзаксияҳои ҳама account_id-ҳоро, ки бо ин рақамҳо оғоз мешаванд, дар бар мегирад. Ин shard_prefix метавонад дарозии аз 0 то 60 бит дошта бошад - ва чизи асосӣ он аст, ки он метавонад ба таври динамикӣ тағир ёбад.

TON: Шабакаи кушодаи Telegram. Қисми 2: Blockchains, sharding

Ҳамин ки яке аз шардчейнҳо ба гирифтани транзаксияҳои аз ҳад зиёд шурӯъ мекунад, гиреҳҳои дар он коркунанда мувофиқи қоидаҳои пешакӣ онро ба ду кӯдак "тақсим мекунанд" - префиксҳои онҳо як каме дарозтар хоҳанд буд (ва барои яке аз онҳо ин бит хоҳад буд. баробар ба 0, ва барои дигар - 1). Барои намуна, shard_prefix = 0110б тақсим мешавад 01100б ва 01101б. Дар навбати худ, агар ду занҷири "ҳамсоя" худро ба қадри кофӣ ором ҳис кунанд (чанд муддат), онҳо дубора муттаҳид мешаванд.

Ҳамин тариқ, sharding "аз поён ба боло" анҷом дода мешавад - мо фарз мекунем, ки ҳар як ҳисоб пораи худро дорад, аммо дар айни замон онҳо бо префиксҳо "якҷо часпида шудаанд". Ин маънои онро дорад Парадигмаи беохир (парадигмаи беохир).

Алоҳида, мехоҳам таъкид намоям, ки занҷирҳои корӣ танҳо ба таври виртуалӣ вуҷуд доранд - дар асл, workchain_id он як қисми муайянкунандаи шардчейни мушаххас аст. Дар истилоҳи расмӣ, ҳар як шардчейн бо як ҷуфт рақамҳо муайян карда мешавад (workchain_id, shard_prefix).

Ислоҳи хато. Блокчейнҳои амудӣ.

Одатан, ҳама гуна транзаксия дар blockchain "дар санг гузошташуда" ҳисобида мешавад. Аммо, дар мавриди ТОН, «таърихро аз нав навиштан» мумкин аст - агар касе (ба ном. гиреҳи моҳигир) исбот мекунад, ки яке аз блокхо нодуруст имзо карда шудааст. Дар ин ҳолат, блоки махсуси ислоҳӣ ба shardchain мувофиқ илова карда мешавад, ки хэши худи блокро дар бар мегирад (на блоки охирин дар shardchain). Дар бораи shardchain ҳамчун занҷири блокҳои ба таври уфуқӣ ҷойгиршуда фикр карда, мо метавонем бигӯем, ки блоки ислоҳкунанда ба блоки хато на ба тарафи рост, балки аз боло часпонида мешавад - бинобар ин, он ба як қисми хурди "blockchain амудӣ" табдил меёбад. . Ҳамин тариқ, мо гуфта метавонем, ки shardchains мебошанд блокчейнҳои дученака.

TON: Шабакаи кушодаи Telegram. Қисми 2: Blockchains, sharding

Агар пас аз блоки хато, тағиротҳои аз ҷониби он воридшуда аз ҷониби блокҳои минбаъда истинод карда шуда бошанд (яъне транзаксияҳои нав дар асоси амалиёти беэътибор анҷом дода шуда бошанд), ислоҳи ислоҳкунанда низ ба ин блокҳо "боло" илова карда мешаванд. Агар блокҳо ба иттилооти "таъсиршуда" таъсир нарасонданд, ин "мавҷҳои ислоҳкунанда" ба онҳо дахл надоранд. Масалан, дар расми боло, амалиёти блоки якум, ки бақияи ҳисоби C-ро зиёд мекунад, нодуруст эътироф шудааст - бинобар ин, амалиёте, ки бақияи ин ҳисобро дар блоки сеюм кам мекунад, бояд бекор карда шавад ва блоки ислоҳӣ бояд дар болои худи блок содир карда шавад.

Бояд қайд кард, ки гарчанде ки блокҳои ислоҳкунанда ҳамчун "боло" блокҳои аслӣ ҷойгир шудаанд, дар асл онҳо ба охири blockchain мувофиқ илова карда мешаванд (дар он ҷо онҳо бояд аз рӯи хронологӣ бошанд). Ҷойгиршавии дученака танҳо нишон медиҳад, ки онҳо ба кадом нуқтаи блокчейн "пайванд" мешаванд (тавассути хэши блоки аслии дар онҳо ҷойгиршуда).

Шумо метавонед ба таври алоҳида фалсафа кунед, ки қарори "тағйир додани гузашта" то чӣ андоза хуб аст. Чунин ба назар мерасад, ки агар мо эҳтимолияти пайдоиши блоки нодурустро дар shardchain эътироф кунем, пас мо наметавонем аз эҳтимолияти пайдо шудани блоки ислоҳкунандаи хато канорагирӣ кунем. Дар ин ҷо, то ҷое ки ман гуфта метавонам, фарқият дар шумораи гиреҳҳост, ки бояд дар блокҳои нав ба консенсус бирасанд - шумораи нисбатан ками одамон дар ҳар як shardchain кор мекунанд."гурӯҳи корӣ» гиреҳҳо (ки таркиби худро зуд-зуд тағйир медиҳанд) ва ҷорӣ намудани блокҳои ислоҳкунанда розигии ҳамаро талаб мекунад гиреҳҳои тасдиқкунанда. Ман дар мақолаи навбатӣ дар бораи валидаторҳо, гурӯҳҳои корӣ ва дигар нақшҳои гиреҳ бештар сӯҳбат хоҳам кард.

Як blockchain барои ҳукмронии ҳама

Маълумоти зиёде дар бораи намудҳои гуногуни блокчейнҳо дар боло номбар шудаанд, ки худи онҳо низ бояд дар ҷое нигоҳ дошта шаванд. Аз ҷумла, сухан дар бораи маълумоти зерин меравад:

  • дар бораи шумора ва конфигуратсияҳои занҷирҳои корӣ;
  • дар бораи шумораи шардчейнҳо ва префиксҳои онҳо;
  • дар бораи кадом гиреҳҳо дар айни замон барои кадом шардчейнҳо масъуланд;
  • хэшҳои блокҳои охирин ба ҳама шардчейнҳо илова карда шудаанд.

Тавре ки шумо тахмин кардаед, ҳамаи ин чизҳо дар дигар анбори blockchain сабт шудаанд - masterchain (усто занҷир, блокчейн усто). Аз сабаби мавҷудияти хэшҳо аз блокҳои ҳама шардчейнҳо дар блокҳои он, он системаро хеле пайваст мекунад. Ин маънои онро дорад, ки дар байни чизҳои дигар, тавлиди блоки нав дар masterchain фавран пас аз тавлиди блокҳо дар shardchain ба амал меояд - интизор меравад, ки блокҳо дар shardchains тақрибан дар як вақт тақрибан ҳар 5 сония пайдо мешаванд ва блоки навбатӣ дар masterchain - як сония пас аз он.

Аммо кӣ барои иҷрои ин ҳама кори титаникӣ масъул хоҳад буд - барои фиристодани паёмҳо, иҷрои шартномаҳои интеллектуалӣ, ташаккул додани блокҳо дар shardchains ва masterchain ва ҳатто тафтиши блокҳо барои хатогиҳо? Оё ҳамаи инҳоро телефонҳои миллионҳо корбарон бо муштарии Telegram дар онҳо пинҳонӣ анҷом медиҳанд? Ё шояд дастаи Дуров аз ғояҳои ғайримарказизатсия даст кашанд ва серверҳои онҳо ин корро бо усули кӯҳна иҷро кунанд?

Дар хакикат на як чавоб дуруст асту на чавоби дигар. Аммо ҳошияи ин мақола зуд тамом мешавад, аз ин рӯ мо дар бораи нақшҳои гуногуни гиреҳҳо (шумо аллакай зикри баъзеи онҳоро мушоҳида кардаед) ва инчунин механикаи кори онҳо дар қисми оянда сӯҳбат хоҳем кард.

Манбаъ: will.com

Илова Эзоҳ