A bheil e comasach àireamhan air thuaiream a ghineadh mura h-eil earbsa againn ann an càch a chèile? Pàirt 1

Hi Habr!

San artaigil seo bruidhnidh mi mu ghineadh àireamhan meallta le com-pàirtichean aig nach eil earbsa ann an càch a chèile. Mar a chì sinn gu h-ìosal, tha e gu math sìmplidh gineadair math “cha mhòr” a chuir an gnìomh, ach tha fear fìor mhath duilich.

Carson a bhiodh e riatanach àireamhan air thuaiream a ghineadh am measg chom-pàirtichean aig nach eil earbsa ann an càch a chèile? Is e aon raon tagraidh tagraidhean dì-mheadhanaichte. Mar eisimpleir, chan obraich tagradh a ghabhas ri geall bho chom-pàirtiche agus a dhùblaicheas an t-suim le coltachd 49% no a bheir air falbh le coltachd 51% ach ma gheibh e àireamh air thuaiream gu neo-phàirteach. Mas urrainn do neach-ionnsaigh buaidh a thoirt air toradh gineadair àireamh air thuaiream, agus eadhon àrdachadh beagan air a chothrom air pàigheadh ​​​​a-mach san tagradh, sgriosaidh e e gu furasta.

Nuair a dhealbhaicheas sinn protocol gineadh àireamhan air thuaiream sgaoilte, tha sinn airson gum bi trì feartan aige:

  1. Feumaidh e a bhith neo-chlaonach. Ann am faclan eile, cha bu chòir do chom-pàirtiche sam bith buaidh a thoirt air toradh gineadair àireamhan air thuaiream.

  2. Feumaidh e a bhith neo-fhaicsinneach. Ann am faclan eile, cha bu chòir gum biodh e comasach do chom-pàirtiche sam bith ro-innse dè an àireamh a thèid a chruthachadh (no gin de na feartan aige a thoirt a-steach) mus tèid a chruthachadh.

  3. Feumaidh am protocol a bhith obrachail, is e sin, an aghaidh gu bheil àireamh sa cheud de chom-pàirtichean a’ dì-cheangal bhon lìonra no a’ feuchainn ri stad a chuir air a’ phròtacal a dh’aona ghnothach.

San artaigil seo seallaidh sinn ri dà dhòigh-obrach: RANDAO + VDF agus an dòigh còd sguabaidh às. Anns an ath phàirt, nì sinn sgrùdadh mionaideach air an dòigh-obrach stèidhichte air ainmean stairsnich.

Ach an toiseach, leig dhuinn sùil a thoirt air algairim shìmplidh agus air a chleachdadh gu cumanta a tha so-dhèanta, neo-fhaicsinneach, ach claon.

RANDAO

Tha RANDAO na dhòigh-obrach gu math sìmplidh agus mar sin air a chleachdadh gu cumanta airson a bhith a’ gineadh air thuaiream. Bidh a h-uile com-pàirtiche lìonra a’ taghadh àireamh meallta gu h-ionadail an toiseach, agus an uairsin bidh gach com-pàirtiche a’ cur hash den àireamh taghte. An uairsin, bidh na com-pàirtichean a 'gabhail cothrom mu seach a' nochdadh na h-àireamhan a thagh iad agus a 'coileanadh gnìomhachd XOR air na h-àireamhan a chaidh fhoillseachadh, agus bidh toradh na h-obrach seo mar thoradh air a' phròtacal.

Tha feum air a’ cheum ann a bhith a’ foillseachadh na hashes mus nochd e na h-àireamhan gus nach urrainn don neach-ionnsaigh an àireamh aige a thaghadh às deidh dha àireamhan nan com-pàirtichean eile fhaicinn. Bheireadh seo cothrom dha toradh gineadair àireamhan air thuaiream a dhearbhadh leis fhèin cha mhòr.

