TON: Telegram Open Whatunga. Wāhanga 2: Poraka poraka, sharding

TON: Telegram Open Whatunga. Wāhanga 2: Poraka poraka, sharding

Ko tenei tuhinga he haere tonu o te raupapa o nga tuhinga e tirotirohia ana e au te hanganga o te whatunga toha (tenei pea) Telegram Open Network (TON), kei te whakarite mo te tuku i tenei tau. IN wahanga o mua I whakaahuatia e au tona taumata tino taketake - te huarahi e pahekoheko ai nga pona tetahi ki tetahi.

Ko te take, me whakamahara ahau ki a koe kaore au i te mahi ki te whakawhanaketanga o tenei whatunga me nga mea katoa i kohia mai i tetahi puna tuwhera (ahakoa kare i manatoko) - tuhinga (kei kona ano he taapiri mātārere, e whakaatu poto ana i nga kaupapa matua), i puta i te mutunga o tera tau. Ko te nui o nga korero kei roto i tenei tuhinga, ki taku whakaaro, e whakaatu ana i tona pono, ahakoa kaore he whakapumautanga mana o tenei.

I tenei ra ka titiro tatou ki te waahanga matua o TON - te poraka.

Ngā ariā taketake

pūkete (pūkete). He huinga raraunga kua tautuhia e te tau 256-bit pūkete_id (Ko te nuinga o nga wa ko te matua tenei a te kaipupuri putea). I roto i te take turanga (tirohia i raro kore mekameka mahi), e tohu ana tenei raraunga ki te toenga o te kaiwhakamahi. "Noho" motuhake pūkete_id ka taea e tetahi, engari ko tona uara ka taea anake te whakarereke i runga i etahi ture.

kirimana atamai (atamai-kirimana). Ko te tikanga, he keehi motuhake mo te kaute, kua taapirihia me te waehere kirimana atamai me te rokiroki o ona taurangi. Mena mo te "pukoro" ka taea e koe te penapena me te tango moni mai i a ia i runga i nga tikanga ngawari me nga tikanga kua whakaritea, na mo te kirimana atamai ka tuhia enei ture ki te ahua o tana waehere (i roto i etahi Turing-oti. reo hōtaka).

Whenua Poraka (ahua o poraka). Ko te huinga o nga ahuatanga o nga kaute katoa/kirimana atamai (i roto i te tikanga maamaa, he ripanga hash, kei reira nga taviri ko nga tohu kaute me nga uara ko nga raraunga kei roto i nga kaute).

Karere (karere). I runga ake i whakamahia e ahau te kupu "moni nama me te nama" - he tauira motuhake tenei o te karere ("whakawhiti N karamu mai i te kaute pūkete_1 ki te kaute pūkete_2"). Maamaa, ko te pona anake kei a ia te taviri tūmataiti o te kaute ka taea te tuku karere pera pūkete_1 - ka taea hoki te whakau i tenei ma te hainatanga. Ko te hua o te tuku i aua karere ki te kaute auau ko te pikinga ake o tana toenga, a, ko te hua o te kirimana atamai ko te whakatinanatanga o tana waehere (e whakahaere ana i te whiwhinga o te karere). Ko te tikanga, ka taea ano etahi atu karere (kaore i te whakawhiti i nga moni moni, engari i nga raraunga i waenga i nga kirimana atamai).

tauwhitinga (tauwhitinga). Ko te mea ka tukuna he karere ka kiia he tauwhitinga. Ka huri nga whakawhitinga i te ahua o te poraka. Ko nga tauwhitinga (rekoata tuku karere) e hanga ana i nga poraka i roto i te poraka. I runga i tenei kaupapa, ka taea e koe te whakaaro mo te ahua o te poraka he papaa raraunga taapiri - he "rereke" nga poraka katoa me tono raupapa kia whiwhi ai i te ahuatanga o te papaaarangi o naianei. Ka korerohia nga korero mo te kohinga o enei "rereke" (me te whakahoki i te ahua katoa mai i a raatau) i roto i te tuhinga ka whai ake.

