Təsadüfi nömrələr və mərkəzləşdirilməmiş şəbəkələr: praktik tətbiqlər

Giriş

"Təsadüfi nömrələrin yaradılması şansa buraxılmayacaq qədər vacibdir."
Robert Cavue, 1970

Bu məqalə etibarsız mühitdə kollektiv təsadüfi ədədlərin yaradılmasından istifadə edərək həllərin praktiki tətbiqinə həsr edilmişdir. Bir sözlə, blokçeynlərdə təsadüfi necə və niyə istifadə olunur və bir az da “yaxşı” təsadüfi “pis”dən necə fərqləndirmək barədə. Həqiqətən təsadüfi bir ədəd yaratmaq hətta tək bir kompüterdə də olduqca çətin bir problemdir və kriptoqraflar tərəfindən çoxdan öyrənilir. Yaxşı, mərkəzləşdirilməmiş şəbəkələrdə təsadüfi ədədlərin yaradılması daha mürəkkəb və vacibdir.

Məhz iştirakçıların bir-birinə etibar etmədiyi şəbəkələrdə mübahisəsiz təsadüfi nömrə yaratmaq imkanı bizə bir çox kritik problemləri effektiv şəkildə həll etməyə və mövcud sxemləri əhəmiyyətli dərəcədə təkmilləşdirməyə imkan verir. Üstəlik, təcrübəsiz oxucuya ilk baxışdan görünə biləcəyi kimi, qumar və lotereya burada bir nömrəli məqsəd deyil.

Təsadüfi nömrələr yaratmaq

Kompüterlər özləri təsadüfi ədədlər yarada bilməzlər, bunun üçün kənardan kömək tələb olunur. Kompüter, məsələn, siçan hərəkətlərindən, istifadə olunan yaddaşın miqdarından, prosessor sancaqlarındakı boş cərəyanlardan və entropiya mənbələri adlanan bir çox başqa mənbələrdən bəzi təsadüfi qiymətlər əldə edə bilər. Bu dəyərlərin özləri tamamilə təsadüfi deyil, çünki onlar müəyyən bir diapazondadırlar və ya proqnozlaşdırıla bilən dəyişikliklər modelinə malikdirlər. Bu cür ədədləri müəyyən bir diapazonda həqiqətən təsadüfi bir ədədə çevirmək üçün, entropiya mənbəyinin qeyri-bərabər paylanmış dəyərlərindən vahid paylanmış psevdo-təsadüfi dəyərlər yaratmaq üçün onlara kriptotransformasiyalar tətbiq olunur. Yaranan dəyərlər psevdorrandom adlanır, çünki onlar həqiqətən təsadüfi deyil, deterministik olaraq entropiyadan əldə edilir. İstənilən yaxşı kriptoqrafik alqoritm, məlumatları şifrələyərkən, təsadüfi ardıcıllıqdan statistik cəhətdən fərqlənməyən şifrəli mətnlər istehsal edir, beləliklə, təsadüfi yaratmaq üçün, hətta kiçik diapazonlarda belə dəyərlərin yalnız yaxşı təkrarlanmasını və gözlənilməzliyini təmin edən entropiya mənbəyini götürə bilərsiniz. işin qalan hissəsi bitləri dağıtmaq və qarışdırmaqdır. Nəticədə alınan dəyər şifrələmə alqoritmi tərəfindən qəbul ediləcək.