Rè a 'phròtacail, feumaidh com-pàirtichean tighinn gu co-dhùnadh cumanta (ris an canar co-aontachd) dà uair: cuin a thòisicheas iad a' nochdadh nan àireamhan taghte, agus mar sin stad air gabhail ri hashes, agus cuin a bu chòir dhaibh stad a chur air gabhail ris na h-àireamhan taghte agus obrachadh a-mach an àireamh air thuaiream a thig às. àireamh. Chan e obair fhurasta ann fhèin a th’ ann a bhith a’ dèanamh cho-dhùnaidhean mar sin eadar com-pàirtichean aig nach eil earbsa ann a chèile, agus tillidh sinn thuige ann an artaigilean san àm ri teachd; anns an artaigil seo gabhaidh sinn ris gu bheil a leithid de algairim co-aontachd ri fhaighinn dhuinn.

Dè de na feartan air an tug sinn cunntas gu h-àrd a tha aig RANDAO? Tha e do-chreidsinneach, tha an aon spionnadh aige ris a’ phròtacal co-aontachd bunaiteach, ach tha e claon. Gu sònraichte, faodaidh neach-ionnsaigh an lìonra fhaicinn, agus às deidh do chom-pàirtichean eile na h-àireamhan aca fhoillseachadh, faodaidh e an XOR aca obrachadh a-mach, agus co-dhùnadh am bu chòir dha an àireamh aige fhoillseachadh gus buaidh a thoirt air a ’bhuil. Ged a tha seo a’ cur casg air an neach-ionnsaigh bho bhith a’ dearbhadh toradh gineadair àireamh air thuaiream leis fhèin, tha e fhathast a’ toirt beagan buaidh dha. Agus ma bhios smachd aig luchd-ionnsaigh air grunn chom-pàirtichean, bidh an àireamh de bhuillean a bhios iad a’ cumail smachd co-ionann ris an àireamh de chom-pàirtichean a tha fo an smachd.

A bheil e comasach àireamhan air thuaiream a ghineadh mura h-eil earbsa againn ann an càch a chèile? Pàirt 1

Faodar buaidh luchd-ionnsaigh a lughdachadh gu mòr le bhith ag iarraidh air com-pàirtichean na h-àireamhan fhoillseachadh ann an òrdugh. An uairsin cha bhith e comasach don neach-ionnsaigh buaidh a thoirt air a ’bhuil ach ma thèid fhosgladh mu dheireadh. Ged a tha a’ bhuaidh gu math nas lugha, tha an algairim fhathast claon.

RANDAO+VDF

Is e seo aon dòigh air RANDAO a dhèanamh neo-chlaonach: às deidh na h-àireamhan gu lèir fhoillseachadh agus an XOR a thomhas, tha an toradh aige air a bhiadhadh a-steach do chuir a-steach gnìomh, a bheir ùine mhòr airson obrachadh a-mach, ach a leigeas leat sgrùdadh a dhèanamh air ceartachd an àireamhachadh gu math luath.

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

Canar gnìomh dàil dearbhaidh no VDF ris a’ ghnìomh seo. Ma bheir obrachadh a-mach an toradh deireannach nas fhaide na an ìre foillseachaidh àireamh, cha bhith e comasach don neach-ionnsaigh ro-innse buaidh a bhith a’ sealltainn no a’ falach an àireamh aige, agus mar sin caillidh e an cothrom buaidh a thoirt air an toradh.

Tha e air leth duilich a bhith a’ leasachadh deagh VDF. Tha grunn leasachaidhean air a bhith ann o chionn ghoirid, m.e. seo и seo, a rinn VDF nas practaigeach ann an cleachdadh, agus tha Ethereum 2.0 an dùil RANDAO a chleachdadh le VDF mar thùs àireamh air thuaiream san fhad-ùine. A bharrachd air an fhìrinn gu bheil an dòigh-obrach seo do-chreidsinneach agus neo-chlaonach, tha buannachd a bharrachd ann a bhith comasach ma tha co-dhiù dithis chom-pàirtichean rim faighinn air an lìonra (a’ gabhail ris gu bheil am protocol co-aontachd comasach nuair a thathar a’ dèiligeadh ri àireamh cho beag de chom-pàirtichean).

