Nomer Acak sareng Jaringan Desentralisasi: Aplikasi Praktis

perkenalan

"Generasi nomer acak penting teuing pikeun ditinggalkeun kasempetan."
Robert Cavue, 1970

Artikel ieu devoted kana aplikasi praktis solusi ngagunakeun generasi angka acak koléktif dina lingkungan untrusted. Pondokna, kumaha jeung naha acak dipaké dina blockchains, sarta saeutik ngeunaan kumaha carana ngabedakeun "alus" acak tina "goréng". Ngahasilkeun nomer anu leres-leres acak mangrupikeun masalah anu sesah, bahkan dina komputer tunggal, sareng parantos lami ditaliti ku kriptografi. Nya, dina jaringan desentralisasi, generasi nomer acak langkung rumit sareng penting.

Dina jaringan dimana pamilon teu percanten ka silih yén kamampuhan pikeun ngahasilkeun angka acak indisputable ngamungkinkeun urang pikeun éféktif ngajawab loba masalah kritis tur nyata ngaronjatkeun schemes aya. Leuwih ti éta, judi sarta lotteries sanes tujuan nomer hiji di dieu, sakumaha eta bisa sigana mimitina mun maca inexperienced.

Generasi angka acak

Komputer teu bisa ngahasilkeun angka acak sorangan; aranjeunna merlukeun bantuan luar pikeun ngalakukeunana. Komputer bisa ménta sababaraha nilai acak ngagunakeun, Contona, gerakan mouse, jumlah memori dipaké, arus stray dina pin processor, sarta loba sumber sejenna disebut sumber éntropi. Nilai-nilai ieu sorangan henteu sacara acak, sabab aya dina kisaran anu tangtu atanapi gaduh pola parobahan anu tiasa diprediksi. Pikeun ngarobah angka-angka sapertos janten angka anu leres-leres acak dina rentang anu ditangtukeun, kriptotransformasi diterapkeun ka aranjeunna pikeun ngahasilkeun nilai pseudo-acak anu disebarkeun seragam tina nilai anu disebarkeun henteu rata tina sumber éntropi. Nilai-nilai anu dihasilkeun disebut pseudorandom sabab henteu saleresna acak, tapi sacara deterministik diturunkeun tina éntropi. Sakur algoritma kriptografi anu saé, nalika énkripsi data, ngahasilkeun ciphertexts anu kedahna teu tiasa dibédakeun sacara statistik tina sekuen acak, ku kituna pikeun ngahasilkeun randomness anjeun tiasa nyandak sumber éntropi, anu ngan ukur nyayogikeun non-repeatability sareng unpredictability nilai sanajan dina rentang leutik. , Sesa karya paburencay sarta Pergaulan bit dina nilai hasilna bakal direbut ku algoritma enkripsi.

Pikeun ngalengkepan program atikan ringkes, kuring bakal nambahan yén ngahasilkeun angka acak sanajan dina hiji alat mangrupa salah sahiji pilar pikeun mastikeun kaamanan data urang.The dihasilkeun angka pseudo-acak dipaké nalika ngadegkeun sambungan aman dina sagala rupa jaringan, pikeun ngahasilkeun. konci kriptografi, pikeun kasaimbangan beban, ngawaskeun integritas, sareng seueur deui aplikasi. Kaamanan loba protokol gumantung kana kamampuhan pikeun ngahasilkeun dipercaya, externally unpredictable acak, nyimpen eta, sarta henteu nembongkeun eta dugi lengkah saterusna tina protokol, disebutkeun kaamanan bakal compromised. Serangan kana generator nilai pseudorandom pisan bahaya sareng langsung ngancem sadaya parangkat lunak anu ngagunakeun generasi acak.

Anjeun kedah terang sadayana ieu upami anjeun nyandak kursus dasar dina kriptografi, janten hayu urang teraskeun ngeunaan jaringan desentralisasi.

Acak dina blockchains

