TON: Telegram Open Network. Fizarana 2: Blockchains, sharding

TON: Telegram Open Network. Fizarana 2: Blockchains, sharding

Ity lahatsoratra ity dia tohin'ny lahatsoratra maromaro izay handinihako ny firafitry ny tambajotra (azo inoana fa) zaraina Telegram Open Network (TON), izay efa voaomana havoaka amin'ity taona ity. IN ampahany teo aloha Nolazaiko ny ambaratonga fototra indrindra - ny fomba ifandraisan'ny nodes.

Raha sanatria, mamelΓ  ahy hampahatsiahy anao fa tsy misy ifandraisany amin'ny fivoaran'ity tambajotra ity aho ary ny fitaovana rehetra dia voangona avy amin'ny loharano misokatra (na dia tsy voamarina) aza - ny antontan-taratasy (misy koa miaraka aminy bokikely, manazava fohifohy ireo hevi-dehibe), izay niseho tamin’ny faran’ny taona lasa. Ny habetsaky ny fampahalalana amin'ity antontan-taratasy ity, araka ny hevitro, dia manondro ny maha-azo itokiana azy, na dia tsy misy fanamafisana ofisialy aza izany.

Androany isika dia hijery ny singa fototra amin'ny TON - ny blockchain.

Hevitra fototra

Account (kaonty). Angon-drakitra fantatra amin'ny isa 256-bit kaonty_id (matetika io no fanalahidin'ny daholobe an'ny tompon'ny kaonty). Amin'ny tranga fototra (jereo eto ambany zero workchain), ity data ity dia manondro ny fifandanjan'ny mpampiasa. "Occupy" manokana kaonty_id na iza na iza, fa ny sandany ihany no azo ovaina araka ny fitsipika sasany.

