TON: Teregiramu Vhura Network. Chikamu 2: Blockchains, sharding

TON: Teregiramu Vhura Network. Chikamu 2: Blockchains, sharding

Ichi chinyorwa kuenderera mberi kwezvinyorwa zvakatevedzana umo ini ndinoongorora chimiro che (zvichida) chakagoverwa network Telegraph Open Network (TON), iyo iri kugadzirirwa kuburitswa gore rino. IN yapfuura chikamu Ndakatsanangura danho rayo rekutanga - nzira iyo node dzinodyidzana.

Zvingoitika, rega ndikuyeuchidze kuti ini handina chekuita nekuvandudzwa kwetiweki iyi uye zvinhu zvese zvakatorwa kubva kune yakavhurika (asi isina kusimbiswa) sosi - chinyorwa (pane zvakare inoperekedza bhurocha, achitsanangura muchidimbu pfungwa huru), dzakabuda pakupera kwegore rapera. Huwandu hweruzivo rwuri mugwaro iri, mumaonero angu, hunoratidza huchokwadi hwayo, kunyangwe pasina humbowo hwepamutemo hweizvi.

Nhasi tichatarisa chikamu chikuru cheTON - iyo blockchain.

Basic pfungwa

Account (Nhoroondo) Seti yedata yakaonekwa ne256-bit nhamba account_id (kazhinji iyi ndiyo kiyi yeruzhinji yemuridzi weakaundi). Muchikamu chekutanga (ona pazasi zero workchain), iyi data inoreva chiyero chemushandisi. "Occupy" zvakananga account_id chero munhu anogona, asi kukosha kwayo kunogona kuchinjwa chete maererano nemimwe mitemo.

Smart contract (smart-contract) Muchidimbu, inyaya yakakosha yeakaunti, inowedzerwa ne smart kontrakiti kodhi uye chengetedzo yezvakasiyana zvayo. Kana iri "chikwama" iwe unogona kuisa uye kubvisa mari kubva mairi maererano nemitemo iri nyore uye yakafanotemerwa, saka munyaya yekontrakiti yakachenjera iyi mitemo inonyorwa nenzira yekodhi yayo (mune imwe Turing-yakakwana. mutauro wepurogiramu).

Blockchain State (mamiriro e blockchain) Iyo seti yematunhu ese maakaundi / akangwara zvibvumirano (mune pfungwa isinganzwisisike, tafura yehashi, uko makiyi ari anozivisa maakaundi uye kukosha ndiyo data yakachengetwa mumaakaundi).

mashoko (mashoko) Pamusoro ndakashandisa izwi rekuti "kiredhiti uye mari yekubhengi" - uyu ndiwo muenzaniso wemeseji ("transfer N magiramu kubva kuaccount account_1 ku account account_2"). Zviripachena, iyo node chete ndiyo ine yakavanzika account kiyi inogona kutumira meseji yakadaro account_1 - uye kukwanisa kusimbisa izvi nesignature. Mhedzisiro yekuendesa mameseji akadaro kuakaundi yenguva dzose kuwedzera kwechiyero chayo, uye mhedzisiro yekontrakiti yakangwara ndeyekuitwa kwekodhi yayo (iyo inogadzirisa kugamuchirwa kwemeseji). Ehezve, mamwe mameseji anogonekawo (kuchinjisa kwete mari yemari, asi yekupokana data pakati pezvibvumirano zvakangwara).

Transaction (mutengapwe) Zvekuti meseji yasvitswa inonzi transaction. Transactions inoshandura mamiriro e blockchain. Iko kutengeserana (meseji yekutumira marekodhi) inogadzira zvidhinha mu blockchain. Panyaya iyi, iwe unogona kufunga nezve mamiriro e blockchain seyakawedzera dhatabhesi - ese mabhuraki "akasiyana" anoda kuiswa sequentially kuti uwane mamiriro azvino edhatabhesi. Izvo chaizvo zvekurongedza izvi "zvakasiyana" (uye kudzorera mamiriro akazara kubva kwavari) zvichakurukurwa munyaya inotevera.

Blockchain muTON: chii uye nei?