Anu mimiti, kuring bakal ngobrol ngeunaan blockchains kalayan dukungan pikeun kontrak pinter; aranjeunna anu tiasa pinuh ngamangpaatkeun kasempetan anu disayogikeun ku kualitas luhur, acak anu teu tiasa ditolak. Salajengna, kanggo singgetan, kuring bakal nyauran téknologi ieu "Beacon acak anu tiasa diverifikasi sacara umum"atawa PVRB. Kusabab blockchains mangrupikeun jaringan dimana inpormasi tiasa diverifikasi ku pamilon mana waé, bagian konci nami nyaéta "Dapat Diverifikasi Umum", nyaéta. Saha waé tiasa nganggo itungan pikeun kéngingkeun bukti yén jumlah anu dipasang dina blokchain gaduh sipat ieu:

  • Hasilna kedah gaduh distribusi anu seragam, nyaéta dumasar kana kriptografi anu kuat.
  • Teu mungkin ngadalikeun salah sahiji bit hasilna. Hasilna, hasilna teu bisa diprediksi sateuacanna.
  • Anjeun teu tiasa sabotase protokol generasi ku henteu milu dina protokol atanapi ku ngabebankeun jaringan ku pesen serangan.
  • Sadaya di luhur kedah tahan kana kolusi jumlah anu diidinan pamilon protokol anu teu jujur ​​(contona, 1/3 pamilon).

Sagala kamungkinan grup minor colluding pamilon pikeun ngahasilkeun malah dikawasa malah / acak ganjil mangrupakeun liang kaamanan. Sakur kamampuan grup pikeun ngeureunkeun ngaluarkeun acak nyaéta liang kaamanan. Sacara umum, aya seueur masalah, sareng tugas ieu sanés gampang ...

Sigana yén aplikasi anu paling penting pikeun PVRB nyaéta rupa-rupa kaulinan, lotre, sareng umumna sagala jinis judi dina blockchain. Mémang, ieu mangrupikeun arah anu penting, tapi randomness dina blockchain ngagaduhan aplikasi anu langkung penting. Hayu urang tingali aranjeunna.

Algoritma konsensus

PVRB maénkeun peran anu ageung dina ngatur konsensus jaringan. Transaksi di blockchains ditangtayungan ku hiji signature éléktronik, jadi hiji "serangan on urus a" salawasna citakan / pangaluaran tina transaksi dina blok (atawa sababaraha blok). Sareng tugas utama algoritma konsensus nyaéta satuju kana tatanan transaksi ieu sareng tatanan blok anu kalebet transaksi ieu. Ogé, sipat anu dipikabutuh pikeun blockchains nyata nyaéta finalitas - kamampuan jaringan pikeun satuju yén ranté dugi ka blok anu dirarancang nyaéta final, sareng moal pernah dikaluarkeun kusabab penampilan garpu anyar. Biasana, dina raraga satuju yén blok hiji valid tur, paling importantly, final, perlu pikeun ngumpulkeun tanda tangan ti mayoritas produser block (hereinafter disebut BP - block-produser), nu merlukeun sahenteuna delivering ranté block. ka sadaya BP, sareng nyebarkeun tanda tangan antara sadaya BP. Salaku jumlah BPs tumuwuh, jumlah seratan diperlukeun dina jaringan tumuwuh éksponénsial, kituna, algoritma konsensus anu merlukeun finality, dipaké contona dina konsensus Hyperledger pBFT, teu dianggo dina speed diperlukeun, mimitian ti sababaraha belasan BPs, merlukeun. jumlah badag sambungan.

