Random nga mga numero ug desentralisadong network: mga pagpatuman

Pasiuna

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

Sama sa konsepto sa usa ka hingpit nga lig-on nga cipher gikan sa cryptography, ang tinuod nga "Publicly Verifiable Random Beacon" (pagkahuman niini PVRB) nga mga protocol naningkamot lamang nga makaduol kutob sa mahimo sa sulundon nga laraw, tungod kay sa tinuod nga mga network dili kini magamit sa lunsay nga porma niini: gikinahanglan nga magkauyon sa usa ka gamay, kinahanglan nga adunay daghang mga hugna, ug ang tanan nga mga mensahe kinahanglan nga hingpit nga paspas ug kanunay nga ipadala. Siyempre, dili kini ang kaso sa tinuod nga mga network. Busa, sa diha nga ang pagdesinyo sa mga PVRBs alang sa piho nga mga buluhaton sa modernong mga blockchain, dugang pa sa imposibilidad sa pagpugong sa resulta nga randomness ug cryptographic nga kusog, daghan pa nga lunsay nga arkitektura ug teknikal nga mga problema ang mitungha.

Alang sa PVRB, ang blockchain mismo usa ka medium sa komunikasyon diin ang mga mensahe = mga transaksyon. Gitugotan ka niini nga partially abstract gikan sa mga problema sa network, dili paghatud sa mga mensahe, mga problema sa middleware - kining tanan nga mga peligro giangkon sa desentralisado nga network, ug ang panguna nga kantidad niini alang sa PVRB mao ang kawalay katakus sa pagbawi o pagdaot sa gipadala na nga transaksyon - kini mahimo dili tugotan ang mga partisipante sa pagdumili sa pag-apil sa protocol, gawas kon sila nakahimo sa usa ka malampuson nga pag-atake sa consensus. Kini nga lebel sa seguridad madawat, mao nga ang PVRB kinahanglan nga makasugakod sa panagkunsabo sa mga partisipante sa eksaktong sama nga gidak-on sa nag-unang blockchain chain. Usab, kini nagpasabot nga ang PVRB kinahanglan nga mahimong bahin sa consensus kon ang network miuyon sa mga nag-unang blockchain, bisan kon kini usab miuyon sa bugtong patas nga resulta random. O, ang PVRB usa lang ka standalone protocol nga gipatuman sa usa ka smart contract nga naglihok nga asynchronously may kalabotan sa blockchain ug blocks. Ang duha nga mga pamaagi adunay ilang mga bentaha ug disbentaha, ug ang pagpili tali kanila labi ka dili hinungdanon.

Duha ka paagi sa pagpatuman sa PVRB

Atong ihulagway sa mas detalyado ang duha ka mga kapilian alang sa pagpatuman sa PVRB - ang standalone nga bersyon, nga nagtrabaho gamit ang usa ka smart nga kontrata nga independente sa blockchain, ug ang consensus-integrated nga bersyon, nga gitukod sa protocol, sumala sa diin ang network miuyon sa blockchain ug ang mga transaksyon nga iapil. Sa tanan nga mga kaso, akong ipasabut ang mga sikat nga makina nga blockchain: Ethereum, EOS, ug tanan nga susama kanila sa paagi nga sila nag-host ug nagproseso sa mga smart nga kontrata.

Standalone nga kontrata

Sa kini nga bersyon, ang PVRB usa ka smart nga kontrata nga nagdawat sa mga transaksyon sa mga random nga prodyuser (gitawag nga RP), giproseso kini, gihiusa ang mga resulta, ug, ingon usa ka sangputanan, moabut sa usa ka piho nga kantidad nga madawat sa bisan kinsa nga tiggamit gikan sa kini nga kontrata. Kini nga kantidad mahimong dili direkta nga gitipigan sa kontrata, apan hinoon girepresentahan lamang sa mga datos diin ang usa ug usa lamang ka bili sa resulta nga random mahimong makuha nga deterministiko. Sa kini nga laraw, ang mga RP mga tiggamit sa blockchain, ug bisan kinsa mahimong tugutan nga moapil sa proseso sa henerasyon.

Ang kapilian nga adunay standalone-contract maayo:

  • portability (ang mga kontrata mahimong ma-drag gikan sa blockchain ngadto sa blockchain)
  • kasayon ​​sa pagpatuman ug pagsulay (ang mga kontrata sayon ​​isulat ug sulayan)
  • kasayon ​​sa pagpatuman sa mga laraw sa ekonomiya (sayon ​​ang paghimo sa imong kaugalingon nga timaan, kansang lohika nagsilbi sa mga katuyoan sa PVRB)
  • posibilidad sa paglansad sa nagtrabaho na nga mga blockchain

Kini usab adunay mga disadvantages:

  • lig-on nga mga limitasyon sa mga kapanguhaan sa pag-compute, gidaghanon sa transaksyon ug pagtipig (sa laing pagkasulti, cpu/mem/io)
  • mga pagdili sa mga operasyon sulod sa kontrata (dili tanang instruksyon anaa, lisud ang pagkonektar sa mga eksternal nga librarya)
  • kawalay katakus sa pag-organisar sa mensahe nga mas paspas kay sa mga transaksyon nga gilakip sa blockchain

Ang kini nga kapilian angay alang sa pagpatuman sa usa ka PVRB nga kinahanglan nga ipadagan sa usa ka kasamtangan nga network, wala’y sulud nga komplikado nga cryptography ug wala magkinahanglan daghang daghang mga interaksyon.

