Na hoa khoneha ho hlahisa linomoro tse sa reroang haeba re sa tšepane? Karolo ea 1

Hey Habr!

Sehloohong sena ke tla bua ka moloko oa linomoro tsa pseudo-random ke barupeluoa ba sa tšepaneng. Joalokaha re tla bona ka tlase, ho kenya jenereithara e "hoo e batlang e le" e ntle ho bonolo, empa e ntle haholo e thata.

Hobaneng ho ka hlokahala ho hlahisa linomoro tse sa reroang har'a barupeluoa ba sa tšepaneng? Sebaka se seng sa kopo ke lits'ebetso tse arolelanoang. Ka mohlala, kopo e amohelang ho becha ho tsoa ho motho ea nkang karolo, 'me e ka imena chelete eo habeli ka monyetla oa 49% kapa e tlosa monyetla oa 51% e tla sebetsa ha feela e ka fumana nomoro e sa lebelloang. Haeba mohlaseli a ka susumetsa sephetho sa jenereithara ea nomoro e sa reroang, esita le hanyenyane a eketsa monyetla oa ho fumana tefo ka kopo, o tla e senya habonolo.

Ha re theha protocol e abuoang ea palo e sa reroang, re batla hore e be le thepa e meraro:

  1. O tlameha ho hloka leeme. Ka mantsoe a mang, ha ho monkakarolo ea lokelang ho susumetsa sephetho sa jenereithara ea linomoro ka tsela efe kapa efe.

  2. O tlameha ho ba ea sa lebelloang. Ka mantsoe a mang, ha ho monkakarolo ea lokelang ho bolela esale pele hore na ke nomoro efe e tla hlahisoa (kapa ho nahana ka thepa efe kapa efe ea eona) pele e hlahisoa.

  3. Protocol e tlameha ho ba e sebetsang, ke hore, e hanana le taba ea hore karolo e itseng ea barupeluoa ba itokolla marang-rang kapa ba leka ka boomo ho emisa protocol.

Sehloohong sena re tla sheba mekhoa e 'meli: RANDAO + VDF le mokhoa oa ho hlakola likhoutu. Karolong e latelang, re tla hlahloba ka ho qaqileng mokhoa o thehiloeng ho li-signature tsa moeli.

Empa pele, a re shebeng algorithm e bonolo le e sebelisoang hangata e sebetsang, e sa lebelloang, empa e leeme.

RANDAO

RANDAO ke mokhoa o bonolo haholo 'me ka hona o sebelisoa hangata ho hlahisa ka tšohanyetso. Barupeluoa bohle ba marang-rang ba qala ka ho khetha nomoro ea pseudorandom sebakeng sa habo bona, ebe e mong le e mong oa barupeluoa o romela hash ea nomoro e khethiloeng. Ka mor'a moo, barupeluoa ba fapanyetsana ho senola linomoro tsa bona tse khethiloeng le ho etsa ts'ebetso ea XOR ho linomoro tse senotsoeng, 'me phello ea ts'ebetso ena e fetoha sephetho sa protocol.

Mohato oa ho phatlalatsa li-hashes pele o senola linomoro ke oa bohlokoa e le hore mohlaseli a se ke a khetha nomoro ea hae ka mor'a hore a bone linomoro tsa barupeluoa ba bang. Sena se ne se tla mo lumella hore a tsebe ho etsa qeto a le mong ka letsoho la jenereithara e sa reroang.

Nakong ea protocol, barupeluoa ba lokela ho etsa qeto e tšoanang (eo ho thoeng ke tumellano) habeli: ho qala ho senola linomoro tse khethiloeng, ka hona ba khaotse ho amohela li-hashes, le hore na ba khaotse ho amohela linomoro tse khethiloeng le ho bala lipalo-palo tse hlahisitsoeng. palo. Ho etsa liqeto tse joalo pakeng tsa barupeluoa ba sa tšepaneng ha se ntho e bonolo ka boeona, 'me re tla khutlela ho eona lihloohong tse tlang; sehloohong sena re tla nka hore algorithm e joalo ea tumellano e fumaneha ho rona.

