#dusk $DUSK @Dusk
Blokcheynda “tasodifiy” tanlov ko‘pincha kimdir kublarni kuzatayotgandek tuyulishini payqaganmisiz? Men bu savol ustida biroz o‘ylanib yurdim, keyin deterministik sortitsiya (deterministic sortition)ni haqiqatan ham to‘g‘ri o‘rganib chiqdim.

G‘oya eshitilgandek murakkab emas: buni qismlarga ajratsangiz, hammasi oydinlashadi. Har bir ishtirokchi umumiy bir “seed” (urug‘) bilan o‘zining shaxsiy kalitini birlashtirib, o‘ziga xos ball (score) hosil qiladi. Bu seed odatda oldingi blokdan yoki oldindan kelishilgan qandaydir ommaviy qiymatdan olinadi. Seed hamma uchun ma’lum, lekin shaxsiy kalit esa yo‘q bo‘lgani uchun, natijaviy ballni boshqalar hech kim koordinatordagi (markazdagi) ishonchga muhtoj bo‘lmasdan tekshira oladi. Hech kim rolni tayinlamaydi. Matematika shunchaki g‘olibni “chiqaradi” va hamma ishni keyin tekshirib ko‘ra oladi.

Meni birinchi bo‘lib hayratga solgani — bu eskirgan tizimlardagi noqulay “o‘rtadagi” bosqichni olib tashlashi edi. Validatorlarni tanlaydigan komissiya yo‘q. Nazariy jihatdan “yengilgina turtib qo‘yilishi” mumkin bo‘lgan off-chain tasodifiylik beacon’i ham yo‘q. Seed har bir raundda o‘zgaradi, demak ball ham o‘zgaradi. Avvaliga noodatiy tuyuldi — ishonchni arifmetika bilan almashtiramiz, deyayotgan narsa uchun juda “toza” ko‘rindi. Balki men ortiqcha o‘ylayotgandirman, lekin adolat va’da qilinmaydigan, aksincha isbotlanadigan tizimda o‘ziga xos yoqimli hissiyot bor.

Men ilk Algorand uslubidagi maqolalarni o‘qib, buni asosan akademik deb o‘ylagandim. Uni jonli tarmoqlarda ishlayotganini ko‘rish esa bu taassurotni biroz o‘zgartirdi. Shunga qaramay, u o‘ta og‘ir tarmoq bo‘linishlari (network splits) yoki kelishilgan timing hujumlari sharoitida qay darajada ushlab turishini hali ham aniq bilmayman. Bu tomoni hozircha boshimda to‘liq joylashib ulgurmadi.

Qanday bo‘lmasin, bu mexanizmlardan biri — men doimo yana- yana aylanib keladigan narsalardan. U ko‘zni qamashtirmagani uchun emas, balki ko‘pchilik hech qachon beriladigan savolni jim-jit qilib javoblaygani uchun.

$ALLO
$ACE