Consensus-integrated

Niini nga bersyon, ang PVRB gipatuman sa blockchain node code, built-in o nagdagan nga susama sa pagbayloay sa mga mensahe tali sa blockchain nodes. Ang mga resulta sa protocol direkta nga gisulat sa mga gigama nga mga bloke, ug ang mga mensahe sa protocol gipadala sa p2p network tali sa mga node. Tungod kay ang protocol nagresulta sa mga numero nga isulat sa mga bloke, ang network kinahanglan nga makab-ot ang usa ka consensus sa kanila. Nagpasabot kini nga ang mga mensahe sa PVRB, sama sa mga transaksyon, kinahanglang ma-validate sa mga node ug ilakip sa mga bloke aron ang bisan kinsang partisipante sa network maka-validate sa pagsunod sa PVRB protocol. Kini awtomatik nga magdala kanato ngadto sa klaro nga solusyon - kung ang network miuyon sa usa ka consensus mahitungod sa usa ka block ug mga transaksyon niini, nan ang PVRB kinahanglan nga kabahin sa consensus, ug dili usa ka stand-alone nga protocol. Kung dili, posible nga ang usa ka block balido gikan sa usa ka consensus point of view, apan ang PVRB protocol wala gisunod, ug gikan sa PVRB point of view ang block dili madawat. Busa kung pilion ang opsyon nga "consensus-integrated", ang PVRB mahimong importante nga bahin sa consensus.

Kung naghulagway sa mga pagpatuman sa PVRB sa lebel sa konsensus sa network, ang usa dili sa bisan unsang paagi makalikay sa mga isyu sa katapusan. Ang finality usa ka mekanismo nga gigamit sa deterministic consensuses nga nagtak-op sa usa ka block (ug ang kadena nga nagpadulong niini) nga katapusan ug dili gayud ilabay, bisan kung adunay usa ka parallel fork nga mahitabo. Pananglitan, sa Bitcoin walay ingon nga mekanismo - kon imong imantala ang usa ka kadena nga mas komplikado, kini mopuli sa bisan unsa nga dili kaayo komplikado, bisan unsa pa ang gitas-on sa mga kadena. Ug sa EOS, pananglitan, ang mga katapusan mao ang gitawag nga Last Irreversible Blocks, nga makita sa kasagaran sa matag 432 blocks (12*21 + 12*15, pre-vote + pre-commit). Kini nga proseso sa esensya naghulat alang sa 2/3 sa mga block-producer (gitawag nga BP) nga mga pirma. Kung makita ang mga tinidor nga mas tigulang kaysa sa katapusan nga LIB, kini gilabay lamang. Kini nga mekanismo nagpaposible sa paggarantiya nga ang transaksyon gilakip sa blockchain ug dili na ibalik, bisan unsa pa nga mga kapanguhaan ang naa sa tig-atake. Usab, ang katapusang mga bloke mao ang mga bloke nga gipirmahan sa 2/3 BP sa Hyperledger, Tendermint ug uban pang pBFT-based consensuses. Usab, makatarunganon ang paghimo sa usa ka protocol alang sa pagsiguro sa katapusan nga usa ka add-on sa consensus, tungod kay kini mahimo nga molihok nga asynchronously sa paghimo ug pagmantala sa mga bloke. Ania ang usa ka maayo nga artikulo mahitungod sa katapusan sa Ethereum.

Ang katapusan hinungdanon kaayo alang sa mga tiggamit, nga kung wala kini mahimo’g makit-an ang ilang mga kaugalingon nga biktima sa usa ka "dobleng gasto" nga pag-atake, diin ang BP "naghupot" nga mga bloke, ug gipatik kini pagkahuman sa network "nakakita" usa ka maayong transaksyon. Kung wala’y katapusan, nan ang gipatik nga tinidor gipulihan ang block sa usa ka "maayo" nga transaksyon sa lain, gikan sa usa ka "dili maayo" nga tinidor, diin ang parehas nga pondo gibalhin sa adres sa tig-atake. Sa kaso sa PVRB, ang mga kinahanglanon alang sa katapusan mas estrikto, tungod kay ang pagtukod sa mga tinidor para sa PVRB nagpasabot sa oportunidad alang sa usa ka tig-atake sa pag-andam sa daghang mga random nga mga kapilian aron sa pagmantala sa labing mapuslanon, ug ang paglimite sa panahon sa usa ka posible nga pag-atake usa ka maayong solusyon.

Busa, ang pinakamaayo nga kapilian mao ang paghiusa sa PVRB ug finality ngadto sa usa ka protocol - unya ang finalized block = finalized random, ug mao gyud kini ang kinahanglan natong makuha. Karon ang mga magdudula makadawat usa ka garantiya nga random sa N segundo, ug makasiguro nga imposible nga i-roll kini balik o i-replay kini pag-usab.

Ang consensus-integrated nga kapilian maayo:

  • ang posibilidad sa asynchronous nga pagpatuman nga may kalabotan sa paghimo sa mga bloke - ang mga bloke gihimo sama sa naandan, apan dungan niini, ang protocol sa PVRB mahimong molihok, nga wala maghimo randomness alang sa matag bloke
  • ang abilidad sa pagpatuman bisan sa bug-at nga cryptography, nga walay mga pagdili nga gipahamtang sa mga smart nga kontrata
  • ang abilidad sa pag-organisar sa pagbinayloay sa mga mensahe nga mas paspas kay sa mga transaksyon gilakip sa blockchain, pananglitan, ang bahin sa protocol mahimong molihok tali sa mga node nga wala mag-apod-apod sa mga mensahe sa network.

