İçeriğe geçBlockAssay

Dondurma, sahiplik ve yetki

P08-L04 · P08 · P08-M01

Proxy'ler ve yükseltme yetkisi dahil ayrıcalıklı kontrolleri belirlemek

ILLUSTRATIVE · needs_review

Ön koşullar: P08-L03

Öğrenme hedefleri

  • Bakiye, kısıtlama, uygulama ve yükseltme katmanlarını haritalayın.
  • Dar sahiplik iddialarını kalan kontrollere karşı değerlendirin.
  • Eşik, olay atfı ve değişmezlik için gerekli kanıtı belirleyin.

EN ana kaynak · P08-L04 · tahmini 45 dakika · needs_review

Neden önemli

“Sahiplikten vazgeçildi” rozeti etkin bir duraklatma rolü veya yükseltme denetleyicisiyle birlikte bulunabilir. Kaldırılmış mint yetkisi, dondurma yetkisiyle birlikte bulunabilir. Bu ifadelerin her biri doğru olsa bile “kimsenin kontrolü yok” geniş sonucu yanlış olabilir.

Bu ders katmanlı bir kontrol haritası öğretir. Her ayrıcalığı nesnesi, mevcut sahibi, koşulu ve olası yönetim yoluyla bağlayacaksınız. Sonuç bir kanıt kaydıdır; güvenlik puanı veya suçlama değildir.

Açıklama

Kontrol edilen nesneyi tanımlayın

Sahip sözcüğünü nesnesini belirtmeden kullanmayın. Solana veri hesabının program sahibi, token hesabı yetkisi, EVM Ownable sahibi ve NFT pozisyon sahibi farklı alanlardır. Adları benzer olsa da farklı mekanizmaları yönetirler. Alanı ve nesneyi değerin yanında yazın.

Token bakiyesi kontrolünü, mint düzeyi kısıtlamaları, uygulama rollerini ve kod değiştirme yetkisini ayırın. Bir katmandaki bulgu başka katmandaki izni silemez. Örneğin token mint'inin mint yetkisi bulunmayabilir, ancak token ile etkileşen uygulama yükseltilebilir kalabilir. Uygulamanın standart Token Program'ı yönettiğini varsaymak yerine rolünü ayrı inceleyin.

Kontrol haritası insan kimliklerinin değil, kabiliyetlerin grafiğidir. Listelenen yetkili bir kullanıcı hesabı veya program aracılı adres olabilir. Kamuya açık hesap etiketleri anahtarların kimde olduğunu veya birkaç hesabın aynı denetleyiciyi paylaşıp paylaşmadığını belirlemez.

Dondurmayı durum kısıtlaması olarak anlayın

Solana'nın dondurma mekanizması token hesabı sahibini, mint'i ve bakiyeyi korurken çözülene kadar belgelenmiş alma, transfer ve yakma işlemlerini engeller [S08-FREEZE]. Bakiye silme veya donduran yetkiliye transfer değildir.

Durum ve yetki ayrı kaydedilmelidir. Hesap şu anda donmamışken dondurma yetkisi bulunabilir. Tersine, donmuş durum gözlemi belirli bir insanın buna neden olduğunu göstermez. Atıf önemliyse başarılı işlemi ve yetkilendirmesini isteyin.

İptal, evrensel güçler bütününü değil, seçilen bir yetki rolünü kaldırır [S08-SET]. Mint rolünün iptalinin donma durumunu değiştirdiğini varsaymayın. Mevcut donmuş hesaplar ve olası kurtarma/çözme yolları ayrı inceleme gerektirir; dar bir iptali her hesabın transfer yapabildiğinin kanıtı olarak tanımlamayın.

Ownable dışındaki uygulama rollerini inceleyin

