Hejmarên rasthatî û torên nenavendî: pêkanîn

Pîrozbahiyê

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

Mîna têgîna şîfreyek bêkêmasî ya ji krîptografiyê, protokolên rastîn ên "Beacon Random Bi Verastkirina Giştî" (li vir şûnda PVRB) tenê hewl didin ku bi qasî ku gengaz nêzikî nexşeya îdeal bibin, ji ber ku di torên rastîn de ew di forma xweya safî de ne pêkan e: pêdivî ye ku meriv li ser yek bit bi hişkî lihev bike, divê gelek dor hebin, û divê hemî peyam bêkêmasî bilez bin û her gav werin radest kirin. Bê guman, di torên rastîn de ne wusa ye. Ji ber vê yekê, dema sêwirana PVRB-an ji bo karên taybetî yên di zincîreyên nûjen de, ji bilî nemimkûniya kontrolkirina bêserûberiya encam û hêza krîptografî, gelek pirsgirêkên paqij ên mîmarî û teknîkî jî derdikevin holê.

Ji bo PVRB, zincîra blokê bi xwe navgînek ragihandinê ye ku tê de peyam = danûstendin. Ev dihêle hûn beşek ji pirsgirêkên torê, ne-radestkirina peyaman, pirsgirêkên bi navgîniya navgîniyê veqetînin - ev hemî xetere ji hêla tora nenavendî ve têne hilanîn, û nirxa wê ya sereke ji bo PVRB nebûna betalkirin an xerakirina danûstendinek berê ye - ev yek dike destûr nedin beşdaran ku beşdarî protokolê red bikin, heya ku wan êrîşek serketî li ser lihevkirinê pêk neanîn. Ev asta ewlehiyê tê qebûl kirin, ji ber vê yekê PVRB divê li hember lihevkirina ji hêla beşdaran ve bi tam di heman astê de wekî zincîra zincîra sereke ya sereke berxwedêr be. Di heman demê de, ev destnîşan dike ku PVRB divê bibe beşek ji lihevhatinê heke tor li ser bloka sereke razî bibe, hetta ew di heman demê de li ser yekane encamek rastdar jî razî be. An jî, PVRB bi tenê protokolek serbixwe ye ku ji hêla peymanek jîr ve hatî bicîh kirin ku bi rêzgirtina zincîra blokê û blokan re asynchronous dixebite. Her du rêbaz xwedî awantaj û dezawantajên xwe ne, û bijartina di navbera wan de pir ne hindik e.

Du awayên pêkanîna PVRB

Ka em bi hûrgulî du vebijarkên ji bo bicîhanîna PVRB-ê diyar bikin - guhertoya serbixwe, ku bi karanîna girêbestek biaqil a serbixwe ji zincîra blokê dixebite, û guhertoya yekbûyî-hevgirtî, ku di protokolê de hatî çêkirin, ku li gorî wê torgilok li ser zincîra blokê û danûstendinên ku bêne nav kirin. Di hemî rewşan de, ez ê mebesta motorên blokê yên populer bikim: Ethereum, EOS, û hemî yên mîna wan di awayê ku ew peymanên biaqil mêvandar û pêvajo dikin.

Peymana serbixwe

Di vê guhertoyê de, PVRB peymanek biaqil e ku danûstendinên hilberînerên rasthatî (li vir wekî RP tê binav kirin) qebûl dike, wan pêvajo dike, encaman berhev dike û, wekî encam, digihîje nirxek diyarkirî ku her bikarhêner dikare ji vê peymanê werbigire. Dibe ku ev nirx rasterast di peymanê de neyê hilanîn, lê ji ber vê yekê tenê bi daneya ku ji wan yek û tenê yek nirxa encamek rasthatî dikare bi diyarkerî were wergirtin were temsîl kirin. Di vê planê de, RP bikarhênerên zincîra blokê ne, û her kes dikare destûr bide ku beşdarî pêvajoya nifşê bibe.

Vebijarka bi peymana serbixwe baş e:

  • veguheztin (peyman dikare ji blokê berbi blokê were kişandin)
  • hêsankirina pêkanîn û ceribandinê (peyman hêsan têne nivîsandin û ceribandin)
  • rehetî di bicihanîna pileyên aborî de (ew hêsan e ku meriv tokena xwe çêbike, ku mantiqa wê ji armancên PVRB re xizmet dike)
  • îhtîmala destpêkirina li ser blokên ku berê dixebitin

Di heman demê de kêmasiyên wê jî hene:

  • tixûbên bihêz ên li ser çavkaniyên hesabkirinê, qebareya danûstendinê û hilanînê (bi gotinek din, cpu / mem / io)
  • sînorkirinên li ser operasyonên di nav peymanê de (hemî rêwerzan peyda nabin, girêdana pirtûkxaneyên derveyî dijwar e)
  • nekarîna organîzekirina peyaman ji danûstandinan zûtir di nav zincîra blokê de cih digire

