Санамсаргүй тоо ба төвлөрсөн бус сүлжээ: Практик хэрэглээ

Танилцуулга

"Санамсаргүй тоо гаргах нь дэндүү чухал юм."
Роберт Каву, 1970 он

Энэхүү нийтлэл нь найдвартай орчинд санамсаргүй тоо үүсгэх аргыг ашиглан шийдлүүдийн практик хэрэглээнд зориулагдсан болно. Товчхондоо, санамсаргүйг блокчэйнд хэрхэн, яагаад ашигладаг, мөн "сайн" санамсаргүйг "муу"-аас хэрхэн ялгах талаар бага зэрэг. Үнэхээр санамсаргүй тоо үүсгэх нь ганц компьютер дээр ч гэсэн туйлын хэцүү асуудал бөгөөд үүнийг криптографчид эртнээс судалж ирсэн. Төвлөрсөн бус сүлжээнд санамсаргүй тоо үүсгэх нь илүү төвөгтэй бөгөөд чухал юм.

Оролцогчид бие биедээ итгэдэггүй сүлжээнд маргаангүй санамсаргүй тоог гаргах чадвар нь олон чухал асуудлыг үр дүнтэй шийдвэрлэх, одоо байгаа схемүүдийг мэдэгдэхүйц сайжруулах боломжийг олгодог. Түүгээр ч барахгүй, туршлагагүй уншигчдад анхандаа мэт санагдаж болох тул мөрийтэй тоглоом, сугалаа нь энд нэг номерын зорилго биш юм.

Санамсаргүй тоо үүсгэх

Компьютерууд өөрсдөө санамсаргүй тоо үүсгэж чадахгүй бөгөөд үүнийг хийхийн тулд гаднаас тусламж шаарддаг. Компьютер нь хулганын хөдөлгөөн, ашигласан санах ойн хэмжээ, процессорын зүү дээрх гүйдэл болон энтропийн эх үүсвэр гэж нэрлэгддэг бусад олон эх сурвалжаас санамсаргүй утгыг олж авах боломжтой. Эдгээр утгууд нь тодорхой хязгаарт эсвэл урьдчилан таамаглах боломжтой өөрчлөлттэй байдаг тул бүрэн санамсаргүй биш юм. Ийм тоонуудыг өгөгдсөн мужид үнэхээр санамсаргүй тоо болгон хувиргахын тулд энтропийн эх үүсвэрийн жигд бус тархсан утгуудаас жигд тархсан псевдо санамсаргүй утгыг гаргахын тулд криптотрансформацийг ашигладаг. Үүссэн утгууд нь санамсаргүй биш, харин энтропиас тодорхойлогддог учир псевдор санамсаргүй гэж нэрлэдэг. Аливаа сайн криптограф алгоритм нь өгөгдлийг шифрлэхдээ санамсаргүй дарааллаас статистикийн хувьд ялгагдахааргүй шифр текстийг гаргадаг тул санамсаргүй байдлыг бий болгохын тулд та энтропийн эх үүсвэрийг авах боломжтой бөгөөд энэ нь жижиг мужид ч гэсэн утгуудын сайн давтагдах, урьдчилан таамаглах боломжгүй байдлыг хангадаг. Ажлын үлдсэн хэсэг нь битүүдийг тарааж, холих явдал юм. Үр дүнгийн утгыг шифрлэлтийн алгоритм хүлээн авна.

Боловсролын товч хөтөлбөрийг дуусгахын тулд би нэг төхөөрөмж дээр санамсаргүй тоо үүсгэх нь бидний мэдээллийн аюулгүй байдлыг хангах нэг тулгуур гэдгийг нэмж хэлье.Үйлдвэрлэсэн псевдо санамсаргүй тоонууд нь янз бүрийн сүлжээнд аюулгүй холболт үүсгэх, үүсгэхэд ашиглагддаг. криптограф түлхүүрүүд, ачааллыг тэнцвэржүүлэх, бүрэн бүтэн байдлыг хянах болон бусад олон програмуудад зориулагдсан. Олон протоколын аюулгүй байдал нь найдвартай, гаднаас урьдчилан таамаглах боломжгүй санамсаргүй файлыг үүсгэх, хадгалах, протоколын дараагийн алхам хүртэл илчлэхгүй байх чадвараас хамаардаг, эс тэгвээс аюулгүй байдал алдагдах болно. Хуурамч санамсаргүй үнэ цэнийн үүсгэгч рүү халдах нь маш аюултай бөгөөд санамсаргүй байдлыг үүсгэдэг бүх програм хангамжийг шууд заналхийлдэг.

