Oracle matapōkere i runga i te waitohu mamati i te poraka

Mai i te whakaaro ki te whakatinanatanga: ka whakarereketia e matou te kaupapa waitohu matihiko elliptic curve kia tino mohio, a i runga i tera ka whakaratohia e matou nga mahi mo te whiwhi nama pseudo-tupurangi ka taea te manatoko i roto i te poraka.

Oracle matapōkere i runga i te waitohu mamati i te poraka

Idea

I te ngahuru o 2018, ko te Waves poraka i whakauruhia kua whakahohehia nga kirimana atamai tuatahi, ka puta tonu te patai mo te tupono ki te whiwhi tau pseudorandomka taea e koe te whakawhirinaki.

I te pohehe mo tenei patai, ka mutu taku whakatau: ko tetahi poraka he pūtau; e kore e taea te whiwhi i tetahi puna pono o te entropy i roto i te punaha kati.

Engari i pai tonu ahau ki tetahi whakaaro: mena matapōkeretia oracle ka haina i nga raraunga kaiwhakamahi me te algorithm e whakatau ana, katahi ka taea e te kaiwhakamahi te manatoko i taua waitohu ma te whakamahi i te taviri a te iwi, me te mohio he ahurei te uara ka puta. Ko te oracle, ahakoa he aha tana hiahia, kaore e taea te whakarereke i tetahi mea; ko te algorithm ka puta he hua kore. Ko te tikanga, ka tuhia e te kaiwhakamahi te hua, engari kare e mohio kia tukuna ra ano e te oracle. Te ahua nei kaore e taea e koe te whakawhirinaki ki te oracle, engari tirohia te hua o ana mahi. Na, i te mea ka angitu te manatoko, ka taea te kii ko taua waitohu he puna o te entropy mo te tau pseudorandom.

Ko te Waves blockchain platform e whakamahi ana i tetahi kaupapa waitohu EdDSA kōwhiringa Ed25519. I roto i tenei kaupapa, kei roto i te hainatanga nga uara R me S, kei te whakawhirinaki te R ki te uara matapōkere, a ka tatauhia a S i runga i te karere e hainatia ana, te kī tūmataiti me te tau matapōkere rite R. Te ahua nei karekau he ti'aturi motuhake mo taua mea He maha nga waitohu whaimana mo te karere kaiwhakamahi.

Ma te mohio, i roto i tona ahua parakore, kaore e taea te whakamahi i taua waitohu hei puna mo nga tau pseudo-tupurangi, i te mea he kore-whakaritea, na reira, ka ngawari te raweke e te oracle.

Engari, i te mea i puta mai, ka taea tonu te whakatau.

I tino tumanako ahau mahi matapōkere ka taea te manatoko (VRF), engari i muri i te ako i nga taputapu, me whakarere ahau i tenei waahanga. Ahakoa ka tukuna e te VRF tetahi momo tohu mo te hainatanga me ona tohu, he waahi rereke kei roto i te algorithm e whakatuwhera ana i te kohao pango mo te raweke i te oracle. Arā, ina tātaihia te uara o k (wahanga 5.1) ka whakamahia he taviri motuhake, kaore e mohiotia e te kaiwhakamahi, ko te tikanga kaore e taea e te kaiwhakamahi te manatoko i te tika o te tatauranga o te k, ko te tikanga ka taea e te oracle te whakamahi i tetahi uara o te k e hiahiatia ana me te wa ano ka pupuri i te papaarangi o nga reta. o k me nga raraunga hainatia kia taea ai te tatau ano i nga hua tika mai i te tirohanga a VRF. Mena ka kite koe i tetahi tuhi i runga i te VRF me te kore e whakaatu i te taviri tūmataiti, ka taea e koe te mohio: tohuhia te hiahia ki te whakaatu i te ki, ki te whakakore ranei i te tatau o te k, katahi ka whakaatu aunoa te ki motuhake ka puta te hainatanga tuatahi . I te nuinga o te waa, kua whakahuahia ake nei, he kaupapa rereke mo te kaikorero matapōkere.

I muri i te whakaaro iti me te tono i te tautoko a nga kaitirotiro o te rohe, i whanau te kaupapa mahi VECRO.

Ko te VECRO he whakapotonga mo te Verifiable Elliptic Curve Random Oracle, i roto i te reo Rūhia te tikanga o te korero matapōkere manatoko i runga i nga pihi elliptic.

Ko nga mea katoa he maamaa noa; ki te whakatutuki i te whakatau, me whakatika e koe te uara o R i mua i te puta o te panui ka hainatia. Mena kei te whakapau kaha a R me tetahi waahanga o te karere e hainatia ana, e whakapumau ana kei te noho pono a R i roto i te karere e hainatia ana, ko te uara o S ka whakatauhia e te karere a te kaiwhakamahi, na reira ka taea te whakamahi hei puna mo nga nama pseudorandom.

I roto i taua kaupapa, kare he aha te ahua o te whakatikanga o te R, kei te noho tonu tenei ki te kawenga o te korero. He mea nui kia whakatauhia te S e te kaiwhakamahi, engari kaore i te mohiotia tona uara kia whakaputaina ra ano e te oracle. Ko nga mea katoa i hiahia matou!

Ma te korero mo te R pumau, me mahara whakamahia ano R i te wa e haina ana i nga momo karere, ka whakaatuhia e ia te ki motuhake i roto i te kaupapa EdDSA. He mea tino nui mo te rangatira o te oracle ki te whakakore i te kaha ki te whakamahi ano i te R ki te haina i nga karere kaiwhakamahi rereke. Arā, ahakoa he raweke, he mahi pokanoa ranei, ka raru tonu te oracle ki te ngaro i tana kii motuhake.

