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

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

ʻO kēia kikokikona kahi hoʻomau o nā ʻatikala kahi aʻu e nānā ai i ke ʻano o ka pūnaewele i hoʻolaha ʻia ʻo Telegram Open Network (TON), i hoʻomākaukau ʻia no ka hoʻokuʻu ʻana i kēia makahiki. IN hapa mua Ua wehewehe au i kona pae kumu - ke ʻano o ka launa pū ʻana o nā nodes me kekahi.

I ka hihia wale nō, e hoʻomanaʻo wau iā ʻoe ʻaʻohe aʻu mea e pili ana i ka hoʻomohala ʻana i kēia pūnaewele a ua hōʻiliʻili ʻia nā mea āpau mai kahi kumu hāmama (ʻoiai ʻaʻole i hōʻoia ʻia) - palapala (Aia pū kekahi palapala hoʻolaha, e wehewehe pōkole ana i nā kumu nui), i hōʻike ʻia ma ka hopena o ka makahiki i hala. ʻO ka nui o ka ʻike ma kēia palapala, i koʻu manaʻo, e hōʻike ana i kona ʻoiaʻiʻo, ʻoiai ʻaʻohe hōʻoia kūhelu o kēia.

I kēia lā e nānā mākou i ka mea nui o TON - ka blockchain.

Nā manaʻo kumu

Waihona (hoike). He pūʻulu ʻikepili i ʻike ʻia e kahi helu 256-bit account_id (ʻo ka pinepine kēia ke kī ākea o ka mea nona ka moʻokāki). Ma ka hihia kumu (e nānā ma lalo kaulahao hana ole), pili kēia ʻikepili i ke koena o ka mea hoʻohana. "Occupy" kiko'ī account_id hiki i kekahi, akā hiki ke hoʻololi wale ʻia kona waiwai e like me kekahi mau lula.

ʻaelike akamai (akamai-aelike). ʻO ka mea nui, he hihia kūikawā ia o kahi moʻokāki, hoʻohui ʻia me ka code aelike akamai a me ka mālama ʻana i kāna mau ʻano. Inā i ka hihia o kahi "wallet" hiki iā ʻoe ke waiho a hoʻihoʻi i ke kālā mai ia mea e like me nā lula maʻalahi a i ʻike mua ʻia, a laila ma ke ʻano o kahi ʻaelike akamai ua kākau ʻia kēia mau lula ma ke ʻano o kāna code (ma kekahi Turing-complete. ʻōlelo papahana).

Mokuʻāina Blockchain (mokuʻāina o blockchain). ʻO ka hoʻonohonoho o nā mokuʻāina o nā moʻolelo a pau a me nā ʻaelike akamai (ma kahi ʻano abstract, kahi papaʻaina hash, kahi o nā kī i mea hōʻike moʻokāki a ʻo nā waiwai nā ʻikepili i mālama ʻia i loko o nā moʻokāki).

memo (memo). Ma luna aʻe, ua hoʻohana au i ka huaʻōlelo "kālā hōʻaiʻē a me ka hoʻopaneʻe kālā" - he hiʻohiʻona kēia o kahi leka ("transfer N kalima mai ka mooolelo mooolelo_1 e helu mooolelo_2"). ʻIke loa, ʻo ka node wale nō ka mea nona ke kī pilikino o ka moʻokāki hiki ke hoʻouna i kēlā memo mooolelo_1 - a hiki ke hōʻoia i kēia me kahi pūlima. ʻO ka hopena o ka hāʻawi ʻana i ia mau memo i kahi moʻokāki maʻamau ka piʻi ʻana o kona koena, a ʻo ka hopena o ka ʻaelike akamai ʻo ia ka hoʻokō ʻana i kāna code (kahi e hana ai i ka loaʻa ʻana o ka leka). ʻOiaʻiʻo, hiki nō hoʻi nā memo ʻē aʻe (ka hoʻololi ʻana ʻaʻole i ka nui o ke kālā, akā i ka ʻikepili arbitrary ma waena o nā ʻaelike akamai).