Qısa bir tədris proqramını tamamlamaq üçün əlavə edəcəyəm ki, hətta bir cihazda təsadüfi ədədlər yaratmaq bizim məlumatlarımızın təhlükəsizliyini təmin edən sütunlardan biridir.Yaradılmış psevdo-təsadüfi nömrələr müxtəlif şəbəkələrdə təhlükəsiz əlaqələr qurarkən, yaratmaq üçün istifadə olunur. yük balansı, bütövlüyün monitorinqi və bir çox başqa proqramlar üçün kriptoqrafik açarlar. Bir çox protokolların təhlükəsizliyi etibarlı, xaricdən gözlənilməz təsadüfi yaratmaq, onu saxlamaq və protokolun növbəti addımına qədər aşkar etməmək qabiliyyətindən asılıdır, əks halda təhlükəsizlik pozulacaq. Pseudor-təsadüfi dəyər generatoruna hücum son dərəcə təhlükəlidir və təsadüfiliyin yaradılmasından istifadə edən bütün proqram təminatını dərhal təhdid edir.

Əgər kriptoqrafiya üzrə əsas kurs keçmisinizsə, bütün bunları bilməlisiniz, ona görə də mərkəzləşdirilməmiş şəbəkələrə davam edək.

Blokçeynlərdə təsadüfi

İlk növbədə, ağıllı müqavilələri dəstəkləyən blokçeynlər haqqında danışacağam; onlar yüksək keyfiyyətli, danılmaz təsadüfiliyin verdiyi imkanlardan tam istifadə edə bilənlərdir. Bundan əlavə, qısalıq üçün bu texnologiyanı adlandıracağam "Açıqca yoxlanıla bilən təsadüfi mayaklar” və ya PVRB. Blokçeynlər məlumatların hər hansı bir iştirakçı tərəfindən yoxlanıla biləcəyi şəbəkələr olduğundan, adın əsas hissəsi “İctimaiyyət tərəfindən yoxlanıla bilər”, yəni. Hər kəs hesablamalardan istifadə edərək blokçeynində yerləşdirilən nəticədə aşağıdakı xüsusiyyətlərə malik olduğunu sübut edə bilər:

  • Nəticə sübut edilə bilən vahid paylanmaya malik olmalıdır, yəni sübut edilə bilən güclü kriptoqrafiyaya əsaslanmalıdır.
  • Nəticənin bitlərindən heç birinə nəzarət etmək mümkün deyil. Nəticədə, nəticəni əvvəlcədən proqnozlaşdırmaq mümkün deyil.
  • Protokolda iştirak etməməklə və ya şəbəkəni hücum mesajları ilə həddən artıq yükləməklə nəsil protokolunu sabotaj edə bilməzsiniz.
  • Yuxarıda göstərilənlərin hamısı icazə verilən sayda vicdansız protokol iştirakçılarının (məsələn, iştirakçıların 1/3 hissəsi) sövdələşməyə davamlı olmalıdır.

Kiçik iştirakçılar qrupunun hətta idarə olunan cüt/tək təsadüfi nəticə çıxarmaq üçün hər hansı bir sövdələşmə ehtimalı təhlükəsizlik boşluğudur. Qrupun təsadüfi buraxılışını dayandırmaq üçün hər hansı bir qabiliyyəti təhlükəsizlik boşluğudur. Ümumiyyətlə, problemlər çoxdur və bu iş asan məsələ deyil...

Görünür, PVRB üçün ən vacib tətbiq müxtəlif oyunlar, lotereyalar və ümumiyyətlə blokçeyndə istənilən qumar növüdür. Həqiqətən, bu vacib bir istiqamətdir, lakin blokçeynlərdə təsadüfiliyin daha da vacib tətbiqləri var. Gəlin onlara baxaq.

Konsensus alqoritmləri