Kini usab adunay mga disadvantages:

  • Mga kalisud sa pagsulay ug pag-uswag - kinahanglan nimo nga sundon ang mga sayup sa network, nawala nga mga node, mga hard forks sa network
  • Ang mga sayup sa pagpatuman nanginahanglan usa ka hardfork sa network

Ang duha nga mga pamaagi sa pagpatuman sa PVRB adunay katungod sa kinabuhi, apan ang pagpatuman sa mga smart nga kontrata sa modernong mga blockchain limitado gihapon sa mga kapanguhaan sa pag-compute, ug ang bisan unsang pagbalhin sa seryoso nga kriptograpiya kanunay nga imposible. Ug magkinahanglan kami og seryoso nga cryptography, ingon sa ipakita sa ubos. Bisan kung kini nga problema klaro nga temporaryo, ang seryoso nga cryptography sa mga kontrata gikinahanglan aron masulbad ang daghang mga problema, ug kini anam-anam nga nagpakita (pananglitan, mga kontrata sa sistema alang sa zkSNARKs sa Ethereum)

Ang Blockchain, nga naghatag usa ka transparent ug kasaligan nga channel sa pagmemensahe sa protocol, wala magbuhat niini nga libre. Ang bisan unsang desentralisadong protocol kinahanglan nga tagdon ang posibilidad sa usa ka pag-atake sa Sybil; bisan unsang aksyon nga mahimo sa hiniusang pwersa sa daghang mga account, busa, kung magdesinyo, kinahanglan nga tagdon ang katakus sa mga tig-atake nga maghimo usa ka arbitraryong gidaghanon sa protocol. mga partisipante nga naglihok sa panagkunsabo.

PVRB ug block variables.

Wala ko namakak sa dihang miingon ko nga wala pay usa nga nagpatuman sa maayong PVRB, gisulayan sa daghang aplikasyon sa sugal, sa mga blockchain. Diin man gikan ang daghang aplikasyon sa sugal sa Ethereum ug EOS? Kini nakapakurat kanako sama sa makapakurat kanimo, diin sila nakakuha sa daghang mga "persistent" nga mga random sa usa ka hingpit nga deterministikong palibot?

Ang paborito nga paagi aron makuha ang randomness sa blockchain mao ang pagkuha sa usa ka matang sa "dili matag-an" nga impormasyon gikan sa block ug paghimo nga random base niini - pinaagi lamang sa pag-hash sa usa o daghan pa nga mga kantidad. Maayong artikulo bahin sa mga problema sa ingon nga mga laraw dinhi. Mahimo nimong makuha ang bisan unsang "dili matag-an" nga mga kantidad sa block, pananglitan, ang block hash, ang gidaghanon sa mga transaksyon, pagkakomplikado sa network, ug uban pang mga kantidad nga wala mahibal-an daan. Dayon hash sila, usa o daghan pa, ug, sa teorya, kinahanglan ka nga makakuha usa ka tinuud nga random. Mahimo pa nimo idugang sa whitipaper nga ang imong laraw "post-quantum secure" (tungod kay adunay quantum-proof hash functions :)).

Apan bisan ang post-quantum secure hash dili igo, alaut. Ang sekreto naa sa mga kinahanglanon alang sa PVRB, pahinumdoman ko sila gikan sa miaging artikulo:

  1. Ang resulta kinahanglan adunay usa ka mapamatud-an nga managsama nga pag-apod-apod, i.e. gibase sa lig-on nga cryptography.
  2. Dili posible nga makontrol ang bisan unsang mga tipik sa resulta. Ingon usa ka sangputanan, ang sangputanan dili matagna nga daan.
  3. Dili nimo masabotahe ang generation protocol pinaagi sa dili pag-apil sa protocol o pinaagi sa pag-overload sa network sa mga mensahe sa pag-atake
  4. Ang tanan sa ibabaw kinahanglan nga makasugakod sa panagkunsabo sa usa ka gitugotan nga gidaghanon sa dili matinud-anon nga mga partisipante sa protocol (pananglitan, 1/3 sa mga partisipante).

Sa kini nga kaso, ang kinahanglanon 1 lamang ang natuman, ug ang kinahanglanon 2 wala matuman. Pinaagi sa pag-hash sa dili matag-an nga mga kantidad gikan sa bloke, makakuha kami usa ka managsama nga pag-apod-apod ug maayong mga random. Apan ang BP labing menos adunay kapilian nga "imantala ang block o dili." Sa ingon, ang BP labing menos makapili gikan sa DUHA ka random nga mga kapilian: "sa iyang kaugalingon" ug ang usa nga mogawas kung adunay lain nga maghimo sa block. Ang BP mahimong "mag-snoop" daan kung unsa ang mahitabo kung magmantala siya og usa ka block, ug mohukom lang nga buhaton kini o dili. Sa ingon, kung magdula, pananglitan, "even-odd" o "pula / itom" sa roulette, mahimo niya nga imantala ang usa ka block kung makakita siya usa ka kadaugan. Gihimo usab niini ang estratehiya sa paggamit, pananglitan, usa ka block hash "gikan sa umaabot" nga dili mahimo. Sa kini nga kaso, sila nag-ingon nga "random ang gamiton, nga makuha pinaagi sa pag-hash sa kasamtangan nga datos ug sa hash sa umaabot nga block nga adunay gitas-on, pananglitan, N + 42, diin ang N mao ang kasamtangan nga block height. Gipalig-on niini og gamay ang laraw, apan gitugotan gihapon ang BP, bisan pa sa umaabot, sa pagpili kung huptan ba ang block o imantala.