Smart fifanarahana (amim-pahendrena-fifanekena). Raha ny tena izy, dia tranga manokana amin'ny kaonty iray izy io, miaraka amin'ny kaody fifanarahana marani-tsaina sy fitahirizana ny fari-piadidiany. Raha amin'ny "kitapo" dia azonao atao ny mametraka sy manala vola amin'izany araka ny fitsipika tsotra sy efa voafaritra mialoha, dia amin'ny fifanarahana marani-tsaina ireo fitsipika ireo dia voasoratra amin'ny endrika code (ao amin'ny Turing-complete sasany). fiteny fandaharana).

Fanjakana Blockchain (fanjakana blockchain). Ny fitambaran'ny fanjakana amin'ny kaonty rehetra / fifanarahana marani-tsaina (amin'ny heviny tsy misy dikany, latabatra tenifototra, izay ny fanalahidy dia ny famantarana ny kaonty ary ny sandany dia ny angon-drakitra voatahiry ao amin'ny kaonty).

hafatra (hafatra). Etsy ambony dia nampiasa ny fitenenana hoe "vola crΓ©dit sy debit" - ohatra manokana amin'ny hafatra izany ("transfer N gram avy amin'ny kaonty kaonty_1 kaonty kaonty_2"). Mazava ho azy fa ny node manana ny lakilen'ny kaonty manokana ihany no afaka mandefa hafatra toy izany kaonty_1 - ary afaka manamarina izany amin'ny sonia. Ny vokatry ny fandefasana hafatra toy izany amin'ny kaonty mahazatra dia ny fitomboan'ny fifandanjany, ary ny vokatry ny fifanarahana marani-tsaina dia ny fanatanterahana ny fehezan-dalΓ na (izay hikarakara ny fandraisana ny hafatra). Mazava ho azy fa azo atao koa ny hafatra hafa (famindrana tsy vola, fa angon-drakitra tsy misy dikany eo amin'ny fifanarahana marani-tsaina).

raharaham-barotra (raharaham-barotra). Ny fisian'ny hafatra iray dia antsoina hoe transaction. Manova ny toetry ny blockchain ny fifampiraharahana. Transactions (rakitra fandefasana hafatra) no mandrafitra ireo sakana ao amin'ny blockchain. Amin'io lafiny io, azonao atao ny mieritreritra ny toetry ny blockchain ho toy ny angon-drakitra fanampiny - ny sakana rehetra dia "fahasamihafana" izay mila ampiharina misesy mba hahazoana ny toetry ny angona ankehitriny. Hodinihina ao amin'ny lahatsoratra manaraka ny mombamomba ny famenoana ireo "fahasamihafana" ireo (sy ny famerenana ny toe-javatra feno avy amin'izy ireo).

Blockchain ao TON: inona izany ary nahoana?

Araka ny voalaza tao amin’ny lahatsoratra teo aloha, Blockchain dia rafitra angon-drakitra, ny singa (blocs) izay apetraka ao anaty "rojo", ary ny sakana tsirairay amin'ny rojo dia misy hash an'ny teo aloha.. Ny fanehoan-kevitra dia nametraka ny fanontaniana hoe: nahoana isika no mila rafitra angon-drakitra toy izany raha toa ka efa manana DHT - latabatra hash zaraina? Mazava ho azy fa azo tehirizina ao amin'ny DHT ny angon-drakitra sasany, saingy mety ho an'ny fampahalalana tsy "saropady" loatra izany. Tsy azo tehirizina ao amin'ny DHT ny fifandanjana cryptocurrency - indrindra noho ny tsy fisian'ny fisavana mivadika. Raha ny marina, mitombo ny fahasarotana manontolo amin'ny rafitra blockchain mba hisorohana ny fanelingelenana ny angon-drakitra voatahiry ao.

Na izany aza, ny blockchain ao amin'ny TON dia toa sarotra kokoa noho ny ankamaroan'ny rafitra fizarana hafa - ary noho ny antony roa. Ny voalohany dia ny faniriana hanamaivana ny filana fitrebika. Ao amin'ny cryptocurrencies nentim-paharazana, ny mari-pamantarana rehetra dia napetraka amin'ny dingana voalohany ary ny fikasana hanova azy ireo dia tena mitarika amin'ny fipoiran'ny "univers cryptocurrency alternative." Ny antony faharoa dia fanohanana ny fanorotoroana (sharding, sharding) blockchain. Blockchain dia rafitra izay tsy mety ho kely kokoa rehefa mandeha ny fotoana; ary matetika ny node tsirairay tompon'andraikitra amin'ny fampandehanana ny tambajotra dia voatery mitahiry azy tanteraka. Amin'ny rafitra nentim-paharazana (foibe), ny sharding dia ampiasaina hamahana ny olana toy izany: ny sasany amin'ireo rakitra ao amin'ny angon-drakitra dia hita amin'ny lohamilina iray, ny sasany amin'ny iray hafa, sns. Raha ny momba ny vola crypto dia mbola tsy fahita firy ny fiasa toy izany - indrindra, noho ny zava-misy fa sarotra ny manampy sharding amin'ny rafitra izay tsy nomanina tany am-boalohany.

Ahoana no fomba fiasan'ny TON hamahana ireo olana roa ireo?

Votoatin'ny blockchain. Workchains.

TON: Telegram Open Network. Fizarana 2: Blockchains, sharding

Voalohany indrindra, andao hiresaka momba izay kasaina hotehirizina ao amin'ny blockchain. Ny toetry ny kaonty ("kitapom-bola" amin'ny tranga fototra) sy ny fifanarahana marani-tsaina dia hotehirizina ao (ho an'ny fahatsorana, dia hoheverinay fa mitovy amin'ny kaonty izany). Amin'ny ankapobeny, ity dia ho latabatra tenifototra mahazatra - ny fanalahidy ao anatiny dia ho famantarana kaonty_id, ary ny soatoavina dia rafitra angon-drakitra misy zavatra toy ny:

  • mampifandanja;
  • fehezan-dalΓ na fifanarahana marani-tsaina (ho an'ny fifanarahana marani-tsaina ihany);
  • fitahirizana angon-drakitra fifanarahana marani-tsaina (ho an'ny fifanarahana marani-tsaina ihany);
  • statistika;
  • (tsy voatery) fanalahidin'ny daholobe ho an'ny famindrana avy amin'ny kaonty, amin'ny kaonty_id default;
  • filaharana amin'ny hafatra mivoaka (eto izy ireo no ampidirina mba hampitaina amin'ny mpandray);
  • lisitry ny hafatra farany nalefa tamin'ity kaonty ity.

Araka ny voalaza etsy ambony, ny sakana dia misy ny fifampiraharahana - hafatra alefa amin'ny kaonty account_id isan-karazany. Na izany aza, ankoatra ny account_id, misy saha 32-bit ihany koa ny hafatra workchain_id β€” atao hoe identifier workchain (workchain, miasa blockchain). Izany dia ahafahanao manana blockchains tsy miankina amin'ny tsirairay miaraka amin'ny fanamafisana samihafa. Amin'ity tranga ity, workchain_id = 0 dia heverina ho tranga manokana, zero workchain - ny fifandanjana ao aminy no mifanaraka amin'ny TON (Grams) cryptocurrency. Azo inoana fa amin'ny voalohany dia tsy hisy mihitsy ny workchain hafa.

Shardchains. Paradigma tsy manam-petra Sharding.

Saingy tsy mijanona eo ny fitomboan'ny isan'ny blockchain. Andeha isika hiresaka momba ny sharding. Alao sary an-tsaina fa ny kaonty tsirairay (account_id) dia atokana ho azy manokana blockchain - misy ny hafatra rehetra tonga ao aminy - ary ny fanjakan'ny blockchain rehetra toy izany dia voatahiry amin'ny node misaraka.

Mazava ho azy fa tena fandaniam-poana izany: azo inoana fa amin'ny tsirairay amin'ireo shardchains (shardchain, shard blockchain) ho tonga mahalana ny fifampiraharahana, ary mila node mahery maro (mijery mialoha, marihiko fa tsy miresaka momba ny mpanjifa amin'ny finday fotsiny isika - fa momba ireo mpizara matotra).

Noho izany, ny shardchains dia manambatra ny kaonty amin'ny alΓ lan'ny prefixes mimari-droa amin'ny famantarana azy ireo: raha misy tovana 0110 ny shardchain, dia hampiditra fifanakalozana amin'ny kaonty_id rehetra izay manomboka amin'ireo isa ireo. izany shard_prefix afaka manana halavany 0 ka hatramin'ny 60 bit - ary ny zava-dehibe dia ny hoe afaka miova dynamic.

TON: Telegram Open Network. Fizarana 2: Blockchains, sharding

Raha vantany vao manomboka mahazo fifampiraharahana be loatra ny iray amin'ireo shardchains, ny nodes miasa eo aminy, araka ny fitsipika efa voafaritra, dia "mizara" azy ho ankizy roa - ny prefixes dia ho lava kokoa (ary ho an'ny iray amin'izy ireo dia ho mitovy amin'ny 0, ary ho an'ny iray hafa - 1). Ohatra, shard_prefix = 0110b dia mizara ho 01100b ary 01101b. Ho setrin'izany, raha manomboka milamina tsara ny shardchains "mpifanolo-bodirindrina" roa (mandritra ny fotoana fohy), dia hitambatra indray izy ireo.

Noho izany, ny sharding dia atao "avy any ambany" - heverintsika fa ny kaonty tsirairay dia manana ny sandany, fa amin'izao fotoana izao dia "mifamatotra" amin'ny prefix izy ireo. Izany no dikany Paradigma tsy manam-petra Sharding (paradigma sharding tsy manam-petra).

Misaraka, tiako ny manantitrantitra fa ny rojom-piasana dia tsy misy afa-tsy virtoaly - raha ny marina, workchain_id izy io dia anisan'ny famantarana ny shardchain manokana. Amin'ny teny ofisialy, ny shardchain tsirairay dia voafaritra amin'ny isa roa (workchain_id, shard_prefix).

Fanitsiana lesoka. Blockchain mitsangana.

Amin'ny fomba mahazatra, ny fifanakalozana rehetra amin'ny blockchain dia heverina ho "apetraka amin'ny vato". Na izany aza, amin'ny raharaha TON dia azo atao ny "mamerina ny tantara" - raha misy olona (ilay antsoina hoe. fatotra mpanjono) dia hanaporofo fa diso sonia ny iray amin'ireo sakana. Amin'ity tranga ity, misy sakana fanitsiana manokana ampiana amin'ny shardchain mifanaraka amin'izany, misy ny hash amin'ny sakana izay ahitsy (fa tsy ny sakana farany amin'ny shardchain). Raha mieritreritra ny shardchain ho toy ny rojo sakana napetraka mitsivalana, dia afaka milaza isika fa ny sakana fanitsiana dia mifatotra amin'ny sakana diso tsy miankavanana, fa avy any ambony - noho izany dia heverina fa lasa ampahany amin'ny "blockchain vertical" kely. . Noho izany, afaka milaza isika fa ny shardchains dia blockchains amin'ny lafiny roa.

TON: Telegram Open Network. Fizarana 2: Blockchains, sharding

Raha toa ka, taorian'ny sakana diso, ny fanovana nataon'izy io dia notondroin'ny sakana manaraka (izany hoe, ny fifampiraharahana vaovao dia natao mifototra amin'ny tsy manan-kery), dia ampiana ihany koa ny fanitsiana amin'ireo sakana ireo "eo ambony". Raha tsy misy fiantraikany amin'ny fampahalalana "voa" ireo sakana, dia tsy mihatra amin'izy ireo ireo "onja fanitsiana". Ohatra, ao amin'ny fanoharana etsy ambony, ny fifampiraharahana amin'ny sakana voalohany, ny fampitomboana ny fifandanjan'ny kaonty C, dia fantatra fa diso - noho izany dia tokony hofoanana ihany koa ny fifanakalozana fampihenana ny fifandanjan'ity kaonty ity amin'ny sakana fahatelo, ary ny sakana fanitsiana. tokony hatao eo an-tampon'ny sakana mihitsy.

Tsara homarihina fa na dia aseho ho "eo ambonin'ny" tany am-boalohany aza ny sakana fanitsiana, dia ampidirina any amin'ny faran'ny sakana mifanaraka amin'izany (izay tokony hifanaraka amin'ny vanim-potoana). Ny toerana misy lafiny roa dia mampiseho fotsiny hoe aiza amin'ny sakana no "hampifandraisina" azy ireo (amin'ny alΓ lan'ny hash amin'ny sakana voalohany misy azy ireo).

Azonao atao ny misaraka amin'ny filozofia momba ny hatsaran'ny fanapahan-kevitra "hanova ny lasa". Toa raha manaiky ny mety hisian'ny sakana diso mipoitra ao amin'ny shardchain isika dia tsy afaka misoroka ny mety hisian'ny sakana fanitsiana diso. Eto, raha ny fahitako azy, ny fahasamihafana dia eo amin'ny isan'ny nodes izay tsy maintsy mahatratra ny marimaritra iraisana amin'ny sakana vaovao - hisy olona vitsy kely miasa amin'ny shardchain tsirairay. "vondrona miasaΒ» nodes (izay manova ny firafiny matetika), ary ny fampidirana sakana fanitsiana dia mitaky ny faneken'ny rehetra validator nodes. Hiresaka bebe kokoa momba ny validators, workgroups, ary andraikitry ny node hafa aho ao amin'ny lahatsoratra manaraka.

Blockchain iray hanapaka azy rehetra

Betsaka ny fampahalalana voatanisa etsy ambony momba ireo karazana sakana samihafa, izay tokony hotehirizina any ho any ihany koa. Indrindra indrindra, miresaka momba ireto fampahalalana manaraka ireto isika:

  • momba ny isa sy ny fanamafisam-peo;
  • momba ny isan'ny shardchains sy ny prefix azy;
  • momba izay nodes amin'izao fotoana izao no tompon'andraikitra amin'ny shardchains;
  • hases amin'ny sakana farany ampiana amin'ny shardchains rehetra.

Araka ny efa noeritreretinao, ireo zavatra rehetra ireo dia voarakitra ao anaty fitahirizana blockchain hafa - masterchain (masterchain, master blockchain). Noho ny fisian'ny hash avy amin'ny sakana amin'ny shardchains rehetra ao amin'ny sakany, dia mahatonga ny rafitra mifandray be. Midika izany, ankoatry ny zavatra hafa, fa ny famokarana sakana vaovao ao amin'ny masterchain dia hitranga avy hatrany aorian'ny famokarana sakana amin'ny shardchains - antenaina fa ny sakana amin'ny shardchains dia hiseho saika miaraka isaky ny 5 segondra, ary ny sakana manaraka ao amin'ny masterchain - iray segondra aorian'izay.

Fa iza no ho tompon'andraikitra amin'ny fanatanterahana ireo asa goavam-be rehetra ireo - amin'ny fandefasana hafatra, fanatanterahana fifanarahana marani-tsaina, fananganana sakana amin'ny shardchains sy ny masterchain, ary na dia ny fisavana ny sakana amin'ny fahadisoana aza? Izany rehetra izany ve dia hatao mangingina amin'ny telefaona mpampiasa an-tapitrisany miaraka amin'ny mpanjifa Telegram napetraka ao aminy? Na, angamba, handao ny hevitra momba ny fitsinjaram-pahefana ny ekipan'i Durov ary hanao izany amin'ny fomba taloha ny mpizara azy?

Raha ny marina, na ny iray na ny iray hafa dia tsy marina. Saingy ny sisin'ity lahatsoratra ity dia lany haingana, noho izany dia hiresaka momba ny andraikitry ny nodes isan-karazany isika (mety ho efa nahatsikaritra ny sasany amin'izy ireo ianao), ary koa ny mekanika amin'ny asany, amin'ny ampahany manaraka.

Source: www.habr.com

Add a comment