Oracle random dabere na mbinye aka dijitalụ na blockchain

Site n'echiche ruo na mmejuputa iwu: anyị na-agbanwe atụmatụ mbinye aka dijitalụ nke elliptik dị ugbu a ka ọ bụrụ nke na-ekpebi ihe, dabere na ya, anyị na-enye ọrụ maka ịnweta ọnụọgụ pseudo-random nke a na-enyocha n'ime blockchain.

Oracle random dabere na mbinye aka dijitalụ na blockchain

Echiche

N'oge mgbụsị akwụkwọ nke 2018, ihe mgbochi Waves gụnyere mbụ smart contracts arụ ọrụ, ajụjụ ahụ bilitere ozugbo banyere ohere ịnweta nọmba pseudorandomna ị nwere ike ịtụkwasị obi.

Na-agbagwoju anya ajụjụ a, emechara m bịa na nkwubi okwu: blockchain ọ bụla bụ cell, ọ gaghị ekwe omume ịnweta isi iyi nke entropy a tụkwasịrị obi na usoro mechiri emechi.

Mana otu echiche ka masịrị m: ọ bụrụ random okwu ga-abanye data onye ọrụ na algọridim deterministic, mgbe ahụ onye ọrụ ga-enwe ike mgbe niile iji nyochaa mbinye aka dị otú ahụ site na iji igodo ọha, ma jide n'aka na uru na-esi na ya pụta bụ ihe pụrụ iche. Oracle, n'agbanyeghị otú ọ siri sie ike, enweghị ike ịgbanwe ihe ọ bụla; N'ụzọ bụ isi, onye ọrụ na-edekọ nsonaazụ ya, mana ọ maghị ya ruo mgbe okwu ọnụ na-ebipụta ya. Ọ na-apụta na ị nweghị ike ịtụkwasị obi n'ọnụ ma ọlị, mana lelee nsonaazụ nke ọrụ ya. Mgbe ahụ, ọ bụrụ na nkwenye na-aga nke ọma, enwere ike iwere ụdị mbinye aka dị ka isi iyi nke entropy maka nọmba pseudorandom.

The Waves blockchain ikpo okwu na-eji atụmatụ mbinye aka EdDSA nhọrọ Ed25519. N'ime atụmatụ a, mbinye aka nwere ụkpụrụ R na S, ebe R na-adabere na uru efu, na S na-agbakọ dabere na ozi a na-edebanye aha, igodo nzuzo na otu nọmba random dị ka R. Ọ tụgharịrị na nke ahụ. enweghị ndabere pụrụ iche maka otu ahụ Enwere ọtụtụ mbinye aka dị mma maka ozi onye ọrụ.

N'ụzọ doro anya, n'ụdị ya dị ọcha, a pụghị iji mbinye aka dị otú ahụ mee ihe dị ka isi iyi nke ọnụ ọgụgụ pseudo-random, ebe ọ bụ na ọ dịghị ekpebi ma, ya mere, enwere ike iji ya mee ihe ngwa ngwa.

Ma, dị ka ọ tụgharịrị, ọ ga-ekwe omume n'ezie ime ka ọ bụrụ ihe na-ekpebi ihe.

Enwere m nnukwu olile anya arụrụ arụrụ arụrụ (VRF), ma mgbe m mụsịrị ngwaike, aghaghị m ịhapụ nhọrọ a. Ọ bụ ezie na VRF na-enye nsụgharị deterministic nke mbinye aka na ihe akaebe ya, enwere ebe dị ịtụnanya na algọridim nke na-emepe oghere ojii maka ịmegharị okwu. Ya bụ, mgbe ị na-agbakọ uru nke k (ngalaba 5.1) a na-eji igodo nzuzo eme ihe, nke na-anọgide na-amaghị onye ọrụ, nke pụtara na onye ọrụ enweghị ike ịchọpụta nhazi nke ngụkọta nke k, nke pụtara na ọnụnụ nwere ike iji uru ọ bụla k ọ chọrọ ma n'otu oge ahụ na-edobe nchekwa data nke akwụkwọ ozi. nke k na data bịanyere aka n'akwụkwọ ka ị nwee ike mgbe niile na-agbakọ nsonaazụ ziri ezi site na echiche nke VRF. Ọ bụrụ n’ịhụ eserese dabere na VRF na-egosighi igodo nzuzo, ị nwere ike ịma ihe: gosi mkpa ọ dị ikpughe igodo ahụ, ma ọ bụ wepu ya na ngụkọta nke k, mgbe ahụ igodo nzuzo ga-ekpughe onwe ya ozugbo mgbe mbinye aka mbụ pụtara. . N'ozuzu, dị ka e kwuru, a iju atụmatụ maka random Oracle.