Ang software sa BP niini nga kaso nahimong mas komplikado, apan dili kaayo. Sa yano nga paagi, kung gi-validate ug gilakip ang usa ka transaksyon sa usa ka bloke, adunay usa ka dali nga pagsusi aron mahibal-an kung adunay kadaugan, ug, posible, pagpili sa usa ka mga parameter sa transaksyon aron makakuha usa ka taas nga posibilidad nga makadaog. Sa parehas nga oras, hapit imposible nga makuha ang usa ka intelihente nga BP alang sa ingon nga mga manipulasyon; matag higayon nga magamit nimo ang bag-ong mga adres ug makadaog sa hinay-hinay nga wala makapukaw sa pagduda.

Busa ang mga pamaagi gamit ang impormasyon gikan sa block dili angay isip unibersal nga pagpatuman sa PVRB. Sa usa ka limitado nga bersyon, nga adunay mga pagdili sa mga gidak-on sa pusta, mga pagdili sa gidaghanon sa mga magdudula ug / o pagrehistro sa KYC (aron mapugngan ang usa ka magdudula sa paggamit sa daghang mga adres), kini nga mga laraw mahimo’g molihok alang sa gagmay nga mga dula, apan wala na.

PVRB ug commit-reveal.

Okay, salamat sa hashing ug labing menos ang paryente nga dili matag-an sa block hash ug uban pang mga variable. Kung masulbad nimo ang problema sa mga nag-una nga mga minero, kinahanglan nimo nga makakuha usa ka butang nga labi ka angay. Atong idugang ang mga tiggamit niini nga laraw - pabay-i nga maimpluwensyahan usab nila ang pagka random: ang bisan unsang empleyado sa teknikal nga suporta mosulti kanimo nga ang labing random nga butang sa mga sistema sa IT mao ang mga aksyon sa mga tiggamit :)

Ang usa ka walay pulos nga laraw, kung ang mga tiggamit nagpadala lamang ug random nga mga numero ug ang resulta gikalkula ingon, pananglitan, usa ka hash sa ilang kantidad, dili angay. Sa kini nga kaso, ang katapusan nga magdudula mahimo, pinaagi sa pagpili sa iyang kaugalingon nga random, makontrol kung unsa ang sangputanan. Mao kini ang hinungdan nga ang kaylap kaayo nga gigamit nga commit-reveal pattern gigamit. Ang mga partisipante una nga nagpadala mga hash gikan sa ilang mga random (nagbuhat), ug dayon giablihan ang mga random sa ilang kaugalingon (nagpadayag). Ang "pagpadayag" nga hugna magsugod lamang human makolekta ang gikinahanglan nga mga pasalig, aron ang mga partisipante makapadala gayud sa random hash nga ilang gipadala sa sayo pa. Karon atong ibutang kining tanan uban sa mga parameter sa usa ka block, ug mas maayo kay sa usa nga gikuha gikan sa umaabot (ang randomness makita lamang sa usa sa umaabot nga mga bloke), ug voila - ang randomness andam na! Karon ang bisan kinsa nga magdudula nag-impluwensya sa resulta nga randomness, ug mahimo nga "mapildi" ang malisyoso nga BP pinaagi sa pag-override niini sa iyang kaugalingon, wala mahibal-an daan, randomness ... Mahimo ka usab makadugang proteksyon batok sa pagsabotahe sa protocol pinaagi sa dili pag-abli niini sa pagpadayag nga yugto - yano nga pinaagi sa pag-require sa usa ka piho nga kantidad nga ilakip sa transaksyon sa dihang mohimo β€” usa ka security deposit, nga ibalik lamang sa panahon sa pagpadayag nga pamaagi. Sa kini nga kaso, ang paghimo ug dili pagpadayag dili mapuslanon.

Kini usa ka maayo nga pagsulay, ug ang ingon nga mga laraw naglungtad usab sa pagdula sa DApps, apan alaot, dili na usab kini igo. Karon dili lamang ang minero, apan ang bisan kinsa nga partisipante sa protocol mahimong makaimpluwensya sa resulta. Posible gihapon nga kontrolon ang bili sa iyang kaugalingon, nga adunay gamay nga pagkausab-usab ug sa usa ka gasto, apan, sama sa kaso sa minero, kung ang mga resulta sa drowing mas bililhon kay sa bayad alang sa pag-apil sa PVRB protocol, nan ang random -producer(RP) makahukom kon ibutyag ug makapili gihapon gikan sa labing menos duha ka random nga mga kapilian.
Apan nahimong posible ang pagsilot niadtong nakahimo ug wala magpadayag, ug kini nga laraw magamit. Ang kayano niini usa ka seryoso nga bentaha - ang mas seryoso nga mga protocol nanginahanglan labi ka kusgan nga mga kalkulasyon.

PVRB ug deterministikong mga pirma.