Ev vebijark ji bo pêkanîna PVRB-ya ku pêdivî ye ku li ser torgilokek heyî were xebitandin maqûl e, krîptografiya tevlihev nahewîne û hejmareke mezin ji danûstendinan hewce nake.

Lihevhatin-entegre

Di vê guhertoyê de, PVRB di koda girêka blokê de, hatî çêkirin an paralel bi pevguhertina peyaman di navbera girêkên blokê de tête bicîh kirin. Encamên protokolê rasterast di nav blokên hilberî de têne nivîsandin, û peyamên protokolê li ser tora p2p di navbera girêkan de têne şandin. Ji ber ku protokol bi hejmarên ku di blokan de têne nivîsandin encam dide, divê tora li ser wan bigihîje lihevhatinek. Ev tê vê wateyê ku peyamên PVRB, mîna danûstendinan, divê ji hêla girêkan ve bêne pejirandin û di blokan de bêne bicîh kirin da ku her beşdarek torê bikaribe lihevhatina bi protokola PVRB re rast bike. Ev bixweber me ber bi çareseriya eşkere ve dibe - heke torgilok li ser lihevhatinek li ser blokek û danûstendinên tê de razî bibe, wê hingê divê PVRB bibe beşek ji lihevkirinê, û ne protokolek serbixwe. Wekî din, mimkun e ku blokek ji nêrînek lihevhatinê derbasdar be, lê protokola PVRB nayê şopandin, û ji hêla PVRB ve bloka nayê pejirandin. Ji ber vê yekê heke vebijarka "lihevhatî-entegre" were hilbijartin, PVRB dibe beşek girîng a lihevkirinê.

Dema ku pêkanînên PVRB di asta lihevhatina torê de diyar dike, meriv nikare bi ti awayî xwe ji pirsgirêkên dawîbûnê dûr bixe. Dawîbûn mekanîzmayek e ku di lihevhatinên diyarker de tê bikar anîn ku di blokê de (û zincîra ku ber bi wê ve diçe) ku dawî ye û dê çu carî neyê avêtin, diqewime jî diqefilîne. Mînakî, di Bitcoin de mekanîzmayek wusa tune - heke hûn zincîrek tevlihevtir biweşînin, ew ê li şûna yekî hindiktir, bêyî ku dirêjiya zincîran be, bigire. Mînakî, di EOS-ê de, yên paşîn ên bi navê Blokên Bêbawer ên Dawîn in, ku bi navînî her 432 blokan têne xuyang kirin (12*21 + 12*15, dengdana pêşîn + pêşdibistanê). Ev pêvajo bi eslê xwe li benda 2/3 blokên hilberîneran e (li vir wekî BP tê binav kirin). Gava ku forkên ku ji LIB-ya paşîn kevntir xuya dibin, ew bi hêsanî têne avêtin. Ev mekanîzma gengaz dike ku garantî bike ku danûstendin di nav zincîra blokê de ye û dê çu carî paşve neyê vegerandin, ferq nake ka kîjan çavkaniyên êrîşkar hene. Di heman demê de, blokên paşîn blokên ku ji hêla 2/3 BP ve di Hyperledger, Tendermint û lihevhatinên din ên pBFT-ê de hatine îmzekirin in. Di heman demê de, maqûl e ku meriv protokolek ji bo misogerkirina dawîbûnê pêvekek lihevhatinê çêbike, ji ber ku ew dikare bi hilberandin û weşandina blokan re asynkron kar bike. Li vir yek baş e gotara li ser dawîbûna li Ethereum.

Dawîbûn ji bo bikarhêneran pir girîng e, yên ku bêyî wê dibe ku xwe bibin qurbaniyên êrişek "ducar lêçûn", ku BP blokan "digire" û piştî ku torê danûstendinek baş "dît" wan diweşîne. Heke dawînek tune be, wê hingê forka hatî weşandin blokê bi danûstendinek "baş" bi yekî din re, ji forkek "xirab", ku tê de heman drav ji navnîşana êrîşker re têne veguheztin, diguhezîne. Di doza PVRB de, hewcedariyên ji bo dawîbûnê hîn hişktir in, ji ber ku avakirina forksê ji bo PVRB tê vê wateyê ku fersendek ji bo êrîşkerek e ku çend vebijarkên bêserûber amade bike da ku ya herî bikêr biweşîne, û sînorkirina dema êrîşek gengaz e. çareseriya baş.

Ji ber vê yekê, vebijarka çêtirîn ev e ku meriv PVRB û dawîbûnê di yek protokolê de bicivîne - dûv re bloka qedandî = bêserûber qedandî, û ev bi rastî ya ku me hewce dikir ku bi dest bixin. Naha lîstikvan dê di nav N çirkeyan de randomek garantîkirî bistînin, û dikarin pê bawer bin ku ne gengaz e ku wê paşde bizivirin an dîsa lê bidin.

