Awọn nọmba laileto ati awọn nẹtiwọki ti a ti sọtọ: awọn imuse

Ifihan

function getAbsolutelyRandomNumer() {
        return 4; // returns absolutely random number!
}

Gẹgẹ bi pẹlu imọran ti ẹya Egba to lagbara lati cryptography, awọn ilana “ifọwọsi ni gbangba ni gbangba” (eyiti o tẹle PVRB) gbiyanju lati sunmọ bi o ti ṣee si ero pipe, nitori ni awọn nẹtiwọọki gidi kii ṣe iwulo ni fọọmu mimọ rẹ: o jẹ dandan lati gba ni ibamu lori diẹ, ọpọlọpọ awọn iyipo gbọdọ wa, ati pe gbogbo awọn ifiranṣẹ gbọdọ wa ni iyara ni pipe ati jiṣẹ nigbagbogbo. Nitoribẹẹ, eyi kii ṣe ọran ni awọn nẹtiwọọki gidi. Nitorinaa, nigbati o ba n ṣe apẹrẹ awọn PVRB fun awọn iṣẹ ṣiṣe kan pato ni awọn blockchains ode oni, ni afikun si aiṣeeṣe ti iṣakoso laileto abajade ati agbara cryptographic, ọpọlọpọ diẹ sii ti ayaworan ati awọn iṣoro imọ-ẹrọ dide.

Fun PVRB, blockchain funrararẹ jẹ ibaraẹnisọrọ ibaraẹnisọrọ ni eyiti awọn ifiranṣẹ = awọn iṣowo. Eyi n gba ọ laaye lati ṣe arosọ ni apakan lati awọn iṣoro nẹtiwọọki, ti kii ṣe ifijiṣẹ awọn ifiranṣẹ, awọn iṣoro pẹlu middleware - gbogbo awọn eewu wọnyi ni a dawọle nipasẹ nẹtiwọọki ti a ti sọ di mimọ, ati pe iye akọkọ rẹ fun PVRB ni ailagbara lati fagile tabi ba idunadura ti a firanṣẹ tẹlẹ - eyi ṣe ko gba awọn olukopa laaye lati kọ lati kopa ninu ilana naa, ayafi ti wọn ba ṣe ikọlu aṣeyọri lori ipohunpo. Ipele aabo yii jẹ itẹwọgba, nitorinaa PVRB yẹ ki o jẹ sooro si ifọwọsowọpọ nipasẹ awọn olukopa si deede iwọn kanna bi pq blockchain akọkọ. Paapaa, eyi ni imọran pe PVRB gbọdọ jẹ apakan ti ipohunpo ti nẹtiwọọki ba gba lori blockchain akọkọ, paapaa ti o ba tun gba lori iyasọtọ Abajade ododo nikan. Tabi, PVRB nirọrun jẹ ilana iduro ti a ṣe imuse nipasẹ iwe adehun ọlọgbọn ti o ṣiṣẹ ni asynchronously pẹlu ọwọ si blockchain ati awọn bulọọki. Awọn ọna mejeeji ni awọn anfani ati alailanfani wọn, ati yiyan laarin wọn jẹ lalailopinpin kii ṣe bintin.

Awọn ọna meji lati ṣe PVRB

Jẹ ki a ṣe apejuwe ni awọn alaye diẹ sii awọn aṣayan meji fun imuse PVRB - ẹya ti o duro, eyiti o ṣiṣẹ ni lilo adehun ọlọgbọn ti ominira ti blockchain, ati ẹya ti iṣọkan-ipinnu, ti a ṣe sinu ilana naa, ni ibamu si eyiti nẹtiwọọki gba lori blockchain ati awọn lẹkọ lati wa ninu. Ni gbogbo igba, Emi yoo tumọ si awọn ẹrọ blockchain olokiki: Ethereum, EOS, ati gbogbo awọn ti o jọra si wọn ni ọna ti wọn gbalejo ati ilana awọn adehun smart.

Iduroṣinṣin adehun

Ninu ẹya yii, PVRB jẹ adehun ti o gbọn ti o gba awọn iṣowo ti awọn olupilẹṣẹ laileto (lẹhinna tọka si RP), ṣe ilana wọn, ṣajọpọ awọn abajade, ati, bi abajade, de ni iye kan ti olumulo eyikeyi le gba lati inu adehun yii. Iye yii le ma wa ni ipamọ taara ninu iwe adehun, ṣugbọn kuku jẹ aṣoju nipasẹ data nikan lati eyiti ọkan ati iye kan ṣoṣo ti ID abajade le ṣee gba ni ipinnu. Ninu ero yii, awọn RP jẹ awọn olumulo ti blockchain, ati pe ẹnikẹni le gba laaye lati kopa ninu ilana iran.

Aṣayan pẹlu imurasilẹ-adehun dara:

  • gbigbe (awọn adehun le fa lati blockchain si blockchain)
  • irọrun imuse ati idanwo (awọn adehun rọrun lati kọ ati idanwo)
  • wewewe ni imuse awọn ero eto-ọrọ (o rọrun lati ṣe ami ami tirẹ, eyiti ọgbọn rẹ ṣe awọn idi ti PVRB)
  • seese ti ifilọlẹ lori tẹlẹ ṣiṣẹ blockchains

O tun ni awọn alailanfani:

  • awọn idiwọn to lagbara lori awọn orisun iširo, iwọn idunadura ati ibi ipamọ (ni awọn ọrọ miiran, cpu/mem/io)
  • awọn ihamọ lori awọn iṣẹ laarin adehun (kii ṣe gbogbo awọn itọnisọna wa, o nira lati sopọ awọn ile-ikawe ita)
  • ailagbara lati ṣeto fifiranṣẹ ni iyara ju awọn iṣowo lọ ti o wa ninu blockchain

