Nws puas tuaj yeem tsim cov lej sib txawv yog tias peb tsis ntseeg ib leeg? Ntu 1

Hlo Habr!

Nyob rau hauv tsab xov xwm no kuv yuav tham txog tiam ntawm pseudo-random tooj los ntawm cov neeg koom uas tsis ntseeg ib leeg. Raws li peb yuav pom hauv qab no, kev siv lub tshuab hluav taws xob "yuav luag" zoo yog qhov yooj yim heev, tab sis qhov zoo heev yog qhov nyuaj.

Vim li cas nws thiaj li tsim nyog los tsim cov lej ntawm cov neeg koom nrog uas tsis ntseeg ib leeg? Ib cheeb tsam daim ntawv thov yog decentralized daim ntawv thov. Piv txwv li, ib daim ntawv thov uas lees txais qhov thawj koom ruam los ntawm ib tus neeg koom nrog thiab muab ob npaug rau tus nqi nrog 49% qhov tshwm sim lossis tshem tawm nrog 51% qhov tshwm sim tsuas yog ua haujlwm yog tias nws tuaj yeem tsis ncaj ncees tau txais tus lej random. Yog tias tus neeg tawm tsam tuaj yeem cuam tshuam cov txiaj ntsig ntawm lub tshuab hluav taws xob random, thiab txawm tias me ntsis nce nws txoj hauv kev tau txais cov nyiaj them poob haujlwm hauv daim ntawv thov, nws yuav yooj yim ua rau nws puas tsuaj.

Thaum peb tsim ib qho kev faib cov lej tsim cov txheej txheem, peb xav kom nws muaj peb yam khoom:

  1. Nws yuav tsum tsis muaj kev ncaj ncees. Hauv lwm lo lus, tsis muaj tus neeg koom nrog yuav tsum muaj kev cuam tshuam rau qhov tshwm sim ntawm tus lej random generator.

  2. Nws yuav tsum yog unpredictable. Hauv lwm lo lus, tsis muaj tus neeg koom nrog yuav tsum muaj peev xwm kwv yees seb tus lej twg yuav raug tsim tawm (lossis suav ib qho ntawm nws cov khoom) ua ntej nws tsim.

  3. Cov txheej txheem yuav tsum muaj txiaj ntsig, uas yog, tiv taus qhov tseeb tias qee feem pua ​​​​ntawm cov neeg koom cuam cuam tshuam los ntawm lub network lossis txhob txwm sim txwv txoj cai.

Hauv tsab xov xwm no peb yuav saib ob txoj hauv kev: RANDAO + VDF thiab cov lej tshem tawm mus kom ze. Hauv ntu tom ntej, peb yuav tshuaj xyuas kom meej txog txoj hauv kev raws li qhov pib kos npe.

Tab sis ua ntej, cia peb saib ib qho yooj yim thiab feem ntau siv algorithm uas siv tau, tsis paub tseeb, tab sis tsis ncaj ncees.

RANDAO

RANDAO yog ib qho yooj yim heev thiab yog li feem ntau siv txoj hauv kev los tsim kev randomness. Txhua tus neeg koom hauv lub network ua ntej xaiv tus lej pseudorandom, tom qab ntawd txhua tus neeg koom yuav xa ib qho hash ntawm tus lej xaiv. Tom ntej no, cov neeg koom yuav hloov pauv qhia lawv cov lej xaiv thiab ua haujlwm XOR ntawm cov lej qhia, thiab cov txiaj ntsig ntawm qhov haujlwm no dhau los ua qhov tshwm sim ntawm cov txheej txheem.

Cov kauj ruam ntawm kev tshaj tawm cov hashs ua ntej nthuav tawm cov lej yog qhov tsim nyog kom tus neeg tawm tsam tsis tuaj yeem xaiv nws tus lej tom qab nws tau pom cov lej ntawm lwm tus neeg koom. Qhov no yuav tso cai rau nws kom zoo ib leeg-handedly txiav txim siab qhov tso zis ntawm random tooj generator.

Thaum lub sijhawm ua raws li txoj cai, cov neeg koom yuav tsum tuaj rau qhov kev txiav txim siab (hu ua kev pom zoo) ob zaug: thaum twg los pib nthuav tawm cov lej xaiv, thiab yog li ntawd tsis lees txais hashes, thiab thaum twg yuav tsum tsis lees txais cov lej xaiv thiab suav cov txiaj ntsig random. tus lej. Kev txiav txim siab zoo li no ntawm cov neeg koom nrog uas tsis ntseeg ib leeg tsis yog ib txoj haujlwm yooj yim ntawm nws tus kheej, thiab peb yuav rov qab mus rau nws hauv cov ntawv yav tom ntej; hauv tsab xov xwm no peb yuav xav tias qhov kev pom zoo algorithm no muaj rau peb.