Vebijarka yekbûyî ya lihevhatî baş e:

  • îhtîmala pêkanîna asînkron di derbarê hilberîna blokan de - blokan wekî berê têne hilberandin, lê digel vê yekê, protokola PVRB dikare bixebite, ku ji bo her blokek bêserûberiyê çêdike.
  • şiyana pêkanîna krîptografiya giran jî, bêyî ku tixûbên ku li ser peymanên jîr têne ferz kirin
  • şiyana organîzekirina danûstendina peyaman zûtir ji danûstendinan ku di zincîra blokê de tê de hene, mînakî, beşek protokolê dikare di navbera girêkan de bêyî belavkirina peyaman li ser torê bixebite.

Di heman demê de kêmasiyên wê jî hene:

  • Zehmetiyên di ceribandin û pêşkeftinê de - hûn neçar in ku xeletiyên torê, girêkên winda, forkên hişk ên torê bişopînin
  • Çewtiyên pêkanînê pêdivî bi hardforkek torê heye

Her du rêbazên bicîhkirina PVRB mafê jiyanê hene, lê pêkanîna li ser peymanên jîr di zincîreyên nûjen de hîn jî di çavkaniyên hesabkirinê de pir kêm e, û her veguheztina berbi krîptografî ya ciddî bi gelemperî ne gengaz e. Û em ê hewceyê krîptografiya ciddî bin, wekî ku dê li jêr were destnîşan kirin. Her çend ev pirsgirêk eşkere demkî ye jî, ji bo çareserkirina gelek pirsgirêkan di peymanan de krîptografiya ciddî hewce ye, û ew hêdî hêdî xuya dike (mînak, peymanên pergalê ji bo zkSNARKs li Ethereum)

Blockchain, ku kanalek peyama protokola zelal û pêbawer peyda dike, wiya belaş nake. Pêdivî ye ku her protokolek nenavendî îhtîmala êrişek Sybilê li ber çavan bigire; her kiryar dikare ji hêla hêzên hevgirtî yên gelek hesaban ve were kirin, ji ber vê yekê, dema sêwirandin, pêdivî ye ku meriv şiyana êrîşkaran ji bo afirandina hejmareke kêfî ya protokolê li ber çavan bigire. beşdarên ku bi hev re tevdigerin.

PVRB û guherbarên blokê.

Min derew nekir gava ku min got ku hêj kesî PVRBek baş, ku ji hêla gelek sepanên qumarê ve hatî ceribandin, di zincîreyan de pêk neaniye. Wê hingê ew qas serlêdanên qumarê li ser Ethereum û EOS-ê ji ku tê? Ev bi qasî ku we şaş dike, min şaş dike, wan ji ku derê ew qas rasthatinên "berdewam" di hawîrdorek bi tevahî diyarker de peyda kirine?

Awayê bijare ji bo bidestxistina rasthatiniyê di zincîra blokê de ev e ku meriv celebek agahdariya "nepêşbînîkirî" ji blokê bigire û li ser bingeha wê yekê rasthatî çêbike - bi tenê bi hejandina yek an çend nirxan. Gotara baş li ser pirsgirêkên planên weha vir. Hûn dikarin di blokê de yek ji nirxên "nepêşbînîkirî" bigirin, mînakî, bloka blokê, hejmara danûstendinan, tevliheviya torê, û nirxên din ên ku ji berê ve nayên zanîn. Dûv re wan, yek an jî çend heb bikin, û, di teoriyê de, divê hûn randomek rastîn bistînin. Tewra hûn dikarin li whitepaper-ê zêde bikin ku pilana we "paş-quantum ewledar" e (ji ber ku fonksiyonên hash-delîlên quantum hene :)).

Lê tewra haşeyên ewledar ên piştî quantumê jî ne bes in, mixabin. Veşartî di daxwazên PVRB de ye, bila ez wan ji gotara berê bi bîr bînim:

  1. Pêdivî ye ku encam xwedan belavkirinek yekgirtî be, ango li ser bingeha krîptografî ya îsbatkirî ya bihêz be.
  2. Ne mumkin e ku meriv yek ji bitsên encamê kontrol bike. Ji ber vê yekê, encam ji berê de nayê pêşbînîkirin.
  3. Hûn nekarin protokola nifşê sabote bikin bi beşdarnebûna protokolê an bi barkirina torê bi peyamên êrîşê.
  4. Hemî yên jorîn divê li hember lihevkirina hejmarek destûrdar a beşdarên protokolê yên nepak (mînak, 1/3 ji beşdaran) berxwe bidin.

Di vê rewşê de, tenê hewcedariya 1 pêk tê, û hewcedariya 2 pêk nayê. Bi hejandina nirxên nediyar ên ji blokê re, em ê dabeşek yekgirtî û randomên baş bistînin. Lê BP bi kêmanî vebijarkek heye ku "blokê biweşîne an na". Bi vî rengî, BP bi kêmanî dikare ji DU vebijarkên rasthatî hilbijêrin: "xwe" û ya ku heke kesek din blokê çêbike dê derkeve holê. BP dikare di pêş de "bişopîne" dê çi bibe ger ew blokek biweşîne, û bi tenê biryar bide ku wiya bike an na. Ji ber vê yekê, dema ku di roulette de, bo nimûne, "heta-cas" an "sor/reş" dilîze, ew dikare blokê bi tenê heke serkeftinek bibîne dikare biweşîne. Ev di heman demê de stratejiya karanîna, mînakî, bloka hash "ji pêşerojê" nekar dike. Di vê rewşê de, ew dibêjin ku "rêveberî dê were bikar anîn, ku bi haşkirina daneya heyî û hash bloka pêşerojê bi bilindahiya, mînakî, N + 42, ku N bilindahiya bloka heyî ye, tête wergirtin. Ev piçek piçek xurt dike, lê dîsa jî dihêle BP, her çend di pêşerojê de, hilbijêre ka blokê bigire an çap bike.

