Random oracle raws li digital kos npe hauv blockchain

Los ntawm lub tswv yim mus rau kev siv: peb hloov kho qhov uas twb muaj lawm elliptic nkhaus digital kos npe lub tswv yim kom nws txiav txim siab, thiab raws li nws peb muab kev ua haujlwm kom tau txais pseudo-random tus lej pov thawj hauv blockchain.

Random oracle raws li digital kos npe hauv blockchain

Lub tswv yim

Thaum lub caij nplooj zeeg xyoo 2018, Waves blockchain suav nrog thawj cov ntawv cog lus ntse qhib qhib, cov lus nug tam sim ntawd tshwm sim txog qhov tau txais pseudorandom zauvuas koj tso siab tau.

Puzzling dhau lo lus nug no, thaum kawg kuv tuaj txog qhov xaus: ib qho blockchain yog lub xov tooj ntawm tes; nws yog tsis yooj yim sua kom tau txais ib qho kev ntseeg siab ntawm entropy hauv lub kaw lus kaw.

Tab sis kuv tseem nyiam ib lub tswv yim: yog random oracle yuav kos npe rau cov neeg siv cov ntaub ntawv nrog kev txiav txim siab algorithm, tom qab ntawd tus neeg siv yuav ib txwm muaj peev xwm txheeb xyuas qhov kev kos npe siv tus yuam sij pej xeem, thiab yuav paub tseeb tias qhov txiaj ntsig tau tshwj xeeb. Lub oracle, txawm nyuaj npaum li cas nws xav tau, tsis muaj peev xwm hloov tau dab tsi; lub algorithm ua rau qhov tshwm sim tsis meej. Qhov tseem ceeb, tus neeg siv sau cov txiaj ntsig, tab sis tsis paub txog nws kom txog thaum lub oracle luam tawm nws. Nws hloov tawm tias koj tsis tuaj yeem ntseeg lub oracle txhua, tab sis xyuas qhov tshwm sim ntawm nws txoj haujlwm. Tom qab ntawd, nyob rau hauv cov ntaub ntawv ntawm kev ua tiav kev pov thawj, xws li kos npe tuaj yeem suav tias yog qhov chaw ntawm entropy rau tus lej pseudorandom.

Lub Waves blockchain platform siv lub tswv yim kos npe EdDSA kev xaiv ed25519 ua. Nyob rau hauv cov tswv yim no, kos npe muaj qhov tseem ceeb R thiab S, qhov twg R nyob ntawm tus nqi random, thiab S yog xam raws li cov lus tau kos npe, tus yuam sij ntiag tug thiab tib tus lej random li R. Nws hloov tawm tias tsis muaj qhov tshwj xeeb dependence rau tib yam Muaj ntau yam kos npe siv tau rau tus neeg siv cov lus.

Pom tseeb, hauv nws daim ntawv dawb huv, xws li kos npe tsis tuaj yeem siv los ua qhov chaw ntawm tus lej pseudo-random, vim nws tsis yog kev txiav txim siab thiab, yog li ntawd, tuaj yeem yooj yim los ntawm oracle.

Tab sis, raws li nws tau muab tawm, nws yog qhov ua tau los ua kom nws txiav txim siab.

Kuv muaj kev cia siab zoo rau Verifiable Random Function (VRF), tab sis tom qab kawm txog kho vajtse, kuv yuav tsum tso tseg qhov kev xaiv no. Txawm hais tias VRF muaj qhov kev txiav txim siab ntawm qhov kos npe thiab nws cov ntaub ntawv pov thawj, muaj qhov chaw coj txawv txawv hauv cov txheej txheem uas qhib lub qhov dub rau kev tswj hwm ntawm lub oracle. Namely, thaum xam tus nqi ntawm k (ntu 5.1) tus yuam sij ntiag tug yog siv, uas tseem tsis tau paub rau tus neeg siv, uas txhais tau hais tias tus neeg siv tsis tuaj yeem txheeb xyuas qhov tseeb ntawm kev suav ntawm k, uas txhais tau hais tias lub oracle tuaj yeem siv txhua tus nqi ntawm k nws xav tau thiab tib lub sijhawm khaws cov ntaub ntawv ntawm kev sib tham. ntawm k thiab kos npe cov ntaub ntawv nyob rau hauv thiaj li yuav ib txwm muaj peev xwm rov xam cov txiaj ntsig uas yog los ntawm qhov pom ntawm VRF . Yog tias koj pom daim duab kos raws li VRF yam tsis tau nthuav tawm tus yuam sij ntiag tug, koj tuaj yeem ua tau ntse: qhia qhov xav tau los nthuav qhia tus yuam sij, lossis tshem tawm nws los ntawm kev suav ntawm k, ces tus yuam sij ntiag tug yuav cia li tshwm sim thaum thawj kos npe tshwm. . Nyob rau hauv dav dav, raws li twb tau hais, ib tug coj txawv txawv tswvyim rau ib tug random oracle.

