Web3’ning asosiy xususiyatlaridan biri — foydalanuvchilarga maxfiylik va platformalar bilan qanday ishlash borasida to‘liq nazorat berishdir. MetaMask’da tasdiqlar va ruxsatlarni qanday boshqarishni o‘rganing.

Ethereum kabi blokcheynlar bilan ishlash tajribangiz hamyonlar o‘rtasida oddiy tranzaksiyalar yuborish bilan cheklangan bo‘lsa ham, tranzaksiyangizni tasdiqlagan, unga ruxsat bergan yoki imzolagan bo‘lasiz. Bu shunchaki tranzaksiyani blokcheynga yuborishni tasdiqlayotganingizni anglatadi.

Xuddi shu jarayon Web3’dagi dapp’lar bilan ishlashga ham birdek taalluqli: rozilik berish, tasdiqlash va ruxsat berish kerak bo‘lgan narsalar ko‘p. Ammo MetaMask’da beriladigan tasdiq aslida nimani anglatadi?

Bu savolga javob berish uchun avval kriptografiyaning ayrim asosiy jihatlarini ko‘rib chiqishimiz kerak. 

Kalitlar va kriptografiya: tasdiqlash nima?

Barcha kriptofaoliyatingiz ochiq kalitli kriptografiyaga asoslangan. Aslida, har bir hamyon yaratilganida unga mos ochiq va yopiq «kalitlar» jufti hosil bo‘ladi. Ichkariga kirish uchun boltni ochib, tambani burash kerak bo‘lgan eshikni tasavvur qiling — har biriga alohida kalit kerak. Bitta kalitning o‘zi bilan hech narsaga erishib bo‘lmaydi: sizga ikkalasi ham kerak. 

Bu misolni haddan tashqari soddalashtirgan bo‘lsak-da, faraziy eshik bilan bog‘liq vaziyatni kripto hamyoningizga tatbiq etishimiz mumkin. Tranzaksiya uchun yopiq va ochiq kalitlarning ikkalasi ham zarur: tranzaksiyani siz boshlaganingizni ko‘rsatish uchun yopiq kalit, uning kelib chiqishini qabul qiluvchi tekshirishi uchun esa ochiq kalit kerak. Bu quyidagicha ishlaydi:

  1. Siz kontaktingizga token yuborishga qaror qilasiz. 

  2. Qabul qiluvchining hamyon manzilini bilganingiz uchun uning ochiq kaliti sizda bor — birinchisi ikkinchisining xeshlangan (shifrlangan) ko‘rinishidir. Tranzaksiyani shifrlash uchun ochiq kalitdan foydalaniladi.

  3. Yopiq kalit egasi bo‘lgan qabul qiluvchi tranzaksiyani oladi. Kalitlari o‘zaro mos bo‘lgani sababli, yuboruvchi ochiq kalit orqali jo‘natgan tranzaksiyani faqat tegishli yopiq kalit — faqat uning o‘zida bor kalit — ochishi mumkin.

Hozircha hammasi yaxshi: blokcheyn tranzaksiyalarining asosida o‘zaro ishlaydigan yopiq va ochiq kalitlar jufti turishini aniqladik. Biroq bu bilimni tasdiqlashlar va imzolashga tatbiq etish uchun kalitlarning vazifalarini almashtiramiz: endi jo‘natuvchi xabarni o‘zining yopiq kaliti bilan shifrlaydi. Boshqalar jo‘natuvchining ochiq kalitini (hamyon manzilini) osongina topa olgani sababli, kalitlar xabarni ochish va jo‘natuvchining shaxsini tasdiqlash uchun birgalikda ishlaydi. Xabar mazmunini faqat o‘zaro mos kalitlar jufti ochib bera oladi, demak, hech kim uning kelib chiqishini inkor eta olmaydi. 

Har bir tranzaksiyaga o‘ziga xos imzo qo‘yish uning o‘zgarmasligini kafolatlaydi va yopiq kalitingiz egasi bo‘lgan sizdan boshqa hech kim sizni soxta tarzda taqlid qilib ko‘rsata olmaydi