Adunay laing paagi sa pagpugos sa RP sa paghatag og pseudo-random nga numero nga dili maimpluwensyahan kung kini gihatagan og "preimage" - kini usa ka deterministikong pirma. Ang ingon nga pirma, pananglitan, RSA, ug dili ECS. Kung ang RP adunay usa ka parisan sa mga yawe: RSA ug ECC, ug siya mopirma sa usa ka piho nga kantidad sa iyang pribado nga yawe, unya sa kaso sa RSA siya makakuha og USA UG USA LAMANG nga pirma, ug sa kaso sa ECS siya makahimo sa bisan unsa nga gidaghanon sa lainlaing balido nga pirma. Kini tungod kay kung maghimo usa ka pirma sa ECS, usa ka random nga numero ang gigamit, gipili sa nagpirma, ug mahimo kini mapili sa bisan unsang paagi, nga naghatag higayon sa nagpirma sa pagpili sa usa sa daghang mga pirma. Sa kaso sa RSA: "usa ka input value" + "usa ka key pair" = "usa ka pirma". Imposible nga matag-an kung unsa nga pirma ang makuha sa laing RP, busa ang usa ka PVRB nga adunay deterministikong mga pirma mahimong maorganisar pinaagi sa paghiusa sa mga pirma sa RSA sa daghang mga partisipante nga mipirma sa parehas nga kantidad. Pananglitan, ang miaging random. Kini nga laraw makatipig daghang mga kahinguhaan, tungod kay Ang mga pirma pareho nga kumpirmasyon sa husto nga pamatasan sumala sa protocol ug usa ka gigikanan sa randomness.

Bisan pa, bisan sa mga pirma nga deterministiko, ang laraw dali nga maapektuhan sa problema sa "katapusan nga aktor". Ang katapusan nga partisipante mahimo gihapon nga magdesisyon kung ipatik ang pirma o dili, sa ingon makontrol ang sangputanan. Mahimo nimong usbon ang laraw, idugang ang mga block hash niini, paghimo mga hugna aron ang sangputanan dili matagna nga daan, apan ang tanan nga kini nga mga pamaagi, bisan kung gikonsiderar ang daghang mga pagbag-o, wala gihapon masulbad ang problema sa impluwensya sa usa ka partisipante sa kolektibo. moresulta sa usa ka dili kasaligan nga palibot ug mahimo lamang nga magtrabaho sa ilalum sa mga pagpugong sa ekonomiya ug oras. Dugang pa, ang gidak-on sa mga yawe sa RSA (1024 ug 2048 bits) medyo dako, ug ang gidak-on alang sa mga transaksyon sa blockchain usa ka hinungdanon nga parameter. Dayag nga walay yano nga paagi aron masulbad ang problema, magpadayon kita.

PVRB ug sekretong pagpaambit nga mga laraw

Sa cryptography, adunay mga laraw nga makatugot sa network nga magkauyon sa usa ug usa ra nga kantidad sa PVRB, samtang ang ingon nga mga laraw dili makasukol sa bisan unsang malisyosong aksyon sa pipila nga mga partisipante. Usa ka mapuslanon nga protocol nga angay nga pamilyar sa imong kaugalingon mao ang sekreto nga pamaagi sa pagpaambit ni Shamir. Nagsilbi kini sa pagbahin sa usa ka sekreto (pananglitan, usa ka sekreto nga yawe) ngadto sa pipila ka mga bahin, ug pag-apod-apod niini nga mga bahin ngadto sa N nga mga partisipante. Ang sekreto giapod-apod sa paagi nga ang M nga mga bahin gikan sa N igo na aron mabawi kini, ug kini mahimong bisan unsang M nga mga bahin. Kung sa mga tudlo, unya adunay usa ka graph sa usa ka wala mailhi nga function, ang mga partisipante magbayloay og mga punto sa graph, ug human makadawat og M nga mga puntos, ang tibuok nga function mahimong mapasig-uli.
Usa ka maayong katin-awan ang gihatag sa wiki apan ang pagdula niini sa praktikal aron sa pagdula sa protocol sa imong ulo mapuslanon alang sa demo panid.

Kung ang laraw sa FSSS (Fiat-Shamir Secret Sharing) magamit sa lunsay nga porma, kini usa ka dili maguba nga PVRB. Sa pinakasimple nga porma niini, ang protocol mahimong sama niini:

  • Ang matag partisipante nagmugna sa ilang kaugalingon nga random ug nag-apod-apod sa mga bahin gikan niini ngadto sa ubang mga partisipante
  • Ang matag partisipante nagpadayag sa iyang bahin sa mga sekreto sa ubang mga partisipante
  • Kung ang usa ka partisipante adunay labaw pa sa M nga bahin, nan ang gidaghanon sa kini nga partisipante mahimong kalkulado, ug kini talagsaon, bisan unsa pa ang set sa gipadayag nga mga partisipante
  • Ang kombinasyon sa gipadayag nga mga random mao ang gitinguha nga PVRB

Dinhi, ang usa ka indibidwal nga partisipante dili na makaimpluwensya sa mga resulta sa protocol, gawas sa mga kaso diin ang pagkab-ot sa randomness disclosure threshold nagdepende lamang kaniya. Busa, kini nga protocol, kung adunay gikinahanglan nga proporsyon sa mga RP nga nagtrabaho sa protocol ug magamit, nagtrabaho, nagpatuman sa mga kinahanglanon alang sa kusog sa cryptographic, ug makasugakod sa problema sa "katapusan nga aktor".