Qhov twg ntawm cov khoom peb tau piav saum toj no puas muaj RANDAO? Nws yog unpredictable, muaj qhov tseem ceeb ib yam li cov txheej txheem kev pom zoo, tab sis nws yog kev tsis ncaj ncees. Tshwj xeeb, tus neeg tawm tsam tuaj yeem saib xyuas lub network, thiab tom qab lwm tus neeg koom qhia lawv cov lej, nws tuaj yeem suav lawv XOR, thiab txiav txim siab seb puas yuav qhia nws tus lej los cuam tshuam cov txiaj ntsig. Thaum qhov no tiv thaiv tus neeg tawm tsam los ntawm kev txiav txim siab ib leeg ntawm cov khoom siv hluav taws xob random, nws tseem ua rau nws 1 me ntsis cuam tshuam. Thiab yog tias cov neeg tawm tsam tswj ntau tus neeg koom, ces tus lej ntawm cov khoom uas lawv tswj tau yuav sib npaug rau cov neeg koom nrog lawv tswj.

Nws puas tuaj yeem tsim cov lej sib txawv yog tias peb tsis ntseeg ib leeg? Ntu 1

Kev cuam tshuam ntawm cov neeg tawm tsam tuaj yeem txo qis heev los ntawm kev xav kom cov neeg tuaj koom qhia cov lej hauv kev txiav txim. Tom qab ntawd tus neeg tawm tsam yuav tuaj yeem cuam tshuam qhov tshwm sim tsuas yog tias nws qhib kawg. Txawm hais tias qhov kev cuam tshuam tsawg dua, cov algorithm tseem muaj kev ywj pheej.

RANDAO + VDF

Ib txoj hauv kev ua kom RANDAO tsis ncaj ncees yog qhov no: tom qab txhua tus lej raug nthuav tawm thiab XOR raug suav, nws cov txiaj ntsig tau muab rau hauv cov tswv yim ntawm kev ua haujlwm, uas yuav siv sijhawm ntev heev los xam, tab sis tso cai rau koj los xyuas qhov tseeb ntawm qhov xam sai heev.

(vdf_output, vdf_proof) = VDF_compute(input) // это очень медленно
correct = VDF_verify(input, vdf_output, vdf_proof) // это очень быстро

Txoj haujlwm no hu ua Verifiable Delay Function, lossis VDF. Yog hais tias xam qhov kawg tshwm sim yuav siv sij hawm ntev tshaj li tus naj npawb qhia theem, tus neeg tawm tsam yuav tsis muaj peev xwm kwv yees qhov tshwm sim ntawm kev qhia lossis zais nws tus lej, thiab yog li ntawd nws yuav plam lub sijhawm los cuam tshuam qhov tshwm sim.

Kev tsim VDFs zoo yog qhov nyuaj heev. Tsis ntev los no tau muaj ntau qhov kev hloov pauv, piv txwv li. qhov no и qhov no, uas ua rau VDF siv tau ntau dua hauv kev xyaum, thiab Ethereum 2.0 npaj siv RANDAO nrog VDF ua tus lej lej hauv lub sijhawm ntev. Sib nrug los ntawm qhov tseeb tias txoj hauv kev no tsis tuaj yeem kwv yees thiab tsis ncaj ncees, nws muaj qhov txiaj ntsig ntxiv ntawm kev siv tau yog tias tsawg kawg ob tus neeg koom nrog hauv lub network (xav tias qhov kev pom zoo siv tau siv tau thaum cuam tshuam nrog cov neeg koom nrog tsawg tsawg).

Qhov kev sib tw loj tshaj plaws ntawm txoj hauv kev no yog teeb tsa VDF xws li txawm tias tus neeg koom nrog cov khoom siv tshwj xeeb kim heev yuav tsis tuaj yeem suav VDF ua ntej kawg ntawm kev tshawb pom. Qhov zoo tshaj plaws, cov algorithm yuav tsum txawm tias muaj kev nyab xeeb tseem ceeb, hais 10x. Daim duab hauv qab no qhia txog kev tawm tsam los ntawm tus neeg ua yeeb yam uas muaj ASIC tshwj xeeb uas tso cai rau nws khiav VDF sai dua li lub sijhawm faib los qhia RANDAO kev lees paub. Xws li tus neeg tuaj koom tseem tuaj yeem suav cov txiaj ntsig kawg siv lossis tsis siv nws tus lej, thiab tom qab ntawd, raws li kev suav, xaiv seb yuav qhia nws lossis tsis.