PVRB şəbəkə konsensusunun təşkilində böyük rol oynayır. Blockchain-dəki əməliyyatlar elektron imza ilə qorunur, buna görə də "bir əməliyyata hücum" həmişə bir əməliyyatın bloka (və ya bir neçə bloka) daxil edilməsi / xaric edilməsidir. Konsensus alqoritminin əsas vəzifəsi isə bu əməliyyatların sırasını və bu əməliyyatları daxil edən blokların sırasını razılaşdırmaqdır. Həmçinin, real blokçeynlər üçün zəruri bir xüsusiyyət sonluqdur - şəbəkənin yekunlaşdırılmış bloka qədər zəncirin son olduğuna razı olmaq qabiliyyəti və yeni bir çəngəlin görünüşünə görə heç vaxt istisna edilməyəcəkdir. Adətən, blokun etibarlı və ən əsası yekun olması ilə razılaşmaq üçün blok istehsalçılarının əksəriyyətindən (bundan sonra BP - blok istehsalçıları) imza toplamaq lazımdır ki, bu da ən azı blok zəncirinin çatdırılmasını tələb edir. bütün BP-lərə və imzaların bütün BP-lər arasında paylanması. BP-lərin sayı artdıqca, şəbəkədə zəruri mesajların sayı eksponent olaraq artır, buna görə də sonluq tələb edən konsensus alqoritmləri, məsələn, Hyperledger pBFT konsensusunda istifadə olunur, bir neçə onlarla BP-dən başlayaraq tələb olunan sürətlə işləmir. çox sayda əlaqə.

Şəbəkədə danılmaz və dürüst bir PVRB varsa, o zaman, hətta ən sadə təxmində belə, onun əsasında blok istehsalçılarından birini seçib protokolun bir raundu ərzində onu "lider" kimi təyin etmək olar. Bizdə varsa N blok istehsalçıları, bunlardan M: M > 1/2 N dürüstdürlər, əməliyyatları senzura etmirlər və "ikiqat xərcləmə" hücumunu həyata keçirmək üçün zənciri çəngəlləmirlər, sonra vahid paylanmış mübahisəsiz PVRB-dən istifadə etmək, ehtimalla vicdanlı lider seçməyə imkan verəcəkdir. M / N (M / N > 1/2). Hər bir liderə blok istehsal edə və zənciri təsdiq edə biləcəyi öz vaxt intervalı təyin edilərsə və bu intervallar vaxt baxımından bərabər olarsa, dürüst BP-lərin blok zənciri zərərli BP-lərin yaratdığı zəncirdən və konsensusdan daha uzun olacaqdır. alqoritm zəncirin uzunluğuna əsaslanır, sadəcə olaraq “pis” olanı atacaq. Hər bir BP-yə bərabər vaxt dilimlərinin ayrılması prinsipi ilk dəfə Graphene-də (EOS-un sələfi) tətbiq edilmişdir və əksər blokların bir imza ilə bağlanmasına imkan verir ki, bu da şəbəkə yükünü əhəmiyyətli dərəcədə azaldır və bu konsensusun son dərəcə tez işləməsinə imkan verir və davamlı olaraq. Bununla belə, EOS şəbəkəsi indi 2/3 BP-nin imzaları ilə təsdiqlənən xüsusi bloklardan (Sonuncu Geri Dönməz Blok) istifadə etməlidir. Bu bloklar sonluğu təmin etməyə xidmət edir (sonuncu Geri Dönməz Blokdan əvvəl başlayan zəncir çəngəlinin mümkünsüzlüyü).

Həmçinin, real tətbiqlərdə protokol sxemi daha mürəkkəbdir - blokların çatışmadığı və şəbəkə ilə bağlı problemlər halında şəbəkəni saxlamaq üçün təklif olunan bloklar üçün səsvermə bir neçə mərhələdə həyata keçirilir, lakin hətta bunu nəzərə alaraq, PVRB-dən istifadə edən konsensus alqoritmləri tələb edir. BP-lər arasında əhəmiyyətli dərəcədə daha az mesaj, bu da onları ənənəvi PVFT və ya onun müxtəlif modifikasiyalarından daha sürətli etməyə imkan verir.

Belə alqoritmlərin ən görkəmli nümayəndəsi: Ouroboros BP-nin sövdələşməsinə qarşı riyazi olaraq sübuta yetirildiyi deyilən Cardano komandasından.