Aṣayan yii dara fun imuse PVRB ti o nilo lati ṣiṣẹ lori nẹtiwọọki ti o wa, ko ni cryptography eka ati ko nilo nọmba nla ti awọn ibaraenisepo.

Ifọkanbalẹ-ṣepọ

Ninu ẹya yii, PVRB ti ṣe imuse ni koodu node blockchain, ti a ṣe sinu tabi nṣiṣẹ ni afiwe pẹlu paṣipaarọ awọn ifiranṣẹ laarin awọn apa blockchain. Awọn abajade ti ilana naa ni a kọ taara sinu awọn bulọọki ti a ṣe, ati pe awọn ifiranṣẹ ilana ni a firanṣẹ lori nẹtiwọọki p2p laarin awọn apa. Niwọn igba ti ilana naa ṣe abajade ni awọn nọmba ti yoo kọ sinu awọn bulọọki, nẹtiwọọki gbọdọ de ipohunpo kan lori wọn. Eyi tumọ si pe awọn ifiranšẹ PVRB, bii awọn iṣowo, gbọdọ jẹ ifọwọsi nipasẹ awọn apa ati ki o wa ninu awọn bulọọki ki alabaṣe nẹtiwọọki eyikeyi le fọwọsi ibamu pẹlu ilana PVRB. Eyi yoo mu wa laifọwọyi si ojutu ti o han gbangba - ti nẹtiwọọki ba gba lori isokan kan nipa bulọọki kan ati awọn iṣowo ninu rẹ, lẹhinna PVRB yẹ ki o jẹ apakan ti ipohunpo, kii ṣe ilana iduro-nikan. Bibẹẹkọ, o ṣee ṣe pe bulọọki kan wulo lati oju wiwo ipohunpo, ṣugbọn ilana PVRB ko tẹle, ati lati oju-ọna PVRB ko le gba bulọki naa. Nitorina ti o ba yan aṣayan "ijọpọ-ifọwọkan", PVRB di apakan pataki ti iṣọkan naa.

Nigbati o ba n ṣapejuwe awọn imuse PVRB ni ipele ifọkanbalẹ nẹtiwọọki, ẹnikan ko le ni ọna eyikeyi yago fun awọn ọran ipari. Ipari jẹ ẹrọ ti a lo ninu awọn ifọkanbalẹ ipinnu ti o tiipa ni bulọọki kan (ati pq ti o yori si) ti o jẹ ipari ati pe kii yoo ju silẹ, paapaa ti orita ti o jọra ba waye. Fun apẹẹrẹ, ni Bitcoin ko si iru ẹrọ bẹ - ti o ba ṣe atẹjade pq kan ti idiju nla, yoo rọpo eyikeyi eka ti o kere ju, laibikita gigun ti awọn ẹwọn. Ati ni EOS, fun apẹẹrẹ, awọn ti o kẹhin ni awọn ohun ti a npe ni Awọn Àkọsílẹ Ireversible Last, eyi ti o han ni apapọ gbogbo awọn bulọọki 432 (12 * 21 + 12 * 15, pre-vote + pre-commit). Ilana yii jẹ pataki ti nduro fun 2/3 ti awọn olupilẹṣẹ Àkọsílẹ (lẹhinna ti a tọka si bi BP) awọn ibuwọlu. Nigbati awọn orita ba han ti o dagba ju LIB ti o kẹhin lọ, wọn jẹ asonu nirọrun. Ilana yii jẹ ki o ṣee ṣe lati ṣe iṣeduro pe idunadura naa wa ninu blockchain ati pe kii yoo yiyi pada, laibikita iru awọn orisun ti ikọlu naa ni. Paapaa, awọn bulọọki ikẹhin jẹ awọn bulọọki ti o fowo si nipasẹ 2/3 BP ni Hyperledger, Tendermint ati awọn ifọkanbalẹ ti o da lori pBFT miiran. Paapaa, o jẹ oye lati ṣe ilana kan fun idaniloju ipari ipari afikun si ipohunpo, nitori o le ṣiṣẹ ni asynchronously pẹlu iṣelọpọ ati titẹjade awọn bulọọki. Eyi ni eyi ti o dara nkan nipa ipari ni Ethereum.

Ipari jẹ pataki pupọ fun awọn olumulo, laisi rẹ le rii ara wọn ni olufaragba ikọlu “ilọpo meji”, nibiti BP “mu” awọn bulọọki, ati ṣe atẹjade wọn lẹhin ti nẹtiwọọki ti “ri” idunadura to dara. Ti ko ba si ipari, lẹhinna orita ti a tẹjade rọpo bulọki naa pẹlu idunadura “dara” pẹlu omiiran, lati orita “buburu”, ninu eyiti awọn owo kanna ti gbe lọ si adirẹsi ikọlu naa. Ninu ọran ti PVRB, awọn ibeere fun ipari paapaa ni okun sii, nitori pe awọn orita fun PVRB tumọ si aye fun ikọlu lati mura ọpọlọpọ awọn aṣayan laileto lati ṣe atẹjade eyi ti o ni ere julọ, ati diwọn akoko ikọlu ti o ṣeeṣe jẹ a ti o dara ojutu.

Nitorinaa, aṣayan ti o dara julọ ni lati darapo PVRB ati ipari sinu ilana kan - lẹhinna bulọọki ti o pari = laileto ti pari, ati pe eyi ni deede ohun ti a nilo lati gba. Bayi awọn ẹrọ orin yoo gba a ẹri ID ni N aaya, ati ki o le mọ daju pe o ti wa ni soro lati fi eerun o pada tabi tun-tun.