OpenZeppelin Ownable sahipliğinden vazgeçme, sahip kontrolüyle korunan işlevleri devre dışı bırakır; role dayalı izinler ayrı bir örüntüdür [S08-ACCESS]. Dağıtılmış token'ın bunları birleştirip birleştirmediği kod ve durum sorusudur. Duraklatma rolü kalıyorsa yalnızca sahiplikten vazgeçme onu kaldıramaz.

Sahiplik, duraklatma, rol verme/iptal ve yükseltmeler için tablo oluşturun. Her satırda gerçek kontrolü, mevcut yetkiyi, yönetim yolunu ve belirsizliği kaydedin. Rol adı erişilebilir bir işlemle bağlanana kadar yalnızca betimleyicidir. Meta veride “PAUSER” bulunması duraklatma işlevinin kanıtı değildir.

Kontrol bir timelock veya multisig'e bağlı olabilir. Rozeti kabul etmek yerine ilgili sözleşmeyi, eşiği, gecikmeyi ve aşma koşullarını doğrulayın. Gecikme bir zaman koşuludur; kontrolün yok olması değildir. Multisig eşiği imzaları tanımlar, mutlaka bağımsız insanları değil.

Proxy ve uygulama kontrolünü izleyin

ERC-1967 tarzı proxy'lerde uygulama veya beacon bağlantısını isteğe bağlı yönetici slotundan ayırın. Beacon ilişkili proxy'ler için mantığı belirler; UUPS tarzı yetkilendirme uygulama mantığında bulunabilir, dolayısıyla yalnızca boş yönetici slotu tam bir sonuç değildir [S08-PROXY; S08-UUPS].

Proxy'nin kullanıcıya görünen adresi kuralları değiştiğinde aynı kalabilir. Uygulamayı incelenen bağlama sabitleyin, ardından onu değiştirebilen yolu inceleyin. Doğrulanmış uygulama sayfasını denetleyip proxy bağlantısını kontrolsüz bırakmayın. Sonraki uygulama önceki davranış varsayımlarını geçersiz kılabilir.

Bu ders yükseltme yürütmeyi öğretmez. Sağlanan yetkilendirme yolunun salt okunur biçimde nasıl tanımlanacağını öğretir. Denetleyicinin iç kuralları mevcut değilse dış yetki adresi bilinse bile onları bilinmeyen olarak işaretleyin.

Solana program yükseltmelerini mint rollerinden ayırın

Solana loader-v3 altında program yükseltmeleri program yükseltme yetkisine bağlıdır; bu yetkiyi kaldırmak o programı değişmez yapar [S08-DEPLOY]. Bu, mint'in mint-authority alanı değildir. İncelenen program ve loader mekanizması için geçerlidir; bağlı her sözleşme veya zincir dışı hizmet için değil.

Standart Token Program tarafından yönetilen mint, özel uygulama onu kullanıyor diye bağımsız yükseltilebilir olarak gelişigüzel tanımlanmamalıdır. Özel programı adlandırın ve ilgisini açıklayın. Veri kümesinde PROGRAM-X yardımcı uygulamadır; MINT-F hesabının sahibi olan Token Program değildir.

Değişmezlik kod nesnesiyle sınırlıdır. Dürüst kullanıcıları, değişmez meta veriyi, yeterli likiditeyi veya çevre sistemlerin güvenliğini kanıtlamaz. Benzer şekilde etkin yükseltme yetkisi, kodun kötü niyetle değişeceğini değil, koşullara bağlı bir kabiliyeti kanıtlar.

Katmanlı sonucu raporlayın

Savunulabilir cümle bağlamı ve sınırları belirtir: “S0'da sahip alanından vazgeçilmiştir, PAUSER ataması kalır ve proxy yükseltme denetleyicisi sağlanmıştır, ancak iç eşiği bilinmemektedir.” Bu, kategorik “merkeziyetsiz” etiketinden daha bilgilendiricidir.