Хэрэв та криптографийн анхан шатны сургалтанд хамрагдсан бол энэ бүгдийг мэдэж байх ёстой, тиймээс төвлөрсөн бус сүлжээний талаар үргэлжлүүлье.

Блокчейн дэх санамсаргүй байдлаар

Юуны өмнө би ухаалаг гэрээг дэмждэг блокчэйнүүдийн талаар ярих болно; тэдгээр нь өндөр чанартай, үгүйсгэх аргагүй санамсаргүй байдлын боломжуудыг бүрэн ашиглаж чаддаг хүмүүс юм. Цаашилбал, товчхондоо би энэ технологийг нэрлэх болно "Олон нийтэд баталгаажуулах боломжтой санамсаргүй дохионууд” эсвэл PVRB. Блокчейн нь мэдээллийг ямар ч оролцогч шалгах боломжтой сүлжээ учраас нэрний гол хэсэг нь "Нийтээр шалгах боломжтой", өөрөөр хэлбэл. Блокчейн дээр тавигдсан тоо дараах шинж чанартай болохыг нотлохын тулд хэн ч тооцоо ашиглаж болно.

  • Үр дүн нь нотлохуйц жигд тархалттай байх ёстой, өөрөөр хэлбэл баттай хүчтэй криптограф дээр суурилсан байх ёстой.
  • Үр дүнгийн аль нэг битийг хянах боломжгүй. Үүний үр дүнд үр дүнг урьдчилан таамаглах боломжгүй юм.
  • Протоколд оролцохгүй байх эсвэл халдлагын мессежээр сүлжээг хэт ачаалах замаар та үүсгэх протоколыг эвдэж чадахгүй.
  • Дээр дурдсан бүх зүйл нь протоколын шударга бус оролцогчдын зөвшөөрөгдөх тооны (жишээлбэл, оролцогчдын 1/3) тохиролцоонд тэсвэртэй байх ёстой.

Оролцогчдын жижиг бүлэг нийлж, бүр хяналттай тэгш/сондгой санамсаргүй санамсаргүй санамсаргүй санамсаргүй тоог гаргах аливаа боломж нь аюулгүй байдлын цоорхой юм. Санамсаргүй олголтыг зогсоох бүлгийн аливаа чадвар нь аюулгүй байдлын цоорхой юм. Ерөнхийдөө олон асуудал байгаа бөгөөд энэ даалгавар бол амаргүй ...

PVRB-ийн хамгийн чухал хэрэглээ бол янз бүрийн тоглоом, сугалаа, ерөнхийдөө блокчэйн дээрх ямар ч төрлийн мөрийтэй тоглоом юм. Үнэн хэрэгтээ энэ бол чухал чиглэл боловч блокчейн дэх санамсаргүй байдал нь илүү чухал хэрэглээтэй байдаг. Тэднийг харцгаая.

Зөвшилцлийн алгоритмууд

PVRB нь сүлжээний зөвшилцлийг зохион байгуулахад асар их үүрэг гүйцэтгэдэг. Блокчейн дэх гүйлгээ нь цахим гарын үсгээр хамгаалагдсан байдаг тул "гүйлгээнд халдах" нь үргэлж блок (эсвэл хэд хэдэн блок) дахь гүйлгээг оруулах/хасах явдал юм. Зөвшилцлийн алгоритмын гол ажил бол эдгээр гүйлгээний дараалал, эдгээр гүйлгээг агуулсан блокуудын дарааллыг тохиролцох явдал юм. Түүнчлэн, жинхэнэ блокчлонд зайлшгүй шаардлагатай шинж чанар нь эцсийн чанар юм - сүлжээ нь эцсийн блок хүртэлх гинж нь эцсийнх бөгөөд шинэ сэрээ гарч ирснээр хэзээ ч хасагдахгүй байх чадвар юм. Ихэвчлэн блок нь хүчинтэй, хамгийн чухал нь эцсийнх гэдэгтэй санал нийлэхийн тулд блок үйлдвэрлэгчдийн дийлэнх (цаашид BP - блок үйлдвэрлэгч гэх) гарын үсэг цуглуулах шаардлагатай бөгөөд энэ нь дор хаяж блокийн гинжийг хүргэхийг шаарддаг. бүх АД-д, мөн бүх АД-ын хооронд гарын үсэг тараах. АД-ын тоо өсөхийн хэрээр сүлжээнд шаардлагатай мэдээллүүдийн тоо экспоненциалаар өсдөг тул жишээлбэл Hyperledger pBFT зөвшилцөлд ашигласан эцэслэхийг шаарддаг зөвшилцлийн алгоритмууд хэдэн арван АД-аас эхлээд шаардлагатай хурдаар ажиллахгүй байна. асар олон тооны холболтууд.