kālepa (hana). ʻO ka ʻoiaʻiʻo i hoʻouna ʻia kahi leka i kapa ʻia he kālepa. Hoʻololi nā hana i ke kūlana o ka blockchain. ʻO ia nā hana (nā moʻolelo hoʻouna leka) e hana i nā poloka i loko o ka blockchain. Ma kēia mea, hiki iā ʻoe ke noʻonoʻo i ke kūlana o ka blockchain ma ke ʻano he ʻikepili hoʻonui - ʻo nā poloka āpau he "ʻokoʻa" pono e hoʻopili ʻia e kiʻi i ke kūlana o kēia manawa o ka waihona. E kūkākūkā ʻia nā kikoʻī o ka hoʻopili ʻana i kēia mau "ʻokoʻa" (a me ka hoʻihoʻi ʻana i ke kūlana piha mai ia mau mea) ma ka ʻatikala aʻe.

Blockchain ma TON: he aha ia a no ke aha?

E like me ka mea i ʻōlelo ʻia ma ka ʻatikala mua, ʻO blockchain kahi hoʻolālā ʻikepili, nā mea (nā poloka) i kauoha ʻia i loko o kahi "chain", a ʻo kēlā me kēia poloka ma hope o ke kaulahao he hash o ka mea mua.. Ua nīnau nā ʻōlelo i ka nīnau: no ke aha mākou e makemake ai i kahi ʻano ʻikepili i ka wā i loaʻa iā mākou kahi DHT - kahi papaʻaina i hoʻohele ʻia? ʻIke loa, hiki ke mālama ʻia kekahi mau ʻikepili ma DHT, akā kūpono wale kēia no ka ʻike ʻole "maʻalahi". ʻAʻole hiki ke mālama ʻia nā koena Cryptocurrency ma DHT - ma muli o ka nele o nā loiloi pono. ʻOiaʻiʻo, ulu ka paʻakikī holoʻokoʻa o ka hoʻolālā blockchain i mea e pale ai i ka hoʻopilikia ʻana i ka ʻikepili i mālama ʻia i loko.

Eia nō naʻe, ʻoi aku ka paʻakikī o ka blockchain ma TON ma mua o ka hapa nui o nā ʻōnaehana hoʻolaha - a no nā kumu ʻelua. ʻO ka mea mua ka makemake e hōʻemi i ka pono nā mākia. I loko o nā cryptocurcies kuʻuna, ua hoʻonohonoho ʻia nā ʻāpana āpau i ka pae mua a ʻo ka hoʻāʻo ʻana e hoʻololi iā lākou e alakaʻi maoli i ka puka ʻana o kahi "universe cryptocurrency ʻokoʻa." ʻO ke kumu ʻelua ʻo ke kākoʻo no ka ʻoki ʻana (ʻāwili ʻana, ʻāwili ʻana) blockchain. ʻO Blockchain kahi hale ʻaʻole hiki ke liʻiliʻi i ka manawa; a ʻo ka mea maʻamau, koi ʻia kēlā me kēia node no ka hana ʻana o ka pūnaewele e mālama pono iā ia. Ma nā ʻōnaehana kuʻuna (centralized), hoʻohana ʻia ka sharding e hoʻoponopono i ia mau pilikia: aia kekahi o nā moʻolelo i ka waihona ma kahi kikowaena, kekahi ma kekahi, etc. I ka hihia o nā cryptocurcies, ʻaʻole i kakaikahi nā hana - ʻo ia hoʻi, ma muli o ka paʻakikī o ka hoʻohui ʻana i ka sharding i kahi ʻōnaehana kahi i hoʻolālā ʻole ʻia ai.

Pehea e hoʻolālā ai ʻo TON e hoʻoponopono i nā pilikia ʻelua ma luna?

Maʻiʻo blockchain. Nā kaulahao hana.

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