Aṣayan iṣọkan-ipinnu dara:

  • O ṣeeṣe ti imuse asynchronous ni ibatan si iṣelọpọ awọn bulọọki - awọn bulọọki ni a ṣe bi o ti ṣe deede, ṣugbọn ni afiwe pẹlu eyi, ilana PVRB le ṣiṣẹ, eyiti ko ṣe agbejade aileto fun gbogbo bulọọki.
  • agbara lati ṣe paapaa cryptography ti o wuwo, laisi awọn ihamọ ti o paṣẹ lori awọn adehun smati
  • agbara lati ṣeto paṣipaarọ awọn ifiranṣẹ yiyara ju awọn iṣowo lọ pẹlu blockchain, fun apẹẹrẹ, apakan ti ilana le ṣiṣẹ laarin awọn apa laisi pinpin awọn ifiranṣẹ lori nẹtiwọọki.

O tun ni awọn alailanfani:

  • Awọn iṣoro ni idanwo ati idagbasoke - iwọ yoo ni lati farawe awọn aṣiṣe nẹtiwọọki, awọn apa sonu, awọn orita lile nẹtiwọọki
  • Awọn aṣiṣe imuse nilo hardfork nẹtiwọki kan

Awọn ọna mejeeji ti imuse PVRB ni ẹtọ si igbesi aye, ṣugbọn imuse lori awọn adehun smati ni awọn blockchains ode oni tun jẹ opin ni awọn orisun iširo, ati eyikeyi iyipada si cryptography to ṣe pataki nigbagbogbo ko ṣeeṣe. Ati pe a yoo nilo cryptography to ṣe pataki, bi yoo ṣe afihan ni isalẹ. Botilẹjẹpe iṣoro yii han gbangba fun igba diẹ, cryptography to ṣe pataki ni awọn adehun nilo lati yanju ọpọlọpọ awọn iṣoro, ati pe o ti farahan ni kutukutu (fun apẹẹrẹ, awọn adehun eto fun zkSNARKs ni Ethereum)

Blockchain, eyiti o pese ikanni fifiranṣẹ sihin ati igbẹkẹle, ko ṣe bẹ ni ọfẹ. Ilana eyikeyi ti a ti sọ di mimọ gbọdọ ṣe akiyesi iṣeeṣe ikọlu Sybil kan; eyikeyi igbese le ṣee ṣe nipasẹ awọn ipa apapọ ti awọn akọọlẹ lọpọlọpọ, nitorinaa, nigbati o ba n ṣe apẹrẹ, o jẹ dandan lati ṣe akiyesi agbara awọn ikọlu lati ṣẹda nọmba lainidii ti ilana. olukopa anesitetiki ni ijumọsọrọ.

PVRB ati dènà awọn oniyipada.

Emi ko purọ nigbati mo wi pe ko si ọkan ti sibẹsibẹ muse kan ti o dara PVRB, idanwo nipa ọpọlọpọ awọn ayo ohun elo, ni blockchains. Idi ti ki o si ni o wa ki ọpọlọpọ awọn ayo ohun elo lori Ethereum ati EOS? Eyi ṣe iyanilẹnu fun mi bi o ṣe jẹ iyanilẹnu fun ọ, nibo ni wọn ti gba ọpọlọpọ awọn laileto “iduroṣinṣin” ni agbegbe ipinnu ipinnu patapata?

Ọna ayanfẹ lati gba aileto ni blockchain ni lati mu iru alaye “airotẹlẹ” lati inu bulọki ki o ṣe ọkan laileto ti o da lori rẹ - nirọrun nipa hashing ọkan tabi diẹ sii awọn iye. Nkan ti o dara nipa awọn iṣoro ti iru awọn igbero nibi. O le mu eyikeyi awọn iye “airotẹlẹ” ninu bulọki, fun apẹẹrẹ, hash Àkọsílẹ, nọmba awọn iṣowo, idiju nẹtiwọọki, ati awọn iye miiran ti a ko mọ tẹlẹ. Lẹhinna hash wọn, ọkan tabi diẹ ẹ sii, ati, ni imọran, o yẹ ki o gba laileto gidi kan. O le paapaa ṣafikun si iwe wihite pe ero rẹ jẹ “aabo lẹhin-kuatomu” (niwọn igba ti awọn iṣẹ hash-ẹri kuatomu wa :)).

Ṣugbọn paapaa awọn hashes to ni aabo lẹhin-kuatomu ko to, alas. Aṣiri naa wa ninu awọn ibeere fun PVRB, jẹ ki n leti wọn lati nkan ti tẹlẹ:

  1. Abajade gbọdọ ni pinpin iṣọkan aṣọ kan, ie jẹ da lori provably lagbara cryptography.
  2. Ko ṣee ṣe lati ṣakoso eyikeyi ninu awọn die-die ti abajade. Bi abajade, abajade ko le ṣe asọtẹlẹ tẹlẹ.
  3. O ko le ba ilana ilana iran jẹ nipasẹ kikopa ninu ilana naa tabi nipa ikojọpọ nẹtiwọọki pẹlu awọn ifiranṣẹ ikọlu
  4. Gbogbo awọn ti o wa loke gbọdọ jẹ sooro si ifọwọsowọpọ ti nọmba iyọọda ti awọn olukopa ilana aiṣootọ (fun apẹẹrẹ, 1/3 ti awọn olukopa).