Upami aya PVRB anu teu tiasa disangkal sareng jujur ​​dina jaringan, teras, bahkan dina perkiraan pangbasajanna, anjeun tiasa milih salah sahiji produser blok dumasar kana éta sareng nunjuk anjeunna salaku "pamimpin" dina hiji babak protokol. Lamun urang boga N produser block, nu M: M > 1/2 N anu jujur, ulah sensor transaksi sarta ulah garpu ranté pikeun ngalakukeun serangan "ganda belanja", lajeng ngagunakeun disebarkeun seragam PVRB unchallenged bakal ngidinan milih hiji pamimpin jujur ​​kalawan probabiliti. M / N (M / N > 1/2). Lamun unggal pamimpin ditugaskeun interval waktu sorangan salila manéhna bisa ngahasilkeun blok jeung validasi ranté, jeung interval ieu sarua dina waktu, mangka ranté block BPs jujur ​​bakal leuwih panjang batan ranté dibentuk ku BPs jahat, jeung konsensus. Algoritma ngandelkeun panjang ranté. ngan saukur bakal ngaleungitkeun anu "goréng". Prinsip allocating irisan sarua waktu pikeun tiap BP munggaran dilarapkeun dina Graphene (miheulaan EOS), sarta ngidinan paling blok ditutup ku signature tunggal, nu greatly ngurangan beban jaringan sarta ngidinan konsensus ieu jalan pisan gancang tur ajeg. Nanging, jaringan EOS ayeuna kedah nganggo blok khusus (Blok Irreversible Terakhir), anu dikonfirmasi ku tanda tangan 2/3 BP. Blok-blok ieu pikeun mastikeun finalitas (impossibility tina garpu ranté dimimitian saméméh Blok panungtungan teu bisa balik).

Ogé, dina palaksanaan nyata, skéma protokol langkung rumit - voting pikeun blok anu diusulkeun dilaksanakeun dina sababaraha tahap pikeun ngajaga jaringan upami aya blok anu lasut sareng masalah sareng jaringan, tapi bahkan nyandak ieu kana akun, algoritma konsensus nganggo PVRB merlukeun. seratan nyata pangsaeutikna antara BPs, nu ngamungkinkeun pikeun nyieun eta leuwih gancang ti PVFT tradisional, atawa rupa modifikasi na.

Perwakilan anu paling menonjol tina algoritma sapertos kieu: Ouroboros ti tim Cardano, nu ceuk matematis provable ngalawan kolusi BP.

Dina Ouroboros, PVRB dianggo pikeun ngartikeun anu disebut "jadwal BP" - jadwal numutkeun unggal BP ditugaskeun slot waktos sorangan pikeun nyebarkeun blok. Kauntungan badag tina ngagunakeun PVRB nyaéta "kasaruaan" lengkep BPs (nurutkeun ukuran neraca maranéhanana). Integritas PVRB mastikeun yén BP jahat teu tiasa ngontrol jadwal slot waktos, sareng ku kituna henteu tiasa ngamanipulasi ranté ku nyiapkeun sareng nganalisa garpu ranté sateuacanna, sareng pikeun milih garpu cukup ngan ukur ngandelkeun panjangna. ranté, tanpa ngagunakeun cara tricky keur ngitung "utilitas" BP jeung "beurat" blok na.

Sacara umum, dina sakabeh kasus dimana pamilon acak kudu dipilih dina jaringan desentralisasi, PVRB ampir salawasna pilihan pangalusna, tinimbang pilihan deterministik dumasar kana, contona, blok Hash. Tanpa PVRB, kamampuhan pikeun mangaruhan pilihan pamilon ngabalukarkeun serangan nu panyerang bisa milih ti sababaraha futures pikeun milih pamilon korup salajengna atawa sababaraha sakaligus pikeun mastikeun pangsa gede dina kaputusan. Pamakéan PVRB discredits jenis ieu serangan.

Skala jeung beban balancing

PVRB ogé tiasa mangpaat pisan dina tugas sapertos pangurangan beban sareng skala pamayaran. Pikeun dimimitian ku, ngajadikeun rasa familiarize diri kalawan artikel Rivesta "Tikét lotre éléktronik salaku Micropayments". Gagasan umum nyaeta tinimbang nyieun 100 1c pangmayaran ti payer ka panarima, anjeun bisa maénkeun hiji lotre jujur ​​kalawan hadiah 1 $ = 100c, dimana payer méré bank salah sahiji 1 tina "tikét lotre" na pikeun tiap. 100c mayar. Salah sahiji tikét ieu meunang jar $ 1, sareng éta tikét ieu anu tiasa dirékam ku panampi dina blockchain. Hal pangpentingna nyaéta yén sésana 99 tikét ditransferkeun antara panarima sareng pamayaran tanpa partisipasi éksternal, ngalangkungan saluran pribadi sareng dina laju anu dipikahoyong. Pedaran hade protokol dumasar kana skéma ieu dina jaringan Emercoin bisa dibaca di dieu.