Nermalava BP di vê rewşê de tevlihevtir dibe, lê ne pir. Bi tenê, dema ku danûstendinek di blokê de were pejirandin û tevlêkirin, kontrolek bilez heye ku hûn bibînin ka dê serkeftinek hebe, û, belkî, hilbijartina yek parametreyên danûstendinê ji bo bidestxistina îhtimalek mezin a serketinê. Di heman demê de, hema hema ne gengaz e ku meriv BP-yek jîr ji bo manîpulasyonên weha bigire; her carê hûn dikarin navnîşanên nû bikar bînin û bêyî ku gumanan derxînin hêdî hêdî qezenc bikin.

Ji ber vê yekê rêbazên ku agahdariya ji blokê bikar tînin wekî pêkanîna gerdûnî ya PVRB ne maqûl in. Di guhertoyek tixûbdar de, bi sînorkirinên li ser mezinahiyên behîsê, sînorkirinên li ser hejmara lîstikvanan û/an qeydkirina KYC (ji bo pêşîgirtina li yek lîstikvanek ku gelek navnîşan bikar bîne), ev nexşe dikarin ji bo lîstikên piçûk bixebitin, lê ne tiştek din.

PVRB û commit-eşkere kirin.

Baş e, bi xêra haşkirinê û bi kêmanî nepêşbînbûna têkildar a blokê û guhêrbarên din. Ger hûn pirsgirêka mînerên pêş-rêveber çareser bikin, divê hûn tiştek maqûltir bistînin. Werin em bikarhêneran li vê nexşeyê zêde bikin - bila ew jî bandorê li ser rasthatiniyê bikin: her xebatkarek piştevaniya teknîkî dê ji we re bêje ku di pergalên IT-ê de tiştê herî rasthatî kiryarên bikarhêneran e :)

Pîvanek naîf, dema ku bikarhêner bi tenê hejmarên bêserûber dişînin û encam wekî, mînakî, haşek berhevoka wan tê hesibandin, ne guncaw e. Di vê rewşê de, lîstikvanê paşîn dikare, bi hilbijartina xweya rasthatî, kontrol bike ku encam dê çi be. Ji ber vê yekê nimûneya commit-reveal pir berfireh tê bikar anîn. Beşdar ewil haş ji randomên xwe dişînin (komit), û dûv re jî randoman bi xwe vedikin (eşkere dikin). Qonaxa "aşkerekirinê" tenê piştî berhevkirina peywirên pêwîst dest pê dike, ji ber vê yekê beşdar dikarin tam haşa rasthatî ya ku berê şandine bişînin. Naha werin em van hemîyan bi pîvanên blokê re bidin hev, û ji ya ku ji paşerojê hatî girtin çêtir e (serûberî tenê di yek ji blokên pêşerojê de dikare were dîtin), û voila - bêserûberî amade ye! Naha her lîstikvanek bandorê li randomiya encam dike, û dikare BP-ya xerab "bişkîne" bi serpereştiya wê ya ku ji berê ve nayê zanîn, bêserûberiya xwe... Her weha hûn dikarin parastina li dijî sabotekirina protokolê zêde bikin bi vekirina wê di qonaxa eşkerekirinê de - bi tenê bi daxwazkirina mîqdarek diyarkirî ku di dema pêkanîna danûstendinê de were girêdan - depoyek ewlehiyê, ku dê tenê di dema prosedûra eşkerekirinê de were vegerandin. Di vê rewşê de, kirin û ne eşkerekirin dê bêkêr be.

Ew hewldanek baş bû, û planên weha di lîstikên DApps de jî hene, lê mixabin, ev dîsa ne bes e. Naha ne tenê miner, lê her weha her beşdarek protokolê jî dikare bandorê li encamê bike. Hîn jî gengaz e ku meriv nirxê bixwe, bi guhezbariya hindiktir û bi lêçûnek kontrol bike, lê, mîna ku di mijara madenê de, heke encamên xêzkirinê ji heqê beşdarbûna protokola PVRB-ê bi qîmettir bin, wê hingê random -hilberîner (RP) dikare biryarê bide ka eşkere bike û hîn jî dikare ji kêmî du vebijarkên rasthatî hilbijêrin.
Lê îmkan bû ku kesên ku dikin û eşkere nakin bên cezakirin û ev plan dê bi kêrî we were. Hêsaniya wê avantajek ciddî ye - protokolên cidîtir hesabên pir bi hêztir hewce dikin.

