TON: Telegraph Open Network. Gawo 2: Blockchains, sharding

TON: Telegraph Open Network. Gawo 2: Blockchains, sharding

Mawuwa ndi kupitiriza kwa mndandanda wa nkhani zomwe ine ndikuwunika kapangidwe ka (mwina) kugawira network Telegram Open Network (TON), yomwe ikukonzekera kumasulidwa chaka chino. MU gawo lapitalo Ndinafotokoza mulingo wake wofunikira kwambiri - momwe ma node amalumikizirana wina ndi mnzake.

Zikatero, ndiroleni ndikukumbutseni kuti ndilibe chochita ndi chitukuko cha netiweki iyi ndipo zinthu zonse zidatengedwa kuchokera kugwero lotseguka (ngakhale losatsimikizika) - chikalata (palinso chotsatira kabuku, kufotokoza mwachidule mfundo zazikulu), zimene zinaonekera kumapeto kwa chaka chatha. Kuchuluka kwa chidziwitso m'chikalatachi, mwa lingaliro langa, kumasonyeza kutsimikizika kwake, ngakhale kuti palibe chitsimikiziro chovomerezeka cha izi.

Lero tiwona gawo lalikulu la TON - blockchain.

Mfundo zoyambirira

nkhani (nkhani). Seti ya data yodziwika ndi nambala ya 256-bit akaunti_id (nthawi zambiri iyi ndi kiyi yapagulu ya eni akaunti). Pankhani yoyambira (onani m'munsimu zero workchain), deta iyi imatanthawuza kuchuluka kwa wogwiritsa ntchito. "Occupy" mwachindunji akaunti_id aliyense angathe, koma mtengo wake ukhoza kusinthidwa malinga ndi malamulo ena.

Smart contract (mgwirizano wanzeru). M'malo mwake, ndi nkhani yapadera ya akaunti, yowonjezeredwa ndi kachidindo kanzeru ndikusunga zosintha zake. Ngati mu "chikwama" mungathe kuyikamo ndikuchotsa ndalamazo motsatira malamulo osavuta komanso okonzedweratu, ndiye kuti pakakhala mgwirizano wanzeru malamulowa amalembedwa mumtundu wa code yake (mu Turing-complete). chinenero cha pulogalamu).

Blockchain State (chikhalidwe cha blockchain). Magawo a maakaunti onse / mapangano anzeru (mwachidziwitso, tebulo la hashi, pomwe makiyi ndi zizindikiritso za akaunti ndipo mayendedwe ake ndizomwe zimasungidwa muakaunti).

uthenga (uthenga). Pamwambapa ndidagwiritsa ntchito mawu oti "ngongole ndi ngongole" - ichi ndi chitsanzo cha uthenga ("transfer N gm kuchokera ku akaunti akaunti_1 ku akaunti akaunti_2"). Mwachiwonekere, node yokhayo yomwe ili ndi kiyi yachinsinsi ya akauntiyo ingatumize uthenga wotere akaunti_1 - ndikutha kutsimikizira izi ndi siginecha. Chotsatira cha kutumiza mauthenga oterowo ku akaunti yokhazikika ndikuwonjezeka kwa chiwerengero chake, ndipo zotsatira za mgwirizano wanzeru ndi kuchitidwa kwa code yake (yomwe idzakonza kulandira uthengawo). Zoonadi, mauthenga ena amathanso (kusamutsa ndalama, koma deta yosagwirizana pakati pa mapangano anzeru).

Kugulitsa (ndikupeleka). Mfundo yoti uthenga waperekedwa imatchedwa transaction. Zochita zimasintha mawonekedwe a blockchain. Ndizochitika (zolemba zotumiza uthenga) zomwe zimapanga midadada mu blockchain. Pachifukwa ichi, mutha kuganiza za chikhalidwe cha blockchain ngati nkhokwe yowonjezereka - midadada yonse ndi "zosiyana" zomwe ziyenera kugwiritsidwa ntchito motsatizana kuti mupeze zomwe zilipo panopa. Zachindunji za kulongedza "zosiyana" izi (ndi kubwezeretsa mkhalidwe wonse kuchokera kwa iwo) zidzakambidwa m'nkhani yotsatira.

Blockchain mu TON: ndi chiyani ndipo chifukwa chiyani?

Monga tanenera m’nkhani yapita ija, blockchain ndi dongosolo la data, zinthu (zotchinga) zomwe zimayikidwa mu "unyolo", ndipo chipika chilichonse chotsatira cha unyolo chimakhala ndi hashi yam'mbuyomu.. Ndemangazo zidafunsa funso: chifukwa chiyani timafunikira mawonekedwe amtundu wotere pomwe tili ndi DHT - tebulo la hashi logawidwa? Mwachiwonekere, deta ina ikhoza kusungidwa mu DHT, koma izi ndizoyenera kuti zisakhale "zomvera" zambiri. Mabanki a Cryptocurrency sangathe kusungidwa ku DHT - makamaka chifukwa chosowa macheke umphumphu. Kwenikweni, zovuta zonse zamapangidwe a blockchain zimakula pofuna kupewa kusokoneza zomwe zasungidwa momwemo.

Komabe, blockchain mu TON amawoneka ovuta kwambiri kuposa machitidwe ena ambiri omwe amagawidwa - komanso pazifukwa ziwiri. Choyamba ndi kufuna kuchepetsa kufunika kwa mafoloko. M'ma cryptocurrencies achikale, magawo onse amayikidwa poyambira ndipo kuyesa kulikonse kumabweretsa kuwonekera kwa "chilengedwe china cha cryptocurrency." Chifukwa chachiwiri ndikuthandizira kuphwanya (kugawa, kugawa) blockchain. Blockchain ndi dongosolo lomwe silingakhale laling'ono pakapita nthawi; ndipo kawirikawiri node iliyonse yomwe imayang'anira ntchito ya intaneti imakakamizika kuisunga kwathunthu. M'machitidwe achikhalidwe (chapakati), sharding imagwiritsidwa ntchito kuthetsa mavuto ngati awa: zolemba zina zomwe zili mu database zili pa seva imodzi, ina pa ina, ndi zina zotero. Pankhani ya cryptocurrencies, magwiridwe antchito otere akadali osowa - makamaka, chifukwa ndizovuta kuwonjezera sharding ku dongosolo lomwe silinakonzedwe koyambirira.

Kodi TON ikukonzekera bwanji kuthetsa mavuto onsewa?

Zomwe zili mu blockchain. Njira zogwirira ntchito.

TON: Telegraph Open Network. Gawo 2: Blockchains, sharding

Choyamba, tiyeni tikambirane zomwe zakonzedwa kuti zisungidwe mu blockchain. Maiko a maakaunti ("ma wallet" pazoyambira) ndi makontrakitala anzeru adzasungidwa pamenepo (kuti zikhale zosavuta, tidzaganiza kuti izi ndizofanana ndi maakaunti). M'malo mwake, iyi idzakhala tebulo la hashi - makiyi omwe ali mmenemo adzakhala zizindikiro akaunti_id, ndipo ma values ​​ndi ma data omwe ali ndi zinthu monga:

  • kulinganiza;
  • kachidindo kanzeru (kokha kwa makontrakitala anzeru);
  • kusungirako deta yanzeru (kwa mapangano anzeru okha);
  • ziwerengero;
  • (zosankha) kiyi yapagulu yosamutsa kuchokera ku akaunti, mwachisawawa account_id;
  • mzere wa mauthenga otuluka (apa alowetsedwa kuti atumizidwe kwa wolandira);
  • mndandanda wa mauthenga atsopano omwe aperekedwa ku akauntiyi.

Monga tafotokozera pamwambapa, midadadayo imakhala ndi zochitika - mauthenga operekedwa kumaakaunti osiyanasiyana a akaunti_id. Komabe, kuwonjezera pa account_id, mauthenga alinso ndi gawo la 32-bit workchain_id - chotchedwa chizindikiritso workchain (workchain, ntchito blockchain). Izi zimakupatsani mwayi wokhala ndi ma blockchain angapo odziyimira pawokha kuchokera kwa wina ndi mnzake ndi masinthidwe osiyanasiyana. Pankhaniyi, workchain_id = 0 imatengedwa ngati yapadera, zero workchain - ndi miyeso yomwe ili mmenemo yomwe idzagwirizane ndi TON (Grams) cryptocurrency. Mwinamwake, poyamba, maunyolo ena ogwira ntchito sadzakhalapo konse.

Shardchains. Infinite Sharding Paradigm.

Koma kukula kwa chiwerengero cha blockchains sikumatha pamenepo. Tiyeni tithane ndi sharding. Tiyerekeze kuti akaunti iliyonse (account_id) imapatsidwa blockchain yake - imakhala ndi mauthenga onse omwe amabwera kwa iwo - ndipo maiko a blockchains onsewa amasungidwa m'malo osiyanasiyana.

Zachidziwikire, izi ndizowononga kwambiri: mwina, mu chilichonse mwa izi shardchains (shardchain, zida blockchain) malonda adzafika kawirikawiri, ndipo ma node ambiri amphamvu adzafunika (kuyang'ana kutsogolo, ndikuzindikira kuti sitikunena za makasitomala pa mafoni a m'manja - koma za maseva akuluakulu).

Chifukwa chake, ma shardchains amaphatikiza maakaunti ndi ma prefixes abinare azizindikiritso zawo: ngati shardchain ili ndi chiyambi cha 0110, ndiye kuti iphatikiza zochitika za account_ids zonse zomwe zimayamba ndi manambala awa. Izi shard_prefix imatha kukhala ndi kutalika kuchokera ku 0 mpaka 60 bits - ndipo chachikulu ndikuti imatha kusintha mwachangu.

TON: Telegraph Open Network. Gawo 2: Blockchains, sharding

Mmodzi mwa ma shardchains akangoyamba kulandira zochulukirapo, ma node omwe akugwira ntchitoyo, malinga ndi malamulo omwe adakonzedweratu, "agawike" kukhala ana awiri - ma prefixes awo adzakhala atali pang'ono (ndipo kwa mmodzi wa iwo izi zidzakhala. ofanana ndi 0, ndi ena - 1). Mwachitsanzo, shard_prefix = 0110b adzagawanika kukhala 01100b ndi 01101b . Komanso, ngati ma shardchains awiri "oyandikana" ayamba kukhala omasuka (kwa kanthawi), adzalumikizananso.

Chifukwa chake, sharding imachitika "kuyambira pansi" - timaganiza kuti akaunti iliyonse ili ndi shard yake, koma pakadali pano "amalumikizidwa" ndi prefixes. Izi ndi zomwe zikutanthauza Infinite Sharding Paradigm (zopanda malire sharding paradigm).

Payokha, ndikufuna kutsindika kuti ma workchains alipo pafupifupi - kwenikweni, workchain_id ndi gawo la chizindikiritso cha shardchain inayake. Mwachidziwitso, shardchain iliyonse imatanthauzidwa ndi nambala ziwiri (workchain_id, shard_prefix).

Kukonza zolakwika. Vertical blockchains.

Mwachikhalidwe, kugulitsa kulikonse pa blockchain kumaonedwa kuti ndi "mwala." Komabe, pankhani ya TON, ndizotheka "kulembanso mbiri yakale" - ngati wina (wotchedwa. msodzi mfundo) adzatsimikizira kuti imodzi mwa midadada idasainidwa molakwika. Pankhaniyi, chipika chowongolera chapadera chimawonjezedwa ku shardchain yofananira, yomwe ili ndi hashi ya block yomwe ikukonzedwa (osati chipika chomaliza mu shardchain). Poganizira za shardchain ngati midadada yoyikidwa mozungulira, titha kunena kuti chipika chowongolera chimamangiriridwa ku chipika cholakwika osati kumanja, koma kuchokera pamwamba - kotero chimawerengedwa kuti chimakhala gawo laling'ono la "vertical blockchain" . Choncho, tikhoza kunena kuti shardchains ndi ma blockchains amitundu iwiri.

TON: Telegraph Open Network. Gawo 2: Blockchains, sharding

Ngati, pambuyo pa chipika cholakwika, zosintha zomwe zidasinthidwazo zidatchulidwa ndi midadada yotsatira (ie, zosintha zatsopano zidapangidwa potengera zosavomerezeka), zowongolera zimawonjezeredwa ku midadada iyi "pamwamba". Ngati midadada sinakhudze chidziwitso "chokhudzidwa", "mafunde owongolera" awa samagwira ntchito kwa iwo. Mwachitsanzo, mu fanizo ili pamwambapa, kugulitsa kwa chipika choyamba, kukulitsa kuchuluka kwa akaunti C, kudadziwika kuti ndikolakwika - chifukwa chake, kugulitsa komwe kumachepetsa kuchuluka kwa akauntiyi mugawo lachitatu kuyeneranso kuthetsedwa, komanso chipika chowongolera. ziyenera kuperekedwa pamwamba pa chipika chokha.

Zindikirani kuti ngakhale midadada yowongolera ikuwonetsedwa kuti ili "pamwamba" yoyambirira, ionjezedwa kumapeto kwa blockchain yofananira (komwe iyenera kutsata nthawi). Malo amitundu iwiri amangowonetsa kuti ndi pati pomwe blockchain "adzalumikizidwa" (kudzera pa hashi ya chipika choyambirira chomwe chili mkati mwake).

Mutha kuganiza mosiyana za momwe chisankho "chosinthira zakale" chilili chabwino. Zikuwoneka kuti ngati tivomereza kuthekera kwa chipika cholakwika chomwe chikuwoneka mu shardchain, ndiye kuti sitingathe kupeΕ΅a kuthekera kwa kuwonekera kolakwika kowongolera. Pano, monga momwe ndingadziwire, kusiyana kuli mu chiwerengero cha mfundo zomwe ziyenera kugwirizanitsa pazitsulo zatsopano - padzakhala anthu ochepa omwe akugwira ntchito pa shardchain iliyonse. "gulu logwira ntchitoΒ» node (zomwe zimasintha mawonekedwe ake nthawi zambiri), komanso kukhazikitsidwa kwa midadada yowongolera kudzafuna chilolezo cha aliyense. ma validator nodes. Ndilankhula zambiri za ovomerezeka, magulu ogwira ntchito, ndi maudindo ena a node m'nkhani yotsatira.

blockchain imodzi kuti alamulire onse

Pali zambiri zomwe zalembedwa pamwambapa za mitundu yosiyanasiyana ya blockchains, yomwe iyeneranso kusungidwa kwinakwake. Makamaka, tikulankhula za izi:

  • za chiwerengero ndi masanjidwe a workchains;
  • za kuchuluka kwa maunyolo ndi ma prefixes awo;
  • za zomwe nodes panopa ali ndi udindo wa shardchains;
  • ma hashes omaliza omwe adawonjezedwa ku ma shardchains onse.

Monga momwe mungaganizire, zinthu zonsezi zalembedwa mu blockchain ina yosungirako - masterchain (masterchain, master blockchain). Chifukwa cha kukhalapo kwa ma hashes kuchokera kuzitsulo za shardchains zonse muzitsulo zake, zimapangitsa kuti dongosololi likhale logwirizana kwambiri. Izi zikutanthauza, mwa zina, kuti m'badwo wa chipika chatsopano mu masterchain udzachitika nthawi yomweyo pambuyo pa m'badwo wa midadada mu shardchains - zikuyembekezeka kuti midadada mu shardchains idzawoneka pafupifupi nthawi imodzi pafupifupi masekondi 5 aliwonse, ndipo chipika chotsatira masterchain - yachiwiri pambuyo pake.

Koma ndani adzakhala ndi udindo wa kukhazikitsidwa kwa ntchito yonseyi ya titanic - kutumiza mauthenga, kuchita mapangano anzeru, kupanga midadada mu shardchains ndi masterchain, komanso ngakhale kuyang'ana midadada ya zolakwika? Kodi zonsezi zidzachitidwa mwachinsinsi ndi mafoni a mamiliyoni a ogwiritsa ntchito omwe ali ndi kasitomala wa Telegraph woyikidwa pa iwo? Kapena, mwinamwake, gulu la Durov lidzasiya malingaliro a decentralization ndipo ma seva awo adzachita izo mwachikale?

Ndipotu, palibe yankho limodzi kapena lina lililonse lolondola. Koma m'mphepete mwa nkhaniyi akutha mofulumira, kotero tikambirana za maudindo osiyanasiyana a mfundo (mwina mwazindikira kale kutchula ena a iwo), komanso zimango za ntchito yawo, mu gawo lotsatira.

Source: www.habr.com

Kuwonjezera ndemanga