Хэрэв сүлжээнд маргаангүй, шударга PVRB байгаа бол хамгийн энгийн тооцоололд ч гэсэн та түүнд үндэслэн блок үйлдвэрлэгчдийн аль нэгийг сонгож, протоколын нэг үе шатанд түүнийг "удирдагч" болгож болно. Хэрэв бидэнд байгаа бол N блок үйлдвэрлэгчид, үүнээс M: M > 1/2 N Шударга байх, гүйлгээнд цензур хийхгүй байх, "давхар зардал"-ын халдлага үйлдэхийн тулд гинжийг бүү холдуул, дараа нь жигд тархсан, маргаангүй PVRB ашиглах нь шударга удирдагчийг сонгох боломжийг олгоно. M / N (M / N > 1/2). Хэрэв удирдагч бүрт блок үүсгэж, гинжийг баталгаажуулах өөрийн гэсэн хугацааны интервалыг хуваарилсан бөгөөд эдгээр интервалууд нь цаг хугацааны хувьд тэнцүү бол шударга АД-ын блок гинж нь хорлонтой АД-ын үүсгэсэн гинжин хэлхээнээс урт байх болно. Алгоритм нь гинжин хэлхээний уртаас хамаардаг. "муу" нэгийг нь зүгээр л хаях болно. АД тус бүрт ижил цаг хуваарилах энэхүү зарчмыг анх Графен (EOS-ийн өмнөх хувилбар) дээр хэрэгжүүлсэн бөгөөд ихэнх блокуудыг нэг гарын үсгээр хаах боломжийг олгодог бөгөөд энэ нь сүлжээний ачааллыг ихээхэн бууруулж, энэхүү зөвшилцөлд маш хурдан ажиллах боломжийг олгодог. тогтвортой. Гэсэн хэдий ч, EOS сүлжээ нь одоо 2/3 АД-ын гарын үсгээр баталгаажсан тусгай блокуудыг (Сүүлчийн эргэлт буцалтгүй блок) ашиглах ёстой. Эдгээр блокууд нь эцсийн байдлыг хангахад үйлчилдэг (сүүлчийн эргэлт буцалтгүй блокоос өмнө гинжин салаа үүсгэх боломжгүй).

Түүнчлэн, бодит хэрэгжилтийн хувьд протоколын схем нь илүү төвөгтэй байдаг - санал болгож буй блокуудын санал хураалт нь блок байхгүй, сүлжээнд асуудал гарсан тохиолдолд сүлжээг хадгалахын тулд хэд хэдэн үе шаттайгаар явагддаг боловч үүнийг харгалзан үзсэн ч PVRB ашиглан зөвшилцөх алгоритмууд шаардлагатай. АД-ын хоорондох мессежүүд мэдэгдэхүйц бага байгаа нь уламжлалт PVFT эсвэл түүний янз бүрийн өөрчлөлтөөс илүү хурдан болгох боломжийг олгодог.

Ийм алгоритмуудын хамгийн алдартай төлөөлөгч: Ouroboros Кардано багийнхан, энэ нь АД-ын нууцаар тохиролцсоны эсрэг математикийн хувьд нотлогддог гэж үздэг.