Mgbe obere echiche ma nweta nkwado nke ndị nyocha obodo, a mụrụ atụmatụ ọrụ VECRO.

VECRO bụ mbiri maka Verifiable Elliptic Curve Random Oracle, nke n'asụsụ Rọshịa pụtara nkwenye okwu na-enweghị usoro na akụkụ elliptik.

Ihe niile wee bụrụ ihe dị mfe iji nweta determinism, ịkwesịrị idozi uru nke R tupu ozi a ga-edebanye aha pụtara. Ọ bụrụ na R na-agba mbọ ma bụrụ akụkụ nke ozi a bịanyere aka na ya, nke na-eme ka R na-etinye aka na ozi a na-edebanye aha, uru nke S na-ekpebi n'ụzọ pụrụ iche site na ozi onye ọrụ, ya mere enwere ike iji ya mee ihe maka nọmba pseudorandom.

N'ime atụmatụ dị otú ahụ, ọ dịghị mkpa ka edozi R; nke a na-anọgide na-arụ ọrụ nke ọnụ. Ọ dị mkpa na onye ọrụ na-ekpebi S n'ụzọ pụrụ iche, mana amabeghị uru ọ bara ruo mgbe okwu ọnụ na-ebipụta ya. Ihe niile anyị chọrọ!

Na-ekwu maka ofu R, mara na ejiri R mgbe ị na-edebanye aha ozi dị iche iche, ọ na-egosipụta n'ụzọ pụrụ iche igodo nzuzo na atụmatụ EdDSA. Ọ na-adị ezigbo mkpa ka onye nwe ọnụ okwu wepụ ohere nke iji R iji banye ozi ndị ọrụ dị iche iche. Ya bụ, n'iji aghụghọ ma ọ bụ nkwekọrịta ọ bụla, okwu ọnụ ga-etinye ihe n'ihe ize ndụ mgbe niile ịtufu igodo nzuzo ya.

Na mkpokọta, okwu ọnụ ga-enye ndị ọrụ ọrụ abụọ: mmalite, nke na-edozi uru R, na mbinye aka, nke na-eweghachi uru S. N'okwu a, ụzọ abụọ R, S bụ mbinye aka na-emebu nkwenye nke ozi onye ọrụ nwere ihe edoziri. uru R na data onye ọrụ aka ike.

Enwere ike ịrụ ụka na atụmatụ a maka blockchain abụghị ihe ọzọ karịa nkịtị atụmatụ ịgbasawanye. N'ezie, ee, nke a bụ ya. Ma e nwere ọtụtụ nuances. Mbụ, Oracle na-eji otu igodo na-arụ ọrụ mgbe niile na arụ ọrụ niile, dịka ọmụmaatụ, nke a dabara adaba iji na nkwekọrịta. Nke abuo, enwere ihe ize ndụ nke isi okwu na-efunahụ igodo nzuzo ma ọ bụrụ na ọ na-akpa àgwà na-ezighị ezi, dịka ọmụmaatụ, okwu ọnụ na-enye gị ohere ịme ihe nlele nke nsonaazụ ya, mgbe ahụ, ọ ga-ezuru ịme naanị ule abụọ iji chọpụta igodo nzuzo wee nweta zuru ezu. ịnweta obere akpa. Nke atọ, mbinye aka nke a na-enyocha n'ụzọ nkịtị na blockchain ma bụrụ isi iyi nke enweghị usoro mara mma.