Skéma ieu ngagaduhan sababaraha masalah, sapertos panampi tiasa ngeureunkeun ngalayanan pamayaran langsung saatos nampi tikét anu unggul, tapi pikeun seueur aplikasi khusus, sapertos tagihan per-menit atanapi langganan éléktronik pikeun jasa, ieu tiasa diabaikan. Sarat utama, tangtosna, éta fairness of lotre, sarta pikeun palaksanaan hiji PVRB kacida diperlukeun.

Pilihan pamilon acak ogé penting pisan pikeun protokol sharding, tujuanana pikeun skala horizontal ranté block, sahingga BP béda ngan ngolah lingkup transaksi maranéhanana. Ieu mangrupikeun tugas anu sesah, khususna ngeunaan masalah kaamanan nalika ngahijikeun beling. Pamilihan adil tina BP acak pikeun tujuan a assigning pamadegan jawab hiji beling husus, sakumaha dina algoritma konsensus, oge tugas PVRB. Dina sistem terpusat, beling ditugaskeun ku balancer; éta ngan ukur ngitung hash tina pamundut sareng ngirimkeunana ka pelaksana anu diperyogikeun. Dina blockchains, kamampuhan pikeun pangaruh tugas ieu bisa ngakibatkeun serangan on konsensus. Salaku conto, eusi transaksi tiasa dikontrol ku panyerang, anjeunna tiasa ngontrol transaksi mana anu nuju ka beling anu dikontrol sareng ngamanipulasi ranté blok di jerona. Anjeun tiasa maca sawala ngeunaan masalah ngagunakeun angka acak pikeun tugas sharding di Ethereum di dieu
Sharding mangrupikeun salah sahiji masalah anu paling ambisius sareng serius dina widang blockchain; solusina bakal ngamungkinkeun ngawangun jaringan desentralisasi kinerja sareng volume anu hebat. PPVB mangrupikeun salah sahiji blok penting pikeun ngabéréskeunana.

Kaulinan, protokol ékonomi, arbitrase

Peran angka acak dina industri kaulinan hese overestimate. pamakéan eksplisit dina casinos online, sarta pamakéan implisit nalika ngitung efek tina aksi pamuter urang sadayana masalah pisan hésé pikeun jaringan desentralisasi, dimana teu aya deui jalan pikeun ngandelkeun sumber sentral randomness. Tapi pilihan acak ogé bisa ngajawab loba masalah ékonomi sarta mantuan ngawangun protokol basajan tur leuwih efisien. Anggap dina protokol urang aya sengketa ngeunaan pamayaran pikeun sababaraha layanan murah, sarta sengketa ieu lumangsung rada jarang. Dina hal ieu, lamun aya hiji PVRB undisputed, konsumén jeung sellers bisa satuju pikeun ngabéréskeun sengketa acak, tapi kalawan probabiliti dibikeun. Contona, kalawan 60% kamungkinan klien meunang, sarta kalawan kamungkinan 40% seller meunang. pendekatan ieu, nu absurd ti sudut pandang kahiji, ngidinan Anjeun pikeun otomatis ngabéréskeun sengketa kalawan pangsa persis bisa diprediksi tina kameunangan / karugian, nu cocog duanana pihak tanpa partisipasi pihak katilu jeung runtah teu perlu waktu. Sumawona, rasio probabiliti tiasa dinamis sareng gumantung kana sababaraha variabel global. Contona, upami hiji pausahaan ngalakonan ogé, ngabogaan sajumlah low of sengketa jeung Profitability tinggi, pausahaan otomatis bisa mindahkeun probabiliti resolving sengketa arah customer-centricity, contona 70/30 atawa 80/20, sarta sabalikna, lamun sengketa nyokot loba duit jeung anu curang atawa inadequate, Anjeun bisa mindahkeun probabiliti ka arah séjén.