Tom qab me ntsis kev xav thiab sau npe kev txhawb nqa ntawm cov kws tshuaj ntsuam hauv zos, VECRO txoj haujlwm tau yug los.

VECRO yog ib lo lus luv luv rau Verifiable Elliptic Curve Random Oracle, uas nyob rau hauv Lavxias teb sab txhais tau tias random oracle ntawm elliptic nkhaus.

Txhua yam ua tau yooj yim heev; kom ua tiav kev txiav txim siab, koj yuav tsum kho tus nqi ntawm R ua ntej cov lus yuav tsum tau kos npe tshwm. Yog tias R tau cog lus thiab yog ib feem ntawm cov lus tau kos npe, uas ntxiv kom ntseeg tau tias R tau cog lus rau hauv cov lus tau kos npe, tus nqi ntawm S yog qhov tshwj xeeb txiav txim siab los ntawm tus neeg siv cov lus thiab yog li ntawd tuaj yeem siv los ua cov lej pseudorandom.

Hauv cov tswv yim zoo li no, nws tsis muaj teeb meem li cas R tau kho; qhov no tseem yog lub luag haujlwm ntawm lub oracle. Nws yog ib qho tseem ceeb uas S yog qhov tshwj xeeb txiav txim los ntawm tus neeg siv, tab sis nws tus nqi tsis paub txog kom txog thaum lub oracle luam tawm nws. Txhua yam peb xav tau!

Hais txog qhov ruaj R, nco ntsoov tias reused R thaum kos npe rau ntau yam lus, nws txawv txawv qhia tus yuam sij ntiag tug hauv EdDSA lub tswv yim. Nws dhau los ua ib qho tseem ceeb heev rau tus tswv ntawm lub oracle kom tshem tawm qhov ua tau rov qab siv R los kos npe rau cov neeg siv cov lus sib txawv. Ntawd yog, nrog kev tswj hwm lossis kev sib koom ua ke, lub oracle yuav pheej hmoo poob nws tus yuam sij ntiag tug.

Nyob rau hauv tag nrho, lub oracle yuav tsum muab cov neeg siv nrog ob lub luag haujlwm: pib, uas kho tus nqi R, thiab kos npe, uas rov qab tus nqi S. Nyob rau hauv rooj plaub no, khub R, S yog qhov kev txheeb xyuas ib txwm kos npe ntawm tus neeg siv cov lus uas muaj qhov ruaj khov. tus nqi R thiab arbitrary neeg siv cov ntaub ntawv.

Nws tuaj yeem sib cav tias cov tswv yim no rau blockchain tsis muaj dab tsi ntau tshaj li qhov qub commit-expand scheme. Qhov tseem ceeb, yog, nws yog nws. Tab sis muaj ob peb nuances. Ua ntej, lub oracle ib txwm ua haujlwm nrog tib tus yuam sij hauv txhua qhov haujlwm, piv txwv li, qhov no yooj yim siv hauv kev cog lus. Qhov thib ob, muaj kev pheej hmoo ntawm lub oracle poob tus yuam sij ntiag tug yog tias nws coj tsis raug, piv txwv li, lub oracle tso cai rau koj ua cov qauv ntawm qhov tshwm sim, ces nws yog txaus los ua ob qhov kev ntsuam xyuas kom pom tus yuam sij ntiag tug thiab tau txais tag nrho. nkag mus rau lub hnab nyiaj. Thib peb, ib qho kev kos npe uas yog ib txwm paub tseeb ntawm blockchain thiab yog qhov chaw ntawm randomness yog qhov zoo nkauj.

Rau rau lub hlis lub tswv yim ntawm kev siv simmered nyob rau hauv kuv lub taub hau, mus txog rau thaum kawg kev txhawb siab tshwm sim nyob rau hauv daim ntawv. nyiaj pab los ntawm Waves Labs. Nrog rau qhov nyiaj pab loj los ua lub luag haujlwm loj, yog li qhov project yuav nyob ntawd!

Kev siv