İddianın kalan tek bir satırla çürütülüp çürütülemeyeceğini sorun. “Ayrıcalıklı kontrol yok” ifadesi kanıtlanmış tek etkin kabiliyetle çelişir. “Ownable sahip rolü yok” gibi dar iddia, geniş ifade başarısız olsa da desteklenebilir. İkisini de koruyun.

Terimler

  • Donma durumu: token hesabında işlem kısıtlaması.
  • Ownable sahibi: belirli sahip kontrolü örüntüsündeki yetki.
  • Rol sahibi: belirli üyelik kontrolünü karşılayan hesap.
  • Yükseltme denetleyicisi: kod değiştirme yolunu yöneten yetki.
  • Beacon: proxy mantığını bağlama mekanizması.
  • Timelock: belirli işlemlere gecikme getiren koşul.

Tarihsel örnek

ILLUSTRATIVE — FIX-P08-04. S0'da ayrı kurgusal nesneler.

KayıtNesneSağlanan kontrol/durum
F1SIM-SOL-A / MINT-Fmint yetkisi yok; dondurma yetkisi F
F2MINT-F'nin ACCOUNT-U hesabıdonmamış, bakiye 100
F3MINT-F'nin ACCOUNT-V hesabıdonmuş, bakiye 50; olay atfı sağlanmamış
P1SIM-EVM-A / PROXY-QS0'da LOGIC-Q'ya devreder
P2PROXY-Q uygulama durumuOwnable sahibi yok; PAUSER=P; rol yöneticisi G
P3PROXY-Q yükseltme yoludenetleyici C; C'nin eşiği/gecikmesi mevcut değil
X1SIM-SOL-A / PROGRAM-Xyardımcı loader-v3 uygulaması; yükseltme yetkisi U

PROGRAM-X, MINT-F'yi yöneten Token Program değildir. Veri kümesi bu yardımcı uygulamayı mint'e bağlayan kod etkilerini sağlamaz.

Kanıtın gösterdikleri

OBSERVED veri kümesinde: F kalır, V donmuştur, P/G kalır ve C/U sağlanan yükseltme yetkilileridir.

INFERRED: “Tüm kontroller kaldırıldı” bu ayrı kabiliyetlerle çelişir. Sahiplikten vazgeçme P2 hakkında daha dar desteklenen bir ifadedir.

Kanıtın göstermedikleri

UNKNOWN: C'nin iç kuralları, insan denetleyiciler, V'yi kimin dondurduğu ve PROGRAM-X'in kesin uygulama etkileri.

INSUFFICIENT EVIDENCE: Dondurma V'nin bakiyesinin yok edildiği anlamına gelmez. Sahibin yokluğu rol veya yükseltme olmadığını kanıtlamaz. U, standart Token Program'ın U tarafından kontrol edildiğini kanıtlamaz.

Yaygın hatalar

Sahibi nesnesini belirtmeden kullanmak; donmuş bakiyeyi sıfırla karıştırmak; boş proxy yönetici slotunun bütün yükseltmeleri dışladığını varsaymak; multisig etiketini doğrulanmış bağımsız kontrol olarak yorumlamak; yardımcı program yetkisini mint yetkisiyle birleştirmek.

Uygulamalı alıştırma

Dört kontrol katmanı üretin: hesap durumu, mint rolleri, EVM uygulama rolleri ve uygulama değiştirme yolları. “Bütün sahiplikten vazgeçildi, dolayısıyla her şey değişmez” ifadesini yeniden yazın. C ve V için gereken sonraki kanıtı listeleyin.

Açıklamalı düzeltmeyi göster

Çözümlü düzeltme ve beklenen akıl yürütme

Hesap durumu: U donmamış ve 100; V donmuş ve 50. Mint rolleri: mint yetkisi yok, freeze F mevcut. EVM uygulaması: sahip yok, PAUSER P mevcut, rol yöneticisi G. Kod değişiklikleri: PROXY-Q denetleyicisi C ve yardımcı PROGRAM-X U, ayrı kapsamlarla.

