Web3-ün ən önəmli xüsusiyyətlərindən biri istifadəçilərə gizlilik üzərində tam nəzarət verməsi və platformaları ilə necə qarşılıqlı əlaqədə olmalarıdır. MetaMask-da təsdiqləri və icazələri necə idarə etməyi öyrənin.

Ethereum kimi blokçeynlərlə qarşılıqlı əlaqəniz sadəcə cüzdanlar arasında sadə əməliyyatlar göndərməkdən ibarət olsa da, siz əməliyyatınızı təsdiq etmiş, səlahiyyət vermiş və ya imzalamış olursunuz. Bu, sadəcə onun blokçeynə təqdim olunmasını təsdiqlədiyiniz deməkdir.

Bu eyni proses, Web3-də dapp-larla qarşılıqlı əlaqəyə də aiddir: razılaşmaq, təsdiq etmək və icazə vermək üçün kifayət qədər şey var. Amma MetaMask təsdiqində əslində nə var?

Bu sualı hissələrə bölmək üçün əvvəlcə kriptoqrafiyanın bəzi əsas aspektlərini əhatə etməliyik.

Açarlar və kriptoqrafiya: approval (icazə) nədir?

Bütün kripto fəaliyyətiniz açıq açar (public key) kriptoqrafiyasına əsaslanır. Əslində, hər bir cüzdan yaradılarkən onun uyğun gələn bir cütü — açıq və şəxsi (private) “açar” — generasiya olunur. Tutaq ki, içəri girmək üçün bolt-u açıb bərkidicini (latch) çevirməniz lazım olan bir qapı var; hər kəs üçün fərqli açar. Tək bir açarın olması işə yaramır — cüt lazımdır.

Həddən artıq sadələşdirmə olsa da, bu hipotetik qapının verdiyi çətinliyi götürüb kripto cüzdanınıza da oxşar məntiq tətbiq edə bilərik. Əməliyyat aparmaq üçün həm şəxsi, həm də açıq açar lazımdır: əməliyyatı başlatdığınızı sübut etmək üçün şəxsi açar, mənşəyi yoxlamaq üçün isə alıcının public key-i. Belə işləyir:

  1. Siz tokenləri bir kontakta göndərmək qərarı verirsiniz.

  2. Bildiyiniz kimi alıcının cüzdan ünvanı (wallet address) var — sizdə isə onun public key-i (açıq açarı) olur; birincisi sadəcə ikincinin xəşlənmiş (şifrələnmiş) versiyasıdır. Public key əməliyyatı şifrələmək üçün istifadə olunur.

  3. Şəxsi açarın sahibi olan alıcı əməliyyatı alır. Çünki onların açarları bir-birinə uyğundur, yalnız müvafiq şəxsi açar — bunu da yalnız onun özü saxlayır — alıcının public key-əsindən göndərilən əməliyyatı deşifrə edə bilər.

Bu vaxta qədər hər şey qaydasındadır: biz xüsusi və açıq açarların cütlərinin blockchain əməliyyatlarını dəstəkləmək üçün necə qarşılıqlı təsir göstərdiyini müəyyənləşdirdik. Amma approvals/imzalar üçün bu bilikdən istifadə etmək lazım olanda açarların rolunu çeviririk: indi göndərici mesajı öz şəxsi açarı ilə şifrələyir. Çünki başqaları göndəricinin açıq açarını (yəni onun cüzdan ünvanını) asanlıqla tapa bilər, açarlar mesajı deşifrə etmək üçün birləşə bilir və göndəricinin kimliyini təsdiqləyir. Yalnız uyğun cüt açar mesajın məzmununu açıqlayır — yəni heç kim mənşəyini mübahisə edə bilməz.

Hər bir əməliyyatda müəyyən bir imza formasının “çap olunması” dəyişməzliyi (immutability) təmin edir: sizin istisna olmaqla heç kim — yəni şəxsi açarınızın sahibi — sizi aldadıcı şəkildə təqlid edə bilməz.

