Avtomatlashtirilgan zanjir ichidagi bajarilish (on-chain execution) haqida o‘qiyotganimda bir narsa meni bezovta qilaverdi.
Odatda ruxsat tekshiruvlari bitta tranzaksiya bo‘yicha navbatma-navbat bo‘layotgandek tasavvur qilamiz.
Lekin haqiqat ancha chalkashroq.
Katta savdo tizimlari ko‘pincha bir xil smart-kontdan bir vaqtning o‘zida bir nechta so‘rovni yuboradi. Agar avtorizatsiya dvigateli (authorization engine) bu so‘rovlarni parallel tarzda baholasa, blokcheyn hisob-kont holatini yangilashigacha har bir tranzaksiya mavjud sarflash limiti bir xil ekanini vaqtincha “ko‘rishi” mumkin.
Bu muhandislikdagi “ruxsatlar o‘zaro aralashuvi” (permission interleaving) degan muammoga olib keladi.
Tasavvur qiling: Tranzaksiya A tasdiqlanadi, chunki kontda hali ham yetarli bo‘lgan sarflash limiti bor.
Bir necha millisekund o‘tgach, Tranzaksiya B ham ayni shu sababga ko‘ra tasdiqlanadi.
Hech bir so‘rov boshqasining u limitning bir qismini o‘ziga band qilganini bilmaydi.
Natija shart emaski, buzilgan blokcheyn bo‘lib chiqadi.
Bu — aynan avtorizatsiya ish jarayonidagi (authorization workflow) poyga sharoitidagi nosozlik (race condition).
Shuning uchun zamonaviy ruxsat tizimlari faqat tezkor tekshiruvga tayanish o‘rniga, oxir-oqibat deterministik ketma-ketlikni bloklash (deterministic sequence locking) talab qilishi mumkin.
Ba’zan avtomatlashtirishdagi eng qiyin qism tranzaksiyani bajarish emas.
Balki bir vaqtning o‘zida bir nechta tranzaksiya tasodifan bir xil balansga ishonib qolmasligini ta’minlash.
@NewtonProtocol #Newt #BinanceTurns9 #ZcashRises1190%OverPastYear #SKHynixSharesFallInSeoulAfterUSDebut #StrategySells3588BTCForDividends
$VELVET $DODO $NEWT
⚡ Agar bir vaqtning o‘zida bir nechta avtomatlashtirilgan tranzaksiya kelsa, avval nima bo‘lishi kerak?
Odatda ruxsat tekshiruvlari bitta tranzaksiya bo‘yicha navbatma-navbat bo‘layotgandek tasavvur qilamiz.
Lekin haqiqat ancha chalkashroq.
Katta savdo tizimlari ko‘pincha bir xil smart-kontdan bir vaqtning o‘zida bir nechta so‘rovni yuboradi. Agar avtorizatsiya dvigateli (authorization engine) bu so‘rovlarni parallel tarzda baholasa, blokcheyn hisob-kont holatini yangilashigacha har bir tranzaksiya mavjud sarflash limiti bir xil ekanini vaqtincha “ko‘rishi” mumkin.
Bu muhandislikdagi “ruxsatlar o‘zaro aralashuvi” (permission interleaving) degan muammoga olib keladi.
Tasavvur qiling: Tranzaksiya A tasdiqlanadi, chunki kontda hali ham yetarli bo‘lgan sarflash limiti bor.
Bir necha millisekund o‘tgach, Tranzaksiya B ham ayni shu sababga ko‘ra tasdiqlanadi.
Hech bir so‘rov boshqasining u limitning bir qismini o‘ziga band qilganini bilmaydi.
Natija shart emaski, buzilgan blokcheyn bo‘lib chiqadi.
Bu — aynan avtorizatsiya ish jarayonidagi (authorization workflow) poyga sharoitidagi nosozlik (race condition).
Shuning uchun zamonaviy ruxsat tizimlari faqat tezkor tekshiruvga tayanish o‘rniga, oxir-oqibat deterministik ketma-ketlikni bloklash (deterministic sequence locking) talab qilishi mumkin.
Ba’zan avtomatlashtirishdagi eng qiyin qism tranzaksiyani bajarish emas.
Balki bir vaqtning o‘zida bir nechta tranzaksiya tasodifan bir xil balansga ishonib qolmasligini ta’minlash.
@NewtonProtocol #Newt #BinanceTurns9 #ZcashRises1190%OverPastYear #SKHynixSharesFallInSeoulAfterUSDebut #StrategySells3588BTCForDividends
$VELVET $DODO $NEWT
⚡ Agar bir vaqtning o‘zida bir nechta avtomatlashtirilgan tranzaksiya kelsa, avval nima bo‘lishi kerak?
🔒 Lock the permissions
50%
⚖️ Check available balance
50%
🚀 Process everything together
0%
🤔 Not sure
0%
2 Ovozlar • Ovoz berish yopildi