Sınırlı yeniden yazım: “S0'da PROXY-Q'nun Ownable sahip rolü yoktur, ancak duraklatma/rol yönetimi ve yükseltme kontrolü sağlanmış olarak kalır. MINT-F, F'yi korur; V atfedilmiş olay olmadan donmuştur. PROGRAM-X'in ayrı yükseltme yetkisi vardır; bu varlık üzerindeki etkileri çözümlenmemiştir.”

C için denetleyici kodunu/yapılandırmasını, imzacıları/eşiği veya gecikmeyi ve uygulanabilir aşma yollarını isteyin. V için başarılı dondurma olayını, bağlamı ve yetkilendirme kanıtını isteyin. 50 değerini koruyun; yakma kaydetmeyin.

On üzerinden puan: dört katmanlı harita (dört), dar yeniden yazım (üç), C/V kanıt talepleri (iki), program/mint ayrımı (bir).

Kontrol listesi

  • Her sahip alanının nesnesini adlandırın.
  • Yetkiyi mevcut durumdan ayırın.
  • Sahiplikten vazgeçmeden sonra rolleri inceleyin.
  • Mantığı ve yükseltme yollarını aynı bağlamda belirleyin.
  • Etiketler yerine eşikleri/gecikmeleri doğrulayın.
  • Değişmezliği incelenen nesneyle sınırlayın.

Özet

Kontrol katmanlıdır. Kaldırılan rol dar bir olgu ortaya koyar; etkin roller ve kod değiştirme yolları ayrı inceleme gerektirir.

Özet

Dondurma silme değil, kısıtlamadır. Sahiplikten vazgeçme tüm kontrolden vazgeçme değildir. Proxy, program ve mint yetkileri farklıdır.

Görsel özellikler

F1–F3,P1–P3,X1 işaretçileriyle dört şeritli izin haritası; değişmeyen donmuş bakiye 50'yi gösterin. PROXY-Q→LOGIC-Q ve ayrı C denetleyicisini çizin; PROGRAM-X/U, MINT-F'den ayrı olsun. C yapılandırmasını bilinmeyen olarak işaretleyin.

Örnek niteliğinde katmanlı kontroller; owner yokluğu dar bir iddiadır.

Metin alternatifleriyle deterministik SVG/HTML veya grafikler, koyu lacivert/siyah ve ölçülü camgöbeği, elektrik mavisi ve mor kullanın. Her miktarı ve belirsizliği etiketleyin. 390px genişlikte panelleri alt alta yerleştirin; 768px/masaüstü ve Arapça RTL doğrulaması gelecekteki görsel çalışmalar olarak kalır. Tanımlayıcıları LTR tutun, olgusal eksenleri/kenar yönlerini değiştirmeyin. Marka öğeleri eklenirse yalnızca sağlanan resmi BlockAssay işaretini kullanın. Her iki kayıt da teslim edilmiş varlık değil, belirtimdir.

Araçlar

RADAR aracını dersin sınırlı eğitim amacı için yalnızca ağ desteği, tam kimlik, alanlar ve köken doğrulanmışsa kullanın. Bu içerik hiçbir çalışma zamanı uç noktası veya sağlayıcı kabiliyeti ileri sürmez. Gömülü çevrimdışı veri kümesini ücretli erişim olmadan kullanın. Eksik veri bilinmeyen kalır; cüzdan bağlantısı, işlem imzası, token lansmanı veya canlı alım satım gerekmez. Academy ilerlemesi, ödemeler ve yönlendirmeler Radar kanıtını hiçbir zaman değiştirmez. Tanısal Pasaport fiyat tahmini veya güvenlik sertifikası değil, gözlemleri ve sınırları korur.