Mahimo kini nga usa ka sulundon nga kapilian, kini nga laraw sa PVRB base sa sekreto nga pagpaambit sa Fiat-Shamir gihulagway pananglitan sa kini artikulo. Apan, sama sa nahisgutan sa ibabaw, kung sulayan nimo nga i-apply kini nga head-on sa blockchain, makita ang mga limitasyon sa teknikal. Ania ang usa ka pananglitan sa usa ka pagsulay nga pagpatuman sa protocol sa EOS smart contract ug ang labing importante nga bahin niini - pagsusi sa gimantala nga partisipante: code. Makita nimo gikan sa code nga ang proof validation nanginahanglan daghang scalar multiplications, ug ang mga numero nga gigamit dako kaayo. Kinahanglan nga masabtan nga sa mga blockchain, ang pag-verify mahitabo sa higayon nga ang block-producer nagproseso sa transaksyon, ug sa kinatibuk-an, ang bisan kinsa nga partisipante kinahanglan nga dali nga mapamatud-an ang katukma sa protocol, mao nga ang mga kinahanglanon alang sa katulin sa pag-verify function seryoso kaayo. . Sa kini nga kapilian, ang kapilian nahimo nga dili epektibo, tungod kay ang pag-verify wala mohaum sa limitasyon sa transaksyon (0.5 segundos).

Ang kahusayan sa pag-verify usa sa labing hinungdanon nga mga kinahanglanon alang sa paggamit sa, sa kinatibuk-an, bisan unsang advanced cryptographic scheme sa blockchain. Paghimo og mga pruweba, pag-andam sa mga mensahe - kini nga mga pamaagi mahimong tangtangon sa kadena ug ipahigayon sa mga high-performance nga mga kompyuter, apan ang pag-verify dili malaktawan - kini usa pa ka importante nga kinahanglanon alang sa PVRB.

PVRB ug threshold signatures

Kay nahibal-an ang sekreto nga pamaagi sa pagpaambit, among nadiskobrehan ang tibuok klase sa mga protocol nga gihiusa sa keyword nga "threshold". Sa diha nga ang pagbutyag sa pipila ka impormasyon nagkinahanglan sa partisipasyon sa M matinud-anon nga mga partisipante gikan sa N, ug ang hugpong sa matinud-anon nga mga partisipante mahimo nga usa ka arbitraryong subset sa N, kita naghisgot sa mga "threshold" nga mga laraw. Sila ang nagtugot kanato sa pag-atubang sa problema sa "katapusan nga aktor", karon kung ang tig-atake dili magpadayag sa iyang bahin sa sekreto, lain, matinud-anon nga partisipante ang mobuhat niini alang kaniya. Kini nga mga laraw nagtugot sa kasabutan sa usa ug usa lamang ka kahulugan, bisan kung ang protocol gisabotahe sa pipila nga mga partisipante.

Ang kombinasyon sa mga deterministikong pirma ug mga laraw sa threshold nagpaposible sa paghimo ug usa ka kombenyente ug maayong laraw sa pagpatuman sa PVRB - kini mga deterministikong pirma sa threshold. Dinhi nga artikulo mahitungod sa lain-laing mga gamit sa threshold signatures, ug aniay laing maayo taas nga pagbasa gikan sa Dash.

Ang katapusan nga artikulo naghulagway sa mga pirma sa BLS (BLS nagpasabot sa Boneh-Lynn-Shacham, tan-awa artikulo), nga adunay usa ka hinungdanon kaayo ug labi ka kombenyente nga kalidad alang sa mga programmer - publiko, sekreto, publiko nga mga yawe ug mga pirma sa BLS mahimong ikombinar sa usag usa gamit ang yano nga mga operasyon sa matematika, samtang ang ilang mga kombinasyon nagpabilin nga balido nga mga yawe ug mga pirma, nga nagtugot kanimo nga dali nga ma-aggregate ang daghang mga pirma ngadto sa usa ug daghang publikong yawe ngadto sa usa. Deterministiko usab sila ug nagpatunghag parehas nga resulta alang sa parehas nga datos sa pag-input. Salamat sa kini nga kalidad, ang mga kombinasyon sa mga pirma sa BLS mao ang ilang kaugalingon nga balido nga mga yawe, nga nagtugot alang sa pagpatuman sa usa ka kapilian diin ang mga partisipante sa M sa N naghimo usa ug usa ra nga pirma nga deterministiko, mapamatud-an sa publiko, ug dili matag-an hangtod kini maablihan sa Mth partisipante .

Sa usa ka laraw nga adunay mga pirma sa threshold nga BLS, ang matag partisipante nagpirma sa usa ka butang gamit ang BLS (pananglitan, ang miaging random), ug ang sagad nga pirma sa threshold mao ang gusto nga random. Ang cryptographic nga mga kabtangan sa mga pirma sa BLS nagtagbaw sa mga kinahanglanon alang sa random nga kalidad, ang threshold nga bahin nanalipod batok sa "katapusan nga aktor", ug ang talagsaon nga kombinasyon sa mga yawe nagpaposible sa pagpatuman sa daghang mas makapaikag nga mga algorithm nga nagtugot, pananglitan, sa episyente nga paghugpong sa mga mensahe sa protocol .