Is e an dùbhlan as motha a tha san dòigh-obrach seo a bhith a’ stèidheachadh an VDF gus nach bi eadhon com-pàirtiche le bathar-cruaidh sònraichte daor comasach air an VDF obrachadh a-mach ro dheireadh na h-ìre lorg. Mas fheàrr, bu chòir eadhon iomall sàbhailteachd cudromach a bhith aig an algairim, can 10x. Tha am figear gu h-ìosal a 'sealltainn ionnsaigh le cleasaiche aig a bheil ASIC sònraichte a leigeas leis VDF a ruith nas luaithe na an ùine a chaidh a shònrachadh airson dearbhadh RANDAO fhoillseachadh. Faodaidh an leithid de chom-pàirtiche fhathast an toradh deireannach obrachadh a-mach a 'cleachdadh agus gun a bhith a' cleachdadh an àireamh aige, agus an uairsin, stèidhichte air an àireamhachadh, tagh am bu chòir a shealltainn no nach eil.

A bheil e comasach àireamhan air thuaiream a ghineadh mura h-eil earbsa againn ann an càch a chèile? Pàirt 1

Airson an teaghlach VDF a chaidh ainmeachadh gu h-àrd, faodaidh coileanadh ASIC sònraichte a bhith 100+ tursan nas àirde na bathar-cruaidh àbhaisteach. Mar sin ma mhaireas an ìre foillseachaidh 10 diogan, feumaidh an VDF air a thomhas air ASIC mar sin barrachd air 100 diog a thoirt gus iomall sàbhailteachd 10x a bhith aige, agus mar sin feumaidh an aon VDF air a thomhas air bathar-cruaidh bathar 100x 100 diogan = ~ 3 uairean a ghabhail.

Tha an Ethereum Foundation an dùil an duilgheadas seo fhuasgladh le bhith a’ cruthachadh ASICan an-asgaidh a tha rim faighinn gu poblach. Aon uair ‘s gun tachair seo, faodaidh a h-uile protocol eile brath a ghabhail air an teicneòlas seo, ach gu ruige sin cha bhith an dòigh-obrach RANDAO + VDF cho obrachail airson protocolaidhean nach urrainn tasgadh a dhèanamh ann a bhith a’ leasachadh na ASICn aca fhèin.

Chaidh mòran artaigilean, bhideothan agus fiosrachadh eile mu VDF a chruinneachadh air an làrach seo.

Bidh sinn a’ cleachdadh còdan sguabaidh às

Anns an earrainn seo, seallaidh sinn ri protocol gineadh àireamhan air thuaiream a bhios a’ cleachdadh còdan a sguabadh às. Gabhaidh e suas ri ⅓ luchd-ionnsaigh fhad ‘s a dh’ fhuiricheas e comasach, agus leigidh e suas ri ⅔ luchd-ionnsaigh a bhith ann mus urrainn dhaibh ro-innse no buaidh a thoirt air a’ bhuil.