PVRB û îmzeyên diyarker.

Rêbazek din heye ku meriv zorê bide RP-ê ku hejmareke pseudo-random peyda bike ku ew nikaribe bandorê li wê bike ger bi "pêşîmajek" were peyda kirin - ev îmzeyek diyarker e. Îmzeyek weha, wek nimûne, RSA ye, û ne ECS ye. Ger RP cotek miftan hebin: RSA û ECC, û ew bi mifteya xwe ya taybet nirxek diyar îmze dike, wê hingê di doza RSA de ew ê YEK Û TENÊ Îmzeyekê bistîne, û di rewşa ECS de ew dikare her jimareyek çêbike. îmzeyên cuda derbasdar. Ji ber ku dema ku îmzeyek ECS diafirîne, hejmareke rasthatî, ku ji hêla îmzeker ve hatî hilbijartin, tête bikar anîn, û ew dikare bi her awayî were bijartin, û derfetê dide îmzeker ku yek ji çend îmzeyan hilbijêrin. Di doza RSA de: "yek nirxa têketinê" + "yek cotek key" = "yek îmze". Ne mimkûn e ku meriv pêşbînî bike ku RP-ya din dê kîjan îmzeyê bistîne, ji ber vê yekê PVRBek bi îmzeyên diyarker dikare bi berhevkirina îmzeyên RSA yên çend beşdarên ku heman nirx îmze kirine were organîze kirin. Ji bo nimûne, random berê. Ev plan gelek çavkaniyan rizgar dike, ji ber îmze hem erêkirina tevgera rast a li gorî protokolê hem jî çavkaniyek rasthatiniyê ne.

Lêbelê, tevî îmzeyên diyarker jî, nexşe hîn jî ji pirsgirêka "aktorê paşîn" re xeternak e. Beşdarê paşîn hîn jî dikare biryar bide ka dê îmzeyê biweşîne an na, bi vî rengî encamê kontrol bike. Hûn dikarin nexşeyê biguhezînin, blokên blokê lê zêde bikin, dordoran bikin da ku encam pêş de neyê pêşbînîkirin, lê van hemî teknîkan, tewra gelek guheztinan jî li ber çavan digirin, dîsa jî pirsgirêka bandora yek beşdaran li ser kolektîfê bêçareser dihêle. encam di hawîrdorek nebawer de ye û tenê dikare di bin şert û mercên aborî û dem de bixebite. Wekî din, mezinahiya bişkojkên RSA (1024 û 2048 bit) pir mezin e, û mezinahiya danûstendinên zincîra blokê pîvanek pir girîng e. Xuya ye ku ji bo çareserkirina pirsgirêkê rêyek hêsan tune, em biçin.

PVRB û nexşeyên parvekirina veşartî

Di krîptografî de, nexşe hene ku dikarin rê bidin torgilokê ku li ser yek û tenê yek nirxa PVRB li hev bike, di heman demê de nexşeyên weha li hember kiryarên xirab ên hin beşdaran berxwedêr in. Protokolek kêrhatî ya ku hêja ye ku hûn pê nas bikin, nexşeya parvekirina veşartî ya Shamir e. Ew ji bo dabeşkirina razek (mînak, mifteyek veşartî) li çend beşan, û belavkirina van beşan li N beşdaran dike. Veşartî bi vî rengî tê belav kirin ku M parçeyên ji N têra vegerandina wê dikin, û ev dikarin her M beşan bin. Ger li ser tiliyan be, wê hingê grafiyek fonksiyonek nenas hebe, beşdar xalan li ser grafîkê diguhezînin, û piştî wergirtina xalên M, fonksiyonek tevahî dikare were vegerandin.
Ravekirinek baş tê dayîn wiki lê ji bo ku hûn protokola di serê xwe de lîstin bi pratîkî bi wê re lîstin ji bo kêrhatî ye demo rûpel.

Ger pilana FSSS (Parvekirina Veşartî ya Fiat-Shamir) di forma xweya paqij de were sepandin, ew ê bibe PVRB-yek nehilweşîn. Di forma xweya herî hêsan de, dibe ku protokol bi vî rengî xuya bike:

  • Her beşdar randoma xwe çêdike û ji beşdarên din parve dike
  • Her beşdar beşê xwe yê razên beşdarên din eşkere dike
  • Ger beşdarvanek ji M-yê zêdetir be, wê hingê hejmara vî beşdar dikare were hesibandin, û ew ê yekta be, bêyî ku komek beşdarên eşkerekirî hebe.
  • Kombûna randomên eşkerekirî PVRB-ya xwestî ye

Li vir, beşdarek ferdî êdî bandorê li encamên protokolê nake, ji bilî rewşên ku gihîştina sînorê eşkerekirina rasthatî tenê bi wî ve girêdayî ye. Ji ber vê yekê, ev protokol, heke rêjeyek pêdivî ya RP-yên ku li ser protokolê dixebitin û berdest hebe, kar dike, hewcedariyên hêza krîptografî bicîh tîne, û li hember pirsgirêka "aktorê paşîn" berxwedêr e.