Poraka i roto i te TON: he aha te mea me te aha?

Mai tei faahitihia i roto i te tumu parau na mua ’tu, Ko te poraka he hanganga raraunga, ko nga huānga (poraka) ka whakatauhia ki roto i te "mekameka", a kei ia poraka o muri o te mekameka he tohu o te mea o mua.. Ko nga korero i paatai ​​​​te patai: he aha te take e hiahiatia ana he hanganga raraunga penei i te mea kua whai DHT - he ripanga kua tohatohahia? Ma te mohio, ka taea te penapena etahi raraunga ki te DHT, engari he pai noa tenei mo nga korero "tairongo" rawa. Kaore e taea te penapena i nga pauna moni crypto ki DHT - na te kore o nga arowhai tapatahi. Inaa, ko te tino uaua o te hanganga poraka ka tipu kia kore ai e pokanoa ki nga raraunga kei roto.

Heoi, he uaua ake te ahua o te poraka i roto i te TON i te nuinga o nga punaha toha - a mo nga take e rua. Ko te tuatahi ko te hiahia ki te whakaiti i te hiahia marau. I roto i nga moni crypto tuku iho, kua whakaritea nga tawhā katoa i te waahi tuatahi, a ko nga ngana ki te whakarereke i a raatau ka arahi ki te puta mai o te "ao cryptocurrency rereke." Ko te take tuarua he tautoko mo te kuru (tiritiri, tiritiri) poraka. Ko te Poraka he hanganga kaore e taea te iti ake i te waa; a ko te nuinga o ia pona e kawe ana mo te mahi o te whatunga ka pehia ki te penapena katoa. I roto i nga punaha tuku iho (pokapū), ka whakamahia te sharding ki te whakaoti rapanga penei: ko etahi o nga rekoata kei roto i te paataka kei runga i tetahi tūmau, etahi ki tetahi atu, aha atu. I roto i te take o nga moni crypto, he onge tonu nga mahi penei - ina koa, na te mea he uaua ki te taapiri i te sharding ki tetahi punaha kaore i whakaritea i te tuatahi.

He pehea te whakamahere a TON ki te whakaoti rapanga e rua o runga ake nei?

Te ihirangi poraka. Nga mekameka mahi.

TON: Telegram Open Whatunga. Wāhanga 2: Poraka poraka, sharding

Tuatahi, me korero tatou mo nga mea kua whakamaheretia kia rongoa i roto i te poraka. Ko nga ahua o nga kaute ("pukoro" i roto i te keehi turanga) me nga kirimana maatauka ka rongoa ki reira (mo te ngawari, ka whakaaro matou he rite tenei ki nga kaute). Ko te tikanga, ka noho tenei hei teepu hash auau - ko nga taviri kei roto ko nga tohu tohu pūkete_id, me nga uara he hanganga raraunga kei roto nga mea penei:

  • taurite;
  • waehere kirimana atamai (mo nga kirimana atamai anake);
  • rokiroki raraunga kirimana atamai (mo nga kirimana atamai anake);
  • tatauranga;
  • (kōwhiringa) kī tūmatanui mō ngā whakawhitinga mai i te pūkete, mā te pūkete_id taunoa;
  • te rarangi o nga karere puta (kei konei ka whakauruhia hei tuku whakamua ki te kaiwhiwhi);
  • he rarangi o nga karere hou kua tukuna ki tenei kaute.

Ka rite ki te korero i runga ake nei, ko nga poraka ano he whakawhitinga - nga karere i tukuna ki nga momo kaute_id. Heoi, i tua atu i te account_id, kei roto ano i nga karere he mara 32-bit id_mekamahi — te mea e kiia nei ko te tohu mekameka mahi (mekameka mahi, mahi poraka). Ma tenei ka taea e koe te maha o nga poraka poraka motuhake mai i a raatau me nga whirihoranga rereke. I roto i tenei take, ka kiia ko workchain_id = 0 he keehi motuhake, kore mekameka mahi — ko nga pauna kei roto ka rite ki te TON (Grams) cryptocurrency. Ko te mea pea, i te tuatahi, karekau etahi atu mekameka mahi.