RANDAO e na le thepa efe ho tseo re e hlalositseng ka holimo? Ha e tsejoe esale pele, e na le matla a tšoanang le a protocol ea motheo ea tumellano, empa e leeme. Ka ho khetheha, mohlaseli a ka shebella marang-rang, 'me ka mor'a hore barupeluoa ba bang ba senole linomoro tsa bona, a ka bala XOR ea bona,' me a etsa qeto ea hore na o tla senola palo ea hae kapa che ho susumetsa sephetho. Le hoja sena se thibela mohlaseli hore a se ke a etsa qeto ea hore na mochine oa jenereithara o sa lebelloa, o ntse o mo fa matla a 1. 'Me haeba bahlaseli ba laola barupeluoa ba' maloa, joale palo ea likotoana tseo ba li laolang li tla lekana le palo ea barupeluoa ba tlas'a taolo ea bona.

Na hoa khoneha ho hlahisa linomoro tse sa reroang haeba re sa tšepane? Karolo ea 1

Tšusumetso ea bahlaseli e ka fokotsoa haholo ka ho hloka hore barupeluoa ba senole lipalo ka tatellano. Joale mohlaseli o tla khona ho susumetsa sephetho hafeela e buloa qetellong. Le ha ts'usumetso e le tlase haholo, algorithm e ntse e leeme.

RANDAO+VDF

Tsela e 'ngoe ea ho etsa hore RANDAO e se ke ea e-ba leeme ke ena: ka mor'a hore linomoro tsohle li senoloe' me XOR e baloe, sephetho sa eona se feptjoa ho kenya letsoho mosebetsing, o nkang nako e telele haholo ho bala, empa o u lumella ho hlahloba ho nepahala ha mosebetsi. palo ka potlako e kgolo.

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

Mosebetsi ona o bitsoa Verifiable Delay Function, kapa VDF. Haeba ho bala sephetho sa ho qetela ho nka nako e telele ho feta sethala sa ho senola palo, joale mohlaseli a ke ke a khona ho bolela esale pele phello ea ho bontša kapa ho pata palo ea hae, ka hona o tla lahleheloa ke monyetla oa ho susumetsa sephetho.

Ho theha li-VDF tse ntle ho thata haholo. Ho bile le likhatelopele tse 'maloa haufinyane, mohlala. sena и sena, e leng se ileng sa etsa hore VDF e sebetse haholoanyane, 'me Ethereum 2.0 e rera ho sebelisa RANDAO le VDF e le mohloli oa linomoro tse sa reroang ka nako e telele. Ntle le taba ea hore mokhoa ona o ke ke oa lebelloa ebile ha o leeme, o na le phaello e eketsehileng ea ho sebetsa haeba bonyane barupeluoa ba babeli ba fumaneha marang-rang (ho nka hore protocol ea tumellano e sebelisoang e ka sebetsa ha e sebetsana le palo e nyenyane joalo ea barupeluoa).

Phephetso e kholo ka ho fetisisa ea mokhoa ona ke ho theha VDF hoo esita le morupeluoa ea nang le lisebelisoa tse khethehileng tse theko e boima haholo a ke keng a khona ho bala VDF pele mohato oa ho sibolla o fela. Ha e le hantle, algorithm e lokela ho ba le sebaka se seholo sa polokeho, ho re 10x. Setšoantšo se ka tlase se bontša tlhaselo ea motšoantšisi ea nang le ASIC e khethehileng e mo lumellang hore a tsamaise VDF ka potlako ho feta nako e behiloeng ho senola RANDAO tiisetso. Morupeluoa ea joalo a ntse a ka bala sephetho sa ho qetela a sebelisa kapa a sa sebelise nomoro ea hae, ebe, ho latela palo, khetha hore na o tla e bontša kapa che.

Na hoa khoneha ho hlahisa linomoro tse sa reroang haeba re sa tšepane? Karolo ea 1

Bakeng sa lelapa la VDF le boletsoeng ka holimo, ts'ebetso ea ASIC e inehetseng e ka ba makhetlo a 100+ ho feta hardware e tloaelehileng. Kahoo haeba mohato oa ho senola o nka metsotsoana e 10, VDF e baloang ho ASIC e joalo e tlameha ho nka metsotsoana e fetang 100 ho ba le moeli oa polokeho ea 10x, ka hona VDF e ts'oanang e bakiloeng ho lisebelisoa tsa thepa e tlameha ho nka metsotsoana e 100x 100 = ~ lihora tse 3.