Dapp ruxsatlari

Siz duch keladigan tasdiqlashning ikkita asosiy turidan birinchisi — hamyoningizni dapp’ga ilk bor ulash. Bu DeFi, Etherscan kabi xizmat yoki NFT bozori bo‘lishi mumkin. 

Bunda dapp’ga hamyon manzilingizni olish uchun ruxsat beriladi va bu platforma bilan ishlashning dastlabki shartidir. Shu sababli bu «ruxsat» yoki «ruxsatlar» deb atalishini ko‘rasiz; bu so‘zlar aynan nima qilayotganingizni ifodalaydi. Ayrim hollarda dapp’lar ruxsat berishingizni avtomatik so‘raydi, boshqalarida esa «Ulanish» yoki shunga o‘xshash yozuvli tugmani bosishingiz kerak bo‘ladi. 

Bizning misolimizda ruxsat berish taxminan quyidagicha ko‘rinadi:

Tokenni tasdiqlash

Tajribali kripto foydalanuvchisi bo‘lasizmi yoki endigina boshlayotgan bo‘lasizmi, har qanday aqlli shartnoma — dapp’larni (jumladan, DeFi, blokcheyn o‘yinlari va NFT xaridlarini) ishga tushiradigan shartnoma — bilan ishlash uchun uning tokenlaringizdan foydalanishiga ruxsat berishingiz kerak. 

Bu jarayon, nomidan ham ko‘rinib turganidek, tokenni tasdiqlash deb ataladi. Bu yerda qilayotgan ishingiz:

  1. Aqlli shartnomaga token balansingizdan foydalanishga ruxsat berish. Buni «aqlli shartnoma bosqichi» deb tasavvur qiling. Bu paytda MetaMask qancha kirish huquqini berayotganingizni aniq ko‘rsatadi: ayrim dapp’lar tokenlarning muayyan miqdorini belgilashi mumkin, boshqalari esa cheklanmagan kirishni so‘raydi.  

  2. Ko‘rib chiqilayotgan tranzaksiyani amalga oshirishni xohlayotganingizni tasdiqlash: ya’ni «blokcheyn bosqichi», bunda aqlli shartnomaga sizning nomingizdan tranzaksiyani tarmoqqa yuborishga ruxsat berasiz.

Savdo hajmi bo‘yicha eng yirik markazlashmagan birja (DEX) — Uniswap’da tokenlarni almashtirmoqchisiz, deylik. Token juftligida ilk bor almashtirishni boshlaganingizda, savdo qilayotgan ERC-20 token juftligi uchun aqlli shartnomalarni tasdiqlash so‘raladi (ETH’ning o‘zi uchun emas, chunki uni tasdiqlash shart emas). Bu faqat shu juftlik bilan birinchi marta savdo qilganingizda sodir bo‘ladi, ammo keyingi bosqich — yuqoridagi ikkinchi bosqich — har safar talab qilinadi va Uniswap protokollari so‘rovingiz bo‘yicha savdoni amalga oshirishini anglatadi.

Bu jarayon quyidagicha ko‘rinadi: 

  • Avval platforma tokenni tasdiqlashingizni so‘raydi. So‘rovni bosing, shunda MetaMask ishga tushadi.

  • MetaMask sizga tokenning shartnoma manzilini ko‘rsatadi va u mablag‘laringizga kirish hamda ularni ko‘chirish imkoniyatini so‘rayotganini tasdiqlaydi. To‘g‘ri shartnomaga ruxsat berayotganingizga ishonch hosil qilish uchun token manzilini dapp veb-saytida ko‘rsatilgan manzil bilan solishtirib ko‘rgan ma’qul — uni odatda yordam markazi, bilimlar bazasi yoki hujjatlar bo‘limidan topish mumkin. Bu ruxsat doirasi qanchalik keng bo‘lishini ham belgilashingiz mumkin: buning uchun «Ruxsatni tahrirlash» tugmasini bosing. 

  • Bu parametr qancha kirish huquqini berayotganingizni aniq ko‘rish imkonini beradi. Bu holatda Uniswap deyarli cheklanmagan miqdordagi stETH’ga (1.1659) kirishni xohlaydi, ammo zarur bo‘lsa, «Maxsus xarajat limiti» maydonidan foydalanib, bu ruxsatga chegara qo‘yishimiz mumkin. 