Tha prìomh bheachd a 'phròtacail mar a leanas. Airson sìmplidh, gabhamaid ris gu bheil dìreach 100 com-pàirtiche ann. Gabhaidh sinn cuideachd ris gu bheil iuchair phrìobhaideach aig a h-uile com-pàirtiche gu h-ionadail, agus gu bheil iuchraichean poblach nan com-pàirtichean uile eòlach air a h-uile com-pàirtiche:

  1. Bidh gach com-pàirtiche gu h-ionadail a’ tighinn suas le sreang fhada, ga bhriseadh ann an 67 pàirtean, a’ cruthachadh còdan sguabaidh às gus 100 earrann fhaighinn gus am bi 67 sam bith gu leòr airson an t-sreang fhaighinn air ais, a’ sònrachadh gach aon de na 100 earrann do aon de na com-pàirtichean, agus gan cuairteachadh le iuchair phoblach an aon chom-pàirtiche. Bidh a h-uile roinn còdaichte an uairsin air fhoillseachadh.

  2. Bidh com-pàirtichean a’ cleachdadh co-aontachd de sheòrsa air choreigin gus aonta a ruighinn mu sheataichean còdaichte bho chom-pàirtichean sònraichte 67.

  3. Aon uair ‘s gu bheil co-aontachd air a ruighinn, bidh gach com-pàirtiche a’ gabhail na h-earrannan còdaichte anns gach aon de na seataichean 67 a tha air an cuairteachadh leis an iuchair phoblach aca, a ’dì-chrioptachadh a h-uile roinn den leithid, agus a’ foillseachadh a h-uile roinn dì-chrioptaichte sin.

  4. Aon uair ‘s gu bheil com-pàirtichean 67 air ceum (3) a chrìochnachadh, faodar a h-uile seata aontaichte a dhì-chòdachadh gu tur agus ath-chruthachadh air sgàth feartan còdan sguabaidh às, agus gheibhear an àireamh mu dheireadh mar XOR de na sreathan tùsail a thòisich na com-pàirtichean ann an (1) .

A bheil e comasach àireamhan air thuaiream a ghineadh mura h-eil earbsa againn ann an càch a chèile? Pàirt 1

Faodar sealltainn gu bheil am pròtacal seo neo-phàirteach agus neo-fhaicsinneach. Tha an àireamh air thuaiream a thig às air a dhearbhadh às deidh co-aontachd a ruighinn, ach chan eil fios aig duine sam bith gus am bi ⅔ de na com-pàirtichean a’ còdachadh na pàirtean air an cuairteachadh leis an iuchair phoblach aca. Mar sin, tha an àireamh air thuaiream air a dhearbhadh mus tèid fiosrachadh gu leòr airson ath-chruthachadh fhoillseachadh.

Dè thachras ma chuir aon de na com-pàirtichean ann an ceum (1) earrannan còdaichte gu na com-pàirtichean eile nach e an còd sguabaidh ceart airson sreang air choireigin? Às aonais atharrachaidhean a bharrachd, cha bhith e comasach dha com-pàirtichean eadar-dhealaichte an t-sreang fhaighinn air ais idir, no gheibh iad air ais diofar shreathan, a bheir air diofar chom-pàirtichean àireamh eile air thuaiream fhaighinn. Gus casg a chuir air seo, faodaidh tu na leanas a dhèanamh: bidh gach com-pàirtiche, a bharrachd air na h-earrannan còdaichte, cuideachd a ’tomhas Craobh Merkla a h-uile earrann den leithid, agus a 'cur a h-uile com-pàirtiche an dà chuid a' chuibhreann a chaidh a chòdachadh fhèin agus freumh na craoibhe merkle, agus dearbhadh gu bheil a 'chuibhreann anns a' chraoibh merkle. Anns a 'cho-aontachd ann an ceum (2), chan e a-mhàin gu bheil na com-pàirtichean ag aontachadh air seata de sheataichean, ach air seata de fhreumhan sònraichte de chraobhan mar sin (ma dh' fhalbh cuid de chom-pàirtiche bhon phròtacal, agus gun do chuir iad freumhan craoibhe eadar-dhealaichte gu diofar chom-pàirtichean, agus tha dà fhreumh den leithid air an sealltainn aig co-aontachd, chan eil an t-sreath aige air a ghabhail a-steach san t-seata toraidh). Mar thoradh air a’ cho-aontachd, bidh 67 loidhnichean còdaichte againn agus freumhan co-fhreagarrach na craoibhe merkle gus am bi co-dhiù 67 com-pàirtichean ann (chan e gu feum an aon fheadhainn a mhol na loidhnichean co-fhreagarrach), aig a bheil airson gach aon de na 67 loidhnichean. teachdaireachd le cuibhreann den chòd sguabaidh às, agus dearbhadh gun do dh’ fhalbh an cuid sa chraobh fhreagarrach.