Ev dibe ku vebijarkek îdeal be, ev pilana PVRB ya ku li ser bingeha parvekirina veşartî ya Fiat-Shamir-ê ye, mînakî di ev tişt. Lê, wekî ku li jor behs kir, heke hûn hewl bidin ku wê serê-ser di zincîra blokê de bicîh bikin, tixûbên teknîkî xuya dibin. Li vir mînakek ceribandinek ceribandina protokolê di peymana hişmend a EOS-ê de û beşa wê ya herî girîng - kontrolkirina beşdarê parvekirina weşandî ye: koda. Hûn dikarin ji kodê bibînin ku pejirandina delîl hewceyê çend pirjimariyên skalar hewce dike, û hejmarên ku têne bikar anîn pir mezin in. Pêdivî ye ku were fêm kirin ku di zincîreyên blokê de, verastkirin di dema ku hilberînerê blokê danûstendinê dimeşîne pêk tê, û bi gelemperî, divê her beşdarek bi hêsanî rastbûna protokolê verast bike, ji ber vê yekê hewcedariyên leza fonksiyona verastkirinê pir ciddî ne. . Di vê vebijarkê de, vebijark bêbandor derket holê, ji ber ku verastkirin di nav sînorê danûstendinê de (0.5 çirkeyan) cih negirt.

Karbidestiya verastkirinê yek ji wan hewcedariyên herî girîng e ji bo karanîna, bi gelemperî, her pileyên krîptografîk ên pêşkeftî yên di zincîra blokê de. Afirandina delîlan, amadekirina peyaman - ev prosedurek dikarin ji zincîreyê bêne girtin û li ser komputerên bi performansa bilind bêne kirin, lê verastkirin nayê derbas kirin - ev ji bo PVRB hewcedariyek din a girîng e.

PVRB û îmzeyên sînor

Piştî ku me bi pilana parvekirina veşartî re nas kir, me çînek tevahî protokolên ku bi peyva sereke "berdeng" ve hatine yek kirin kifş kir. Dema ku ji bo eşkerekirina hin agahdarî beşdarbûna M-ya beşdarên dilsoz ji N-yê hewce dike, û komek beşdarên dilpak dikare binekomek kêfî ya N-yê be, em ji pîlanên "berdê" diaxivin. Ew ew in ku rê didin me ku em bi pirsgirêka "lîstikvanê paşîn" re mijûl bibin, naha heke êrîşkar beşa xwe ya veşartî eşkere neke, dê beşdarek din, dilsoz ji wî re bike. Ev pîlan rê dide lihevhatina li ser yek û tenê wateyek, tevî ku protokol ji hêla hin beşdaran ve were sabote kirin.

Kombûna îmzayên diyarker û nexşeyên boriyê ev gengaz kir ku ji bo bicihanîna PVRB nexşeyek pir rehet û sozdar were pêşve xistin - ev îmzayên sînorê diyarker in. Vir gotara di derbarê karanîna cûrbecûr yên îmzeyên dergehê de, û li vir yek başek din heye demdirêj ji Dash.

Gotara paşîn îmzeyên BLS vedibêje (BLS ji bo Boneh-Lynn-Sacham radiweste, Va ye gotara), ku ji bo bernamenûsan xwedan qalîteya pir girîng û zehf hêsan e - bişkokên giştî, veşartî, giştî û îmzeyên BLS dikarin bi karanîna operasyonên matematîkî yên hêsan bi hevûdu re bêne hev kirin, dema ku berhevokên wan bişkok û îmzeyên derbasdar dimînin, û dihêle hûn bi hêsanî gelekan berhev bikin. îmze li yek û gelek keys giştî nav yek. Ew di heman demê de diyarker in û ji bo heman daneya têketinê heman encamê derdixin. Bi saya vê kalîteyê, berhevokên îmzeyên BLS bi xwe mifteyên derbasdar in, ku destûrê dide pêkanîna vebijarkek ku tê de M ji N beşdaran yek û yek îmzeyek ku diyarker, bi gelemperî verastkirî û nepêşbînbar e heya ku ji hêla Mth ve were vekirin hilberîne. beşdar .

Di nexşeyek bi îmzayên BLS-ê yên sînor de, her beşdarvanek bi karanîna BLS tiştek îmze dike (mînak, randoma berê), û îmza sînorê hevbeş randoma xwestî ye. Taybetmendiyên krîptografî yên îmzeyên BLS hewcedariyên ji bo qalîteya bêserûber têr dike, beşa sînor li dijî "aktorê paşîn" diparêze, û hevberdana yekta ya bişkokan gengaz dike ku gelek algorîtmayên balkêştir bicîh bîne ku, mînakî, berhevkirina bikêrhatî ya peyamên protokolê dihêle. .