Nga mekameka. Paradigma Sharding Infinite.

Engari ko te tipu o te maha o nga poraka kaore e mutu i reira. Me mahi tatou ki te tiihi. Whakaarohia ko ia kaute (account_id) kua tohatohahia tana ake poraka - kei roto nga karere katoa ka tae mai ki a ia - a ko nga ahuatanga o enei poraka katoa kei te rongoa ki nga waahanga motuhake.

O te akoranga, he tino moumou tenei: te nuinga pea, i roto i ia o enei nga mekameka (mekameka, maramara poraka) ka tae mai nga whakawhitiwhitinga, he maha nga pona kaha ka hiahiatia (ma te titiro whakamua, ka kite ahau ehara i te korero noa mo nga kaihoko i runga waea pūkoro - engari mo nga kaitoro nui).

Na reira, ka whakakotahihia e nga mekameka sharda nga kaute ma nga tohu-rua o o raatau tohu: mena he 0110 te tohu tuatahi o te shardchain, ka uru ki roto nga whakawhitinga o nga account_id katoa ka timata ki enei tau. Tenei shard_prefix ka taea te roa mai i te 0 ki te 60 moka - a ko te mea nui ka taea te huri haere.

TON: Telegram Open Whatunga. Wāhanga 2: Poraka poraka, sharding

I te wa ka timata tetahi o nga shardchains ki te whiwhi i nga whakawhitinga maha, ko nga pona e mahi ana, i runga i nga ture kua whakaritea, ka "wehea" kia rua nga tamariki - ka roa ake o raatau tohu (a mo tetahi o ratou ka waiho tenei moka. e rite ana ki te 0, mo tetahi atu - 1). Hei tauira, shard_prefix = 0110b ka wehea ki 01100b a 01101b. Ina hoki, ki te timata nga mekameka "tata" e rua ki te noho humarie (mo etahi wa), ka hanumi ano.

No reira, ka mahia "mai i raro ki runga" - ki ta maatau he putea kei ia kaute, engari mo tenei wa ka "whakapirihia" e nga prefix. Ko te tikanga tenei Paradigma Sharding Infinite (paradigm sharding mutunga kore).

Ma te wehe, ka hiahia ahau ki te whakanui he tata noa nga mekameka mahi - me te pono, id_mekamahi he wahanga o te tautohu o tetahi mekameka motuhake. I roto i nga kupu okawa, ka tautuhia ia mekameka ma te takirua tau (id_mekamahi, shard_prefix).

Te whakatika hapa. Poraka poutū.

I nga wa o mua, ko nga whakawhitinga i runga i te poraka ka kiia he "whakaturia ki te kohatu." Heoi, mo te TON, ka taea te "tuhi ano i nga hitori" - mena he tangata (ko te mea e kiia nei. knot kaihao) ka whakaatu he he te hainatanga o tetahi o nga poraka. I tenei keehi, ka taapirihia he paraka whakatika motuhake ki te shardchain e rite ana, kei roto ko te hash o te poraka tonu e whakatikahia ana (kaore ko te poraka whakamutunga i roto i te shardchain). Ki te whakaaro ko te shardchain he mekameka poraka kua whakatakotoria whakapae, ka taea e tatou te kii kei te piri te poraka whakatika ki te poraka pohehe kaua ki te taha matau, engari mai i runga ake - na reira ka whakaarohia he waahanga o te "poraka poutū" iti. . Na, ka taea e tatou te kii ko nga mekameka poraka rua-ahu.

TON: Telegram Open Whatunga. Wāhanga 2: Poraka poraka, sharding