Sezvataurwa munyaya yapfuura, blockchain idhizaini yedata, izvo zvinhu (mabhuraki) ayo akarongedzerwa mu "cheni", uye imwe neimwe inotevera block yeketani ine hashi yeimwe yapfuura.. Maonero acho akabvunza mubvunzo: sei isu tichida iyo data data zvachose isu tatova neDHT - yakagoverwa hash tafura? Zviripachena, imwe data inogona kuchengetwa muDHT, asi izvi zvakangokodzera kwete zvakare "sensitive" ruzivo. Cryptocurrency zviyero hazvigone kuchengetwa muDHT - zvakanyanya nekuda kwekushaikwa kwecheki kuvimbika. Chaizvoizvo, iyo yese kuomarara kweiyo blockchain chimiro inokura kuitira kudzivirira kupindira neiyo data yakachengetwa mairi.

Nekudaro, iyo blockchain muTON inotaridzika zvakanyanya kuomarara kupfuura mune mamwe akawanda akagoverwa masisitimu - uye nezvikonzero zviviri. Chekutanga chido chekuderedza kudiwa kwe forks. Mune zvechinyakare cryptocurrencies, ese ma parameter akaiswa padanho rekutanga uye chero kuedza kuzvishandura kunotungamira mukubuda kwe "imwe nzira yekriptofity universe". Chikonzero chechipiri kutsigira kwekupwanya (sharding, sharding) blockchain. Blockchain chimiro chisingagone kuve chidiki nekufamba kwenguva; uye kazhinji node imwe neimwe inotarisira kushanda kwetiweki inomanikidzwa kuichengeta zvachose. Muchinyakare (centralized) masisitimu, sharding inoshandiswa kugadzirisa matambudziko akadai: mamwe marekodhi mudhatabhesi ari pane imwe sevha, mamwe pane imwe, nezvimwe. Munyaya yekristptocurrencies, kushanda kwakadaro kuchiri kushoma - kunyanya, nekuda kwekuti zvakaoma kuwedzera sharding kune imwe nzira iyo yakanga isina kurongwa pakutanga.

Ko TON inoronga sei kugadzirisa zvose zviri pamusoro apa matambudziko?

Blockchain content. Workchains.

TON: Teregiramu Vhura Network. Chikamu 2: Blockchains, sharding

Chekutanga pane zvese, ngatitaure nezve izvo zvakarongwa kuchengetwa mu blockchain. Nyika dzeakaunti ("wallet" mubhesi kesi) uye smart zvibvumirano zvichachengetwa ipapo (kuti zvive nyore, isu tichafunga kuti izvi zvakafanana neakaundi). Muchidimbu, iyi ichange iri tafura yehashi yenguva dzose - makiyi mairi achave zviziviso account_id, uye kukosha zvimiro zve data zvine zvinhu zvakadai se:

  • bharanzi;
  • smart contract code (chete yezvibvumirano zvakangwara);
  • smart contract data kuchengetedza (yezvibvumirano zvakangwara chete);
  • statistics;
  • (sarudzo) kiyi yeruzhinji yekutamiswa kubva kuaccount, nekusarudzika account_id;
  • mutsara wemameseji anobuda (pano apinzwa kuti atumirwe kune anogamuchira);
  • rondedzero yemameseji achangoburwa kuakaundi ino.

Sezvambotaurwa pamusoro, zvivharo pachazvo zvine zvekutengeserana - mameseji anounzwa kune akasiyana account_id maakaundi. Nekudaro, mukuwedzera kune account_id, mameseji anewo 32-bit ndima workchain_id - inonzi identifier workchain (workchain, kushanda blockchain) Izvi zvinokutendera iwe kuti uve akati wandei blockchains akazvimirira kubva kune mumwe kune akasiyana masisitimu. Muchiitiko ichi, workchain_id = 0 inoonekwa seyakakosha kesi, zero workchain - ndiyo zviyero mairi zvichaenderana neTON (Grams) cryptocurrency. Zvingangodaro, pakutanga, mamwe maketani ebasa haazovepo zvachose.

Shardchains. Infinite Sharding Paradigm.