Nws puas tuaj yeem tsim cov lej sib txawv yog tias peb tsis ntseeg ib leeg? Ntu 1

Rau tsev neeg VDF tau hais los saum no, kev ua tau zoo ntawm ASIC muaj peev xwm ua tau 100+ lub sij hawm siab dua li cov khoom siv kho vajtse. Yog li yog tias lub sijhawm xa tawm kav ntev li 10 vib nas this, ces VDF suav nrog ASIC yuav tsum siv sijhawm ntau dua 100 vib nas this kom muaj 10x kev nyab xeeb, thiab yog li tib VDF suav ntawm cov khoom siv kho vajtse yuav tsum siv 100x 100 vib nas this = ~ 3 teev.

Ethereum Foundation npaj los daws qhov teeb meem no los ntawm kev tsim nws tus kheej rau pej xeem, pub dawb ASICs. Thaum qhov no tshwm sim, tag nrho lwm cov txheej txheem kuj tseem tuaj yeem ua kom zoo dua ntawm cov thev naus laus zis no, tab sis txog thaum ntawd RANDAO + VDF txoj hauv kev yuav tsis muaj txiaj ntsig zoo rau cov txheej txheem uas tsis tuaj yeem nqis peev los tsim lawv tus kheej ASICs.

Ntau cov ntawv, yeeb yaj kiab thiab lwm yam ntaub ntawv hais txog VDF tau raug sau rau qhov chaw no.

Peb siv erasure codes

Nyob rau hauv seem no, peb yuav saib ib tug random tooj tiam raws tu qauv uas siv tshem cov lis dej num. Nws tuaj yeem zam tau txog ⅓ tus neeg tawm tsam thaum tseem muaj peev xwm, thiab tso cai rau ⅔ tus neeg tawm tsam kom muaj nyob ua ntej lawv tuaj yeem kwv yees lossis cuam tshuam qhov tshwm sim.

Lub tswv yim tseem ceeb ntawm cov txheej txheem yog raws li nram no. Rau qhov yooj yim, cia peb xav tias muaj 100 tus neeg koom. Cia peb tseem xav tias txhua tus neeg koom hauv zos muaj qee tus yuam sij ntiag tug, thiab cov yuam sij pej xeem ntawm txhua tus neeg koom tau paub rau txhua tus neeg koom nrog:

  1. Txhua tus neeg koom nrog hauv zos tuaj nrog txoj hlua ntev, tawg rau hauv 67 qhov chaw, tsim cov lej tshem tawm kom tau 100 qhov sib koom xws li tias ib qho 67 txaus los rov qab txoj hlua, muab txhua qhov ntawm 100 shares rau ib tus neeg koom, thiab encrypts lawv nrog tib tus neeg koom nrog tus yuam sij pej xeem. Tag nrho cov encoded shares yog ces luam tawm.

  2. Cov neeg koom siv qee yam kev pom zoo kom ncav cuag qhov kev pom zoo ntawm cov txheej txheem los ntawm 67 tus neeg koom.

  3. Thaum qhov kev pom zoo tau mus txog, txhua tus neeg koom nrog siv qhov sib koom ua ke hauv txhua qhov ntawm 67 cov txheej txheem encrypted nrog lawv cov yuam sij rau pej xeem, decrypts tag nrho cov kev sib koom, thiab tshaj tawm tag nrho cov decrypted shares.

  4. Thaum 67 tus neeg koom ua tiav cov kauj ruam (3), tag nrho cov kev pom zoo tuaj yeem txiav txim siab thiab rov tsim kho dua vim yog cov khoom ntawm cov lej tshem tawm, thiab tus lej kawg tuaj yeem tau txais los ua XOR ntawm thawj kab uas cov neeg koom nrog pib hauv (1) .

Nws puas tuaj yeem tsim cov lej sib txawv yog tias peb tsis ntseeg ib leeg? Ntu 1

Cov txheej txheem no tuaj yeem pom tau tias tsis muaj kev ncaj ncees thiab tsis muaj kev cia siab. Tus naj npawb random tau txiav txim siab tom qab kev pom zoo tau mus txog, tab sis tsis paub rau leej twg kom txog rau thaum ⅔ ntawm cov neeg koom txiav txim siab qhov chaw encrypted nrog lawv tus lej pej xeem. Yog li, tus lej random tau txiav txim siab ua ntej cov ntaub ntawv txaus los tsim kho nws luam tawm.