Ruo ọnwa isii echiche nke mmejuputa iwu simmered n'isi m, ruo n'ikpeazụ mkpali pụtara n'ụdị onyinye sitere na Waves Labs. Na nnukwu onyinye na-abịa nnukwu ọrụ, ya mere ọrụ ahụ ga-adị ebe ahụ!

Mmejuputa iwu

Yabụ, n'ọrụ a Emebere VECRO na Waves blockchain na ọnọdụ nzaghachi arịrịọ site na iji azụmahịa mbufe n'etiti onye ọrụ na oracle. N'otu oge ahụ, a na-etinye edemede na akaụntụ Oracle nke na-achịkwa ọrụ ahụ nke ọma dịka ezi uche akọwara n'elu. A na-enyocha azụmahịa Oracle ma weghachite usoro mmekọrịta niile nke onye ọrụ. Azụmahịa anọ niile na-etinye aka na nyochaa uru ikpeazụ ahụ;

Ọzọkwa, idowe ya n'akụkụ ma mee ka ọ dokwuo anya. Oracle anaghị arụ ọrụ naanị dịka atụmatụ a tụrụ anya. A na-achịkwa ọrụ ya kpamkpam na ọkwa blockchain site na ntọala tightly na smart nkwekọrịta. Kwụpụ aka ekpe na azụmahịa ahụ agaghị agabiga. Ya mere, ọ bụrụ na a gụnyere azụmahịa na blockchain, onye ọrụ ahụ adịghịdị mkpa ịlele ihe ọ bụla;

Ugbu a, enwere otu VECRO na-agba ọsọ na Waves mainnet (ị nwere ike ịgba ọsọ nke gị, ọ bụghị ihe siri ike, naanị. lee anya na nhazi ihe atụ). Koodu dị ugbu a na-agba na PHP (na WavesKit, banyere nke Agwara m gị mbụ).

Iji jiri ọrụ oracle ị ga-emerịrị:

  • Idozi R;
    • Zipu opekata mpe 0.005 Waves ka oracle utu aha init@vecr;
    • Nata R-koodu na mpaghara mgbakwunye na ịnyefe 1 R-vecr token site na okwu ọnụ nye onye ọrụ;
  • Nweta mbinye aka;
    • Zipu opekata mpe 0.005 Waves na oracle alias random@vecr, ma ga-egosikwa koodu R-enwetaburu na data njirimara ndị ọzọ na mpaghara mgbakwunye;
    • Nata S-koodu na mpaghara mgbakwunye na ịnyefe 1 S-vecr token site na okwu ọnụ nye onye ọrụ;
  • Jiri S-koodu dị ka isi iyi nke nọmba pseudo-random.

Mmetụta nke mmejuputa iwu ugbu a:

  • A na-eji ebili mmiri ezigara na Oracle dị ka ọrụ maka nkwụghachi azụ azụ nye onye ọrụ, ruo oke 1 Waves;
  • R-koodu bụ njikọ nke byte nke agwa 'R' yana uru R nke 32-byte base58;
  • R-koodu na mgbakwunye kwesịrị ịbụ nke mbụ, data onye ọrụ na-abịa mgbe R-koodu gasịrị;
  • S-koodu bụ njikọ nke byte nke agwa 'S' yana uru 32-byte 58 nwere koodu S;
  • S bụ nsonaazụ nke nkewa modulo, yabụ ị nweghị ike iji S dị ka ọnụọgụ pseudorandom 256-bit zuru oke (ọnụọgụ a nwere ike ịtụle ọnụọgụ pseudorandom 252-bit kacha elu);
  • Nhọrọ kacha mfe bụ iji S-koodu hash dị ka nọmba pseudo-random.

Ọmụmaatụ nke ịnweta koodu S:

Site na echiche teknụzụ, Oracle dị njikere kpamkpam maka ọrụ, ị nwere ike iji ya n'enweghị nsogbu. Site n'echiche nke iji nkezi onye ọrụ, enweghị a adaba graphic interface;

Obi ga-adị m ụtọ ịza ajụjụ na ịnakwere azịza, daalụ.

isi: www.habr.com

Tinye a comment