Ni idi eyi, ibeere 1 nikan ni a pade, ati pe ibeere 2 ko ni ibamu. Nipa hashing awọn iye ti a ko le sọ tẹlẹ lati inu bulọọki, a yoo gba pinpin aṣọ ati awọn laileto to dara. Ṣugbọn BP o kere ju ni aṣayan lati “tẹjade bulọki tabi rara.” Bayi, BP le ni o kere yan lati MEJI awọn aṣayan laileto: "ti ara rẹ" ati awọn ọkan ti yoo tan jade ti o ba ti elomiran ṣe awọn Àkọsílẹ. BP le "snoop" ilosiwaju ohun ti yoo ṣẹlẹ ti o ba ti o nkede a Àkọsílẹ, ati ki o nìkan pinnu lati se o tabi ko. Bayi, nigbati ti ndun, fun apẹẹrẹ,, "ani-odd" tabi "pupa / dudu "ni roulette, o le jade a Àkọsílẹ nikan ti o ba ti o ri a win. Eyi tun jẹ ki ilana lilo, fun apẹẹrẹ, hash block “lati ọjọ iwaju” ko ṣiṣẹ. Ni idi eyi, wọn sọ pe “a yoo lo ID, eyiti o gba nipasẹ hashing data lọwọlọwọ ati hash ti bulọọki ọjọ iwaju pẹlu giga ti, fun apẹẹrẹ, N + 42, nibiti N jẹ giga bulọọki lọwọlọwọ. Eyi n mu ero naa lagbara diẹ, ṣugbọn tun gba BP laaye, botilẹjẹpe ni ọjọ iwaju, lati yan boya lati mu bulọki tabi gbejade.

BP software ninu apere yi di diẹ idiju, sugbon ko Elo. Nìkan, nigbati o ba fọwọsi ati pẹlu idunadura kan ninu bulọki, ṣayẹwo iyara wa lati rii boya bori yoo wa, ati, o ṣee ṣe, yiyan ti awọn aye idunadura kan lati gba iṣeeṣe giga ti bori. Ni akoko kanna, ko ṣee ṣe lati mu BP ọlọgbọn kan fun iru awọn ifọwọyi; ni gbogbo igba ti o le lo awọn adirẹsi tuntun ki o ṣẹgun diẹ diẹ laisi ifura.

Nitorinaa awọn ọna lilo alaye lati bulọki ko dara bi imuse gbogbo agbaye ti PVRB. Ni ẹya ti o lopin, pẹlu awọn ihamọ lori awọn iwọn tẹtẹ, awọn ihamọ lori nọmba awọn oṣere ati / tabi iforukọsilẹ KYC (lati ṣe idiwọ ẹrọ orin kan lati lo awọn adirẹsi lọpọlọpọ), awọn ero wọnyi le ṣiṣẹ fun awọn ere kekere, ṣugbọn ko si diẹ sii.

PVRB ati ifaramo-ifihan.

O dara, o ṣeun si hashing ati pe o kere ju aisọtẹlẹ ibatan ti hash Àkọsílẹ ati awọn oniyipada miiran. Ti o ba yanju iṣoro ti awọn miners ti n ṣiṣẹ iwaju, o yẹ ki o gba nkan ti o dara julọ. Jẹ ki a ṣafikun awọn olumulo si ero yii - jẹ ki wọn tun ni ipa lori aileto: eyikeyi oṣiṣẹ atilẹyin imọ-ẹrọ yoo sọ fun ọ pe ohun ti o dara julọ ni awọn eto IT ni awọn iṣe ti awọn olumulo :)

Ètò òdì kejì, nígbà tí àwọn aṣàmúlò kàn fi àwọn nọ́mbà aṣojú ránṣẹ́ tí àbájáde rẹ̀ bá sì ṣe iṣiro bí, fún àpẹrẹ, hash ti àpao wọn, kò yẹ. Ni idi eyi, ẹrọ orin ti o kẹhin le, nipa yiyan laileto ara rẹ, ṣakoso ohun ti abajade yoo jẹ. Eyi ni idi ti apẹrẹ ifaramọ-ifihan ti a lo pupọ julọ ni lilo. Olukopa akọkọ fi hashes lati wọn ID (ifaramo), ati ki o si ṣii awọn ID ara wọn (ifihan). Ipele “ifihan” bẹrẹ nikan lẹhin ti a ti gba awọn adehun pataki, nitorinaa awọn olukopa le firanṣẹ gangan hash ID lati eyiti wọn firanṣẹ tẹlẹ. Bayi jẹ ki a fi gbogbo eyi papọ pẹlu awọn aye ti bulọọki, ati pe o dara ju ọkan ti a mu lati ọjọ iwaju (aileto le ṣee rii nikan ni ọkan ninu awọn bulọọki iwaju), ati voila - aileto ti ṣetan! Bayi eyikeyi ẹrọ orin ni ipa lori laileto abajade, ati pe o le “ṣẹgun” BP irira nipa didasilẹ pẹlu tirẹ, aimọ ni ilosiwaju, laileto… nipa nilo iye kan lati so pọ si idunadura nigba ṣiṣe - idogo aabo, eyiti yoo pada nikan lakoko ilana iṣafihan. Ni idi eyi, ṣiṣe ati ko ṣe afihan yoo jẹ alailere.

O jẹ igbiyanju ti o dara, ati pe iru awọn ero tun wa ninu awọn ere DApps, ṣugbọn ala, eyi tun ko to. Bayi kii ṣe oniwakusa nikan, ṣugbọn tun eyikeyi alabaṣe ninu ilana le ni agba abajade. O tun ṣee ṣe lati ṣakoso iye funrararẹ, pẹlu iyatọ ti o kere si ati ni idiyele, ṣugbọn, bi ninu ọran ti miner, ti awọn abajade iyaworan ba niyelori diẹ sii ju ọya fun ikopa ninu ilana PVRB, lẹhinna laileto. -producer (RP) le pinnu boya lati fi han ati ki o tun le yan lati o kere ju meji awọn aṣayan laileto.
Ṣugbọn o ṣee ṣe lati jiya awọn ti o ṣe ati pe ko ṣe afihan, ati pe ero yii yoo wa ni ọwọ. Ayedero rẹ jẹ anfani to ṣe pataki - awọn ilana to ṣe pataki diẹ sii nilo awọn iṣiro agbara pupọ diẹ sii.