Mao nga, kung nagtukod ka sa PVRB sa imong blockchain, lagmit nga matapos nimo ang laraw sa mga pirma sa threshold sa BLS, daghang mga proyekto ang gigamit na niini. Pananglitan, DFinity (dinhi benchmark nga nagpatuman sa sirkito, ug dinhi pananglitan nga pagpatuman sa mapamatud-an nga sekreto nga pagpaambit), o Keep.network (ania ang ilang random beacon yellow nga papelug dinhi usa ka panig-ingnan smart contract nga nagsilbi sa protocol).

Pagpatuman sa PVRB

Ikasubo, wala gihapon kami makakita og andam nga protocol nga gipatuman sa PVRB blockchains nga nagpamatuod sa iyang seguridad ug kalig-on. Bisan kung ang mga protocol mismo andam na, ang teknikal nga pagpadapat niini sa mga kasamtangan nga solusyon dili sayon. Alang sa mga sentralisadong sistema, ang PVRB dili makatarunganon, ug ang mga desentralisado hugot nga limitado sa tanan nga mga kapanguhaan sa kompyuter: CPU, memorya, pagtipig, I/O. Ang pagdesinyo sa usa ka PVRB usa ka kombinasyon sa lainlaing mga protocol aron makahimo usa ka butang nga makatagbo sa tanan nga mga kinahanglanon alang sa labing menos pipila nga magamit nga blockchain. Ang usa ka protocol nagkalkula nga mas episyente, apan nanginahanglan daghang mga mensahe tali sa mga RP, samtang ang lain nanginahanglan gamay ra kaayo nga mga mensahe, apan ang paghimo og usa ka pruweba mahimong usa ka buluhaton nga nagkinahanglag napulo ka minuto, o bisan mga oras.

Akong ilista ang mga hinungdan nga kinahanglan nimong tagdon sa pagpili sa usa ka kalidad nga PVRB:

  • Cryptographic nga kusog. Ang imong PVRB kinahanglan nga dili kasagaran, nga walay abilidad sa pagpugong sa usa ka gamay. Sa pipila ka mga laraw dili kini mao ang kaso, busa tawagan ang usa ka cryptographer
  • Ang problema sa "katapusang aktor".. Ang imong PVRB kinahanglang makasugakod sa mga pag-atake diin ang tig-atake nga nagkontrolar sa usa o daghan pang RPs makapili ug usa sa duha ka resulta.
  • Problema sa pagsabotahe sa protocol. Ang imong PVRB kinahanglan nga makasugakod sa mga pag-atake diin ang usa ka tig-atake nga nagkontrol sa usa o daghan pa nga mga RP nagdesisyon kung random o dili ug mahimo’g garantiya o adunay gihatag nga posibilidad nga maimpluwensyahan kini.
  • Gidaghanon sa mga mensahe nga problema. Ang imong mga RP kinahanglan nga magpadala sa usa ka minimum nga mga mensahe ngadto sa blockchain ug likayan ang mga dungan nga aksyon kutob sa mahimo sama sa mga sitwasyon sama sa "Nagpadala ako og pipila ka impormasyon, naghulat ako sa tubag gikan sa usa ka piho nga partisipante." Sa mga p2p network, labi na ang mga nagkatibulaag sa heyograpiya, dili ka kinahanglan magsalig sa usa ka dali nga tubag
  • Ang problema sa computational complexity. Ang pag-verify sa bisan unsang yugto sa PVRB on-chain kinahanglan nga labi ka dali, tungod kay kini gihimo sa tanan nga tibuuk nga kliyente sa network. Kung ang pagpatuman gihimo gamit ang usa ka smart nga kontrata, nan ang mga kinahanglanon sa tulin estrikto kaayo
  • Ang problema sa accessibility ug liveness. Ang imong PVRB kinahanglan nga maningkamot nga mahimong lig-on sa mga sitwasyon diin ang bahin sa network mahimong dili magamit sa usa ka yugto sa panahon ug ang bahin sa RP mohunong na sa pagtrabaho.
  • Ang problema sa kasaligan nga pag-setup ug inisyal nga pag-apod-apod sa yawe. Kung ang imong PVRB naggamit sa panguna nga pag-setup sa protocol, nan kini usa ka lahi nga dako ug seryoso nga istorya. Dinhi usa ka panig-ingnan. Kung ang mga partisipante kinahanglan magsulti sa usag usa sa ilang mga yawe sa dili pa magsugod ang protocol, kini usab usa ka problema kung ang komposisyon sa mga partisipante mausab
  • Mga problema sa kalamboan. Ang pagkaanaa sa mga librarya sa gikinahanglan nga mga pinulongan, ang ilang seguridad ug performance, publisidad, komplikadong mga pagsulay, ug uban pa.