Ethereum Foundation e rera ho rarolla bothata bona ka ho iketsetsa eona e fumanehang phatlalatsa, ea mahala ea ASIC. Hang ha sena se etsahala, li-protocol tse ling kaofela le tsona li ka sebelisa monyetla oa theknoloji ena, empa ho fihlela ka nako eo mokhoa oa RANDAO + VDF o ke ke oa sebetsa hantle bakeng sa liprothokholo tse ke keng tsa kenya chelete ho nts'etsapele li-ASIC tsa bona.

Lingoliloeng tse ngata, livideo le lintlha tse ling ka VDF li bokelloa ho sebaka sena.

Re sebelisa likhoutu tsa ho hlakola

Karolong ena, re tla sheba protocol ea tlhahiso ea linomoro e sa sebetseng e sebelisang ho hlakola likhoutu. E ka mamella bahlaseli ba ⅓ ha e ntse e sebetsa, 'me e lumella bahlaseli ba fihlang ⅔ ho ba teng pele ba ka bolela esale pele kapa ba susumetsa sephetho.

Mohopolo o ka sehloohong oa protocol ke o latelang. Bakeng sa ho nolofatsa, ha re nke hore ho na le barupeluoa ba 100 hantle. Ha re nke hape hore bankakarolo bohle sebakeng sa heno ba na le linotlolo tsa lekunutu, 'me linotlolo tsa sechaba tsa bankakarolo li tsejoa ke bohle ba nkang karolo:

  1. Morupeluoa e mong le e mong sebakeng sa heno o tla ka khoele e telele, a e arola likarolo tse 67, a theha likhoutu tsa ho hlakola ho fumana likarolo tse 100 hoo leha e le efe 67 e lekaneng ho khutlisa khoele, a abe e 'ngoe le e' ngoe ea likarolo tse 100 ho e mong oa barupeluoa, 'me a li ngole ka mokhoa o sireletsehileng. sona senotlolo sa sechaba sa monkakarolo. Likarolo tsohle tse kentsoeng lia phatlalatsoa.

  2. Barupeluoa ba sebelisa mofuta o itseng oa tumellano ho fihlela tumellano ka li-code tse tsoang ho barupeluoa ba itseng ba 67.

  3. Hang ha tumellano e fihletsoe, monkakarolo e mong le e mong o nka likarolo tse kentsoeng ho e 'ngoe le e 'ngoe ea lihlopha tse 67 tse patiloeng ka senotlolo sa bona sa sechaba, o hlakola likarolo tsohle tse joalo, 'me o phatlalatsa likarolo tsohle tse joalo tse sirelelitsoeng.

  4. Hang ha barupeluoa ba 67 ba qetile mohato oa (3), lihlopha tsohle tse lumellaneng li ka hlalosoa ka ho feletseng le ho tsosolosoa ka lebaka la thepa ea likhoutu tsa ho hlakola, 'me palo ea ho qetela e ka fumanoa e le XOR ea mela ea pele eo barupeluoa ba qalileng ka eona ho (1) .

Na hoa khoneha ho hlahisa linomoro tse sa reroang haeba re sa tšepane? Karolo ea 1

Protocol ena e ka bonts'a hore ha e leeme ebile e sa lebelloa. Nomoro e hlahang ka tšohanyetso e khethoa ka mor'a hore ho fihleloe tumellano, empa ha e tsejoe ke mang kapa mang ho fihlela ⅔ ea bankakarolo ba khetha likarolo tse patiloeng ka senotlolo sa bona sa sechaba. Kahoo, palo e sa reroang e khethoa pele tlhahisoleseling e lekaneng ho e etsa bocha e phatlalatsoa.

