TON: Telegraph Open Network. Karolo ea 2: Blockchains, sharding

TON: Telegraph Open Network. Karolo ea 2: Blockchains, sharding

Mongolo ona ke tsoelo-pele ea letoto la lihlooho tseo ho tsona ke nahanang ka sebopeho sa marang-rang (ho ka etsahala) a ajoang Telegram Open Network (TON), e lokiselitsoeng ho lokolloa selemong sena. IN karolo e fetileng Ke hlalositse boemo ba eona ba mantlha - tsela eo li-node li sebelisanang ka eona.

Haeba ho ka etsahala, e-re ke u hopotse hore ha ke amane le nts'etsopele ea marang-rang ena mme lisebelisoa tsohle li nkiloe mohloling o bulehileng (le hoja o sa netefatsoa) - tokomane (ho boetse ho na le sehokelo bukana, e akaretsa lintlha tsa sehlooho), e hlahileng qetellong ea selemo se fetileng. Palo ea tlhahisoleseding e tokomaneng ena, ka maikutlo a ka, e bontša bonnete ba eona, le hoja ho se na bopaki ba molao ba sena.

Kajeno re tla sheba karolo e ka sehloohong ea TON - blockchain.

Likhopolo tsa mantlha

Account (akhaonte). Sehlopha sa data se khetholloang ka nomoro ea 256-bit account_id (hangata ena ke senotlolo sa sechaba sa mong'a akhaonto). Tabeng ea motheo (sheba ka tlase zero workchain), data ena e bolela tekanyo ea mosebedisi. "Khetla" ka mokhoa o khethehileng account_id mang kapa mang a ka khona, empa o ka fetola boleng ba eona feela ho latela melao e itseng.

Konteraka e bohlale (konteraka e bohlale). Ha e le hantle, ke nyeoe e khethehileng ea akhaonto, e tlatsitsoeng ka khoutu ea konteraka e bohlale le ho boloka mefuta ea eona. Haeba tabeng ea "sepache" ho ka khoneha ho kenya mokitlane le ho ntša chelete ho eona ho ea ka melao e bonolo le e reriloeng esale pele, joale tabeng ea konteraka e bohlale, melao ena e ngotsoe ka mokhoa oa khoutu ea eona (ho ba bang ba Turing. -puo e felletseng ea lenaneo).

Blockchain State (boemo ba blockchain). Sehlopha sa linaha tsa li-account tsohle / likonteraka tse bohlale (ka kutloisiso e sa utloahaleng, tafole ea hash, moo linotlolo e leng li-identifiers tsa ak'haonte, 'me boleng ke data e bolokiloeng liak'haonteng).

Molaetsa oa hau (molaetsa). Ka holimo, ke sebelisitse poleloana "mokoloto le ho hlakola chelete" - ona ke mohlala o itseng oa molaetsa ("transfer N ligrama ho tsoa akhaonteng akhaonto_1 ka akhaonto akhaonto_2"). Ho hlakile hore ke node feela e nang le senotlolo sa lekunutu sa ak'haonte e ka romellang molaetsa o joalo. akhaonto_1 - le ho khona ho e tiisa ka tekeno. Phello ea ho fana ka melaetsa e joalo ho akhaonto e tloaelehileng ke ho eketseha ha tekanyo ea eona, le ho konteraka e bohlale - ho phethahatsa khoutu ea eona (e tla sebetsana le ho fumana molaetsa). Ha e le hantle, melaetsa e meng le eona e ka khoneha (ho fetisa chelete e seng chelete, empa data e sa lumellaneng pakeng tsa likonteraka tse bohlale).

Transaction (kgwebisano). Taba ea ho fana ka molaetsa e bitsoa transaction. Litšebelisano li fetola boemo ba blockchain. E tsoa ho litšebelisano (litlaleho tsa ho fana ka melaetsa) tseo li-blocks li nang le tsona. Tabeng ena, o ka nahana ka boemo ba blockchain e le database e ntseng e eketseha - li-blocks kaofela ke "diffs" tse lokelang ho sebelisoa ka tatellano ho fumana boemo ba hona joale ba database. Lintlha tse tobileng tsa ho paka "diffs" tsena (le ho khutlisetsa boemo bo felletseng ka ho li sebelisa) li tla tšohloa sehloohong se latelang.

Blockchain ho TON: ke eng, hona hobane'ng?

Joalokaha ho boletsoe sehloohong se fetileng, Blockchain ke sebopeho sa data, likarolo (li-blocks) tse hlophisitsoeng ka "ketane", 'me sebaka se seng le se seng se latelang sa ketane se na le hash ea e fetileng.. Potso e ile ea botsoa maikutlong: ke hobane'ng ha re hloka sebopeho se joalo sa data ho hang ha re se re ntse re e-na le DHT - tafole ea hash e abuoang? Ho hlakile hore lintlha tse ling li ka bolokoa ho DHT, empa sena se loketse feela bakeng sa tlhahisoleseling e seng "mathata" haholo. Lichelete tsa Cryptocurrency li ke ke tsa bolokoa ho DHT - haholo-holo ka lebaka la khaello ea licheke bakeng sa botshepehi. Ha e le hantle, ho rarahana hohle ha mohaho oa blockchain ho hōla e le ho thibela ho kena-kenana le data e bolokiloeng ho eona.

Leha ho le joalo, blockchain ho TON e shebahala e rarahane le ho feta ho feta lits'ebetsong tse ling tse ajoang - mme ho na le mabaka a mabeli a sena. Ea pele ke takatso ea ho fokotsa tlhokahalo ea lifereko. Ka li-cryptocurrensets tsa setso, li-parameter tsohle li behiloe sethaleng sa pele, 'me boiteko leha e le bofe ba ho bo fetola bo hlile bo lebisa ho hlaha ha "lebopo le leng la chelete ea crypto". Lebaka la bobeli ke ts'ehetso ea ho silakanya (ho arola, ho arola) blockchain. Blockchain ke mohaho o ke keng oa fokotseha ka nako; 'me hangata node e' ngoe le e 'ngoe e ikarabellang bakeng sa bophelo bo botle ba marang-rang e qobelloa ho e boloka ka ho feletseng. Litsamaisong tsa setso (tse bohareng), sharding e sebelisetsoa ho rarolla mathata a joalo: lirekoto tse ling tsa database li fumaneha ho seva se le seng, tse ling ho tse ling, joalo-joalo. Tabeng ea li-cryptocurrensets, ts'ebetso e joalo e ntse e sa tloaeleha - haholo-holo, ka lebaka la hore ho thata ho eketsa sharding tsamaisong eo e neng e sa reroa qalong.

TON e rera ho rarolla mathata a mabeli a ka holimo joang?

Litaba tsa Blockchain. Mekhatlo ea mosebetsi.

TON: Telegraph Open Network. Karolo ea 2: Blockchains, sharding

Pele ho tsohle, a re bue ka se reriloeng ho bolokoa ho blockchain. Litaba tsa li-account ("wallets" maemong a motheo) le likonteraka tse bohlale (bakeng sa ho nolofatsa, re tla nka hore sena se tšoana le li-account) li tla bolokoa moo. Ha e le hantle, ena e tla ba tafole e tloaelehileng ea hash - linotlolo ho eona e tla ba li-identifiers account_id, mme boleng ke meaho ea data e nang le lintho tse kang:

  • tekatekano;
  • khoutu ea konteraka e bohlale (feela bakeng sa likonteraka tse bohlale);
  • polokelo ea data ea konteraka e bohlale (feela bakeng sa likonteraka tse bohlale);
  • lipalo-palo;
  • (boikhethelo) senotlolo sa sechaba bakeng sa phetisetso ho tsoa akhaonteng, account_id ka ho sa feleng;
  • mola oa melaetsa e tsoang (mona e kentsoe hore e fetisetsoe ho moamoheli);
  • lethathamo la melaetsa ea morao-rao e romelloang akhaonteng ena.

Joalokaha ho boletsoe ka holimo, li-block ka botsona li na le litšebelisano - melaetsa e rometsoeng ho li-account_id tse fapaneng. Leha ho le joalo, ho phaella ho account_id, melaetsa e boetse e na le sebaka sa 32-bit workchain_id - identifier of the called. ketane ea mosebetsi (ketane ea mosebetsi, ho sebetsa blockchain). Sena se o lumella ho ba le li-blockchain tse 'maloa tse ikemetseng tse nang le litlhophiso tse fapaneng. Tabeng ena, workchain_id = 0 e nkoa e le nyeoe e khethehileng, zero workchain - ke litekanyo tse ho eona tse tla lumellana le chelete ea crypto ea TON (Grams). Ho ka etsahala hore qalong, liketane tse ling tsa mosebetsi li ke ke tsa ba teng ho hang.

Shardchains. Infinite Sharding Paradigm.

Empa kholo ea palo ea li-blockchains ha e emise moo. Ha re sebetsanang le ho sharding. Ak'u nahane hore ak'haonte e 'ngoe le e' ngoe (account_id) e na le blockchain ea eona - e na le melaetsa eohle eo e e fumanang - mme linaha tsa li-blockchains tse joalo li bolokiloe ka li-node tse arohaneng.

Ha e le hantle, sena se senya haholo: hangata, ho e 'ngoe le e' ngoe ea tsena li-shardchains (tlhapi, blockchain e thata) litšebelisano li tla amoheloa ka seoelo haholo, 'me ho tla hlokahala li-node tse ngata tse matla (ho sheba pele, kea hlokomela hore ha re bue feela ka bareki ka liselefouno - empa ka li-server tse tebileng).

Ka hona, li-shardchains li kopanya li-account ka li-prefixes tsa binary tsa li-identifiers tsa tsona: haeba shardchain e na le sehlomathiso sa 0110, joale litšebelisano tsa account_id tsohle tse qalang ka linomoro tsena li tla oela ho eona. Sena shard_prefix e ka ba le bolelele ho tloha ho 0 ho isa ho 60 bits - mme sa bohlokoa le ho feta, e ka fetoha ka matla.

TON: Telegraph Open Network. Karolo ea 2: Blockchains, sharding

Hang ha litšebelisano tse ngata li qala ho phalla ho e 'ngoe ea li-shardchains, li-node tse sebetsang ho eona, ho ea ka melao e reriloeng esale pele, li "arola" ka bana ba babeli - li-prefixes tsa bona li tla ba nako e teletsana ('me ho e mong oa bona e tla ba 0, 'me bakeng sa e' ngoe - 1). Ka mohlala, shard_prefix = 0110b e arotsoe ka 01100b le 01101b. Ka lehlakoreng le leng, haeba li-shardchains tse peli tsa "baahelani" li qala ho ikutloa li phutholohile ka ho lekaneng (ka nako e itseng), li tla kopana hape.

Kahoo, sharding e etsoa "ho tloha tlase holimo" - re nka hore tlaleho e 'ngoe le e' ngoe e na le shard ea eona, empa ba - ka nako e ntse e le "khomaretse" ka li-prefixes. Sena ke seo e se bolelang Infinite Sharding Paradigm (paradigm e sa feleng ea sharding).

Ka thoko, ke rata ho totobatsa hore liketane tsa mosebetsi li teng feela - ha e le hantle, workchain_id ke karolo ya sesupo sa ketane e itseng. Ka mantsoe a molao, shardchain e 'ngoe le e' ngoe e hlalosoa ka palo ea linomoro (workchain_id, shard_prefix).

Ho lokisa phoso. Li-blockchains tse otlolohileng.

Ka tloaelo ho lumeloa hore khoebo leha e le efe ho blockchain e "behiloe ka majoe". Leha ho le joalo, tabeng ea TON, hoa khoneha ho "ngola histori hape" - haeba motho e mong (ea bitsoang. lefito-"motšoasi oa litlhapi") e tla paka hore e 'ngoe ea li-block e saennoe ka phoso. Tabeng ena, thibela e khethehileng ea ho lokisa e eketsoa ho shardchain e lumellanang, e nang le hash ea thibela e lokisitsoeng ka boeona (mme eseng ea ho qetela ho shardchain). Ha re emela shardchain e le letoto la li-blocks tse behiloeng ka holimo, re ka re thibela ea ho lokisa e khomaretsoe ho thibela phoso eseng ka ho le letona, empa ho tloha holimo - ka hona, ho nkoa e le karolo ea "blockchain" e nyenyane. . Kahoo, ho ka boleloa hore li-shardchains li li-blockchains tse mahlakore a mabeli.

TON: Telegraph Open Network. Karolo ea 2: Blockchains, sharding

Haeba, ka mor'a thibelo e fosahetseng, li-blocks tse latelang li bua ka liphetoho tse entsoeng ke eona (ke hore, litšebelisano tse ncha li entsoe ho latela tse sa nepahaleng), tse lokisoang li boetse li eketsoa ho li-blocks tsena "tse tsoang holimo". Haeba li-blocks li sa ka tsa ama tlhahisoleseding e "amehileng", "maqhubu ana a lokisoang" ha a sebetse ho bona. Ka mohlala, papisong e ka holimo, transaction ea block ea pele, e ileng ea eketsa tekanyo ea akhaonto ea C, e ile ea nkoa e fosahetse - ka hona, transaction e fokolitseng tekanyo ea akhaonto ena karolong ea boraro le eona e tlameha ho hlakoloa, 'me a block block e entsoe holim'a boloko ka boeona.

Hoa lokela ho hlokomeloa hore le hoja li-block tsa tokiso li bontšoa li le "ka holimo" ho tsa pele, ha e le hantle li tla ekeletsoa qetellong ea blockchain e lumellanang (moo e lokelang ho behoa ka tatellano ea liketsahalo). Tokisetso ea mahlakore a mabeli e bonts'a feela hore na ba tla "koaheloa" ho isa kae ho blockchain (ka hash ea block ea pele e teng ho bona).

U ka etsa filosofi ka thoko mabapi le hore na qeto ea ho "fetola nakong e fetileng" e ntle hakae. Ho ka bonahala eka haeba re lumella monyetla oa ho hlaha ha thibela e fosahetseng ka shardchain, joale re ke ke ra thibela monyetla oa ho hlaha ha thibelo e fosahetseng ea ho lokisa. Mona, ho ea kamoo nka bolelang kateng, phapang ea palo ea li-node tse lokelang ho finyella tumellano ka li-blocks tse ncha - tse nyenyane li tla sebetsa ho shardchain ka 'ngoe "sehlopha se sebetsang» li-node (hangata li fetola sebopeho sa tsona), 'me ho hlahisoa ha li-blocks ho tla hloka tumello ea bohle. validator nodes. Ke tla akaretsa li-validators, lihlopha tsa mosebetsi, le likarolo tse ling tsa node ka botlalo sengolong se tlang.

Blockchain e le 'ngoe ho ba busa kaofela

Lintlha tse ka holimo li thathamisa boitsebiso bo bongata ka mefuta e sa tšoaneng ea li-blockchains, tseo ka boeona le tsona li lokelang ho bolokoa kae-kae. Haholo-holo, re bua ka lintlha tse latelang:

  • mabapi le palo le litlhophiso tsa liketane tsa mosebetsi;
  • mabapi le palo ea li-shardchain le li-prefixes tsa tsona;
  • mabapi le hore na ke li-node tse ikarabellang hona joale bakeng sa li-shardchains life;
  • li-hashes tsa li-block tsa ho qetela tse kentsoeng ho li-shardchains tsohle.

Joalokaha u ka be u nahanne, lintho tsena kaofela li tlalehiloe polokelong e 'ngoe ea blockchain - masterchain (masterchain, master blockchain). Ka lebaka la boteng ba li-hashes tse tsoang ho li-blocks tsa li-shardchains tsohle li-blocks tsa eona, e etsa hore tsamaiso e kopane haholo. Har'a lintho tse ling, sena se bolela hore moloko oa "block" e ncha ho masterchain e tla etsahala hang ka mor'a hore ho be le li-blocks ho shardchains - ho lebeletsoe hore li-blocks li tla hlaha ka nako e le 'ngoe hoo e batlang e le metsotsoana e meng le e meng ea 5,' me thibela e latelang e tla hlaha ka nako e le 'ngoe. masterchain - motsotsoana ka mor'a moo.

Empa ke mang ea tla ikarabella bakeng sa ts'ebetsong ea mosebetsi ona oa titanic - ho romela melaetsa, ho etsa likonteraka tse bohlale, ho etsa li-blocks ka shardchains le masterchain, esita le ho hlahloba li-block bakeng sa liphoso? Na lifono tsa basebelisi ba limilione tse nang le moreki oa Telegraph e kentsoeng ho tsona li tla etsa see sohle ka bolotsana? Kapa, ​​​​mohlomong, sehlopha sa Durov se tla lahla mehopolo ea ho fana ka matla 'me li-server tsa bona li tla e etsa ka tsela ea khale?

Ha e le hantle, ha ho karabo e le 'ngoe kapa e 'ngoe e nepahetseng. Empa masimo a sehlooho sena a fela ka potlako, kahoo re tla bua ka likarolo tse sa tšoaneng tsa li-node (e ka 'na eaba u se u hlokometse tse ling tsa tsona tse boletsoeng), hammoho le mechine ea mosebetsi oa bona, karolong e latelang.

Source: www.habr.com

Eketsa ka tlhaloso