ʻO ka mea mua, e kamaʻilio e pili ana i ka mea i hoʻolālā ʻia e mālama ʻia i loko o ka blockchain. E mālama ʻia nā mokuʻāina o nā moʻokāki ("wallets" i ka hihia kumu) a me nā ʻaelike akamai ma laila (no ka maʻalahi, e manaʻo mākou ua like kēia me nā moʻolelo). ʻO ke kumu, e lilo kēia i papaʻaina hash maʻamau - ʻo nā kī i loko o ia mea he mau ʻike account_id, a ʻo nā waiwai he mau hale ʻikepili i loaʻa nā mea e like me:

  • kaulike;
  • code aelike akamai (no ka aelike akamai wale no);
  • mālama ʻikepili aelike akamai (no nā ʻaelike akamai wale nō);
  • helu helu;
  • (koho) kī lehulehu no nā hoʻoili ʻana mai ka moʻohelu kālā, ma ka account_id paʻamau;
  • ka laina o nā memo i waho (eia lākou i hoʻokomo ʻia no ka hoʻouna ʻana i ka mea i loaʻa);
  • he papa inoa o nā memo hou loa i hoʻouna ʻia i kēia moʻokāki.

E like me ka mea i ʻōlelo ʻia ma luna nei, aia nā poloka iā lākou iho i nā kālepa - nā memo i hāʻawi ʻia i nā waihona account_id like ʻole. Eia nō naʻe, ma waho aʻe o account_id, loaʻa i nā memo kahi kahua 32-bit workchain_id — ka mea i kapaia he mea hoomaopopo kaulahao hana (kaulahao hana, hana blockchain). ʻAe kēia iā ʻoe e loaʻa i kekahi mau blockchains kūʻokoʻa mai kekahi i kekahi me nā hoʻonohonoho like ʻole. I kēia hihia, ua manaʻo ʻia ka workchain_id = 0 he hihia kūikawā. kaulahao hana ole - ʻo ia nā koena i loko o ia mea e kūlike me ka TON (Grams) cryptocurrency. ʻO ka mea nui, i ka wā mua, ʻaʻole loaʻa nā kaula hana ʻē aʻe.

Nā kaulahao maʻa. ʻO ka Paradigm Sharding palena ʻole.

Akā ʻaʻole i pau ka ulu ʻana o ka nui o nā blockchain. E hana kākou me ka sharding. E noʻonoʻo kākou ua hoʻokaʻawale ʻia kēlā me kēia moʻokāki (account_id) i kāna blockchain ponoʻī - aia nā memo a pau i hiki mai iā ia - a mālama ʻia nā mokuʻāina o ia mau blockchains ma nā node ʻokoʻa.

ʻOiaʻiʻo, he mea makehewa kēia: ʻoi aku paha, i kēlā me kēia nā kaulahao (kaulahao shard, poloka poloka) ʻaʻole hiki ke kamaʻilio e pili ana i nā mea kūʻai aku ma nā kelepona paʻalima - akā e pili ana i nā kikowaena koʻikoʻi.

No laila, hui pū nā shardchain i nā moʻolelo e nā prefixes binary o kā lākou mau mea ʻike: inā loaʻa i kahi shardchain kahi prefix o 0110, a laila e hoʻokomo ʻia nā kālepa o nā account_id āpau e hoʻomaka me kēia mau helu. ʻO kēia shard_prefix hiki ke loaʻa ka lōʻihi mai ka 0 a hiki i ka 60 bits - a ʻo ka mea nui e hiki ke loli ikaika.

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

I ka manawa e hoʻomaka ai kekahi o nā shardchains e loaʻa i nā hana he nui loa, e hana ana nā nodes ma luna o ia, e like me nā lula i koho mua ʻia, "māhele" iā ia i ʻelua keiki - ʻo kā lākou prefixes e lōʻihi ka lōʻihi (a no kekahi o lākou e lilo kēia bit. like me 0, a no kekahi - 1). ʻo kahi laʻana, shard_prefix = 0110b e mahele i 01100b a 01101b. I ka huli ʻana, inā hoʻomaka ka ʻoluʻolu o ʻelua "hoa noho" shardchains (no kekahi manawa), e hui hou lākou.