PVRB ati deterministic ibuwọlu.

Ọna miiran wa lati fi ipa mu RP lati pese nọmba apeso-ID ti ko le ni ipa ti o ba pese pẹlu “iṣaju” - eyi jẹ ibuwọlu ipinnu. Iru ibuwọlu bẹ, fun apẹẹrẹ, RSA, kii ṣe ECS. Ti RP ba ni awọn bọtini meji: RSA ati ECC, ti o ba fowo si iye kan pẹlu bọtini ikọkọ, lẹhinna ninu ọran RSA yoo gba ibuwọlu ỌKAN ATI NIKAN, ati ni ọran ti ECS o le ṣe agbekalẹ nọmba eyikeyi ti o yatọ si wulo ibuwọlu. Eyi jẹ nitori nigbati o ba ṣẹda ibuwọlu ECS kan, nọmba ID kan ni a lo, ti o yan nipasẹ ibuwọlu, ati pe o le yan ni eyikeyi ọna, fifun ẹniti o fowo si ni aye lati yan ọkan ninu awọn ibuwọlu pupọ. Ninu ọran ti RSA: “iye titẹ sii kan” + “bọtini kan bata” = “Ibuwọlu kan”. Ko ṣee ṣe lati ṣe asọtẹlẹ iru ibuwọlu RP miiran yoo gba, nitorinaa PVRB pẹlu awọn ibuwọlu ipinnu ni a le ṣeto nipasẹ apapọ awọn ibuwọlu RSA ti ọpọlọpọ awọn olukopa ti o fowo si iye kanna. Fun apẹẹrẹ, ti tẹlẹ ID. Eto yii ṣafipamọ ọpọlọpọ awọn orisun, nitori awọn ibuwọlu jẹ mejeeji ìmúdájú ti awọn ti o tọ ihuwasi ni ibamu si awọn bèèrè ati orisun kan ti ID.

Sibẹsibẹ, paapaa pẹlu awọn ibuwọlu ipinnu, ero naa tun jẹ ipalara si iṣoro “oṣere ikẹhin”. Alabaṣe kẹhin tun le pinnu boya lati ṣe atẹjade ibuwọlu tabi rara, nitorinaa ṣakoso abajade. O le ṣe atunṣe ero naa, ṣafikun awọn hashes bulọọki si rẹ, ṣe awọn iyipo ki abajade ko le ṣe asọtẹlẹ tẹlẹ, ṣugbọn gbogbo awọn ilana wọnyi, paapaa ni akiyesi ọpọlọpọ awọn iyipada, tun jẹ ki iṣoro naa ko yanju ti ipa ti alabaṣe kan lori apapọ. Abajade ni agbegbe ti ko ni igbẹkẹle ati pe o le ṣiṣẹ nikan labẹ awọn ihamọ eto-ọrọ ati akoko. Ni afikun, iwọn awọn bọtini RSA (1024 ati 2048 die-die) tobi pupọ, ati iwọn fun awọn iṣowo blockchain jẹ paramita pataki pupọ. O han gbangba pe ko si ọna ti o rọrun lati yanju iṣoro naa, jẹ ki a lọ siwaju.

PVRB ati ìkọkọ pinpin Siso

Ni cryptography, awọn ero wa ti o le gba nẹtiwọọki laaye lati gba lori ọkan ati ọkan nikan iye PVRB, lakoko ti iru awọn igbero jẹ sooro si eyikeyi awọn iṣe irira ti diẹ ninu awọn olukopa. Ilana ti o wulo ti o tọ lati mọ ararẹ pẹlu ni ero pinpin aṣiri Shamir. O ṣiṣẹ lati pin aṣiri kan (fun apẹẹrẹ, bọtini ikoko) si awọn ẹya pupọ, ati pinpin awọn ẹya wọnyi si awọn olukopa N. Aṣiri naa pin ni ọna ti awọn ẹya M lati N jẹ to lati gba pada, ati pe iwọnyi le jẹ awọn ẹya M eyikeyi. Ti o ba wa lori awọn ika ọwọ, lẹhinna nini aworan ti iṣẹ aimọ, awọn olukopa ṣe paṣipaarọ awọn aaye lori aworan, ati lẹhin gbigba awọn aaye M, gbogbo iṣẹ le tun pada.
Alaye ti o dara ni a fun ni wiki ṣugbọn ti ndun pẹlu o Oba ni ibere lati mu awọn bèèrè ninu rẹ ori jẹ wulo fun demo oju-iwe.

Ti ero FSSS (Fiat-Shamir Secret Pinpin) ba wulo ni fọọmu mimọ rẹ, yoo jẹ PVRB ti ko ni iparun. Ni ọna ti o rọrun julọ, ilana naa le dabi eyi:

  • Olukuluku alabaṣe n ṣe agbejade laileto tiwọn ati pinpin awọn ipin lati ọdọ rẹ si awọn olukopa miiran
  • Olukuluku alabaṣe ṣafihan apakan rẹ ti awọn aṣiri ti awọn olukopa miiran
  • Ti alabaṣe kan ba ni diẹ sii ju awọn ipin M, lẹhinna nọmba ti alabaṣe yii le ṣe iṣiro, ati pe yoo jẹ alailẹgbẹ, laibikita ṣeto awọn olukopa ti o ṣafihan.
  • Awọn apapo ti han ID ni awọn ti o fẹ PVRB

Nibi, alabaṣe kọọkan ko ni ipa lori awọn abajade ti ilana naa, ayafi ni awọn ọran nibiti aṣeyọri ti ẹnu-ọna ifihan laileto da lori rẹ nikan. Nitorinaa, ilana yii, ti o ba wa ni ipin ti a beere fun awọn RP ti n ṣiṣẹ lori ilana ati pe o wa, ṣiṣẹ, imuse awọn ibeere fun agbara cryptographic, ati pe o ni sooro si iṣoro “oṣere ikẹhin”.