Dapp icazələri

Sizi rastlaşacağınız iki əsas approval növündən birincisi — ilk dəfə cüzdanınızı dapp-a qoşmaqdır: bu DeFi olsun, Etherscan kimi bir xidmət olsun, ya da NFT bazarı.

Bu, dapp-ə cüzdanınızın ünvanını (wallet address) götürmək üçün icazə verməyi nəzərdə tutur və platforma ilə işləmək üçün ilkin şərtdir. Həmçinin buna görə bunu “icazə” və ya “icazələr” kimi görə biləcəksiniz: nə etdiyinizi dəqiq təsvir edən isimlər. Bəzi hallarda dapps sizdən icazəni avtomatik verməyinizi istəyir; digərləri isə “connect” və ya buna bənzər yazılı düymələrə basmağınızı tələb edir.

İcazə verməniz bizim vəziyyətdə təxminən belə görünəcək:

Token approval

İstər kripto ilə təcrübəli olasınız, istərsə də tam yeni — dapps-ləri işə salan cür smart contract-larla (o cümlədən DeFi, blockchain oyunları, NFT alışları) qarşılıqlı əlaqə qurmaq üçün siz onun tokensunuza girişinə icazə verməlisiniz.

Bu proses, bir az da təəccüblü olmayan şəkildə, müxtəlif cür “token approval” (token icazəsi) adlandırılır. Burada etdiyiniz isə budur:

  1. Smart contract-a token balansınıza daxil olmağa icazə vermək. Bunu “smart contract mərhələsi” kimi düşünün. MetaMask bu nöqtədə siz verdiyiniz əlçatanlığın miqdarını aydın şəkildə göstərəcək: bəzi dapps məhdud sayda token (müəyyən kvota) qeyd edə bilər, digərləri isə limitsiz giriş istəyir.

  2. Sualdakı əməliyyatı tamamlamaq istədiyinizi təsdiqləmək: yəni “blockchain mərhələsi” — burada siz smart contract-a şəbəkəyə adınızdan əməliyyat göndərmək üçün icazə verirsiniz.

Tutaq ki, Uniswap-da (trading həcminə görə ən böyük) token swap etmək istəyirsiniz. İlk dəfə bir token cütlüyündə swap başlatdığınız zaman, siz alış-veriş etdiyiniz ERC-20 token cütlüyü üçün smart contract-lara icazə verməyiniz istənəcək (amma ETH üçün yox — ETH-nin approval-a ehtiyacı yoxdur). Bu cütlüyü ilk dəfə ticarət edərkən baş versə də, növbəti addım — yəni yuxarıdakı iki nömrəli addım — hər dəfə tələb olunacaq və Uniswap protokollarının sorğuya əsasən sizin ticarətinizi icra etməsi deməkdir.

Bu proses aşağıdakına bənzəyəcək:

  • İlk olaraq platforma sizdən token-ə icazə vermənizi xahiş edəcək. Pəncərədəki təklifi basın və MetaMask dərhal fəaliyyətə keçəcək.

  • MetaMask sizə tokenin müqavilə (contract) ünvanını göstərəcək və bu, vəsaitlərinizi əlinizdən almaq və hərəkət etdirmək üçün giriş icazəsi istədiyini təsdiqləyir. Rahatlığınız üçün token ünvanını dapp-in saytında göstərilən ünvanla qarşılaşdırmaq faydalıdır — adətən bunu onların kömək mərkəzində, bilik bazasında və ya sənədlərində (docs) tapmaq olur. Siz həmçinin bu icazənin nə qədər uzağa getməsini də müəyyən edə bilərsiniz — bunun üçün “Edit Permission”ı (İcazəni Düzəlt) basın.

  • Bu seçim sizə verdiyiniz əlçatanlığın dəqiq nə qədər olduğunu görməyə imkan verir. Bu halda Uniswap stETH (1.1659) üçün praktik olaraq limitsiz miqdar giriş istəyir, amma tələb olunarsa bu icazəyə “Custom Spend Limit” (Xüsusi Xərcləmə Limiti) sahəsi ilə limit qoya bilərik.