Ouroboros-da PVRB "BP-nin cədvəli" adlandırılan cədvəli müəyyən etmək üçün istifadə olunur - buna görə hər bir BP-yə blokun dərc edilməsi üçün öz vaxt intervalı təyin olunur. PVRB-dən istifadənin böyük üstünlüyü BP-lərin tam “bərabərliyi”dir (balans hesabatlarının ölçüsünə görə). PVRB-nin bütövlüyü zərərli BP-lərin vaxt intervallarının planlaşdırılmasına nəzarət edə bilməyəcəyini və buna görə də zəncirin çəngəllərini əvvəlcədən hazırlayaraq və təhlil edərək zənciri manipulyasiya edə bilməyəcəyini təmin edir və çəngəl seçmək üçün sadəcə olaraq çəngəllərin uzunluğuna etibar etmək kifayətdir. zəncir, BP-nin "faydalılığını" və onun bloklarının "çəkisini" hesablamaq üçün çətin yollardan istifadə etmədən.

Ümumiyyətlə, qeyri-mərkəzləşdirilmiş şəbəkədə təsadüfi iştirakçının seçilməli olduğu bütün hallarda PVRB, məsələn, blok hash-ə əsaslanan deterministik seçim deyil, demək olar ki, həmişə ən yaxşı seçimdir. PVRB olmadan, iştirakçının seçiminə təsir etmək qabiliyyəti hücumlara gətirib çıxarır ki, bu zaman təcavüzkar qərarda daha böyük payı təmin etmək üçün növbəti korrupsioner iştirakçını və ya eyni anda bir neçəsini seçmək üçün bir neçə fyuçersdən seçim edə bilər. PVRB-dən istifadə bu tip hücumları gözdən salır.

Ölçəkləmə və yük balansı

PVRB, yükün azaldılması və ödəniş miqyası kimi vəzifələrdə də böyük fayda verə bilər. Başlamaq üçün, özünüzlə tanış olmağın mənası var məqalə Rivesta “Elektron Lotereya Biletləri Mikroödənişlər kimi”. Ümumi fikir ondan ibarətdir ki, ödəyicidən alıcıya 100 1c ödəniş etmək əvəzinə, siz 1$ = 100c uduşla vicdanlı lotereya oynaya bilərsiniz, burada ödəyici banka hər biri üçün 1 “lotereya bileti”ndən birini verir. 100c ödəniş. Bu biletlərdən biri 1 dollarlıq banka qazanır və alıcı blokçeynində qeyd edə biləcəyi bu biletdir. Ən əsası isə odur ki, yerdə qalan 99 bilet alan və ödəyici arasında heç bir kənar iştirak olmadan, özəl kanal vasitəsilə və istənilən sürətlə ötürülür. Emercoin şəbəkəsində bu sxemə əsaslanan protokolun yaxşı təsvirini oxumaq olar burada.

Bu sxemin bir neçə problemi var, məsələn, alıcı uduşlu bileti aldıqdan dərhal sonra ödəyiciyə xidmət göstərməyi dayandıra bilər, lakin bir çox xüsusi proqramlar üçün, məsələn, dəqiqəlik hesablaşma və ya xidmətlərə elektron abunəliklər üçün bunlar laqeyd qala bilər. Əsas tələb, əlbəttə ki, lotereyanın ədalətli olmasıdır və onun həyata keçirilməsi üçün PVRB mütləq lazımdır.