Kaynaklar ve iddia sınırları

  • OpenZeppelin 5.x proxy — Transparent, beacon ve uygulama tabanlı UUPS yükseltme mekanizmaları; gerçek yetkilendirme inceleme gerektirir. Kontrol tarihi: 2026-09-30.
  • Solana hesabı dondurma — Tutar veya sahiplikten ayrı hesap durumu kısıtlamaları. Kontrol tarihi: 2026-09-30.
  • Solana yetki belirleme — Role özgü değişiklikler ve iptal; genel güvenlik hükmü değildir. Kontrol tarihi: 2026-09-30.
  • OpenZeppelin 5.x erişim kontrolü — Ownable ve role dayalı ayrıcalık örüntüleri; gerçekten dağıtılmış yetkilendirmeyi inceleyin. Kontrol tarihi: 2026-09-30.
  • ERC-1967 proxy depolama slotları — Uygulama, beacon ve isteğe bağlı yönetici slotları; mekanizmaya özgü inceleme. Kontrol tarihi: 2026-09-30.
  • Solana program dağıtımı — Loader-v3 program yükseltme yetkisi; token mint rolü değildir. Kontrol tarihi: 2026-09-30.

Belgeler mekanizmaları destekler, kurgusal veri kümesi değerlerini değil. Tüm örnekler ve alıştırma kayıtları, bu dosyada sabitlenmiş özgün ILLUSTRATIVE materyaldir. S0/S1 sentetik bağlam etiketleridir; canlı veya tarihsel kayıt defteri ölçümü toplanmadığından observedAt null olur. Yayımlamadan veya entegrasyondan önce belgeleri ve gerçekten dağıtılmış davranışı yeniden inceleyin.

Sonraki ders

P08-L05 çözümlü alıştırma ve quiz incelemesinden sonra.

Görsel özellikler

P08-L04-V01

SPECIFICATION_ONLY · ILLUSTRATIVE

Her katmanda hangi kontrol kalır?

Örnek niteliğinde katmanlı kontroller; owner yokluğu dar bir iddiadır.

F1–F3,P1–P3,X1 işaretçileriyle dört şeritli izin haritası; değişmeyen donmuş bakiye 50'yi gösterin. PROXY-Q→LOGIC-Q ve ayrı C denetleyicisini çizin; PROGRAM-X/U, MINT-F'den ayrı olsun. C yapılandırmasını bilinmeyen olarak işaretleyin.

Mint dondurma yetkisi kalır; EVM owner yoktur, ancak P,G,C kalır; ayrı yardımcı program U yetkisine sahiptir.

390px metin eşdeğeriyle alt alta paneller; 768px ve masaüstünü daha sonra doğrulayın

Etiketler ve gezinme RTL; tanımlayıcılar LTR olarak ayrılır; sayısal eksenleri, olay sırasını ve olgusal kenar yönünü koruyun.

FIX-P08-04

P08-L04-V02

SPECIFICATION_ONLY · ILLUSTRATIVE

Hangi iddia desteklenir, koşulludur, bilinmeyendir veya desteklenmez?

Örnek niteliğinde kanıt sınırları; güvenlik veya yatırım hükmü verilmez.

Bu dersin iddialarına ve kayıt kimliklerine bağlı, OBSERVED/INFERRED/UNKNOWN/INSUFFICIENT EVIDENCE etiketli dört satır. Gözlemler canlı ölçümler değil, sağlanan kurgusal kayıtlardır.

Kayıt konumları ve sonraki doğrulama adımlarıyla dört kanıt durumu satırı.

390px metin eşdeğeriyle alt alta paneller; 768px ve masaüstünü daha sonra doğrulayın

Etiketler ve gezinme RTL; tanımlayıcılar LTR olarak ayrılır; sayısal eksenleri, olay sırasını ve olgusal kenar yönünü koruyun.

FIX-P08-04

Kaynaklar ve iddia sınırları

S08-FREEZE · official_documentation_or_standard

Solana hesabı dondurma