Nuair a bhios an com-pàirtiche ann an ceum (4) a’ dearbhadh 67 buillean airson sreang sònraichte agus a’ feuchainn ris an t-sreang thùsail ath-chruthachadh bhuapa, tha aon de na roghainnean comasach:

  1. Tha an t-sreang air ath-nuadhachadh, agus ma thèid a chòdachadh le sguabadh às a-rithist, agus a 'chraobh Merkle air a thomhas airson na h-earrannan a chaidh a thomhas gu h-ionadail, tha am freumh a' co-chòrdadh ris an fhear air an deach co-aontachd a ruighinn.

  2. Tha an t-sreath air ath-nuadhachadh, ach chan eil am freumh a chaidh a thomhas gu h-ionadail a 'freagairt ris an fhear aig an deach co-aontachd a ruighinn.

  3. Chan eil an t-sreath air ath-nuadhachadh.

Tha e furasta sealltainn ma thachair roghainn (1) airson co-dhiù aon chom-pàirtiche gu h-àrd, gun do thachair roghainn (1) airson a h-uile com-pàirtiche, agus a chaochladh, ma thachair roghainn (2) no (3) airson co-dhiù aon chom-pàirtiche, an uairsin airson a h-uile com-pàirtiche tachraidh roghainn (2) no (3). Mar sin, airson gach sreath san t-seata, gheibh a h-uile com-pàirtiche air ais e gu soirbheachail, no chan fhaigh a h-uile com-pàirtiche air ais e. Tha an àireamh air thuaiream a thig às an uairsin mar XOR de dìreach na sreathan a b’ urrainn do chom-pàirtichean fhaighinn air ais.

Ainmean-sgrìobhte stairsnich

Is e dòigh eile air thuaiream a bhith a’ cleachdadh ainmean ris an canar stairsnich BLS. Tha na h-aon gheallaidhean aig gineadair àireamh air thuaiream stèidhichte air ainmean stairsnich ris an algairim còd sguabaidh às a chaidh a mhìneachadh gu h-àrd, ach tha àireamh asymptotic gu math nas ìsle de theachdaireachdan air an cur thairis air an lìonra airson gach àireamh a chaidh a chruthachadh.

Is e dealbhadh a th’ ann an ainmean-sgrìobhte BLS a leigeas le grunn chom-pàirtichean aon ainm-sgrìobhte cumanta a chruthachadh airson teachdaireachd. Bidh na h-ainmean-sgrìobhte sin gu tric air an cleachdadh gus àite agus leud-bann a shàbhaladh le bhith gun a bhith ag iarraidh grunn ainmean-sgrìobhte a chuir a-mach. 

Is e tagradh cumanta airson ainmean-sgrìobhte BLS ann am protocolaidhean blockchain, a bharrachd air a bhith a’ gineadh àireamhan air thuaiream, soidhnigeadh bloc ann am protocolaidhean BFT. Canaidh sinn gu bheil 100 com-pàirtiche a’ cruthachadh bhlocaichean, agus thathas den bheachd gu bheil bloc deireannach ma chuireas 67 dhiubh ainm ris. Faodaidh iad uile na pàirtean aca de ainm-sgrìobhte BLS a chuir a-steach agus algorithm co-aontachd a chleachdadh gus aontachadh air 67 dhiubh agus an uairsin an aonachadh ann an aon ainm-sgrìobhte BLS. Faodar pàirtean 67 (no barrachd) sam bith a chleachdadh gus an ainm-sgrìobhte deireannach a chruthachadh, a bhios an urra ri dè an 67 ainm-sgrìobhte a chaidh a chur còmhla agus mar sin faodaidh iad a bhith eadar-dhealaichte, ged a chruthaicheas diofar roghainnean leis na 67 com-pàirtichean ainm-sgrìobhte eadar-dhealaichte, bidh ainm-sgrìobhte sam bith mar sin dligheach. ainm-sgrìobhte airson a’ bhloc. Chan fheum na com-pàirtichean a tha air fhàgail an uairsin ach aon ainm-sgrìobhte fhaighinn gach bloc, an àite 67, thairis air an lìonra, a lughdaicheas gu mòr an luchd air an lìonra.