Ouroboros-д PVRB нь "АД-ын хуваарь" гэж нэрлэгддэг хуваарийг тодорхойлоход ашиглагддаг - АД тус бүр блокыг нийтлэх өөрийн цагийн хуваарийг хуваарилдаг. PVRB-ийг ашиглахын том давуу тал бол АД-ын бүрэн "тэнцүү" (тэдний балансын хэмжээнээс хамаарч) юм. PVRB-ийн бүрэн бүтэн байдал нь хорлонтой АД-ууд цагийн хуваарийг хянах боломжгүй тул гинжин хэлхээний сэрээг урьдчилан бэлтгэж, дүн шинжилгээ хийх замаар гинжийг удирдах боломжгүй бөгөөд сэрээ сонгохын тулд зөвхөн сэрээний уртад найдах нь хангалттай юм. АД-ын "ашиг" болон түүний блокуудын "жин" -ийг тооцоолох төвөгтэй аргуудыг ашиглахгүйгээр хэлхээ.

Ерөнхийдөө, төвлөрсөн бус сүлжээнд санамсаргүй оролцогчийг сонгох шаардлагатай бүх тохиолдолд PVRB нь жишээлбэл блок хэш дээр суурилсан детерминист сонголтоос илүү бараг үргэлж хамгийн сайн сонголт байдаг. PVRB байхгүй бол оролцогчийн сонголтод нөлөөлөх чадвар нь халдагч этгээд дараагийн авлигач оролцогчийг сонгох эсвэл шийдвэрт илүү их хувь нэмэр оруулахын тулд хэд хэдэн фьючерсээс сонгох боломжтой халдлагад хүргэдэг. PVRB ашиглах нь эдгээр төрлийн халдлагыг гутаан доромжилж байна.

Масштаб, ачааллыг тэнцвэржүүлэх

PVRB нь ачааллыг бууруулах, төлбөрийн хэмжээг нэмэгдүүлэх зэрэг ажилд ихээхэн ашиг тустай байж болно. Эхлэхийн тулд та бүхэнтэй танилцах нь зүйтэй юм нийтлэл Ривеста "Цахим сугалааны тасалбарууд бичил төлбөр". Ерөнхий санаа бол төлбөр төлөгчөөс хүлээн авагч руу 100 1c төлбөр хийхийн оронд та 1$ = 100c-ийн шагналтай шударга сугалаа тоглож болох бөгөөд төлбөр төлөгч тус бүрдээ 1 "сугалааны тасалбар"-ынхаа нэгийг банкинд өгдөг. 100c төлбөр. Эдгээр тасалбаруудын аль нэг нь 1 доллар хождог бөгөөд энэ тасалбарыг хүлээн авагч блокчэйнд бичиж болно. Хамгийн гол нь үлдсэн 99 тасалбарыг хүлээн авагч, төлбөр төлөгчийн хооронд гадны оролцоогүйгээр, хувийн сувгаар, хүссэн хурдаараа шилжүүлдэг. Emercoin сүлжээнд энэ схем дээр суурилсан протоколын сайн тайлбарыг уншиж болно энд.

Энэ схем нь хүлээн авагч нь хожсон тасалбарыг хүлээн авмагцаа төлбөр төлөгчид үйлчлэхээ болих гэх мэт цөөн хэдэн асуудалтай байдаг ч минут тутамд тооцоо хийх эсвэл үйлчилгээний цахим захиалга гэх мэт олон тусгай хэрэглээний хувьд эдгээрийг үл тоомсорлож болно. Гол шаардлага нь мэдээжийн хэрэг сугалааны шударга байдал бөгөөд түүнийг хэрэгжүүлэхийн тулд PVRB зайлшгүй шаардлагатай.