No laila, hana ʻia ka sharding "mai lalo i luna" - ke manaʻo nei mākou aia kēlā me kēia moʻolelo i kāna shard ponoʻī, akā no ka manawa "hoʻopili ʻia" lākou e nā prefix. ʻO kēia ke ʻano o ia mea ʻO ka Paradigm Sharding palena ʻole (paradigm sharding palena ʻole).

Ma kahi kaʻawale, makemake wau e hoʻoikaika i ka loaʻa ʻana o nā kaulahao hana - ʻoiaʻiʻo, workchain_id he ʻāpana kēia o ka mea hōʻike i kahi shardchain kikoʻī. Ma nā huaʻōlelo maʻamau, ua wehewehe ʻia kēlā me kēia shardchain e nā helu ʻelua (workchain_id, shard_prefix).

Hoʻoponopono hewa. Nā poloka poloka.

ʻO ka mea maʻamau, ua manaʻo ʻia kēlā me kēia kālepa ma kahi blockchain i "hoʻonoho ʻia i ka pōhaku." Eia nō naʻe, i ka hihia o TON, hiki ke "kākau hou i ka mōʻaukala" - inā he kanaka (ka mea i kapa ʻia. puʻupuʻu lawaiʻa) e hōʻoiaʻiʻo ua kākau hewa ʻia kekahi o nā poloka. I kēia hihia, hoʻohui ʻia kahi poloka hoʻoponopono kūikawā i ka shardchain pili, aia ka hash o ka poloka ponoʻī e hoʻoponopono ʻia (a ʻaʻole ka poloka hope loa i ka shardchain). Ke noʻonoʻo nei i ka shardchain ma ke ʻano he kaulahao o nā poloka i waiho ʻia ma ke ākea, hiki iā mākou ke ʻōlelo ua pili ka poloka hoʻoponopono i ka poloka hewa ʻaʻole i ka ʻākau, akā mai luna mai - no laila ua manaʻo ʻia ua lilo ia i ʻāpana o kahi "vertical blockchain" liʻiliʻi. . No laila, hiki iā mākou ke ʻōlelo he shardchains ʻelua-dimensional blockchains.

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

Inā, ma hope o kahi poloka hewa, ua kuhikuhi ʻia nā hoʻololi i hana ʻia e nā poloka ma hope (ʻo ia hoʻi, ua hana ʻia nā hana hou ma muli o nā mea kūpono ʻole), hoʻohui pū ʻia nā mea hoʻoponopono i kēia mau poloka "ma luna". Inā ʻaʻole pili nā poloka i ka ʻike "pilikia", ʻaʻole pili kēia "nā nalu hoʻoponopono" iā lākou. No ka laʻana, ma ke kiʻi ma luna nei, ʻo ka hana o ka poloka mua, ka hoʻonui ʻana i ke koena o ka moʻokāki C, ua ʻike ʻia he hewa - no laila, pono e hoʻopau ʻia ke kālepa e hoʻemi ana i ke koena o kēia moʻokāki ma ke kolu o ka poloka, a me kahi poloka corrective. pono e hana ma luna o ka poloka pono'ī.

Pono e hoʻomaopopo ʻia ʻoiai ua hōʻike ʻia nā poloka hoʻoponopono e like me ka "ma luna" o nā mea mua, ʻoiaʻiʻo e hoʻohui ʻia lākou i ka hopena o ka blockchain e pili ana (kahi e hoʻopaʻa ʻia i ka chronologically). Hōʻike wale ka ʻāpana ʻelua i ka wahi i loko o ka blockchain e "hoʻopili ʻia" lākou (ma o ka hash o ka poloka kumu i loaʻa i loko o lākou).