Tha e a ’tionndadh a-mach ma thèid na h-iuchraichean prìobhaideach a bhios com-pàirtichean a’ cleachdadh a chruthachadh ann an dòigh shònraichte, ge bith dè na 67 ainmean-sgrìobhte (no barrachd, ach gun a bhith nas lugha) a tha air an cruinneachadh, bidh an ainm-sgrìobhte a thig às an aon rud. Faodar seo a chleachdadh mar thùs air thuaiream: bidh com-pàirtichean ag aontachadh an toiseach air teachdaireachd air choreigin a chuireas iad ainm ris (dh’ fhaodadh gur e seo toradh RANDAO no dìreach hash a’ bhloc mu dheireadh, chan eil e gu diofar cho fad ‘s a dh’ atharraicheas e a h-uile turas. agus tha e cunbhalach) agus cruthaich ainm-sgrìobhte BLS air a shon. Bidh toradh a’ ghinealaich do-chreidsinneach gus an toir com-pàirtichean 67 na pàirtean aca seachad, agus às deidh sin tha an toradh air a dhearbhadh ro-làimh agus chan urrainn dha a bhith an urra ri gnìomhan com-pàirtiche sam bith.

Tha an dòigh-obrach seo air thuaiream comasach fhad ‘s a bhios co-dhiù ⅔ de na com-pàirtichean air-loidhne le chèile a’ leantainn a’ phròtacal, agus tha e neo-chlaonach agus neo-fhaicsinneach fhad ‘s a bhios co-dhiù ⅓ de na com-pàirtichean a’ leantainn a ’phròtacail. Tha e cudromach cuimhneachadh gum faod neach-ionnsaigh a bhios a’ cumail smachd air barrachd air ⅓ ach nas lugha na ⅔ de na com-pàirtichean stad a chuir air a’ phròtacal, ach nach urrainn dha ro-innse no buaidh a thoirt air an toradh aige.

Tha ainmean stairsnich fhèin na chuspair air leth inntinneach. Anns an dàrna pàirt den artaigil, nì sinn sgrùdadh mionaideach air mar a tha iad ag obair, agus dè dìreach a tha riatanach gus iuchraichean com-pàirtiche a ghineadh gus an tèid ainmean-sgrìobhte stairsnich a chleachdadh mar ghineadair àireamhan air thuaiream.

Ann an co-dhùnadh

Is e an artaigil seo a’ chiad fhear ann an sreath de artaigilean blog teicnigeach GUN. Tha NEAR na phròtacal blockchain agus àrd-ùrlar airson a bhith a’ leasachadh thagraidhean dì-mheadhanaichte le cuideam air a bhith furasta an leasachadh agus furasta an cleachdadh airson luchd-cleachdaidh deireannach.

Tha an còd protocol fosgailte, tha ar buileachadh sgrìobhte ann an Rust, gheibhear e an seo.

Chì thu cò ris a tha leasachadh airson NEAR coltach agus feuch an dèan thu deuchainn anns an IDE air-loidhne an seo.

Faodaidh tu na naidheachdan gu lèir ann an Ruisis a leantainn aig buidheann teileagram agus a-staigh Buidheann Vkontakte saor an asgaidh, agus ann am Beurla anns an oifigeach twitter.

Chì mi thu a dh 'aithghearr!

Source: www.habr.com

Cuir beachd ann