Eyi le jẹ aṣayan pipe, ero PVRB yii ti o da lori pinpin aṣiri Fiat-Shamir jẹ apejuwe fun apẹẹrẹ ni eyi article. Ṣugbọn, gẹgẹbi a ti sọ loke, ti o ba gbiyanju lati lo ori-lori ni blockchain, awọn idiwọn imọ-ẹrọ han. Eyi ni apẹẹrẹ ti imuse idanwo ti ilana ni adehun smart EOS ati apakan pataki julọ - ṣayẹwo alabaṣe ipin ti a tẹjade: koodu. O le rii lati inu koodu pe afọwọsi ẹri nilo ọpọlọpọ awọn isodipupo scalar, ati awọn nọmba ti a lo jẹ nla pupọ. O yẹ ki o loye pe ni awọn blockchains, rii daju pe o waye ni akoko nigbati olupilẹṣẹ Àkọsílẹ ṣe ilana idunadura naa, ati ni gbogbogbo, alabaṣe eyikeyi gbọdọ ni rọọrun rii daju pe o tọ ti ilana naa, nitorinaa awọn ibeere fun iyara iṣẹ ṣiṣe jẹ pataki pupọ. . Ni aṣayan yii, aṣayan naa ti jade lati jẹ aiṣe, nitori iṣeduro ko baamu laarin opin idunadura (0.5 aaya).

Imudara imudara jẹ ọkan ninu awọn ibeere pataki julọ fun lilo, ni gbogbogbo, eyikeyi awọn eto cryptographic to ti ni ilọsiwaju ninu blockchain. Ṣiṣẹda awọn ẹri, ngbaradi awọn ifiranṣẹ - awọn ilana wọnyi le ya kuro ni pq ati ṣe lori awọn kọnputa ti o ni iṣẹ giga, ṣugbọn ijẹrisi ko le kọja - eyi jẹ ibeere pataki miiran fun PVRB.

PVRB ati awọn ibuwọlu ala

Lehin ti o mọ pẹlu ero pinpin aṣiri, a ṣe awari gbogbo kilasi ti awọn ilana ti o ṣọkan nipasẹ ọrọ-ọrọ “ilẹ”. Nigbati ifitonileti diẹ ninu awọn alaye nilo ikopa ti M awọn alabaṣe otitọ jade ti N, ati awọn ti ṣeto ti otitọ olukopa le jẹ ẹya lainidii ipin ti N, a soro ti "ala" ero. Awọn ni wọn gba wa laaye lati koju iṣoro “oṣere ikẹhin”, ni bayi ti ikọlu naa ko ba ṣafihan apakan tirẹ ti aṣiri, alabaṣe tootọ yoo ṣe fun u. Awọn ero wọnyi gba adehun laaye lori itumọ kan ati ọkan, paapaa ti ilana naa ba jẹ ibajẹ nipasẹ diẹ ninu awọn olukopa.

Apapo awọn ibuwọlu ipinnu ati awọn ero ala jẹ ki o ṣee ṣe lati ṣe agbekalẹ irọrun pupọ ati ero ti o ni ileri fun imuse PVRB - iwọnyi jẹ awọn ibuwọlu ala ipinnu ipinnu. Nibi nkan nipa awọn oriṣiriṣi awọn lilo ti awọn ibuwọlu ala, ati pe eyi ni ọkan ti o dara miiran kika gigun lati Dash.

Nkan ti o kẹhin ṣe apejuwe awọn ibuwọlu BLS (BLS duro fun Boneh-Lynn-Shacham, wo o nkan), eyiti o ni pataki pupọ ati didara irọrun pupọ fun awọn olupilẹṣẹ - gbangba, aṣiri, awọn bọtini gbangba ati awọn ibuwọlu BLS le ni idapo pẹlu ara wọn nipa lilo awọn iṣẹ ṣiṣe mathematiki ti o rọrun, lakoko ti awọn akojọpọ wọn jẹ awọn bọtini to wulo ati awọn ibuwọlu, gbigba ọ laaye lati ni irọrun ṣajọpọ ọpọlọpọ awọn ibuwọlu sinu ọkan ati ọpọlọpọ awọn bọtini gbangba sinu ọkan. Wọn tun jẹ ipinnu ati gbejade abajade kanna fun data titẹ sii kanna. Ṣeun si didara yii, awọn akojọpọ ti awọn ibuwọlu BLS jẹ awọn bọtini ti o wulo funrararẹ, eyiti o fun laaye ni imuse aṣayan kan ninu eyiti awọn olukopa M ti N gbejade ibuwọlu ọkan ati ọkan kan ti o jẹ ipinnu, jẹri ni gbangba, ati airotẹlẹ titi ti Mth yoo ṣii. alabaṣe.

Ninu ero kan pẹlu awọn ibuwọlu BLS ala, alabaṣe kọọkan ṣe ami nkan kan nipa lilo BLS (fun apẹẹrẹ, ID ti iṣaaju), ati ibuwọlu ala ti o wọpọ jẹ ID ti o fẹ. Awọn ohun-ini cryptographic ti awọn ibuwọlu BLS ni itẹlọrun awọn ibeere fun didara laileto, apakan ala ṣe aabo lodi si “oṣere-igbẹhin”, ati akojọpọ alailẹgbẹ ti awọn bọtini jẹ ki o ṣee ṣe lati ṣe ọpọlọpọ awọn algoridimu ti o nifẹ diẹ sii ti o gba laaye, fun apẹẹrẹ, ikojọpọ daradara ti awọn ifiranṣẹ ilana. .