I te katoa, me whakarato e te oracle nga mahi e rua ki nga kaiwhakamahi: arataki, e whakatika ana i te uara R, me te hainatanga, e whakahoki ana i te uara S. I tenei keehi, ko te takirua R, S ko te waitohu manatoko o te karere a te kaiwhakamahi kei roto i te mea pumau. uara R me nga raraunga kaiwhakamahi noa.

Ka taea te tautohetohe ko tenei kaupapa mo te poraka he mea noa ake kaupapa tuku-whakawhanui. Ko te tikanga, ae, ko ia. Engari he maha nga nuances. Tuatahi, he rite tonu te mahi a te oracle i roto i nga mahi katoa, hei tauira, he pai ki te whakamahi i roto i nga kirimana. Tuarua, he tupono kei te ngaro te taviri tūmataiti e te oracle ki te he te mahi, hei tauira, ka taea e te oracle te hanga tauira o te hua, katahi ka nui ki te mahi kia rua noa nga whakamatautau kia kitea ai te ki motuhake me te whiwhi ki tonu. uru ki te putea. Tuatoru, he tino ataahua te hainatanga ka taea te manatoko i runga i te poraka me te putake ohorere.

Mo nga marama e ono ka pupuhi te whakaaro o te whakatinanatanga i roto i toku mahunga, tae noa ki te mutunga ka puta mai te hihiri ki te ahua he tahua na Waves Labs. Ma te nui o te tahua ka tae mai te kawenga nui, no reira ka noho te kaupapa!

Реализация

Na, i roto i tenei kaupapa I whakatinanahia a VECRO i runga i te Waves poraka i roto i te aratau tono-whakautu ma te whakamahi i nga whakawhitinga whakawhiti i waenga i te kaiwhakamahi me te oracle. I te wa ano, ka whakauruhia he tuhinga ki runga i te kaute oracle e whakahaere ana i nga mahi kia rite ki te arorau kua whakaahuahia i runga ake nei. Ka whakamanahia nga tauwhitinga Oracle ka whakahokia katoatia te mekameka katoa o te taunekeneke a te kaiwhakamahi. Ko nga tauwhitinga e wha e whai waahi ana ki te manatoko i te uara whakamutunga; ko te kirimana atamai e hono ana ki a raatau me te miro whakaū, tirohia nga uara katoa i ia taahiraa me te kore e waiho he waahi mo tetahi mahi whanoke.

Ano, ki te waiho ki te taha kia marama ake ai. Kare te oracle e mahi noa i runga i te kaupapa kua tohua. Ko ana mahi ka tino whakahaerehia i te taumata poraka e te hunga kua whakapumautia piri ki te kirimana atamai. Haere ki te taha maui ka kore noa e puta te tauwhitinga. Na, ki te whakauruhia he tauwhitinga ki roto i te poraka, kaore te kaiwhakamahi e hiahia ki te tirotiro i tetahi mea; kua tirohia e nga rau o nga node whatunga nga mea katoa mo ia.

I tenei wa, kotahi te VECRO e rere ana i runga i te Waves mainnet (ka taea e koe te whakahaere i a koe ake, ehara i te mea uaua, engari titiro ki te tauira whirihoranga). Ko te waehere o naianei kei te PHP (i runga WavesKit, mo tera I korero ahau ki a koe i mua).

Hei whakamahi i te ratonga oracle me:

  • Whakatika R;
    • Tukuna kia 0.005 nga Ngaru ki te oracle alias init@vecr;
    • Whiwhi i te R-waehere i roto i te mara taapiri i roto i te whakawhitinga o te 1 tohu R-vecr mai i te oracle ki te kaiwhakamahi;
  • Tikina he hainatanga;
    • Tukuna kia 0.005 nga Ngaru ki te oracle alias random@vecr, me tohu hoki te tohu-R kua riro i mua me etahi atu raraunga kaiwhakamahi kei roto i te mara taapiri;
    • Whiwhi i te S-waehere i roto i te mara taapiri i te whakawhitinga o te tohu 1 S-vecr mai i te oracle ki te kaiwhakamahi;
  • Whakamahia te waehere-S hei puna mo te tau pseudo-tupurangi.

Nga ahuatanga o te whakatinanatanga o naianei:

  • Ko nga ngaru ka tukuna ki te oracle ka whakamahia hei komihana mo te whakahoki mai ki te kaiwhakamahi, tae atu ki te 1 Waves;
  • Ko te Waehere-R te whakakotahitanga o te paita o te ahua 'R' me te uara R 32-paita-papa58-whakawaehere;
  • R-waehere i roto i te āpitihanga kia tuatahi, raraunga kaiwhakamahi mai i muri R-waehere;
  • Ko te Waehere-S te whakakotahitanga o te paita o te ahua 'S' me te uara 32-paita base58-whakawaehere o S;
  • Ko S te hua o te wehenga modulo, no reira kaore e taea e koe te whakamahi S hei tau pseudorandom moka-256 (ka taea te whakaaro ko tenei tau ko te 252-bit mo te pseudorandom tau);
  • Ko te kōwhiringa māmā ko te whakamahi i te hash S-code hei tau pseudo-tupurangi.

Tauira mo te whiwhi S-waehere:

Mai i te tirohanga hangarau, kua tino rite te oracle mo te mahi, ka taea e koe te whakamahi marie. Mai i te tirohanga o te whakamahi a te kaiwhakamahi toharite, he kore he atanga kauwhata watea; me tatari tenei.

Ka koa ahau ki te whakautu i nga patai me te whakaae ki nga korero, ka mihi.

Source: will.com

Tāpiri i te kōrero