Bu funksiya ilə MetaMask token icazələrinizə nəzarəti sizdə saxlayır — heç vaxt istədiyinizdən artıq bir dapp-ın girişinə kor-koranə icazə verməməli, yeni bir platformanı yoxlamaq üçün istənməyən riskə girməməlisiniz.

Məhz ticarət sorğusunun özündə açar cütünüz işə düşür: siz əməliyyatı şəxsi açarınızla imzalayırsınız. Nöqtəli xəttin üstündə qələmlə imza atmağı düşünün; amma public key kriptoqrafiyası sayəsində kimlik saxtalaşdırma riski minimaldır. Məsələnimizdə razılıq vermək o deməkdir ki, siz Uniswap smart contract-ına adınızdan həmin tokendan cüzdanınıza daxil olub-c çıxmasına icazə verirsiniz. Siz hər dəfə swap başlatmağa cəhd edəndə, smart contract sizin “mesajınızı” yoxlaya bilir — yəni swap etməyi tapşıran təlimatı — və sizin şəxsi açara çıxışı olan yeganə şəxs kimi həmin əməliyyatın başlanğıcını siz etdiyinizi doğrulayır.

İcazələri və permissions-ları necə idarə edə bilərəm?

Web3-ün əsas xüsusiyyətlərindən biri istifadəçilərə məxfilik (privacy) üzərində tam nəzarət və onun platformaları ilə necə qarşılıqlı əlaqə qurduqları üzərində idarədir. MetaMask-ın custody (kənarda saxlamaya) əsaslanmayan dizaynı bunu əks etdirir. Bununla yanaşı, bu prinsip digər funksiyalara da aiddir; dapp və smart contract approval-larını görmək və idarə etmək də bunlar arasındadır.

MetaMask-da qoşulmuş saytlarına baxmaq

MetaMask cüzdanınızın hansı saytlarla bağlı olduğunu (connected) nəzərdən keçirmək üçün yerli (native) bir funksiya daxil edir. Buna “Connected sites” (Qoşulmuş saytlar) deyilir (görünür necə deyə bilməsəniz də — bizi çox dolaşdırmağı sevmirik). Onları çıxarmaq üçün metod da eyni dərəcədə sadədir.

Token icazələrinə baxmaq

Etherscan yaxınlarda token approvals yoxlayıcısı tətbiq etdi — bununla siz baxa və geri ləğv edə bilərsiniz, yəni… token approvals.

Token approvals siyahısı MetaMask-ı qoşduqdan sonra və Etherscan-ın cüzdanınıza baxmaq üçün icazə verdiyiniz anda göstərilir — tanışdır? Sonra siz istədiyiniz vaxt onların nə qədər aktuallığını yoxlayıb müvafiq olaraq geri ləğv edə bilərsiniz. Üstəlik, sözügedən konkret aktivə, sizə kim tərəfindən icazə verdiyinizə (məsələn, hansı dapp-a — adla istinad edilir) və tokenlərə giriş üçün təsdiqlədiyiniz miqdara da baxa bilərsiniz.

Həmçinin approved.zone, Revoke və Token Allowance Checker (TAC) daxil olmaqla bir neçə alternativ də var.

Rekt olmayın

MetaMask kimi non-custodial cüzdanın idarə edilməsi ilə gələn şəxsi məsuliyyət iki tərəfli qılıncdır. Gizli bərpa ifadənizi (secret recovery phrase) qorumaq sizin şəxsi məsuliyyətinizdir və fırıldaqçılara qarşı ayıqlıq tələb edir; eyni zamanda dapp icazələrini və smart contract approval-larını idarə edə bilən yalnız sizsiniz. Üstəlik, yeni ERC-20 token yaratmağın nə qədər asan olduğuna və yazılandığı vaxt təxminən 485,000 token mövcud olduğuna baxsaq, risklər çox aydın görünür. Əksəriyyəti yaxşı niyyətlə yaradılır, amma hər hansı birinin pis niyyətli aktor tərəfindən yaradılması da mümkündür.