Mena, i muri i tetahi poraka pohehe, ko nga whakarereketanga i mahia e ia i tohuhia e nga poraka o muri mai (ara, ko nga whakawhitinga hou i mahia i runga i nga mea kaore i te tika), ka tapiritia ano nga mea whakatika ki enei poraka "i runga". Mena kaore nga poraka i pa ki nga korero "kua pa", kaore enei "ngaru whakatika" e pa ana ki a raatau. Hei tauira, i roto i te whakaahuatanga i runga ake nei, ko te whakawhitinga o te poraka tuatahi, ko te whakanui ake i te toenga o te kaute C, i mohiotia he he - no reira, me whakakore ano te tauwhitinga whakaheke i te toenga o tenei kaute i te poraka tuatoru, me te poraka whakatika. me mahi ki runga ake o te poraka.

Me tohuhia ahakoa ko nga poraka whakatika e whakaatuhia ana kei "i runga ake" o nga mea taketake, me te mea ka taapirihia ki te mutunga o te poraka e rite ana (kei te waahi o te waa). Ko te waahi-rua e whakaatu ana ko tehea waahi i roto i te poraka ka "hono" (ma te tohu o te poraka taketake kei roto ia ratou).

Ka taea e koe te whakaaro motuhake mo te pai o te whakatau ki te "huri i nga mea o mua". Te ahua nei mena ka whakaae tatou ka puta he paraka he i roto i te mekameka, kare e taea e tatou te karo i te tupono ka puta he paraka whakatika pohehe. I konei, ki taku mohio, ko te rerekee kei roto i te maha o nga pona e tika ana kia whakatauhia mo nga poraka hou - he iti noa nga tangata e mahi ana i ia shardchain."roopu mahi» nodes (e huri pinepine ana i tana hanganga), me te whakaurunga o nga poraka whakatika me whakaae katoa kopuku whakamana. Ka korero ake ahau mo nga kaiwhakamana, roopu mahi, me etahi atu mahi node i te tuhinga e whai ake nei.

Kotahi poraka hei whakahaere i a raatau katoa

He maha nga korero kua whakarārangihia i runga ake nei mo nga momo momo poraka, me penapena ano ki tetahi waahi. Ina koa, e korero ana matou mo nga korero e whai ake nei:

  • mo te maha me nga whirihoranga o nga mekameka mahi;
  • e pā ana ki te maha o nga mekameka me o ratou tohu tuatahi;
  • e pā ana ki ngā kōpuku i tēnei wā mō ēhea mekameka;
  • Hashes o nga poraka whakamutunga ka taapirihia ki nga mekameka marau katoa.

Ka rite ki taau i whakaaro, ka tuhia enei mea katoa ki tetahi atu rokiroki poraka - mekameka rangatira (mekameka rangatira, rangatira poraka). Na te ahua o nga hashes mai i nga poraka o nga shardchains katoa i roto i ona poraka, ka tino hono te punaha. Ko te tikanga tenei, i roto i era atu mea, ko te whakatipuranga o te poraka hou i roto i te masterchain ka puta i muri tonu i te whakatipuranga o nga poraka i roto i nga mekameka - ko te tumanako ka puta mai nga poraka i roto i te shardchain tata ki te wa kotahi tata ki ia 5 hēkona, me te poraka e whai ake nei i roto i te masterchain - he tuarua i muri i tera.

Engari ko wai te kawenga mo te whakatinanatanga o enei mahi titanic katoa - mo te tuku karere, te whakahaere i nga kirimana mohio, te hanga poraka i roto i te shardchain me te masterchain, me te tirotiro i nga poraka mo nga hapa? Ka mahia pukutia enei mea katoa e nga waea o nga miriona o nga kaiwhakamahi me te kaihoko Telegram kua whakauruhia ki runga? Ranei, pea, ka whakarerea e te roopu Durov nga whakaaro o te whakahekenga ka mahia e o raatau kaitoro te huarahi tawhito?

Ko te tikanga, karekau tetahi, tetahi atu whakautu tika. Engari kei te tere haere nga taha o tenei tuhinga, no reira ka korero tatou mo nga momo mahi o nga node (kua kite pea koe i nga korero mo etahi o ratou), me nga miihini o a raatau mahi, kei te waahanga e whai ake nei.

Source: will.com

Tāpiri i te kōrero