Desteklenen iddia
Tutar veya sahiplikten ayrı hesap durumu kısıtlamaları.
Doğrulama sınırı
Birincil sayfa mekanizmalara editoryal destek için incelendi; dağıtılmış varlık veya kayıt defteri veri kümesi bağımsız ölçülmedi.
Kontrol tarihi
2026-09-30
Birincil kaynağı aç
https://solana.com/docs/tokens/basics/freeze-account

S08-SET · official_documentation_or_standard

Solana yetki belirleme

Desteklenen iddia
Role özgü değişiklikler ve iptal; genel güvenlik hükmü değildir.
Doğrulama sınırı
Birincil sayfa mekanizmalara editoryal destek için incelendi; dağıtılmış varlık veya kayıt defteri veri kümesi bağımsız ölçülmedi.
Kontrol tarihi
2026-09-30
Birincil kaynağı aç
https://solana.com/docs/tokens/basics/set-authority

S08-ACCESS · official_documentation_or_standard

OpenZeppelin 5.x erişim kontrolü

Desteklenen iddia
Ownable ve role dayalı ayrıcalık örüntüleri; gerçekten dağıtılmış yetkilendirmeyi inceleyin.
Doğrulama sınırı
Birincil sayfa mekanizmalara editoryal destek için incelendi; dağıtılmış varlık veya kayıt defteri veri kümesi bağımsız ölçülmedi.
Kontrol tarihi
2026-09-30
Birincil kaynağı aç
https://docs.openzeppelin.com/contracts/5.x/access-control

S08-PROXY · official_documentation_or_standard

ERC-1967 proxy depolama slotları

Desteklenen iddia
Uygulama, beacon ve isteğe bağlı yönetici slotları; mekanizmaya özgü inceleme.
Doğrulama sınırı
Birincil sayfa mekanizmalara editoryal destek için incelendi; dağıtılmış varlık veya kayıt defteri veri kümesi bağımsız ölçülmedi.
Kontrol tarihi
2026-09-30
Birincil kaynağı aç
https://eips.ethereum.org/EIPS/eip-1967

S08-DEPLOY · official_documentation_or_standard

Solana program dağıtımı

Desteklenen iddia
Loader-v3 program yükseltme yetkisi; token mint rolü değildir.
Doğrulama sınırı
Birincil sayfa mekanizmalara editoryal destek için incelendi; dağıtılmış varlık veya kayıt defteri veri kümesi bağımsız ölçülmedi.
Kontrol tarihi
2026-09-30
Birincil kaynağı aç
https://solana.com/docs/core/programs/program-deployment

S08-UUPS · official_documentation

OpenZeppelin 5.x proxy

Desteklenen iddia
Transparent, beacon ve uygulama tabanlı UUPS yükseltme mekanizmaları; gerçek yetkilendirme inceleme gerektirir.
Doğrulama sınırı
Birincil belgeler incelendi; dağıtılmış proxy incelemesi yapılmadı.
Kontrol tarihi
2026-09-30
Birincil kaynağı aç
https://docs.openzeppelin.com/contracts/5.x/api/proxy

Veri kaynağı

id: FIX-P08-04

dataStatus: ILLUSTRATIVE

observedAt: null

source: Original frozen educational fixture embedded in lesson

timeBasis: Synthetic S0/S1 snapshots, not UTC observations or real blocks

identifiers: Deliberately invalid fictional network, asset and account labels; never use as transaction targets

scope: Fictional freeze-state, application-role and upgrade-control records on separate objects.

Gerekçeni sınama

P08-L04-Q1 · Donmuşken V'nin sağlanan bakiyesi nedir?
P08-L04-Q2 · Ownable sahibinin yokluğu ve PAUSER=P durumundan ne çıkar?
P08-L04-Q3 · C'nin multisig etiketi var, yapılandırması yok. Ne belirlenmiştir?
P08-L04-Q4 · PROGRAM-X'in U değeri neyi tanımlar?
P08-L04-Q5 · ERC-1967 yönetici slotu boş. Sonraki adım nedir?