Təsadüfi iştirakçının seçimi, həmçinin müxtəlif BP-lərə yalnız öz əməliyyatlarının əhatə dairəsini emal etməyə imkan verən blok zəncirinin üfüqi şəkildə miqyasını artırmaqdan ibarət olan sharding protokolları üçün də son dərəcə vacibdir. Bu, xüsusilə qırıqları birləşdirərkən təhlükəsizlik baxımından olduqca çətin bir işdir. Konsensus alqoritmlərində olduğu kimi, müəyyən bir parça üçün məsul şəxslərin təyin edilməsi məqsədilə təsadüfi BP-nin ədalətli seçilməsi də PVRB-nin vəzifəsidir. Mərkəzləşdirilmiş sistemlərdə qırıntılar balanslaşdırıcı tərəfindən təyin edilir, o, sadəcə olaraq sorğudan hash hesablayır və tələb olunan icraçıya göndərir. Blokçeynlərdə bu tapşırığa təsir etmək qabiliyyəti konsensusa hücuma səbəb ola bilər. Məsələn, əməliyyatların məzmunu təcavüzkar tərəfindən idarə oluna bilər, o, nəzarət etdiyi parçaya hansı tranzaksiyaların getdiyini idarə edə və içindəki bloklar zəncirini manipulyasiya edə bilər. Ethereum-da parçalanma tapşırıqları üçün təsadüfi nömrələrdən istifadə probleminin müzakirəsini oxuya bilərsiniz burada
Sharding blokçeyn sahəsində ən iddialı və ciddi problemlərdən biridir; onun həlli fantastik performans və həcmdə mərkəzləşdirilməmiş şəbəkələr qurmağa imkan verəcəkdir. PVRB onu həll etmək üçün vacib bloklardan yalnız biridir.

Oyunlar, iqtisadi protokollar, arbitraj

Oyun sənayesində təsadüfi nömrələrin rolunu qiymətləndirmək çətindir. Onlayn kazinolarda açıq istifadə və oyunçunun hərəkətinin təsirini hesablayarkən gizli istifadə, mərkəzi təsadüfi mənbəyə etibar etməyin heç bir yolu olmadığı mərkəzləşdirilməmiş şəbəkələr üçün son dərəcə çətin problemlərdir. Lakin təsadüfi seçim həm də bir çox iqtisadi problemləri həll edə bilər və daha sadə və daha səmərəli protokollar qurmağa kömək edə bilər. Tutaq ki, bizim protokolumuzda bəzi ucuz xidmətlərə görə ödənişlə bağlı mübahisələr var və bu mübahisələr olduqca nadir hallarda baş verir. Bu halda, mübahisəsiz bir PVRB varsa, müştərilər və satıcılar mübahisələri təsadüfi, lakin müəyyən bir ehtimalla həll etməyə razılaşa bilərlər. Məsələn, 60% ehtimalla müştəri, 40% ehtimalla isə satıcı qalib gəlir. Birinci nöqteyi-nəzərdən absurd olan bu yanaşma, üçüncü tərəfin iştirakı və lazımsız vaxt itkisi olmadan hər iki tərəfə uyğun gələn dəqiq proqnozlaşdırıla bilən uduş/itki payı ilə mübahisələri avtomatik həll etməyə imkan verir. Üstəlik, ehtimal nisbəti dinamik ola bilər və bəzi qlobal dəyişənlərdən asılı ola bilər. Məsələn, bir şirkət yaxşı işləyirsə, mübahisələrin sayı azdırsa və yüksək gəlirliliyə malikdirsə, şirkət mübahisənin həlli ehtimalını avtomatik olaraq müştəri mərkəzliliyinə, məsələn, 70/30 və ya 80/20 və əksinə dəyişə bilər, mübahisələr çox pul tələb edirsə və saxtakarlıq və ya qeyri-adekvatdırsa, ehtimalı başqa istiqamətə dəyişə bilərsiniz.