Pananglitan, ang mga pirma sa threshold BLS adunay usa ka hinungdanon nga problema - sa wala pa magsugod sa pagtrabaho, ang mga partisipante kinahanglan nga mag-apod-apod sa mga yawe sa usag usa, pag-organisar sa usa ka grupo diin ang threshold molihok. Kini nagpasabut nga labing menos usa ka hugna sa pagbinayloay sa usa ka desentralisado nga network kinahanglan maghulat, ug gihatagan nga ang nahimo nga rand, pananglitan, gikinahanglan sa mga dula, hapit sa tinuud nga oras, kini nagpasabut nga ang pagsabotahe sa protocol posible sa kini nga yugto. , ug ang mga bentaha sa threshold scheme nawala . Kini nga problema kay mas simple kay sa mga nauna, apan nagkinahanglan gihapon sa pag-uswag sa usa ka bulag nga pamaagi alang sa pagporma sa mga threshold nga mga grupo, nga kinahanglan nga mapanalipdan sa ekonomiya, pinaagi sa mga deposito ug pag-withdraw sa mga pundo (slashing) gikan sa mga partisipante nga wala mosunod sa protocol. Usab, ang pag-verify sa BLS nga adunay madawat nga lebel sa seguridad dili gyud angay, pananglitan, sa usa ka sagad nga transaksyon sa EOS o Ethereum - wala’y igo nga oras alang sa pag-verify. Ang code sa kontrata mao ang WebAssembly o EVM, nga gipatuman sa usa ka virtual machine. Ang mga gimbuhaton sa cryptographic wala gipatuman sa lumad nga paagi (sa pa), ug nagtrabaho napulo ka beses nga mas hinay kaysa naandan nga mga librarya sa cryptographic. Daghang mga protocol ang wala makatagbo sa mga kinahanglanon nga gibase lamang sa yawe nga gidaghanon, pananglitan 1024 ug 2048 bits alang sa RSA, 4-8 ka beses nga mas dako kay sa standard nga pirma sa transaksyon sa Bitcoin ug Ethereum.

Ang presensya sa mga implementasyon sa lainlaing mga sinultian sa programming adunay papel usab - diin gamay ra, labi na alang sa mga bag-ong protocol. Ang kapilian nga adunay integrasyon sa consensus nanginahanglan pagsulat usa ka protocol sa platform nga pinulongan, mao nga kinahanglan nimo pangitaon ang code sa Go for geth, sa Rust for Parity, sa C++ para sa EOS. Ang tanan kinahanglan nga mangita alang sa JavaScript code, ug tungod kay ang JavaScript ug cryptography dili labi ka suod nga mga higala, ang WebAssembly makatabang, nga karon siguradong nag-angkon nga sunod nga hinungdanon nga sukaranan sa Internet.

konklusyon

Nanghinaut ko sa miaging usa artikulo Nakombinsir ko nimo nga ang paghimo og mga random nga numero sa blockchain hinungdanon alang sa daghang mga aspeto sa kinabuhi sa mga desentralisadong network, ug sa kini nga artikulo gipakita nako nga kini nga buluhaton labi ka ambisyoso ug lisud, apan adunay maayo nga mga solusyon. Sa kinatibuk-an, ang katapusan nga disenyo sa protocol posible lamang human sa paghimo sa dagkong mga pagsulay nga nagkonsiderar sa tanan nga mga aspeto gikan sa pag-setup ngadto sa pag-emulasyon sa sayup, mao nga dili ka makakita og andam nga mga resipe sa mga whitepaper ug mga artikulo sa team, ug siguradong dili kami. pagdesisyon sa sunod nga tuig o duha isulat ang "buhata kini sa ingon niini nga paagi, eksakto nga husto."

Bye, para sa among PVRB sa blockchain nga gidevelop Haya, naghusay kami sa paggamit sa mga pirma sa threshold BLS, nagplano kami nga ipatuman ang PVRB sa lebel sa konsensus, tungod kay ang pag-verify sa mga smart nga kontrata nga adunay madawat nga lebel sa seguridad dili pa mahimo. Posible nga mogamit kami og duha ka mga laraw sa usa ka higayon: una, mahal nga sekreto nga pagpaambit aron makamugna og dugay nga random_seed, ug dayon gamiton namo kini isip basihan sa high-frequency nga random generation gamit ang deterministic threshold nga mga pirma sa BLS, tingali limitahan namo ang among kaugalingon ngadto lamang sa usa sa mga laraw. Ikasubo, imposible nga isulti daan kung unsa ang protocol; ang maayo ra nga butang mao nga, sama sa siyensya, sa mga problema sa engineering, usa usab ka negatibo nga sangputanan ang usa ka sangputanan, ug ang matag bag-ong pagsulay sa pagsulbad sa problema usa pa ka lakang alang sa ang panukiduki sa tanan nga nalambigit sa problema. Aron matubag ang mga kinahanglanon sa negosyo, masulbad namon ang usa ka piho nga praktikal nga problema - naghatag mga aplikasyon sa dula nga adunay kasaligan nga gigikanan sa entropy, mao nga kinahanglan usab namon nga hatagan pagtagad ang blockchain mismo, labi na ang mga isyu sa katapusan sa kadena ug pagdumala sa network.

Ug bisan kung wala pa kami makakita sa usa ka napamatud-an nga resistensya nga PVRB sa mga blockchain, nga magamit unta sa igo nga oras aron masulayan sa tinuud nga mga aplikasyon, daghang mga pag-audit, mga karga, ug siyempre, tinuod nga mga pag-atake, apan ang gidaghanon sa posible nga mga agianan nagpamatuod nga adunay solusyon, ug unsa -sa kini nga mga algorithm sa katapusan makasulbad sa problema. Malipay kami nga ipaambit ang mga resulta ug pasalamatan ang ubang mga team nga nagtrabaho usab sa kini nga isyu alang sa mga artikulo ug code nga nagtugot sa mga inhenyero nga dili magtunob sa parehas nga rake kaduha.

Mao nga, kung nahimamat nimo ang usa ka programmer nga nagdesinyo sa desentralisado nga random, pagmatngon ug pag-atiman, ug paghatag tabang sa sikolohikal kung kinahanglan :)

Source: www.habr.com

Idugang sa usa ka comment