Asi kukura kwenhamba ye blockchains hakugumiri ipapo. Ngatibatane ne sharding. Ngatimbofungidzirai kuti account yega yega (account_id) inopihwa yayo yega blockchain - ine ese mameseji anouya kwairi - uye nyika dzeakadaro blockchains anochengetwa munzvimbo dzakasiyana.

Ehe, izvi zvinoparadza zvakanyanya: kazhinji, mune imwe neimwe yeizvi shardchains (shardchain, shard blockchain) kutengeserana kuchasvika zvisingawanzoitiki, uye node dzakawanda dzine simba dzichadiwa (kutarira mberi, ndinocherechedza kuti hatisi kungotaura nezvevatengi pamafoni efoni - asi nezvemaseva akakomba).

Naizvozvo, shardchains inosanganisa maakaundi nemabhinari prefixes ezviziviso zvavo: kana shardchain iine prefix ye0110, zvino ichasanganisira kutengeserana kwese account_ids inotanga nenhamba idzi. Izvi shard_prefix inogona kuva nehurefu kubva pa0 kusvika ku60 bits - uye chinhu chikuru ndechekuti inogona kuchinja zvine simba.

TON: Teregiramu Vhura Network. Chikamu 2: Blockchains, sharding

Kana imwe yeshardchains ichangotanga kugamuchira kutengeserana kwakawandisa, node dziri kushanda pairi, maererano nemitemo yakafanotemerwa, "inopatsanura" kuva vana vaviri - prefixes yavo ichave yakareba zvishoma (uye kune mumwe wavo chikamu ichi chichava. yakaenzana ne0, uye kune imwe - 1). Semuyenzaniso, shard_prefix = 0110b ichatsemuka kuita 01100b uye 01101b. Zvakare, kana maviri "vavakidzani" shardchains vakatanga kunzwa vakasununguka zvakakwana (kwenguva yakati), ivo vachabatana zvakare.

Saka, sharding inoitwa "kubva pasi kumusoro" - isu tinofungidzira kuti account imwe neimwe ine shard yayo, asi panguva ino ivo "vakanamira pamwe" ne prefixes. Izvi ndizvo zvazvinoreva Infinite Sharding Paradigm (infinite sharding paradigm).

Zvakaparadzana, ndinoda kusimbisa kuti workchains iripo chete - kutaura zvazviri, workchain_id icho chikamu chechiziviso chechimwe shardchain. Mukutaura kwemaitiro, shardchain yega yega inotsanangurwa nembiri yenhamba (workchain_id, shard_prefix).

Kugadzirisa kukanganisa. Vertical blockchains.

Sechivanhu, chero kutengeserana pa blockchain kunoonekwa se "kuiswa mudombo." Zvisinei, munyaya yeTON, zvinokwanisika "kunyorazve nhoroondo" - kana mumwe munhu (anonzi. fisherman knot) zvicharatidza kuti rimwe remabhuroki rakasainwa zvisizvo. Muchiitiko ichi, chivharo chakakosha chekugadzirisa chinowedzerwa kune shardchain inoenderana, ine hashi yevhavha pachayo ichigadziriswa (uye kwete yekupedzisira block mu shardchain). Tichifunga nezve shardchain sengetani yemabhuraki akaiswa akatwasuka, tinogona kutaura kuti chivharo chekugadzirisa chakasungirirwa kune chinokanganisa chivharo kwete kurudyi, asi kubva kumusoro - saka inofungidzirwa kuti inova chikamu chediki "vertical blockchain" . Saka, tinogona kutaura kuti shardchains maviri-dimensional blockchains.

TON: Teregiramu Vhura Network. Chikamu 2: Blockchains, sharding

Kana, mushure mekuvhara kwechikanganiso, shanduko dzakaitwa nadzo dzakataurwa nemabhuroki akatevera (kureva, kutengeserana kutsva kwakaitwa zvichibva pane zvisina kukodzera), zvinogadzirisa zvinowedzerwawo kune aya mabhuroki "pamusoro". Kana mabhuraki asina kukanganisa ruzivo rwe "akabatwa", aya "mafungu ekugadzirisa" haashande kwavari. Semuenzaniso, mumufananidzo uri pamusoro, kutengeserana kwekutanga bhuroko, kuwedzera chiyero cheakaundi C, kwakaonekwa sekusina kururama - saka, kutengeserana kunoderedza chiyero cheakaundi iyi mubhuroko rechitatu kunofanirawo kubviswa, uye chivharo chekugadzirisa. inofanira kuzvipira pamusoro pe block pachayo.