Bu funksiya yordamida MetaMask token tasdiqlovlaringiz ustidan nazoratni qo‘lingizda saqlaydi — dapp’ga xohlaganingizdan ortiq kirish huquqini ko‘r-ko‘rona berishingiz yoki yangi platformani sinab ko‘rish uchun keraksiz xavfga ro‘baro‘ bo‘lishingiz shart emas.

Savdo so‘rovining o‘zida kalitlaringiz jufti ishga tushadi: tranzaksiyani yopiq kalitingiz bilan imzolaysiz. Buni nuqtali chiziq ustiga ruchka bilan imzo qo‘yishga o‘xshatish mumkin, biroq ochiq kalitli kriptografiyada shaxsni soxtalashtirish xavfi juda past. Misolimizda rozilik berish Uniswap’ning aqlli shartnomasiga o‘sha tokenni sizning nomingizdan hamyoningizga olib kirish va undan chiqarishga ruxsat berganingizni anglatadi. Har safar tokenlarni almashtirishni boshlamoqchi bo‘lganingizda, aqlli shartnoma «xabar»ingizni — ya’ni almashtirishni amalga oshirish haqidagi ko‘rsatmani — tekshiradi va yopiq kalitingizga faqat siz kira olganingiz uchun bu ko‘rsatmani aynan siz yuborganingizni tasdiqlaydi. 

Tasdiqlar va ruxsatlarni qanday boshqarishim mumkin?

Web3’ning asosiy xususiyatlaridan biri foydalanuvchilarga maxfiylik va platformalar bilan qanday ishlash borasida to‘liq nazorat berishidir. MetaMask’ning saqlovsiz dizayni buni aks ettiradi. Ammo uning tamoyillari boshqa imkoniyatlarga ham taalluqli: dapp va aqlli shartnomalarga berilgan tasdiqlarni ko‘rish va boshqarish imkoniyati ham shular jumlasidan. 

MetaMask’da ulangan saytlarni ko‘rish

MetaMask’da hamyoningiz qaysi saytlarga ulanganini ko‘rish uchun o‘ziga o‘rnatilgan funksiya bor. U «Ulangan saytlar» deb ataladi (ko‘rib turganingizdek, biz ishni ortiqcha murakkablashtirishni yoqtirmaymiz). Ularni uzish usuli ham xuddi shunday sodda. 

Token tasdiqlarini ko‘rish

Etherscan yaqinda token tasdiqlovlarini ko‘rish va bekor qilish imkonini beruvchi tekshiruv vositasini ishga tushirdi. 

MetaMask’ni ulab, Etherscan’ga hamyoningizni ko‘rish uchun ruxsat berganingizdan so‘ng, token tasdiqlovlari ro‘yxati ko‘rsatiladi — tanish holatmi? Shundan keyin ularning hozir ham kerak yoki kerak emasligini tekshirishingiz va tegishlicha ruxsatni bekor qilishingiz mumkin. Bundan tashqari, qaysi aktiv ishtirok etayotgani, kimga ruxsat berganingiz (masalan, nomi ko‘rsatilgan qaysi dapp’ga) va qancha tokenga kirish huquqini berganingizni ham ko‘rishingiz mumkin. 

Boshqa bir nechta muqobil xizmatlar ham bor, jumladan approved.zone, Revoke va Token Allowance Checker (TAC). 

Firibgarlarga uchramang 

MetaMask kabi saqlovsiz hamyonni boshqarish bilan birga keladigan shaxsiy erkinlikning ikki tomoni bor. Maxfiy tiklash iborangizni xavfsiz saqlash sizning shaxsiy mas’uliyatingiz bo‘lib, firibgarlardan ehtiyot bo‘lishni talab qilgani kabi, dapp ruxsatlari va aqlli shartnomalar tasdiqlarini ham faqat siz boshqara olasiz. Bunga yangi ERC-20 tokenini yaratish qanchalik osonligini qo‘shsak — ushbu maqola yozilayotgan paytda taxminan 485 000 ta token mavjud — xavf yaqqol ko‘rinadi. Aksariyati yaxshi niyatda yaratilgan bo‘lsa-da, istalganini yomon niyatli shaxs yaratishi mumkin. 