Yog li, hauv qhov project no VECRO tau ua tiav ntawm Waves blockchain hauv hom kev thov teb siv kev hloov pauv ntawm tus neeg siv thiab oracle. Nyob rau tib lub sijhawm, ib tsab ntawv raug ntsia rau ntawm tus account oracle uas tswj kev ua haujlwm nruj me ntsis raws li cov lus piav qhia saum toj no. Kev hloov pauv Oracle raug txheeb xyuas thiab tag nrho cov saw hlau ntawm cov neeg siv kev sib cuam tshuam tau rov qab los. Tag nrho plaub qhov kev lag luam tau koom nrog hauv kev txheeb xyuas tus nqi kawg; cov ntawv cog lus ntse ua rau lawv ua ke nrog cov ntaub ntawv pov thawj nruj, xyuas tag nrho cov txiaj ntsig ib kauj ruam thiab tawm hauv tsis muaj chaw rau kev tswj hwm.

Ib zaug ntxiv, muab tso tseg thiab ua kom pom tseeb. Lub oracle tsis tsuas yog ua haujlwm raws li lub tswv yim npaj. Nws txoj haujlwm yog tswj hwm tag nrho ntawm qib blockchain los ntawm kev tsim nruj nrog daim ntawv cog lus ntse. Kauj ruam mus rau sab laug thiab kev lag luam yooj yim yuav tsis dhau mus. Yog li, yog tias kev lag luam suav nrog hauv blockchain, tus neeg siv tsis tas yuav kuaj dab tsi; ntau pua lub network nodes twb tau kuaj txhua yam rau nws.

Tam sim no, muaj ib qho VECRO khiav ntawm Waves mainnet (koj tuaj yeem khiav koj tus kheej, nws tsis yooj yim, tsuas yog saib ntawm qhov piv txwv configuration). Tus lej tam sim no khiav hauv PHP (on WavesKit, hais txog qhov twg Kuv hais rau koj ua ntej lawm).

Txhawm rau siv qhov kev pabcuam oracle koj yuav tsum:

  • Kho R;
    • Xa tsawg kawg yog 0.005 Wave rau oracle alias init@vecr;
    • Tau txais R-code hauv qhov txuas txuas hauv kev hloov pauv ntawm 1 R-vecr token los ntawm oracle rau tus neeg siv;
  • Tau kos npe;
    • Xa tsawg kawg yog 0.005 Wave mus rau oracle alias random@vecr, thiab tseem YUAV TSUM qhia cov R-code yav dhau los thiab cov ntaub ntawv neeg siv ntxiv hauv qhov txuas;
    • Tau txais S-code hauv qhov txuas txuas hauv kev hloov pauv ntawm 1 S-vecr token los ntawm oracle rau tus neeg siv;
  • Siv S-code ua qhov chaw ntawm pseudo-random tus lej.

Nuances ntawm kev siv tam sim no:

  • Cov nthwv dej xa mus rau lub oracle yog siv los ua haujlwm rau kev xa rov qab rau tus neeg siv, mus txog qhov siab tshaj plaws ntawm 1 Waves;
  • R-code yog concatenation ntawm ib byte ntawm tus cim 'R' thiab 32-byte base58-encoded R tus nqi;
  • R-code hauv kev txuas yuav tsum yog thawj zaug, cov ntaub ntawv neeg siv los tom qab R-code;
  • S-code yog concatenation ntawm ib byte ntawm tus cim 'S' thiab 32-byte base58-encoded tus nqi ntawm S;
  • S yog qhov tshwm sim ntawm modulo faib, yog li koj tsis tuaj yeem siv S raws li tus lej 256-ntsis pseudorandom (tus lej no tuaj yeem suav tias yog qhov siab tshaj plaws ntawm 252-ntsis pseudorandom tus lej);
  • Qhov kev xaiv yooj yim tshaj plaws yog siv S-code hash ua tus lej pseudo-random.

Piv txwv ntawm kev txais S-code:

Los ntawm ib qho kev pom zoo, lub oracle tau npaj txhij rau kev ua haujlwm, koj tuaj yeem siv nws yam xyuam xim. Los ntawm qhov pom ntawm kev siv los ntawm cov neeg siv nruab nrab, tsis muaj qhov yooj yim graphical interface; qhov no yuav tsum tau tos.

Kuv yuav zoo siab teb cov lus nug thiab lees txais cov lus, ua tsaug.

Tau qhov twg los: www.hab.com

Ntxiv ib saib