Hiki iā ʻoe ke noʻonoʻo ʻokoʻa e pili ana i ka maikaʻi o ka hoʻoholo e "hoʻololi i ka wā i hala". Me he mea lā inā mākou e ʻae i ka hiki ke ʻike ʻia kahi poloka hewa i ka shardchain, a laila ʻaʻole hiki iā mākou ke pale aku i ka hiki ʻana mai o kahi poloka hoʻoponopono hewa. Ma ʻaneʻi, e like me kaʻu hiki ke haʻi aku, aia ka ʻokoʻa i ka helu o nā nodes e pono e hiki i ka ʻae ʻana i nā poloka hou - aia kahi helu liʻiliʻi o ka poʻe e hana ana ma kēlā me kēia shardchain. "hui hana» nodes (e hoʻololi pinepine i kāna haku mele), a ʻo ka hoʻokomo ʻana i nā poloka hoʻoponopono e koi ʻia ka ʻae o kēlā me kēia nā node hōʻoia. E kamaʻilio hou wau e pili ana i nā mea hōʻoia, nā hui hana, a me nā kuleana node ʻē aʻe ma ka ʻatikala aʻe.

Hoʻokahi blockchain e hoʻomalu iā lākou a pau

Nui nā ʻike i helu ʻia ma luna e pili ana i nā ʻano blockchains, pono e mālama ʻia ma kahi. ʻO ka mea nui, ke kamaʻilio nei mākou e pili ana i kēia ʻike:

  • e pili ana i ka helu a me nā hoʻonohonoho o nā kaulahao hana;
  • e pili ana i ka helu o nā kaulahao a me kā lākou prefix;
  • e pili ana i nā nodes i kēia manawa ke kuleana o nā shardchains;
  • nā hashes o nā poloka hope i hoʻohui ʻia i nā kaulahao shard a pau.

E like me kāu i manaʻo ai, ua hoʻopaʻa ʻia kēia mau mea āpau i kahi waihona blockchain - kaulahao haku (kaulahao haku, haku blockchain). Ma muli o ka loaʻa ʻana o nā hashes mai nā poloka o nā shardchains a pau i loko o kāna mau poloka, hoʻopili nui ʻia ka ʻōnaehana. ʻO ke ʻano kēia, ma waena o nā mea ʻē aʻe, e kū koke ka hanauna o kahi poloka hou i loko o ka masterchain ma hope koke o ka hana ʻana o nā poloka i shardchains - ua manaʻo ʻia e ʻike ʻia nā poloka i shardchains kokoke i ka manawa like i kēlā me kēia 5 kekona, a ʻo ka poloka aʻe ma ka masterchain - kekona ma hope o kēlā.

Akā ʻo wai ke kuleana no ka hoʻokō ʻana i kēia hana titanic āpau - no ka hoʻouna ʻana i nā leka, ka hoʻokō ʻana i nā ʻaelike akamai, ka hana ʻana i nā poloka i nā shardchains a me ka masterchain, a me ka nānā ʻana i nā poloka no nā hewa? E hana malū ʻia kēia mau mea e nā kelepona o nā miliona o nā mea hoʻohana me ka mea kūʻai aku Telegram i kau ʻia ma luna o lākou? A i ʻole, e haʻalele paha ka hui Durov i nā manaʻo o ka decentralization a e hana kā lākou mau kikowaena i ke ala kahiko?

ʻOiaʻiʻo, ʻaʻole pololei kekahi a i ʻole kekahi pane. Akā ke holo wikiwiki nei nā ʻaoʻao o kēia ʻatikala, no laila e kamaʻilio mākou e pili ana i nā kuleana like ʻole o nā nodes (ua ʻike paha ʻoe i ka ʻōlelo ʻana o kekahi o lākou), a me nā mechanics o kā lākou hana, ma ka ʻāpana aʻe.

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka