TON: Telegram Open Network. Sashe na 2: Blockchains, Sharding

TON: Telegram Open Network. Sashe na 2: Blockchains, Sharding

Wannan rubutu ci gaba ne na jerin kasidu wanda a ciki na yi la'akari da tsarin (mai yiwuwa) da aka rarraba cibiyar sadarwa ta Telegram Open Network (TON), wacce ake shirin fitarwa a wannan shekara. IN bangaren da ya gabata Na bayyana matakinsa na asali - yadda nodes ke hulɗa da juna.

Kawai, bari in tunatar da ku cewa ba ni da wata alaƙa da haɓakar wannan hanyar sadarwa kuma duk abubuwan an zana su ne daga buɗaɗɗen tushe (amma ba a tabbatar da su ba) - daftarin aiki (akwai kuma haɗe kasida, taƙaita mahimman abubuwan), wanda ya bayyana a ƙarshen shekarar da ta gabata. Adadin bayanan da ke cikin wannan takarda, a ganina, na nuna sahihancinsa, duk da cewa babu wani tabbaci a hukumance kan hakan.

Yau za mu dubi babban bangaren TON - blockchain.

Mahimman ra'ayi

account (account). Saitin bayanan da aka gano ta lamba 256-bit akaunt_id (mafi yawanci wannan shine maɓallin jama'a na mai asusun). A cikin shari'ar tushe (duba ƙasa sifili workchain), wannan bayanan yana nufin ma'aunin mai amfani. "Mallaka" na musamman akaunt_id kowa zai iya, amma zaka iya canza darajarta kawai bisa ga wasu dokoki.

Kwangilar wayo (kwangila-mai kaifin baki). A haƙiƙa, lamari ne na musamman na asusu, wanda aka haɗa shi da lambar kwangila mai wayo da kuma ajiyar masu canjin sa. Idan a cikin yanayin "walat" yana yiwuwa a yi la'akari da karɓar kuɗi daga gare ta bisa ga ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun kwangila, waɗannan dokoki an rubuta su a cikin nau'i na lambarsa (a wasu Turing). -cikakkiyar harshen shirye-shirye).

Blockchain State (yanayin blockchain). Saitin jihohin duk asusun / kwangiloli masu wayo (a cikin ma'ana, tebur zanta, inda maɓallan su ne masu gano asusu, kuma ƙimar sune bayanan da aka adana a cikin asusun).

Sako (saƙon). A sama, na yi amfani da furcin "bashi da kuma rubuta kuɗi" - wannan misali ne na saƙo ("canja wurin". N grams daga asusu account_1 kowane asusu account_2"). Babu shakka, kumburin da ke da maɓalli na sirri ne kawai zai iya aika irin wannan saƙon. account_1 - da ikon tabbatar da shi tare da sa hannu. Sakamakon isar da irin waɗannan saƙonnin zuwa asusun na yau da kullun shine karuwa a cikin ma'auni, kuma zuwa kwangila mai wayo - aiwatar da lambar sa (wanda zai aiwatar da karɓar saƙon). Tabbas, wasu saƙonni kuma suna yiwuwa (canja wurin ba adadin kuɗi ba, amma bayanan sabani tsakanin kwangiloli masu wayo).

Ma'amala (ma'amala). Gaskiyar isar da sako ana kiranta ciniki. Ma'amaloli suna canza yanayin blockchain. Yana daga ma'amaloli (rubutun isar da saƙo) cewa tubalan da ke cikin blockchain ya ƙunshi. Dangane da wannan, zaku iya tunanin yanayin blockchain a matsayin ƙarin bayanan bayanai - duk tubalan “bambance-bambancen” ne waɗanda ke buƙatar aiwatar da su bi da bi don samun halin yanzu na bayanan. Za a tattauna ƙayyadaddun abubuwan tattara waɗannan “bambance-bambancen” (da dawo da cikakken yanayin amfani da su) a cikin labarin na gaba.

Blockchain a cikin TON: menene kuma me yasa?

Kamar yadda aka ambata a labarin da ya gabata. Blockchain shine tsarin bayanai, abubuwan (blocks) wanda aka tsara su a cikin "sarkar", kuma kowane shinge na gaba na sarkar yana dauke da zanta na baya.. An tambayi tambaya a cikin sharhi: me yasa muke buƙatar irin wannan tsarin bayanan kwata-kwata yayin da muke da DHT - tebur ɗin zanta da aka rarraba? Babu shakka, ana iya adana wasu bayanai a cikin DHT, amma wannan ya dace ne kawai don bayanan “masu hankali”. Ba za a iya adana ma'auni na Cryptocurrency a cikin DHT - da farko saboda rashin cak don mutunci. A haƙiƙa, gabaɗayan sarkar tsarin blockchain yana girma don hana kutse ga bayanan da aka adana a ciki.

Koyaya, blockchain a cikin TON ya fi rikitarwa fiye da sauran tsarin rarraba - kuma akwai dalilai guda biyu na wannan. Na farko shine sha'awar rage buƙata cokali mai yatsu. A cikin cryptocurrencies na al'ada, ana saita duk sigogi a matakin farko, kuma duk wani ƙoƙari na canza su yana haifar da fitowar "madadin sararin samaniya na cryptocurrency". Dalili na biyu shine goyon bayan murƙushewa (sharding, sharding) blockchain. Blockchain wani tsari ne wanda ba zai iya ƙarami akan lokaci ba; kuma yawanci kowane kumburi da ke da alhakin lafiyar cibiyar sadarwa an tilasta shi ya adana shi gaba daya. A cikin tsarin gargajiya (tsakanin tsakiya), ana amfani da sharding don magance irin waɗannan matsalolin: wasu bayanan da ke cikin ma'ajin bayanai suna kan sabar ɗaya, wasu akan wani, da sauransu. A cikin yanayin cryptocurrencies, irin wannan aikin har yanzu yana da wuya - musamman, saboda gaskiyar cewa yana da wahala a ƙara sharding zuwa tsarin da ba a fara shirya shi ba.

Ta yaya TON ke shirin magance duka matsalolin da ke sama?

Blockchain abun ciki. Sashin aiki.

TON: Telegram Open Network. Sashe na 2: Blockchains, Sharding

Da farko, bari mu yi magana game da abin da aka shirya don adanawa a cikin blockchain. Jihohin asusun ("wallets" a cikin akwati na asali) da kuma kwangila masu basira (don sauƙi, za mu ɗauka cewa wannan daidai yake da asusun) za a adana a can. A zahiri, wannan zai zama tebur na zanta na yau da kullun - maɓallan da ke cikinsa za su zama masu ganowa akaunt_id, kuma dabi'u sune tsarin bayanan da ke dauke da abubuwa kamar:

  • daidaita;
  • lambar kwangila mai wayo (kawai don kwangiloli masu wayo);
  • ajiyar bayanan kwangila mai wayo (kawai don kwangiloli masu wayo);
  • kididdiga;
  • (zaɓi) maɓallin jama'a don canja wurin daga asusun, account_id ta tsohuwa;
  • jerin saƙon masu fita (a nan ana shigar da su don aikawa zuwa ga mai karɓa);
  • jerin saƙonnin kwanan nan da aka aika zuwa wannan asusun.

Kamar yadda aka ambata a sama, tubalan da kansu sun ƙunshi ma'amaloli - saƙonnin da aka aika zuwa asusun account_id daban-daban. Koyaya, ban da account_id, saƙonnin sun ƙunshi filin 32-bit workchain_id - mai gano abin da ake kira. sarkar aiki (sarkar aiki, aikin blockchain). Wannan yana ba ku damar samun blockchain masu zaman kansu da yawa tare da saiti daban-daban. A wannan yanayin, workchain_id = 0 ana ɗaukarsa wani lamari na musamman. sifili workchain - Ma'auni ne a cikinsa wanda zai dace da TON (grams) cryptocurrency. Mafi mahimmanci, da farko, sauran sassan aiki ba za su wanzu ba kwata-kwata.

Shardchains. Tsarin Sharding mara iyaka.

Amma karuwar adadin blockchain bai tsaya nan ba. Bari mu magance sharding. Ka yi tunanin cewa kowane asusu (account_id) yana da nasa blockchain - yana ɗauke da duk saƙonnin da yake karɓa - kuma jihohin duk irin waɗannan blockchain suna adana su a kan nodes daban-daban.

Tabbas, wannan almubazzaranci ne: mai yiwuwa, a cikin kowane ɗayan waɗannan shardchains (shardchain, shard blockchain) za a karɓi ma'amaloli da wuya sosai, kuma za a buƙaci nodes masu ƙarfi da yawa (suna kallon gaba, na lura cewa muna magana ba kawai game da abokan ciniki akan wayoyin hannu ba - amma game da sabobin masu mahimmanci).

Don haka, shardchain yana haɗa asusun ta hanyar prefixes na binary na masu gano su: idan shardchain yana da prefix na 0110, to, ma'amala na duk account_id wanda ya fara da waɗannan lambobi zai fada cikinsa. Wannan shard_prefix na iya samun tsayi daga 0 zuwa 60-bits - kuma mafi mahimmanci, yana iya canzawa a hankali.

TON: Telegram Open Network. Sashe na 2: Blockchains, Sharding

Da zaran ma'amaloli da yawa suka fara shiga ɗaya daga cikin shardchains, nodes suna aiki akan shi, bisa ga ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun ka'idoji, suka nuna, "raba" ta cikin yara biyu - prefixes ɗin su zai zama ɗan tsayi kaɗan (kuma ga ɗayansu wannan bit ɗin. zai zama 0, kuma ga sauran - 1). Misali, shard_prefix = 0110b ya rabu 01100b kuma 01101 b. Bi da bi, idan shardchains "maƙwabta" guda biyu sun fara jin daɗi sosai (na ɗan lokaci), za su sake haɗuwa.

Don haka, ana yin sharding “daga ƙasa zuwa sama” - muna ɗauka cewa kowane asusu yana da nasa ɓangarorin, amma su - a halin yanzu - "manne" ta hanyar prefixes. Wannan shi ne abin da ake nufi Tsarin Sharding mara iyaka (yanayin sharding mara iyaka).

Na dabam, Ina so in jaddada cewa sarƙoƙin aiki sun wanzu kusan kusan - a zahiri, workchain_id wani bangare ne na gano wani shardchain. A cikin sharuddan yau da kullun, kowane shardchain an ayyana shi ta hanyar lambobi biyu (workchain_id, shard_prefix).

Kuskure gyara Toshewar tsaye.

An yi imani da al'ada cewa duk wani ma'amala a cikin blockchain "an saita shi cikin dutse". Duk da haka, a cikin yanayin TON, yana yiwuwa a "sake rubuta tarihi" - idan wani (wanda ake kira. kulli - "mainta") zai tabbatar da cewa an sanya hannu ɗaya daga cikin tubalan ba daidai ba. A wannan yanayin, ana ƙara shingen gyaran gyare-gyare na musamman zuwa shardchain mai dacewa, wanda ya ƙunshi zanta na tubalan da aka gyara da kansa (kuma ba na karshe a cikin shardchain ba). Wakilin shardchain a matsayin sarkar tubalan da aka shimfida a kwance, zamu iya cewa gyaran gyaran yana haɗe zuwa ga kuskuren kuskure ba zuwa dama ba, amma daga sama - saboda haka, an yi la'akari da cewa ya zama wani ɓangare na ƙananan "blockchain a tsaye" . Don haka, ana iya cewa shardchains ne blockchains masu girma biyu.

TON: Telegram Open Network. Sashe na 2: Blockchains, Sharding

Idan, bayan kuskuren toshe, tubalan da suka biyo baya suna magana game da canje-canjen da aka yi (watau, an yi sabbin ma'amaloli bisa ga waɗanda ba su da inganci), ana kuma ƙara masu gyara zuwa waɗannan tubalan "daga sama". Idan tubalan ba su shafi bayanan "da aka shafa" ba, waɗannan "taguwar gyara" ba za su shafi su ba. Misali, a cikin kwatancin da ke sama, cinikin block na farko, wanda ya haɓaka ma'auni na asusun C, an gane shi ba daidai ba - don haka, ma'amalar da ta rage ma'auni na wannan asusun a cikin toshe na uku dole ne a soke, kuma gyara block aka yi a kan toshe kanta.

Ya kamata a lura cewa ko da yake an kwatanta tubalan gyara kamar yadda suke "sama" na asali, a gaskiya ma za a ƙara su zuwa ƙarshen blockchain da ya dace (inda ya kamata a kasance a cikin lokaci). Tsarin nau'i-nau'i biyu kawai yana nuna wanne batu a cikin blockchain za a "ƙugiya" (ta hanyar zanta na asali block dake cikin su).

Kuna iya bambanta falsafa game da yadda kyakkyawan shawarar "canza abin da ya gabata" yake. Zai yi kama da cewa idan muka ƙyale yiwuwar bayyanar wani toshe ba daidai ba a cikin shardchain, to ba za mu iya hana yiwuwar bayyanar kuskuren gyara kuskure ba. Anan, kamar yadda zan iya fada, bambanci a cikin adadin nodes wanda dole ne a cimma matsaya kan sababbin tubalan - ƙananan ƙananan za su yi aiki akan kowane shardchain "kungiyar aiki» nodes (sau da yawa yana canza abun da ke ciki), kuma gabatar da tubalan gyara zai buƙaci yardar kowa ingantattun nodes. Zan rufe masu inganci, ƙungiyoyin aiki, da sauran ayyukan kumburi dalla-dalla a cikin labarin nan gaba.

Ɗaya daga cikin blockchain don mulkin su duka

Abubuwan da ke sama sun lissafa bayanai da yawa game da nau'ikan blockchain daban-daban, waɗanda a cikin kanta ya kamata a adana su a wani wuri. Musamman, muna magana ne game da waɗannan bayanan:

  • game da lamba da kuma tsarin tsarin aiki;
  • game da adadin shardchains da prefixes;
  • game da wane nodes a halin yanzu ke da alhakin abin da shardchains;
  • hashes na tubalan ƙarshe da aka ƙara zuwa duk shardchains.

Kamar yadda zaku iya tsammani, duk waɗannan abubuwan ana yin rikodin su a cikin wani ma'ajiyar blockchain - masterchain (masterchain, master blockchain). Saboda kasancewar hashes daga tubalan duk shardchains a cikin tubalan sa, yana sanya tsarin haɗin gwiwa sosai. Daga cikin wasu abubuwa, wannan yana nufin cewa ƙarni na sabon toshe a cikin masterchain zai faru nan da nan bayan tsara tubalan a cikin shardchain - ana sa ran cewa blocks a cikin shardchain zai bayyana kusan lokaci guda kusan kowane 5 seconds, da kuma gaba block a cikin. masterchain - na biyu bayan haka.

Amma wanene zai dauki alhakin aiwatar da duk wannan aikin titanic - don aika saƙonni, aiwatar da kwangilar wayo, kafa tubalan a cikin shardchain da masterchain, har ma da bincika tubalan don kurakurai? Shin wayoyin miliyoyin masu amfani tare da abokin ciniki na Telegram za su yi duk wannan akan wayo? Ko, watakila, ƙungiyar Durov za ta yi watsi da ra'ayoyin rarrabawa kuma sabobin su za su yi ta tsohuwar hanyar da aka saba?

A gaskiya, ba ɗaya ko ɗaya amsar ba daidai ba ne. Amma filayen wannan labarin sun ƙare da sauri, don haka za mu yi magana game da ayyuka daban-daban na nodes (watakila ka riga an ambata wasu daga cikinsu), da kuma makanikai na aikin su, a cikin na gaba sashi.

source: www.habr.com

Add a comment