Çox sayda maraqlı qeyri-mərkəzləşdirilmiş protokollar, məsələn, token seçilmiş reyestrlər, proqnoz bazarları, bağlama əyriləri və bir çox başqaları, yaxşı davranışın mükafatlandırıldığı və pis davranışın cəzalandırıldığı iqtisadi oyunlardır. Onlar tez-tez qorunmaların bir-biri ilə ziddiyyət təşkil etdiyi təhlükəsizlik problemlərini ehtiva edir. Milyardlarla token (“böyük pay”) olan “balinaların” hücumundan qorunan şey, kiçik balanslı minlərlə hesabın (“sybil pay”) hücumlarına və tək hücuma qarşı görülən tədbirlərə qarşı həssasdır. Böyük bir payla işləməyi mənfəətsiz etmək üçün yaradılan xətti ödənişlər adətən başqa bir hücumla nüfuzdan düşür. İqtisadi oyundan bəhs etdiyimiz üçün müvafiq statistik çəkilər əvvəlcədən hesablana bilər və sadəcə komissiyaları müvafiq paylanma ilə təsadüfi olanlarla əvəz etmək olar. Bu cür ehtimal komissiyaları, əgər blokçeyn etibarlı təsadüfi mənbəyə malikdirsə və heç bir mürəkkəb hesablamalar tələb etmirsə, son dərəcə sadə şəkildə həyata keçirilir ki, bu da həm balinaların, həm də sibillərin həyatını çətinləşdirir.
Eyni zamanda, yadda saxlamağa davam etmək lazımdır ki, bu təsadüfilikdə bir bit üzərində nəzarət fırıldaq etməyə, ehtimalları yarıya endirməyə və artırmağa imkan verir, buna görə də dürüst bir PVRB bu cür protokolların ən vacib komponentidir.

Doğru təsadüfi harada tapmaq olar?

Nəzəri olaraq, mərkəzləşdirilməmiş şəbəkələrdə ədalətli təsadüfi seçim demək olar ki, hər hansı bir protokolu sövdələşmədən etibarlı şəkildə təhlükəsiz edir. Əsaslandırma kifayət qədər sadədir - əgər şəbəkə tək 0 və ya 1 bitlə razılaşırsa və iştirakçıların yarıdan az hissəsi vicdansızdırsa, o zaman kifayət qədər təkrarlamalar nəzərə alınmaqla, şəbəkəyə sabit ehtimalla həmin bit üzrə konsensusa gəlməyə zəmanət verilir. Sadəcə olaraq, dürüst bir təsadüfi zamanın 51% -ni 100 iştirakçıdan 51-ni seçəcəyi üçün. Amma bu nəzəri cəhətdən belədir, çünki... real şəbəkələrdə məqalələrdə olduğu kimi təhlükəsizlik səviyyəsini təmin etmək üçün hostlar arasında çoxlu mesajlar, mürəkkəb çox keçidli kriptoqrafiya tələb olunur və protokolun hər hansı bir mürəkkəbliyi dərhal yeni hücum vektorlarını əlavə edir.
Buna görə də biz hələ blokçeynlərdə sübut edilmiş davamlı PVRB görmürük ki, bu da real proqramlar, çoxsaylı auditlər, yüklər və əlbəttə ki, real hücumlar tərəfindən sınaqdan keçirilməsi üçün kifayət qədər vaxt istifadə edilmişdi, onsuz bir əməliyyat adlandırmaq çətindir. məhsul həqiqətən təhlükəsizdir.

Bununla belə, bir neçə perspektivli yanaşma var, onlar bir çox detallarda fərqlənirlər və onlardan biri problemi mütləq həll edəcək. Müasir hesablama resursları ilə kriptoqrafik nəzəriyyə olduqca ağıllı şəkildə praktik tətbiqlərə çevrilə bilər. Gələcəkdə PVRB tətbiqləri haqqında danışmaqdan məmnun olarıq: indi onlardan bir neçəsi var, hər birinin özünəməxsus mühüm xassələri və icra xüsusiyyətləri var və hər birinin arxasında yaxşı bir fikir var. Randomizasiyada iştirak edən çoxlu komandalar yoxdur və onların hər birinin təcrübəsi hamı üçün son dərəcə vacibdir. Ümid edirik ki, məlumatlarımız sələflərinin təcrübəsini nəzərə alaraq digər komandalara daha sürətli hərəkət etməyə imkan verəcək.

Mənbə: www.habr.com

Добавить комментарий