Yuav ua li cas yog hais tias nyob rau hauv kauj ruam (1) ib tug ntawm cov neeg koom tau xa encoded shares rau lwm tus neeg koom uas tsis yog tus erasure code rau ib co hlua? Yog tias tsis muaj kev hloov pauv ntxiv, cov neeg koom nrog sib txawv yuav tsis tuaj yeem rov qab tau txoj hlua txhua, lossis lawv yuav rov qab tau cov hlua sib txawv, uas yuav ua rau cov neeg koom nrog sib txawv tau txais tus lej sib txawv. Txhawm rau tiv thaiv qhov no, koj tuaj yeem ua cov hauv qab no: txhua tus neeg koom nrog, ntxiv rau qhov sib koom ua ke, kuj suav nrog tsob ntoo Merkla tag nrho cov kev sib koom no, thiab xa txhua tus neeg koom nrog ob qho kev sib koom ua ke ntawm nws tus kheej thiab cov hauv paus ntawm tsob ntoo merkle, thiab cov pov thawj ntawm kev koom nrog hauv cov ntoo merkle. Hauv kev pom zoo hauv kauj ruam (2), cov neeg koom nrog tsis yog tsuas yog pom zoo rau cov txheej txheem, tab sis ntawm cov hauv paus tshwj xeeb ntawm cov ntoo zoo li no (yog tias qee tus neeg koom nrog sib txawv ntawm cov txheej txheem, thiab xa cov cag ntoo merkle sib txawv rau cov neeg koom nrog sib txawv, thiab ob lub hauv paus zoo li no tau qhia thaum pom zoo, nws cov kab tsis suav nrog hauv cov txiaj ntsig tau teeb tsa). Raws li qhov kev pom zoo, peb yuav muaj 67 cov kab sib txuas thiab cov hauv paus ntsiab lus ntawm cov ntoo merkle xws li muaj tsawg kawg yog 67 tus neeg koom (tsis tas yuav yog tib cov uas tau thov cov kab sib txuas), uas rau txhua tus ntawm 67 kab muaj. ib cov lus nrog ib feem ntawm lub erasure code, thiab ib tug pov thawj qhov tshwm sim ntawm lawv feem nyob rau hauv cov ntoo coj faded.

Thaum nyob rau hauv cov kauj ruam (4) cov neeg koom tes deciphers 67 ntaus rau ib tug tej txoj hlua thiab sim reconstruct tus thawj hlua los ntawm lawv, ib qho ntawm cov kev xaiv yog ua tau:

  1. Cov hlua tau rov qab los, thiab yog tias nws yog tom qab ntawd tshem tawm-encoded dua, thiab tsob ntoo Merkle raug xam rau cov kev suav hauv zos, lub hauv paus coincides nrog rau qhov kev pom zoo tau mus txog.

  2. Cov kab rov qab, tab sis lub hauv paus xam hauv zos tsis sib xws rau qhov kev pom zoo tau mus txog.

  3. Cov kab tsis rov qab los.

Nws yog ib qho yooj yim los qhia tias yog kev xaiv (1) tshwm sim rau tsawg kawg ib tus neeg koom nrog saum toj no, ces qhov kev xaiv (1) tshwm sim rau txhua tus neeg koom, thiab rov qab, yog tias xaiv (2) lossis (3) tshwm sim rau tsawg kawg ib tus neeg koom, ces rau txhua tus neeg koom kev xaiv (2) lossis (3) yuav tshwm sim. Yog li, rau txhua kab hauv qhov teeb tsa, txhua tus neeg koom yuav ua tiav nws rov qab los, lossis txhua tus neeg koom yuav ua tsis tiav. Qhov tshwm sim random tus lej yog tom qab ntawd XOR ntawm tsuas yog kab uas cov neeg koom tuaj yeem rov qab tau.

Pib kos npe

Lwm txoj hauv kev rau randomness yog siv qhov hu ua BLS qhov pib kos npe. Ib tug random tooj generator raws li qhov pib kos npe muaj raws nraim tib yam guarantees raws li lub erasure code-raws li algorithm piav saum toj no, tab sis muaj ib tug ho txo ​​qis asymptotic xov tooj ntawm cov lus xa nyob rau hauv lub network rau txhua generated tooj.

BLS kos npe yog tus qauv tsim uas tso cai rau ntau tus neeg tuaj koom los tsim ib qho kev kos npe rau cov lus. Cov kos npe no feem ntau yog siv los txuag qhov chaw thiab bandwidth los ntawm tsis tas yuav tsum tau xa ntau qhov kos npe tawm. 