Санамсаргүй оролцогчийн сонголт нь мөн блокийн гинжийг хэвтээ байдлаар масштаблах, өөр өөр АД-д зөвхөн гүйлгээний хамрах хүрээгээ боловсруулах боломжийг олгодог sharding протоколуудад маш чухал юм. Энэ нь ялангуяа хэлтэрхийүүдийг нэгтгэх үед аюулгүй байдлын хувьд маш хэцүү ажил юм. Зөвшилцлийн алгоритмын нэгэн адил тодорхой хэлтэрхийг хариуцагчдыг хуваарилах зорилгоор санамсаргүй АД-ыг шударга сонгох нь PVRB-ийн үүрэг юм. Төвлөрсөн системд хэлтэрхийг тэнцвэржүүлэгч хуваарилдаг бөгөөд энэ нь хүсэлтээс хэшийг тооцоолж, шаардлагатай гүйцэтгэгч рүү илгээдэг. Блокчейн хувьд энэ даалгаварт нөлөөлөх чадвар нь зөвшилцөлд халдлагад хүргэж болзошгүй юм. Жишээлбэл, гүйлгээний агуулгыг халдагчид хянах боломжтой, тэр хянадаг хэлтэрхий рүү ямар гүйлгээ орохыг хянаж, блокуудын гинжийг удирдах боломжтой. Та Ethereum-д хуваах даалгаварт санамсаргүй тоог ашиглах асуудлын талаархи хэлэлцүүлгийг уншиж болно энд
Шардинг нь блокчэйний салбарын хамгийн амбицтай бөгөөд ноцтой асуудлуудын нэг бөгөөд түүний шийдэл нь гайхалтай гүйцэтгэл, хэмжээ бүхий төвлөрсөн бус сүлжээг бий болгох боломжийг олгоно. PVRB бол үүнийг шийдвэрлэх чухал блокуудын нэг юм.

Тоглоом, эдийн засгийн протокол, арбитр

Тоглоомын салбарт санамсаргүй тоонуудын үүргийг хэт үнэлэхэд хэцүү байдаг. Онлайн казинод илэрхий ашиглах, тоглогчийн үйлдлийн үр нөлөөг тооцоолохдоо далд ашиглах зэрэг нь санамсаргүй байдлын төв эх сурвалжид найдах ямар ч боломжгүй төвлөрсөн бус сүлжээнүүдийн хувьд маш хэцүү асуудал юм. Гэхдээ санамсаргүй сонголт нь эдийн засгийн олон асуудлыг шийдэж, илүү хялбар, үр ашигтай протоколуудыг бий болгоход тусалдаг. Манай протоколд зарим хямд үйлчилгээний төлбөрийн талаархи маргаан байдаг бөгөөд эдгээр маргаан маш ховор тохиолддог гэж бодъё. Энэ тохиолдолд, хэрэв маргаангүй PVRB байгаа бол үйлчлүүлэгчид болон худалдагчид маргааныг санамсаргүй байдлаар шийдвэрлэхээр тохиролцож болно, гэхдээ өгөгдсөн магадлалаар. Жишээлбэл, 60% -ийн магадлалаар үйлчлүүлэгч, 40% -ийн магадлалтайгаар худалдагч ялна. Анхны үүднээс харахад утгагүй энэ арга нь маргааныг автоматаар шийдвэрлэх боломжийг олгодог бөгөөд энэ нь гуравдагч этгээдийн оролцоогүйгээр, шаардлагагүй цаг хугацаа алдахгүйгээр аль алинд нь тохирсон ялалт/алдагдлын тодорхой хувьтай байдаг. Түүнээс гадна магадлалын харьцаа нь динамик байж болох бөгөөд зарим дэлхийн хувьсагчаас хамаарна. Жишээлбэл, хэрэв компани сайн ажиллаж байгаа, маргаан багатай, өндөр ашиг орлоготой бол тухайн компани маргааныг шийдвэрлэх магадлалыг автоматаар харилцагч төв рүү шилжүүлэх боломжтой, жишээ нь 70/30 эсвэл 80/20, эсвэл эсрэгээр, хэрвээ маргаан маш их мөнгө зарцуулж, хууран мэхэлсэн эсвэл хангалтгүй байвал магадлалыг өөр чиглэлд шилжүүлж болно.