Nitorinaa, ti o ba n kọ PVRB lori blockchain rẹ, o ṣee ṣe julọ yoo pari pẹlu ero awọn ibuwọlu ala BLS, awọn iṣẹ akanṣe pupọ ti nlo tẹlẹ. Fun apẹẹrẹ, DFinity (nibi ala ti o se awọn Circuit, ati nibi apẹẹrẹ imuse ti verifiable ìkọkọ pinpin), tabi Keep.network (nibi ni wọn ID tan ina iwe ofeefee, ati nibi apẹẹrẹ smart guide sìn awọn bèèrè).

Imuse ti PVRB

Laanu, a ko tun rii ilana ti o ti ṣetan ti a ṣe imuse ni awọn blockchains PVRB ti o ti jẹrisi aabo ati iduroṣinṣin rẹ. Paapaa botilẹjẹpe awọn ilana funrararẹ ti ṣetan, lilo imọ-ẹrọ si awọn solusan ti o wa ko rọrun. Fun si aarin awọn ọna šiše, PVRB ko ni ṣe ori, ati decentralized ti wa ni opin muna ni gbogbo awọn orisun iširo: Sipiyu, iranti, ibi ipamọ, I/O. Ṣiṣeto PVRB jẹ apapo awọn ilana ti o yatọ lati le ṣẹda nkan ti o pade gbogbo awọn ibeere fun o kere diẹ ninu awọn blockchain ti o le yanju. Ilana kan ṣe iṣiro daradara siwaju sii, ṣugbọn nilo awọn ifiranṣẹ diẹ sii laarin awọn RPs, lakoko ti ekeji nilo awọn ifiranṣẹ diẹ, ṣugbọn ṣiṣẹda ẹri le jẹ iṣẹ-ṣiṣe ti o gba iṣẹju mẹwa, tabi paapaa awọn wakati.

Emi yoo ṣe atokọ awọn ifosiwewe ti iwọ yoo ni lati gbero nigbati o yan PVRB didara kan:

  • Agbara cryptographic. PVRB rẹ gbọdọ jẹ aiṣojusọna muna, laisi agbara lati ṣakoso diẹ ẹyọkan. Ni diẹ ninu awọn ero eyi kii ṣe ọran, nitorinaa pe oluyaworan kan
  • Iṣoro "oṣere ikẹhin".. PVRB rẹ gbọdọ jẹ sooro si awọn ikọlu nibiti ikọlu ti n ṣakoso ọkan tabi diẹ ẹ sii RP le yan ọkan ninu awọn abajade meji.
  • Protocol sabotage isoro. PVRB rẹ gbọdọ jẹ sooro si awọn ikọlu nibiti ikọlu ti n ṣakoso ọkan tabi diẹ ẹ sii RPs pinnu boya o jẹ laileto tabi rara ati pe o le jẹ iṣeduro tabi pẹlu iṣeeṣe fifun lati ni ipa lori eyi.
  • Nọmba ti awọn ifiranṣẹ isoro. Awọn RP rẹ yẹ ki o firanṣẹ awọn ifiranṣẹ ti o kere ju si blockchain ki o yago fun awọn iṣe amuṣiṣẹpọ bi o ti ṣee ṣe gẹgẹbi awọn ipo bii “Mo fi alaye diẹ ranṣẹ, Mo n duro de esi lati ọdọ alabaṣe kan pato.” Ninu awọn nẹtiwọọki p2p, paapaa awọn ti tuka ni ilẹ-aye, o yẹ ki o ko gbẹkẹle idahun iyara
  • Awọn isoro ti isiro complexity. Ijeri eyikeyi ipele ti pq PVRB yẹ ki o rọrun pupọ, niwọn bi o ti ṣe nipasẹ gbogbo awọn alabara ni kikun ti nẹtiwọọki. Ti imuse naa ba ṣe nipa lilo adehun ọlọgbọn, lẹhinna awọn ibeere iyara jẹ muna pupọ
  • Iṣoro ti iraye si ati igbesi aye. PVRB rẹ yẹ ki o tiraka lati jẹ resilient si awọn ipo nibiti apakan ti nẹtiwọọki ko wa fun akoko kan ati pe apakan ti RP da duro ṣiṣẹ
  • Iṣoro ti iṣeto igbẹkẹle ati pinpin bọtini ibẹrẹ. Ti PVRB rẹ ba lo iṣeto akọkọ ti ilana naa, lẹhinna eyi jẹ itan nla ati pataki lọtọ. Nibi apẹẹrẹ. Ti awọn olukopa ba gbọdọ sọ fun ara wọn awọn bọtini wọn ṣaaju ki o to bẹrẹ ilana naa, eyi tun jẹ iṣoro ti akopọ ti awọn olukopa ba yipada.
  • Awọn iṣoro idagbasoke. Wiwa awọn ile ikawe ni awọn ede ti a beere, aabo ati iṣẹ wọn, ikede, awọn idanwo eka, ati bẹbẹ lọ.