Ji ber vê yekê, heke hûn PVRB li ser zincîra xweya blokê ava dikin, bi îhtîmalek mezin hûn ê bi pilana îmzaya sînorê BLS-ê bi dawî bibin, gelek proje jixwe wê bikar tînin. Mînakî, DFinity (vir pîvana ku çerxa pêk tîne, û vir mînak pêkanîna parvekirina nehênî ya verastkirî), an Keep.network (li vir ronahiya wan a rasthatî ye kaxiz zerû li vir nimûne peymana zîrek ku protokolê dike).

Pêkanîna PVRB

Mixabin, em hîn jî protokolek amade nabînin ku di zincîra blokên PVRB de hatî bicîh kirin ku ewlehî û aramiya xwe îsbat kiriye. Protokol bi xwe amade bin jî, bi teknîkî sepandina wan ji bo çareseriyên heyî ne hêsan e. Ji bo pergalên navendîparêz, PVRB ne wate ye, û yên nemerkezî di hemî çavkaniyên komputerê de bi hişkî sînorkirî ne: CPU, bîranîn, hilanînê, I/O. Sêwirana PVRB hevokek protokolên cihêreng e da ku tiştek biafirîne ku hemî hewcedariyên bi kêmî ve hin zincîra guncan pêk tîne. Protokolek bi bandortir hesab dike, lê bêtir peyaman di navbera RP-yan de hewce dike, dema ku ya din pir hindik peyaman hewce dike, lê çêkirina delîlek dikare bibe peywirek ku bi deh hûrdeman, an jî demjimêran digire.

Ez ê faktorên ku hûn hewce ne ku gava ku PVRB-ya kalîteyê hilbijêrin destnîşan bikim:

  • Hêza krîptografîk. Pêdivî ye ku PVRB-ya we bi hişkî bêalî be, bê kapasîteya kontrolkirina yek bitek. Di hin planan de ev ne wusa ye, ji ber vê yekê gazî krîptografek bikin
  • Pirsgirêka "lîstikvanê dawî".. Pêdivî ye ku PVRB-ya we li hember êrîşan berxwedêr be ku êrîşkarek ku yek an çend RP-yê kontrol dike dikare ji du encaman yek hilbijêrin.
  • Pirsgirêka sabotajê ya protokolê. Pêdivî ye ku PVRB-ya we li hember êrîşan berxwedêr be ku êrîşkarek ku yek an çend RP-yan kontrol dike biryarê dide ka ew random be an na û dikare were garantî kirin an bi îhtimalek diyar ku bandorê li vê yekê bike.
  • Pirsgirêka hejmara peyaman. Pêdivî ye ku RP-yên we herî kêm peyaman bişînin zincîra blokê û bi qasî ku pêkan ji kiryarên hevdemî dûr bikevin mîna rewşên mîna "Min hin agahdarî şand, ez li benda bersivek ji beşdarek taybetî me." Di torên p2p de, nemaze yên ku ji hêla erdnîgarî ve hatine belav kirin, divê hûn li bersivek bilez hesab nekin
  • Pirsgirêka tevliheviya hesabkirinê. Verastkirina her qonaxek zincîra PVRB divê pir hêsan be, ji ber ku ew ji hêla hemî xerîdarên tevnvîsê ve tête kirin. Ger pêkanîn bi karanîna peymanek jîr tê kirin, wê hingê hewcedariyên bilez pir hişk in
  • Pirsgirêka gihîştin û jiyanê. Pêdivî ye ku PVRB-ya we hewil bide ku li hember rewşên ku beşek ji torê ji bo heyamekê ne berdest dibe û beşek ji RP-yê bi tenê xebata xwe rawestîne berxwedêr be.
  • Pirsgirêka sazkirina pêbawer û belavkirina mifteya destpêkê. Ger PVRB-ya we sazûmana bingehîn a protokolê bikar tîne, wê hingê ev çîrokek mezin û ciddî ye. Vir nimûne. Ger beşdaran berî destpêkirina protokolê mifteyên xwe ji hev re bibêjin, heke pêkhateya beşdaran biguhere ev jî pirsgirêk e
  • Pirsgirêkên pêşveçûnê. Hebûna pirtûkxaneyan bi zimanên pêwîst, ewlekarî û performansa wan, ragihandin, ceribandinên tevlihev, hwd.

Mînakî, îmzayên BLS-ê yên sînor pirsgirêkek girîng heye - berî ku dest bi xebatê bikin, beşdar divê miftan li hev belav bikin, komek organîze bikin ku di hundurê kîjan derî de dê bixebite. Ev tê vê wateyê ku bi kêmî ve yek gera danûstendinê di torgilokek nenavendî de pêdivî ye ku li bendê bimîne, û ji ber ku rand-ya hatî hilberandin, mînakî, di lîstikan de, hema hema di wextê rast de hewce ye, ev tê vê wateyê ku sabotekirina protokolê di vê qonaxê de gengaz e. , û awantajên pilana berxê winda dibin. Ev pirsgirêk jixwe ji yên berê sadetir e, lê dîsa jî pêdivî bi pêşxistina prosedurek cihêreng heye ji bo avakirina komên sînor, yên ku dê di warê aborî de bêne parastin, bi depokirin û vekişîna diravan (birîna drav) ji beşdarên ku li pey rêzê nagerin. protokol. Di heman demê de, verastkirina BLS-ê bi astek ewlehiyê ya pejirandî re, ji bo nimûne, di nav danûstendinek standard EOS an Ethereum de cih nagire - ji bo verastkirinê tenê dem têrê nake. Koda peymanê WebAssembly an EVM e, ku ji hêla makîneyek virtual ve hatî darve kirin. Fonksiyonên krîptografîk bi xwemalî nayên bicîh kirin (hê jî), û ji pirtûkxaneyên krîptografî yên kevneşopî bi dehan carî hêdîtir dixebitin. Pir protokol bi tenê li ser bingeha qebareya sereke hewcedariyên xwe nagirin, mînakî 1024 û 2048 bit ji bo RSA, 4-8 carî ji îmzeya danûstendinê ya standard li Bitcoin û Ethereum mezintir e.