Ib daim ntawv thov rau BLS kos npe hauv blockchain raws tu qauv, ntxiv rau tsim cov lej sib txawv, yog thaiv kev kos npe hauv BFT cov txheej txheem. Cia peb hais tias 100 tus neeg koom tsim cov blocks, thiab ib qho thaiv yog qhov kawg yog tias 67 ntawm lawv kos npe rau nws. Lawv txhua tus tuaj yeem xa lawv qhov chaw ntawm BLS kos npe thiab siv qee qhov kev pom zoo algorithm kom pom zoo rau 67 ntawm lawv thiab tom qab ntawd muab lawv tso rau hauv ib qho BLS kos npe. Txhua qhov 67 (lossis ntau dua) tuaj yeem siv los tsim qhov kos npe zaum kawg, uas yuav nyob ntawm seb qhov twg 67 kos npe tau ua ke thiab yog li ntawd yuav txawv, txawm tias kev xaiv sib txawv los ntawm 67 tus neeg koom yuav tsim ib qho kev kos npe sib txawv, ib qho kev kos npe yuav siv tau. kos npe rau lub block. Cov neeg koom nrog tsuas yog yuav tsum tau txais thiab txheeb xyuas tsuas yog ib qho kos npe rau ib qho thaiv, es tsis txhob 67, hla lub network, uas txo cov load ntawm lub network.

Nws hloov tawm tias yog cov yuam sij ntiag tug uas cov neeg koom siv tau tsim nyob rau hauv ib txoj hauv kev, txawm li cas los xij 67 kos npe (lossis ntau dua, tab sis tsis tsawg) yog sib sau ua ke, qhov tshwm sim kos npe yuav zoo ib yam. Qhov no tuaj yeem siv los ua qhov tsis txaus ntseeg: cov neeg koom ua ntej pom zoo rau qee cov lus uas lawv yuav kos npe (qhov no tuaj yeem yog qhov tso tawm ntawm RANDAO lossis tsuas yog qhov hash ntawm qhov thaiv kawg, nws tsis muaj teeb meem ntev npaum li nws hloov txhua zaus thiab zoo ib yam) thiab tsim BLS kos npe rau nws. Cov txiaj ntsig ntawm tiam yuav tsis tuaj yeem kwv yees kom txog rau thaum 67 tus neeg koom muab lawv cov khoom, thiab tom qab ntawd cov txiaj ntsig tau raug txiav txim siab thiab tsis tuaj yeem nyob ntawm qhov kev ua ntawm ib tus neeg koom nrog.

Qhov kev mus kom ze rau randomness no siv tau ntev npaum li qhov tsawg kawg ⅔ ntawm cov neeg koom hauv online ob leeg ua raws li txoj cai, thiab tsis muaj kev ncaj ncees thiab tsis tuaj yeem kwv yees ntev npaum li qhov tsawg kawg ⅓ ntawm cov neeg koom ua raws li txoj cai. Nws yog ib qho tseem ceeb uas yuav tsum nco ntsoov tias tus neeg tawm tsam uas tswj hwm ntau dua ⅓ tab sis tsawg dua ⅔ ntawm cov neeg tuaj koom tuaj yeem tso tseg txoj cai, tab sis tsis tuaj yeem kwv yees lossis cuam tshuam nws cov txiaj ntsig.

Qhov pib kos npe lawv tus kheej yog ib lub ntsiab lus nthuav dav heev. Hauv ntu thib ob ntawm tsab xov xwm, peb yuav txheeb xyuas kom meej tias lawv ua haujlwm li cas, thiab qhov yuav tsum tau ua raws nraim li cas los tsim cov neeg koom nrog cov yuam sij kom qhov pib kos npe tuaj yeem siv los ua tus lej random.

Nyob rau hauv xaus

Qhov tsab xov xwm no yog thawj zaug nyob rau hauv ib tug series ntawm technical blogs NEJ PAUB. NEAR yog blockchain raws tu qauv thiab lub platform rau kev tsim cov ntawv thov kev ncaj ncees nrog rau qhov tseem ceeb ntawm kev txhim kho yooj yim thiab yooj yim ntawm kev siv rau cov neeg siv kawg.

Txoj cai tswjfwm tau qhib, peb qhov kev siv yog sau rau hauv Rust, nws tuaj yeem pom S, SѓS,.

Koj tuaj yeem pom qhov kev txhim kho rau NEAR zoo li cas thiab sim hauv online IDE no.

Koj tuaj yeem ua raws tag nrho cov xov xwm hauv Lavxias ntawm pawg telegram thiab nyob rau hauv pab pawg ntawm VKontakte, thiab nyob rau hauv lus Askiv nyob rau hauv lub official twitter.

Pom koj sai sai!

Tau qhov twg los: www.hab.com

Ntxiv ib saib