Markazlashtirilmagan kazinolarda aqlli shartnomalar qanday ishlaydi
Nima uchun aqlli kazino shartnomalari
Smart-kontraktlar «operatorga ishonch» ni kodga ishonchga aylantiradi:- O’zgarmas qoidalar: house edge, limitlar, to’lov tartibi - kodda va zanjirda.
- Natijalar tekshirilishi: commit/reveal yoki VRF orqali.
- Shaffof pul: depozitlar, bankroll, jekpotlar va to’lovlar - on-chain voqealari.
- Kompozitsiyaligi: likvidlik pullari, DAO, NFT, referal va kross-o’yin mexanikalari.
Markazlashtirilmagan kazinoning bazaviy arxitekturasi
Komponentlar:1. Game kontrakt (lar) - stavkalar va hisob-kitoblar mantig’i (slotlar/ruletka/suyaklar/krash va boshqalar).
2. Bankroll/Trezori - to’lovlar moliyalashtiriladigan likvidlik puli kontrakti (LP-paychilar profit ulushini oladi).
3. RNG moduli - VRF adapteri yoki verifikatsiya qilingan commit/reveal.
4. Accounting - fi, jekpotlar, referallar, stavkalar limitlari hisobi.
5. Access/Guard - rollar (OWNER, PAUSER, UPGRADER), timelock, multisig.
6. DAO/Gavernans (ixtiyoriy) - parametrlarni oʻzgartirish va yangilash.
7. Orakullar/Integratsiyalar - kurslar, sport natijalari, gaz/tarmoqlar limitlari.
8. Front/releyer - akkauntlarni mavhumlashtirish, meta-tx, EIP-712 imzolash.
Pul oqimi (soddalashtirilgan):- ’deposit ()’ → tokenlar/steyblkoinlar o’yinchi/shartnoma hamyoniga tushadi.
- ’placeBet ()’ → stavka Game’ga oʻtadi, hodisa bilan qayd etiladi; qismi - hold/pulga.
- ’settleRound ()’ → tasodifiy/natija keladi; kontrakt payout hisoblaydi;’payout ()’yutuqlarni o’tkazadi.
- Fi/edge → trezori/LP/ref-pulga belgilangan formula bo’yicha.
Tasodif: VRF va commit/reveal
VRF (Verifiable Random Function)
’requestRandomness (seed)’ → provayder qaytaradi’(random, proof)’.
Shartnoma dalillarni tekshiradi va «random» dan foydalanadi.
Afzalliklari: operatorga ishonchsiz shaffoflik; minuslari: qiymati, yetkazib beruvchiga bog’liqligi.
Commit/Reveal
Harakatsiz mapping: rejection sampling oʻrniga’rng% N’.
Smart-kontraktdagi raund qanday hisoblanadi
1. Stavkani qabul qilish
Tekshirishlar: limitlar (’min/max’), pula balansi (’maxPayout ≤ bankroll k’), pauza/maintenance, o’zgaruvchanlik K-omili.
’betId, player, amount, roundId, odds/table, timestamp’ parametrlarini belgilash.
2. Tasodif olish
VRF callback или `reveal`. Ichkarida - RNG va mappingning normal holati.
3. Yutuq hisob-kitobi
To’lovlar formulasi (koeffitsiyentlar jadvali, house edge).
Trezori/jekpotni yangilash,’RoundSettled (betId, outcome, payout)’voqealari.
4. To’lov
’payout (player, amount)’ - to’g «ridan to’g» ri kontraktdan.
Katta miqdordagi limitlar/taymloklar, anti-MEV himoyasi (quyida qarang).
Bankroll va likvidlilik
LP-pool: ishtirokchilar likvidlikni qo’shadilar, LP-tokenlarni oladilar; profit/zarar - ulushga mutanosib ravishda.
Tavakkalchilik menejmenti: o’yin/raund uchun’maxExposure’, anti-veyl limitlari, past likvidlikda dinamik’house edge’.
Jekpotlar: shaffof to’ldirish formulasi va berish triggerlari bo’lgan alohida sub-pullar.
Komissiyalar, tokenomika va referal
Edge/fee split: bir qismi trezori, bir qismi LP, bir qismi DAO/steyking/ref-pulga boradi.
Vesting va sotib olish: profit tokenni sotib olishi, yoqib yuborishi yoki steykerlarga taqsimlashi mumkin.
Referial: on-chain reyestrlar/promokodlar, voqealarning shaffofligi.
Boshqaruv (DAO) va parametrlar
Parametrlar: edge, stavkalar chegarasi, whitelists tokenlari, oʻyinlarni yoqish/oʻchirish.
Mexanizm: timelock + multisig + tokenxolderlar ovoz berishi.
Yangilanishlar: UUPS/Proxy to’siqlar bilan (timelock, pauza, migratsiya rejasi).
Xavfsizlik: nimaga birinchi navbatda qarash kerak
1. Audit/bag-baunti: uchinchi tomon auditlari, ochiq manba kodi, invariantlar testlari bilan qoplash.
2. Upgradability-risklar:’upgrade’kim uchun mavjud? timelock va «pauza» bormi?
3. MEV va front-ran:- Kommit-stavkalar (yashirin), maxfiy mempulalar/releerlar, axborotni settle gacha minimallashtirish.
- Yirik transh, random delay/kaskad bilan kechiktirilgan to’lovlar.
- 4. RNG yaxlitligi: VRF dalillarini tekshirish, VRF taymautidagi siyosat, sidi «tanlash» mumkin emasligi.
- 5. Ekspozitsiya limitlari: pulni bankrotlikdan himoya qilish,’maxPayout’, per tx/per block/per address limitlari.
- 6. Fail-safe:’PAUSER’, pullarni avariya holatida muzlatish, mablag’larni qaytarish rejalari.
- 7. Rollar va kalitlar: multisig, rotatsiya, off-chain HSM/seremoniyalarda saqlash.
UX va unumdorlik
L2 va vositachilik haqi: rollup (Optimistic/ZK) da joylashtirish, batching, arzon loglar uchun blob/DA dan foydalanish.
Hisobvaraqlarning abstraksiyasi (AA): meta-tx, paymaster gaz uchun to’laydi; hamyonni soz-tiklash.
Kross-cheynlar: ko’priklar/agregatorlar; ko’priklarning xavfsizligi juda muhim.
«Halollikni tekshirish» tugmasi: hisobotni yaratish (inputs → RNG → outcome) va blok eksplorerga havola.
Orakulalar va tashqi ma’lumotlar
Sport/real-dunyo: m-iz-n imzo, taymlok orqali yakunlash; anti-rollback logi (blok-langar).
FX/kurslar: manbalar verifikatsiya qilinadi; zaharlangan narxlar → to’xtash/pauza.
Tarmoqning holati: suyuqlik quriganda/gaz o’sganda parametrlarni o’zgartirish.
Komplayens va javobgarlik
KYC/KYT: selektiv dalillar/langarlar; sanksiya ro’yxatlari zanjirdan tashqarida bo’lsa-da, qarorlar va siyosat shaffof tarzda amalga oshiriladi.
RG (Responsible Gaming): aqlli-kontraktlar yoki front siyosatida depozitlar/stavkalar/sessiyalar limitlari; rad etish va pauzalar daftarlari.
Geo cheklovlar: jabhada + ruxsat etilgan tokenlar/tarmoqlar roʻyxati.
Hodisa va interfeys namunalari (sxema)
Hodisalar:
event BetPlaced(betId, player, amount, roundId, table);
event RandomRequested(roundId, requestId);
event RoundSettled(betId, outcome, payout, houseEdge, rngProof);
event Payout(player, amount, betId);
event Jackpotted(roundId, amount, winner);
Tanqidiy view funksiyalari:
getRules(table) -> odds/limits/edge getRound(roundId) -> status, commitHash/vrfProof, deadline getBankroll() -> liquidity, maxPayout, utilization getPlayerBets(player) -> history, pending
Anti-patternlar
«blockhash/timestamp» orqali RNG - oldindan aytish/manipulyatsiya qilish mumkin.
’rng% N’ rejection sampling - ehtimollarning siljishi.
Timelock/multisigsiz Upgradable proksi - «bir qo’lda tumbler».
Ekspozitsiya limitlari yo’qligi - pulni bitta stavka bilan nolga tushirish xavfi.
Anti-MEVsiz «peshonaga» to’lovlar - front-ran/sendvich.
PII on-chain saqlash - qaytarib bo’lmaydigan oqish.
Zaxirasiz yagona VRF/orakul operatori - SPOF.
Kontraktlardan tashqari o’yin loglari va moliyaviy OLTPni aralashtirish - tafovutlar/nizolar.
Casino aqlli-kontraktlarini joriy etish chek-varaqasi
Arxitektura va pul
- Game, Bankroll, RNG, DAO bo’lingan; tushunarli interfeyslar va hodisalar.
- «maxPayout» limitlari, o’yinlar/manzillar bo’yicha ekspozitsiyalar, jekpotlar izolyatsiya qilingan.
RNG va halollik
- VRF verifikatsiya/taymaut siyosati yoki commit/reveal bilan merkli batchlar.
- Rejection sampling, belgilangan’mappingVer’, ommaviy tekshirish skripti.
Xavfsizlik
- Audit (lar), bagbaunti, invariant testlar.
- Timelock + multisig + pauser, DR/qaytarish rejasi.
- Anti-MEV (commit-bets/private releers), reentransi/manipulyatsiyadan himoya qilish.
Gavernans/yangilanishlar
- Parametrlarni o’zgartirish, ovoz berish bilan migratsiyaning shaffof tartiblari.
- Hujjatlashtirilgan versiyalar (’contractVer’,’rngAlgo’,’mappingVer’).
UX/qiymat
- L2/batching, AA/meta-tx, UI da «Verify fairness».
- Vositachilik/tarmoqlar, ko’priklar va tavakkalchiliklar bo’yicha qo’llanma.
Komplayens
- RG/KYC/KYT siyosati, yechim jurnallari, geo-cheklovlar.
- Audit uchun hisobot va eksport.
Aqlli shartnomalar kazinolarni shaffof va oldindan aytib bo’lmaydigan qilib qo’yadi: qoidalar va pullar kodda yashaydi, tasodiflar tekshiriladi, to’lovlar esa dasturlashtirilgan tartiblarga amal qiladi. Muvaffaqiyat - savodli arxitektura (Game/Bankroll/RNG/DAO), qattiq xavfsizlik (audit, timelock, anti-MEV), UX (L2, AA) ishlaydigan va komplayensni hurmat qilishda. O’shanda «halol qoidalar o’yini» - bu shior emas, balki har kim tekshirishi mumkin bo’lgan o’zgarmas haqiqat.