Fun apẹẹrẹ, awọn ibuwọlu BLS ala ni iṣoro pataki - ṣaaju ki o to bẹrẹ iṣẹ, awọn olukopa gbọdọ pin awọn bọtini si ara wọn, ṣeto ẹgbẹ kan laarin eyiti iloro yoo ṣiṣẹ. Eyi tumọ si pe o kere ju iyipo kan ti paṣipaarọ ni nẹtiwọọki ti a ti sọtọ yoo ni lati duro, ati fun pe rand ti ipilẹṣẹ, fun apẹẹrẹ, jẹ pataki ninu awọn ere, o fẹrẹ to akoko gidi, eyi tumọ si pe sabotage ti ilana naa ṣee ṣe ni ipele yii. , ati awọn anfani ti awọn ala enikeji ti wa ni sọnu. Iṣoro yii rọrun tẹlẹ ju awọn iṣaaju lọ, ṣugbọn tun nilo idagbasoke ilana ti o yatọ fun dida awọn ẹgbẹ ala, eyiti yoo ni aabo ni ọrọ-aje, nipasẹ awọn idogo ati yiyọ kuro ti owo (slashing) lati ọdọ awọn olukopa ti ko tẹle Ilana. Paapaa, ijẹrisi BLS pẹlu ipele aabo itẹwọgba ko baamu, fun apẹẹrẹ, sinu boṣewa EOS tabi idunadura Ethereum - nìkan ko to akoko fun ijẹrisi. Koodu adehun jẹ WebAssembly tabi EVM, ti a ṣe nipasẹ ẹrọ foju kan. Awọn iṣẹ cryptographic ko ni imuse ni abinibi (sibẹsibẹ), ati ṣiṣẹ awọn igba mẹwa ti o lọra ju awọn ile-ikawe cryptographic ti aṣa lọ. Ọpọlọpọ awọn ilana ko ni ibamu pẹlu awọn ibeere nirọrun da lori iwọn bọtini, fun apẹẹrẹ 1024 ati 2048 bits fun RSA, awọn akoko 4-8 tobi ju ibuwọlu idunadura boṣewa ni Bitcoin ati Ethereum.

Iwaju awọn imuṣẹ ni awọn ede siseto oriṣiriṣi tun ṣe ipa kan - eyiti diẹ wa, paapaa fun awọn ilana tuntun. Aṣayan pẹlu iṣọpọ sinu ipohunpo nilo kikọ ilana ni ede Syeed, nitorinaa iwọ yoo ni lati wa koodu ni Go for geth, ni Rust for Parity, ni C ++ fun EOS. Gbogbo eniyan yoo ni lati wa koodu JavaScript, ati pe niwọn igba ti JavaScript ati cryptography kii ṣe awọn ọrẹ to sunmọ ni pataki, WebAssembly yoo ṣe iranlọwọ, eyiti ni pato sọ pe o jẹ boṣewa Intanẹẹti pataki atẹle.

ipari

Mo nireti ni iṣaaju article Mo ti ṣakoso lati parowa fun ọ pe ṣiṣẹda awọn nọmba laileto lori blockchain jẹ pataki fun ọpọlọpọ awọn aaye ti igbesi aye ti awọn nẹtiwọọki ti a ti sọtọ, ati pẹlu nkan yii Mo fihan pe iṣẹ-ṣiṣe yii jẹ ifẹ agbara pupọ ati nira, ṣugbọn awọn solusan ti o dara ti wa tẹlẹ. Ni gbogbogbo, apẹrẹ ikẹhin ti ilana naa ṣee ṣe nikan lẹhin ṣiṣe awọn idanwo nla ti o ṣe akiyesi gbogbo awọn aaye lati iṣeto si imudara ẹbi, nitorinaa o ko ṣeeṣe lati wa awọn ilana ti a ti ṣetan ni awọn iwe funfun ati awọn nkan, ati pe dajudaju a kii yoo ṣe. pinnu ni ọdun to nbọ tabi meji kọ “ṣe ni ọna yii, ni deede.”

Bye, fun PVRB wa ninu blockchain ti n dagbasoke Haya, a yanju lori lilo awọn ibuwọlu BLS ala, a gbero lati ṣe PVRB ni ipele ipohunpo, nitori iṣeduro ni awọn adehun ọlọgbọn pẹlu ipele itẹwọgba ti aabo ko ṣee ṣe sibẹsibẹ. O ṣee ṣe pe a lo awọn ero meji ni ẹẹkan: akọkọ, pinpin aṣiri gbowolori lati ṣẹda random_seed igba pipẹ, ati lẹhinna a lo bi ipilẹ fun iran-igbohunsafẹfẹ giga ni lilo awọn ibuwọlu BLS alapin ipinnu, boya a yoo fi opin si ara wa si nikan ọkan ninu awọn eto. Laanu, ko ṣee ṣe lati sọ tẹlẹ kini ilana naa yoo jẹ; ohun ti o dara nikan ni pe, bi ninu imọ-jinlẹ, ninu awọn iṣoro imọ-ẹrọ, abajade odi tun jẹ abajade, ati igbiyanju tuntun kọọkan lati yanju iṣoro naa jẹ igbesẹ miiran fun iwadi ti gbogbo eniyan lowo ninu isoro. Lati pade awọn ibeere iṣowo, a yanju iṣoro ilowo kan pato - pese awọn ohun elo ere pẹlu orisun igbẹkẹle ti entropy, nitorinaa a tun ni lati fiyesi si blockchain funrararẹ, ni pataki awọn ọran ti ipari pq ati iṣakoso nẹtiwọọki.

Ati pe botilẹjẹpe a ko tii rii PVRB sooro ti a fihan ni awọn blockchains, eyiti yoo ti lo fun akoko ti o to lati ni idanwo nipasẹ awọn ohun elo gidi, awọn iṣayẹwo pupọ, awọn ẹru, ati dajudaju, awọn ikọlu gidi, ṣugbọn nọmba awọn ọna ti o ṣeeṣe jẹri pe ojutu kan wa, ati kini - ti awọn algoridimu wọnyi yoo yanju iṣoro naa nikẹhin. A yoo ni idunnu lati pin awọn abajade ati dupẹ lọwọ awọn ẹgbẹ miiran ti o tun n ṣiṣẹ lori ọran yii fun awọn nkan ati koodu ti o gba awọn onimọ-ẹrọ laaye lati ma tẹ lori rake kanna lẹẹmeji.

Nitorinaa, nigbati o ba pade olupilẹṣẹ kan ti n ṣe apẹrẹ aibikita, ṣe akiyesi ati abojuto, ati pese iranlọwọ ti ọpọlọ ti o ba jẹ dandan :)

orisun: www.habr.com

Fi ọrọìwòye kun