A angka nu gede ngarupakeun protokol desentralisasi metot, kayaning registries curated token, pasar prediksi, kurva beungkeutan sarta loba batur, mangrupakeun kaulinan ékonomi nu kabiasaan alus diganjar sarta kabiasaan goréng dihukum. Aranjeunna sering ngandung masalah kaamanan anu panyalindungan saling bertentangan. Naon anu ditangtayungan tina serangan ku "paus" jeung milyaran tokens ("stake badag") rentan ka serangan ku rébuan rekening kalawan balances leutik ("sybil stake"), sarta ukuran dilaksanakeun ngalawan serangan tunggal, kayaning non- waragad linier dijieun pikeun nyieun gawé bareng stake badag unprofitable biasana discredited ku serangan sejen. Kusabab urang ngobrol ngeunaan hiji kaulinan ékonomi, beurat statistik pakait bisa diitung sateuacanna, sarta ngan ngaganti komisi jeung randomized kalawan distribusi luyu. Komisi probabilistik sapertos dilaksanakeun saderhana pisan upami blokchain gaduh sumber acak anu dipercaya sareng henteu meryogikeun itungan anu rumit, ngajantenkeun hirup susah pikeun paus sareng sybil.
Dina waktos anu sami, anjeun kedah émut yén kontrol sakedik dina acak ieu ngamungkinkeun anjeun curang, ngirangan sareng ningkatkeun kamungkinan satengahna, janten PVRB anu jujur ​​mangrupikeun komponén anu paling penting dina protokol sapertos kitu.

Dimana manggihan acak katuhu?

Dina tiori, pilihan acak adil dina jaringan desentralisasi ngajadikeun ampir sagala protokol provably aman ngalawan kolusi. Alesanna cukup saderhana - upami jaringan satuju kana 0 atanapi 1 bit tunggal, sareng kirang ti satengah pamilon henteu jujur, teras, upami diulang cukup, jaringan dijamin ngahontal konsensus dina bit éta kalayan kamungkinan tetep. Kantun kusabab acak jujur ​​bakal milih 51 ti 100 pamilon 51% waktu. Tapi ieu dina teori, sabab ... dina jaringan nyata, pikeun mastikeun tingkat kaamanan saperti dina artikel, loba pesen antara host, kriptografi multi-pass kompléks nu diperlukeun, jeung sagala komplikasi protokol langsung nambahkeun vektor serangan anyar.
Éta pisan sababna naha urang teu acan ningali hiji PVRB tahan kabuktian di blockchains, nu bakal geus dipaké pikeun cukup waktu pikeun diuji ku aplikasi nyata, sababaraha audits, beban, sarta tangtu, serangan nyata, tanpa nu hese nelepon a produk sabenerna aman.

Sanajan kitu, aya sababaraha pendekatan ngajangjikeun, aranjeunna béda dina loba rinci, sarta salah sahijina pasti bakal ngajawab masalah. Kalawan sumberdaya komputasi modern, téori cryptographic bisa rada cleverly ditarjamahkeun kana aplikasi praktis. Dina mangsa nu bakal datang, urang bakal senang ngobrol ngeunaan palaksanaan PVRB: ayeuna aya sababaraha di antarana, unggal boga set sorangan sipat penting jeung fitur palaksanaan, sarta balik unggal aya ide nu sae. Henteu seueur tim anu aub dina acak, sareng pangalaman masing-masingna penting pisan pikeun anu sanés. Kami ngarepkeun inpormasi kami bakal ngijinkeun tim sanés langkung gancang, kalayan nganggap pangalaman anu ngaheulaan.

sumber: www.habr.com

Tambahkeun komentar