Izvo zvinofanirwa kucherechedzwa kuti kunyangwe mabhuroki ekururamisa anoratidzwa seanowanikwa "pamusoro" iwo ekutanga, muchokwadi iwo anozowedzerwa kumagumo einoenderana blockchain (apo paanofanirwa kutevedzana). Iyo-maviri-dimensional nzvimbo inongoratidza kuti ndeipi nzvimbo mu blockchain iyo "vachabatanidzwa" (kuburikidza nehashi yepakutanga block iri mavari).

Iwe unogona kuparadzanisa uzivi pamusoro pekuti sarudzo ye "kushandura yakapfuura" yakanaka sei. Zvingaita sekuti kana tikabvuma mukana wekuti chivharo chisina kururama chionekwe mushardchain, saka hatigone kudzivirira mukana wekuti chivharo chekugadzirisa chikanganiso chioneke. Pano, sekutaura kwandinogona kutaura, musiyano uri muhuwandu hwemanodhi anofanirwa kusvika pakubvumirana pazvivharo zvitsva - pachave nenhamba shoma yevanhu vanoshanda pane imwe neimwe shardchain. "boka rinoshandaΒ»node (inoshandura kuumbwa kwayo kazhinji), uye kuunzwa kwezvivharo zvinogadzirisa zvinoda mvumo yemunhu wese. validator nodes. Ini ndichataura zvakawanda nezve ma validators, workgroups, uye mamwe mabasa node muchinyorwa chinotevera.

Imwe blockchain kuvatonga vese

Pane ruzivo rwakawanda rwakanyorwa pamusoro pamusoro pemhando dzakasiyana dze blockchains, iyo pachayo inofanirawo kuchengetwa kune imwe nzvimbo. Kunyanya, isu tiri kutaura nezve inotevera ruzivo:

  • nezve nhamba uye zvigadziriso zveworkchains;
  • nezvenhamba yemashetani nemaprefixes awo;
  • pamusoro pekuti ndeapi node parizvino ane basa rekuti ndeapi shardchains;
  • hashes emabhuroki ekupedzisira akawedzerwa kune ese shardchains.

Sezvaungave wakafungidzira, zvinhu izvi zvese zvakanyorwa mune imwe blockchain kuchengetedza - masterchain (masterchain, master blockchain) Nekuda kwekuvapo kwehashi kubva kumabhuroki eese shardchains mumabhuraki ayo, inoita iyo system yakabatana zvakanyanya. Izvi zvinoreva, pakati pezvimwe zvinhu, kuti chizvarwa chechivharo chitsva mu masterchain chichaitika pakarepo mushure mekugadzirwa kwezvivharo mu shardchains - zvinotarisirwa kuti zvivharo mu shardchains zvichaonekwa zvinenge panguva imwe chete imwe neimwe masekondi mashanu, uye chivharo chinotevera mu masterchain - yechipiri mushure meizvozvo.

Asi ndiani achave nebasa rekuita kwese basa iri retitanic - rekutumira mameseji, kuita zvibvumirano zvakangwara, kugadzira zvidhinha mu shardchains uye masterchain, uye kunyange kutarisa mabhuroko kune zvikanganiso? Zvese izvi zvichaitwa muchivande nemafoni emamiriyoni evashandisi ane Telegraph mutengi akaiswa pavari? Kana, zvichida, boka reDurov richasiya mazano ekugadzirisa uye maseva avo achazviita nenzira yekare?

Muchokwadi, hapana kana imwe kana imwe mhinduro yakarurama. Asi miganhu yechinyorwa ichi inokurumidza kupera, saka tichataura pamusoro pemabasa akasiyana-siyana emanodhi (iwe unogona kunge watoona kutaurwa kwevamwe vavo), pamwe chete nemakanika ebasa ravo, muchikamu chinotevera.

Source: www.habr.com

Voeg