Hebûna pêkanînên di zimanên bernamesaziyê yên cihêreng de jî rolek dilîze - ku hindik in, nemaze ji bo protokolên nû. Vebijarka bi entegrasyonê di nav lihevkirinê de pêdivî bi nivîsandina protokolek bi zimanê platformê heye, ji ber vê yekê hûn neçar in ku li kodê li Go ji bo Geth, li Rust ji bo Parity, li C++ ji bo EOS-ê li kodê bigerin. Pêdivî ye ku her kes li koda JavaScript-ê bigere, û ji ber ku JavaScript û krîptografî ne bi taybetî hevalên nêzîk in, WebAssembly dê bibe alîkar, ku naha bê guman îdîa dike ku ew standarda girîng a Înternetê ya din e.

encamê

Ez hêvî dikim di ya berê de gotara Min karî we razî bikim ku çêkirina hejmarên bêserûber li ser zincîra blokê ji bo gelek aliyên jiyana torên nemerkezî krîtîk e, û bi vê gotarê min nîşan da ku ev peywir zehf ambargo û dijwar e, lê çareseriyên baş jixwe hene. Bi gelemperî, sêwirana paşîn a protokolê tenê piştî ceribandinên girseyî pêkan e ku hemî aliyan ji sazkirinê bigire heya emûlasyona xeletiyê dihesibîne, ji ber vê yekê hûn ne mimkûn e ku hûn di kaxez û gotarên tîmê de reçeteyên amade bibînin, û bê guman em ê nebînin biryar bidin ku di salek an du salên pêş de binivîsin "bi vî rengî bikin, tam rast."

Bi xatirê te, ji bo PVRB-ya me ya di zincîra blokê de ku tê pêşve xistin Haya, me li ser karanîna îmzayên BLS-ê yên sînor sekinîn, em plan dikin ku PVRB di asta lihevhatinê de bicîh bikin, ji ber ku verastkirina di peymanên biaqil de bi astek ewlehiyê ya pejirandî hîn ne gengaz e. Mimkun e ku em du nexşeyan bi yekcarî bikar bînin: yekem, parvekirina nepenî ya biha ji bo afirandina random_seed-ya dirêj-dirêj, û dûv re em wê wekî bingehek ji bo nifşa rasthatî ya frekansa bilind bi karanîna îmzeyên BLS-ya sînorê diyarker bikar bînin, dibe ku em ê xwe tenê bi sînor bikin. yek ji planên. Mixabin, ne mimkûn e ku pêşî li protokolê were gotin; tenê tiştê baş ew e ku wekî di zanistê de, di pirsgirêkên endezyariyê de jî encamek neyînî encamek e û her hewlek nû ya çareserkirina pirsgirêkê gavek din e ji bo lêkolîna her kesê ku di pirsgirêkê de ye. Ji bo bicîhanîna pêdiviyên karsaziyê, em pirsgirêkek pratîkî ya taybetî çareser dikin - peydakirina sepanên lîstikê bi çavkaniyek pêbawer a entropiyê, ji ber vê yekê divê em jî bala xwe bidin zincîra blokê bixwe, nemaze mijarên dawîbûna zincîrê û rêveberiya torê.

Her çend em hîna di zincîreyên blokê de PVRB-ya berxwedêr a îsbatkirî nabînin, ku dê ji bo demek têra xwe ji hêla serîlêdanên rastîn, gelek vekolîn, barkirin û bê guman, êrîşên rastîn ve were ceribandin, lê hejmara rêyên gengaz piştrast dike ku çareseriyek heye, û kîjan -ji van algorîtmayan dê di dawiyê de pirsgirêkê çareser bike. Em ê kêfxweş bibin ku encaman parve bikin û spasiya tîmên din ên ku di vê mijarê de jî dixebitin ji bo gotar û kodên ku destûrê didin endezyaran du caran li ser heman rapê neçin.

Ji ber vê yekê, gava ku hûn bernamesazek ​​ku bi rengek nemerkezî random dîzayn dike re hevdîtin pêk bînin, baldar û baldar bin, û ger hewce be arîkariya psîkolojîk peyda bikin :)

Source: www.habr.com

Add a comment