Token approvals fırıldaqçıların (scams) nisbətən yayğın hücum vektorlarından biridir — miqyasın nə qədər olduğunu başa düşmək üçün sadəcə rekt.news-a baxın və bu Finematics məqaləsi ilə metodların necə olduğunu nəzərdən keçirə bilərsiniz. Daha əvvəl qeyd etdiyimiz kimi, dapps neçə token-ə giriş istədiyini göstərməlidir. MetaMask da bu məlumatı təsdiqləmədən əvvəl approval ekranında göstərməyə çalışacaq və bununla sizə imzaladığınız şeyin daha aydın mənzərəsini verəcək.

Dapps-lərdən gələn giriş sorğuları xüsusi və məhdud kəmiyyətlərdən tam limitsizliyə qədər dəyişə bilər; belə olanda smart contract cüzdanınızdan istədiyi qədər çəkə bilər. Əsasən, limitsiz giriş özü-özlüyündə problem və ya qırmızı bayraq deyil — bir çox nüfuzlu platformalar, məsələn böyük DEX-lər, dapp-dən mütəmadi istifadə edirsinizsə, tez-tez yenidən icazə vermək ağrısından sizi qurtarmaq üçün bunu edir. Problem niyyətlə gəlir: token(lər)inizə limitsiz giriş istəyən və bunu açıq şəkildə oğurlamaq məqsədi ilə edən dapps.

Hər hansı bir miqdar token-ə smart contract-ın girişinə icazə verməzdən əvvəl riskləri qiymətləndirmək üçün zehni bir yoxlama siyahısından keçməlisiniz. İnternetdə tez-tez “DYOR” (do your own research — öz araşdırmanı apar) ixtisarını görəcəksiniz: girişə icazə verməzdən öncə öz araşdırmanızı etmək şübhəsiz ki, qəbul etməli olduğunuz yaxşı vərdişdir. Məsələn:

  • Layihə nə qədər tanınır?

  • Onun kökü nə vaxtdan başlayır?

  • Discord, Telegram və ya Twitter-də aktiv icma kanalı varmı?

  • Dapp-in tərtibatçıları/sahibləri şəffafdır və ictimai şəkildə tapıla bilirlərmi, məsələn Twitter-də və ya Discord-da?

  • Son vaxtlar təhlükəsizlik pozuntusu olubmu? Bunu burada axtarmaq faydalıdır.

  • Onlar üçüncü tərəf smart contract auditindən keçiblər?

  • Müqavilə ünvanını blok explorer-də yoxlayın. Etherscan kimi bəzi explorer-lər istifadəçi tərəfindən yönləndirilən hesabat mexanizminə malikdir — fırıldaqçı ünvanlar (contract-lar və ya cüzdanlar) işarələnir. Hətta işarələnməsə belə, qısa zaman aralığında böyük daxilolma və ya çıxış kimi şübhəli aktivliyi yoxlayın.

Yekunlaşdırsaq:

Sadəcə razılıq bildirən token jestindən fərqli olaraq, token approvals Web3 ilə qarşılıqlı əlaqənin “adi, vacib” bir hissəsidir. Bir neçə əsas məqam:

  • Açıq açar kriptoqrafiyası dapps-lə qarşılıqlı əlaqə zamanı icazələrinizi autentifikasiya etmək üçün istifadə olunur.

  • Dapp icazələri dapps-lə cüzdan balansınıza baxmağa icazə verməyi nəzərdə tutur.

  • Token approvals dapp-in smart contract-ına cüzdanınızda olan konkret bir tokendən daxil olmaq və onu hərəkət etdirmək üçün icazə vermək deməkdir.

  • Smart contract-ına icazə verməzdən əvvəl həmişə dapp-in etimadnaməsini yoxlayın və onun etibarlı olduğuna özünüz əmin olun.

MIRO