Token tasdiqlovlaridan firibgarlikda tez-tez hujum yo‘li sifatida foydalaniladi — ko‘lamini tasavvur qilish uchun rekt.news saytini, usullarini bilish uchun esa Finematics maqolasini ko‘ring. Avval aytib o‘tilganidek, dapp’lar qancha tokenga kirishni xohlashini ko‘rsatishi kerak. Masalan, MetaMask tasdiqlash ekranida ushbu ma’lumot siz tasdiqlashdan oldin ko‘rsatilishini ta’minlaydi, shunda nimaga rozi bo‘layotganingizni aniqroq tushunasiz.

Dapp’lardan keladigan kirish so‘rovlari muayyan, cheklangan miqdordan tortib butunlay cheklanmagan miqdorgacha farq qilishi mumkin. Cheklanmagan holatda aqlli shartnoma hamyoningizdan istaganicha mablag‘ olishi mumkin. Aslida, cheklanmagan kirishning o‘zi muammo yoki xavf belgisi emas — yirik DEX’lar kabi ko‘plab nufuzli platformalar dapp’dan muntazam foydalanganingizda qayta-qayta tasdiqlash talab qilinmasligi uchun shunday qiladi. Muammo token(lar)ingizga cheklanmagan kirishni ataylab o‘g‘irlash niyatida so‘raydigan dapp’larda.

Aqlli shartnomaga istalgan miqdordagi tokenlardan foydalanish huquqini berishdan oldin, xavfni baholash uchun o‘zingizga bir nechta savol bering. Internetda «DYOR» qisqartmasini tez-tez uchratasiz: kirishga ruxsat berishdan oldin mustaqil tadqiqot o‘tkazish — albatta, o‘zlashtirishga arziydigan yaxshi odat. Masalan: 

  • Loyiha qanchalik taniqli?

  • U qancha vaqtdan beri faoliyat yuritadi?

  • Discord, Telegram yoki Twitter’da faol hamjamiyat kanali bormi? 

  • Dapp ishlab chiquvchilari yoki egalari ochiq-oydinmi va masalan, Twitter yoki Discord’da ular bilan bog‘lanish mumkinmi?

  • Yaqinda xavfsizlik buzilishi yuz berganmi? Bu haqda qidirib ko‘rgan ma’qul.

  • Uchinchi tomon aqlli shartnoma auditidan o‘tganmi? 

  • Blokcheyn ko‘ruvchisida shartnoma manzilini tekshiring. Etherscan kabi ayrim ko‘ruvchilarda foydalanuvchilar firibgar manzillarni (shartnomalar yoki hamyonlarni) belgilashi mumkin bo‘lgan xabar berish tizimi bor. Manzil belgilab qo‘yilmagan bo‘lsa ham, qisqa vaqt ichidagi katta pul kirimi yoki chiqimi kabi shubhali faolliklarni tekshiring.

Xulosa qilib aytganda:

Token tasdiqlovlari shunchaki rozilikni bildiruvchi ramziy ishora emas, balki Web3 bilan ishlashning oddiy va muhim qismidir. Bir nechta muhim jihat:

  • Dapp’lar bilan ishlashda ruxsatlaringizni tasdiqlash uchun ochiq kalitli kriptografiyadan foydalaniladi.

  • Dapp ruxsatlari dapp’larga hamyoningizdagi balansni ko‘rishga imkon beradi.

  • Token tasdiqlovlari dapp’ning aqlli shartnomasiga hamyoningizdagi muayyan tokendan foydalanish va uni ko‘chirishga ruxsat berishni anglatadi.

  • Aqlli shartnomasini tasdiqlashdan oldin dapp’ning ishonchliligini tekshiring va unga ishonish mumkinligiga o‘zingiz amin bo‘ling.

MIRO