Ho etsahala'ng haeba mohatong oa (1) e mong oa bankakarolo a romella barupeluoa ba bang liabo tseo e seng khouto e nepahetseng ea khoele e itseng? Ntle le liphetoho tse ling, barupeluoa ba fapaneng ba ke ke ba khona ho khutlisa khoele ho hang, kapa ba tla khutlisa likhoele tse fapaneng, e leng se tla etsa hore barupeluoa ba fapaneng ba fumane nomoro e fapaneng e sa reroang. Ho thibela sena, o ka etsa tse latelang: morupeluoa e mong le e mong, ntle le likarolo tse kentsoeng, o boetse o bala. Sefate sa Merkla likarolo tsohle tse joalo, 'me e romela e mong le e mong ea kenyang letsoho ka bobeli karolo e kenyelletsoeng ka boeona le motso oa sefate sa merkle, le bopaki ba ho kenngoa ha kabelo sefateng sa merkle. Ka tumellano mohatong oa (2), barupeluoa ba se ke ba lumellana feela ka sete ea lihlopha, empa ka sete ea metso e itseng ea lifate tse joalo (haeba morupeluoa e mong a kheloha protocol, 'me a romela metso e fapaneng ea sefate sa merkle ho barupeluoa ba fapaneng, 'me metso e' meli e joalo e bontšoa nakong ea tumellano, mola oa hae ha o kenyelelitsoe sehlopheng sa sephetho). Ka lebaka la tumellano, re tla ba le mela e kentsoeng ea 67 le metso e tsamaellanang ea sefate sa merkle hoo bonyane ho nang le barupeluoa ba 67 (eseng hakaalo-kaalo ba ileng ba etsa tlhahiso ea mela e tsamaisanang), bao ho e 'ngoe le e 'ngoe ea mela e 67 ba nang le eona. molaetsa o nang le karolo ea khoutu ea ho hlakola, le bopaki ba ho hlaha ha karolo ea bona sefateng se tsamaisanang le eona ho ile ha fela.

Ha a le mohatong oa (4) morupeluoa a hlalosa li-beats tse 67 bakeng sa khoele e itseng 'me a leka ho tsosolosa khoele ea pele ho bona, e' ngoe ea likhetho e ka khoneha:

  1. Khoele e tsosolositsoe, 'me haeba e ka boela ea hlakoloa hape,' me sefate sa Merkle se baloa bakeng sa likarolo tse baloang sebakeng sa heno, motso o lumellana le oo tumellano e fihletsoeng ka eona.

  2. Mola o khutliselitsoe, empa motso o baliloeng sebakeng sa heno ha o lumellane le oo ho fihletsoeng tumellano.

  3. Mola ha oa khutlisoa.

Ho bonolo ho bontša hore haeba khetho ea (1) e etsahetse bonyane bakeng sa morupeluoa a le mong ka holimo, khetho ea (1) e etsahetse ho bohle ba nkang karolo, 'me ka tsela e fapaneng, haeba khetho ea (2) kapa (3) e etsahetse bakeng sa monkakarolo a le mong, joale bakeng sa barupeluoa bohle khetho ea (2) kapa (3) e tla etsahala. Kahoo, bakeng sa mola o mong le o mong oa sete, barupeluoa bohle ba tla e fumana ka katleho, kapa barupeluoa bohle ba tla hlōleha ho e fumana. Nomoro e hlahang ka tšohanyetso ke XOR ea mela feela eo barupeluoa ba khonneng ho e fumana.

Mesaeno ea li-threshold

Mokhoa o mong oa ho etsa lintho ka tšohanyetso ke ho sebelisa se bitsoang li-signature tsa BLS. Jenereithara e sa reroang ea linomoro e thehiloeng ho li-signature tsa threshold e na le tiisetso e ts'oanang hantle le algorithm e thehiloeng ho khoutu e hlalositsoeng kaholimo, empa e na le palo e tlase haholo ea melaetsa e rometsoeng marang-rang bakeng sa nomoro ka 'ngoe e hlahisitsoeng.

Li-signature tsa BLS ke moralo o lumellang barupeluoa ba bangata ho etsa tekeno e le 'ngoe e tloaelehileng bakeng sa molaetsa. Mesaeno ena hangata e sebelisoa ho boloka sebaka le bandwidth ka ho se hloke hore ho romeloe mesaeno e mengata. 

Kopo e tloaelehileng ea li-signature tsa BLS ho liprothokholo tsa blockchain, ntle le ho hlahisa linomoro tse sa reroang, ke ho saena ho thibela ho saena ho liprothokholo tsa BFT. Ha re re barupeluoa ba 100 ba theha li-block, 'me block e nkoa e le ea ho qetela haeba ba 67 ba bona ba e saena. Kaofela ba ka fana ka likarolo tsa bona tsa tekeno ea BLS mme ba sebelisa algorithm ea tumellano ho lumellana ka tse 67 tsa bona ebe ba li kopanya ho saena e le 'ngoe ea BLS. Likarolo life kapa life tse 67 (kapa ho feta) li ka sebelisoa ho theha tshaeno ea ho qetela, e tla ipapisa le hore na li-signature tse 67 li kopantsoe joang, ka hona li ka fapana, leha likhetho tse fapaneng tsa barupeluoa ba 67 li tla theha tshaeno e fapaneng, tekeno efe kapa efe e joalo e tla ba e nepahetseng. saena bakeng sa boloko. Ka nako eo barupeluoa ba setseng ba hloka feela ho amohela le ho netefatsa ho saena ho le mong feela thibela, ho e-na le 67, holim'a marang-rang, e leng ho fokotsang mojaro ho marang-rang haholo.

Hoa etsahala hore haeba linotlolo tsa poraefete tseo barupeluoa ba li sebelisang li hlahisoa ka tsela e itseng, ho sa tsotellehe hore na li-signature tse 67 (kapa ho feta, empa eseng ka tlase) li kopantsoe, ho saena sephetho se tla tšoana. Sena se ka sebelisoa e le mohloli oa tšohanyetso: barupeluoa ba qala ho lumellana ka molaetsa o itseng oo ba tla o saena (ena e ka 'na ea e-ba tlhahiso ea RANDAO kapa hashe feela ea boloko ba ho qetela, ha ho tsotellehe hafeela e fetoha nako le nako. 'me e tsitsitse) le ho theha tekeno ea BLS bakeng sa eona. Phello ea moloko e tla ba e sa lebelloang ho fihlela barupeluoa ba 67 ba fana ka likarolo tsa bona, 'me ka mor'a moo sehlahisoa se se se reriloe esale pele' me se ke ke sa itšetleha ka liketso tsa morupeluoa leha e le ofe.

Mokhoa ona oa ho etsa lintho ka mokhoa o sa reroang oa sebetsa ha feela ⅔ ea bankakarolo ba inthaneteng ba latela protocol, 'me ha e leeme ebile ha e lebellehe ha feela ⅓ ea barupeluoa ba latela protocol. Ho bohlokoa ho hlokomela hore mohlaseli ea laolang ho feta ⅓ empa a le ka tlase ho ⅔ ea bankakarolo a ka emisa protocol, empa a ke ke a bolela esale pele kapa a susumetsa tlhahiso ea eona.

Li-signature tsa Threshold ka botsona ke taba e khahlisang haholo. Karolong ea bobeli ea sengoloa, re tla sekaseka ka botlalo hore na ba sebetsa joang, le hore na ho hlokahala joang ho hlahisa linotlolo tsa barupeluoa e le hore li-signature tsa moeli li ka sebelisoa e le jenereithara ea linomoro tse sa reroang.

Qetellong

Sengoliloeng sena ke sa pele letotong la lingoliloeng tsa blog tsa tekheniki TS'EPO. HAUFI ke protocol ea blockchain le sethala sa ho nts'etsapele lits'ebetso tse arolelanoang ka har'a naha ka ho hatisa boiketlo ba nts'etsopele le boiketlo ba tšebeliso bakeng sa basebelisi ba ho qetela.

Khoutu ea protocol e bulehile, ts'ebetsong ea rona e ngotsoe ka Rust, e ka fumanoa mona.

U ka bona hore na nts'etsopele ea NEAR e shebahala joang le ho etsa liteko ho IDE ea inthaneteng mona.

U ka latela litaba tsohle ka Serussia ho sehlopha sa thelekramo le ho sehlopha sa VKontakte, le ka Senyesemane ka molaoli twitter.

Ke tla u bona haufinyane!

Source: www.habr.com

Eketsa ka tlhaloso