Токеныг бүрдүүлсэн бүртгэлүүд, урьдчилан таамаглах зах зээл, бондын муруй зэрэг олон тооны сонирхолтой төвлөрсөн бус протоколууд нь сайн зан үйлийг шагнаж, муу зан үйлийг шийтгэдэг эдийн засгийн тоглоомууд юм. Эдгээр нь хамгаалалт нь хоорондоо зөрчилддөг аюулгүй байдлын асуудлуудыг ихэвчлэн агуулдаг. Олон тэрбум жетонтой ("том гадас") "халим"-ын дайралтаас хамгаалагдсан зүйл нь жижиг үлдэгдэлтэй ("sybil гадас") мянга мянган дансны халдлагад өртөмтгий байдаг ба нэг халдлагын эсрэг авах арга хэмжээнүүд, тухайлбал. Их хэмжээний гадастай ажиллахыг ашиггүй болгохын тулд бий болгосон шугаман хураамж нь ихэвчлэн өөр халдлагад өртдөг. Бид эдийн засгийн тоглоомын тухай ярьж байгаа тул харгалзах статистик жинг урьдчилан тооцоолж, зохих хуваарилалт бүхий комиссуудыг санамсаргүй байдлаар сольж болно. Блокчэйн нь санамсаргүй байдлын найдвартай эх сурвалжтай, нарийн төвөгтэй тооцоо шаарддаггүй тохиолдолд ийм магадлалын комиссыг маш энгийнээр хэрэгжүүлдэг бөгөөд энэ нь халим, сибил хоёрын амьдралыг хүндрүүлдэг.
Үүний зэрэгцээ, энэ санамсаргүй байдлын нэг битийг хянах нь таныг хууран мэхлэх, магадлалыг хоёр дахин бууруулах, нэмэгдүүлэх боломжийг олгодог тул шударга PVRB нь ийм протоколуудын хамгийн чухал бүрэлдэхүүн хэсэг гэдгийг санах хэрэгтэй.

Зөв санамсаргүйг хаанаас олох вэ?

Онолын хувьд төвлөрсөн бус сүлжээн дэх шударга санамсаргүй сонголт нь бараг ямар ч протоколыг хуйвалдаанаас найдвартай хамгаалдаг. Үндэслэл нь маш энгийн - хэрэв сүлжээ нь нэг 0 эсвэл 1 бит дээр санал нийлж, оролцогчдын талаас бага хувь нь шударга бус байвал хангалттай давталтуудыг хийвэл сүлжээ нь тогтсон магадлалаар энэ битийн талаар зөвшилцөлд хүрэх баталгаатай болно. Учир нь шударга санамсаргүй хүн 51 оролцогчоос 100-ийг нь 51% сонгох болно. Гэхдээ энэ бол онолын хувьд, учир нь ... Бодит сүлжээнд нийтлэлүүд шиг аюулгүй байдлын түвшинг хангахын тулд хостуудын хооронд олон мессеж, нарийн төвөгтэй олон дамжуулалттай криптограф шаардлагатай бөгөөд протоколын аливаа хүндрэл нь шинэ халдлагын векторуудыг нэн даруй нэмж өгдөг.
Тийм ч учраас бид блокчэйн дэх батлагдсан тэсвэртэй PVRB-ийг хараахан олж хараагүй байгаа бөгөөд үүнийг бодит хэрэглээ, олон аудит, ачаалал, мэдээжийн хэрэг бодит халдлагад туршиж үзэхэд хангалттай хугацаа шаардагдах байсан бөгөөд үүнгүйгээр үүнийг нэрлэх нь хэцүү байдаг. бүтээгдэхүүн үнэхээр аюулгүй.

Гэсэн хэдий ч хэд хэдэн ирээдүйтэй аргууд байдаг бөгөөд тэдгээр нь олон нарийн ширийн зүйлээр ялгаатай бөгөөд тэдгээрийн аль нэг нь асуудлыг шийдэх нь гарцаагүй. Орчин үеийн тооцоолох нөөцийн тусламжтайгаар криптографийн онолыг практик хэрэглээнд маш ухаалаг орчуулж болно. Ирээдүйд бид PVRB-ийн хэрэгжилтийн талаар ярихдаа баяртай байх болно: одоо хэд хэдэн зүйл байгаа бөгөөд тус бүр өөрийн гэсэн чухал шинж чанар, хэрэгжүүлэх онцлогтой бөгөөд тус бүрийн ард сайн санаа байгаа. Санамсаргүй хуваарилалтад олон баг оролцдоггүй бөгөөд тэдний туршлага бусад бүх хүмүүст маш чухал юм. Бидний мэдээлэл өмнөх багийнхаа туршлагыг харгалзан бусад багуудад илүү хурдан шилжих боломжийг олгоно гэж найдаж байна.

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх