Değişmez Kontrol
Değişmez Kontrol
Değişmez kontrol, XRP Defteri'nin bir güvenlik özelliğidir. Belirli değişmezliklerin tüm işlemler boyunca doğru kalmasını garanti eden, normal işlem sürecinden ayrılmış bir dizi kontrolden oluşur.
Değişmez kontrol, XRP Defteri'nin güvenliğini sağlamak için kritik bir rol oynar.
Birçok güvenlik özelliğinde olduğu gibi, değişmez kontrolün asla bir şey yapması gerekmediğini umuyoruz. Ancak, XRP Defteri'nin değişmezliklerini anlamak, onların XRP Defteri'nin işlem süreci üzerinde katı limitleri tanımladığı ve bir işlemin bir değişmez kontrolü ihlal ettiği nadir durumlarda sorunu tanıma açısından faydalı olabilir.
Değişmezlikler tetiklenmemelidir, ancak keşfedilmemiş veya henüz oluşturulmamış hatalardan XRP Defteri'nin bütünlüğünü sağlamaktadır.
Neden Vardır
- XRP Defteri'nin kaynak kodu karmaşık ve geniştir; yanlış bir şekilde çalıştırma potansiyeli yüksektir.
- Yanlış bir işlemin maliyeti yüksek ve hiçbir standart tarafından kabul edilemez.
Özellikle, yanlış işlem yürütmeleri geçersiz veya bozuk veriler oluşturabilir ve bu veriler daha sonra ağı "imkansız" bir duruma sokacak şekilde sunucuları sürekli çökertir, bu da tüm ağı durdurabilir.
Yanlış işlem işleme, XRP Defteri'nde güvenin değerini zayıflatır.
— XRP Güvenlik Uzmanı
Değişmez kontrol, güvenilirlik özelliğini ekleyerek tüm XRP Defteri'ne değer katar.
Nasıl Çalışır
Değişmez kontrolü, her işlemden sonra otomatik olarak gerçek zamanlı olarak çalışan ikinci bir kod katmanıdır. İşlemin sonuçları deftere kaydedilmeden önce, değişmez kontrolü bu değişikliklerin doğruluğunu inceler. İşlemin sonuçları, XRP Defteri'nin katı kurallarından birini bozarsa, değişmez kontrolü işlemi reddeder. Bu şekilde reddedilen işlemler tecINVARIANT_FAILED
koduyla sonuçlanır ve deftere etki olmadan eklenir.
Bir işlemi tec
sınıfı koduyla deftere eklemek için bazı minimum süreçler gereklidir. Eğer bu minimum süreç değişmezliği hala ihlal ederse, işlem tefINVARIANT_FAILED
koduyla başarısız olur ve deftere hiç eklenmez.
Aktif Değişmezlikler
XRP Defteri, her işlemde aşağıdaki değişmezlikleri kontrol eder:
İşlem Ücreti Kontrolü
XRP Oluşturulmadı
Hesap Kökleri Silinmedi
XRP Bakiyesi Kontrolü
Defter Girdi Türleri Eşleşmeli
XRP Güven Hattı Olmamalı
Kötü Teklif Olmamalı
Sıfır Eskravo Olmamalı
Geçerli Yeni Hesap Kökü
İşlem Ücreti Kontrolü
- Değişmez Durum(lar):
işlem maliyeti
miktarı asla negatif veya işlemde belirtilen maliyetten büyük olamaz.
XRP Oluşturulmadı
- Değişmez Durum(lar):
- Bir işlem XRP oluşturamaz ve yalnızca XRP
işlem maliyetini
yok etmelidir.
- Bir işlem XRP oluşturamaz ve yalnızca XRP
Hesap Kökleri Silinmedi
- Değişmez Durum(lar):
- Bir
hesap
defterden, yalnızca bir [AccountDelete işlemi][] ile silinebilir. - Başarılı bir AccountDelete işlemi her zaman tam olarak 1 hesabı siler.
- Bir
XRP Bakiyesi Kontrolü
- Değişmez Durum(lar):
- Bir hesabın XRP bakiyesi XRP türünde olmalıdır ve 0'dan az veya tam olarak 100 milyar XRP'den fazla olamaz.
Defter Girdi Türleri Eşleşmeli
- Değişmez Durum(lar):
- İlgili değiştirilmiş defter girdileri tür açısından eşleşmeli ve eklenen girdiler
geçerli bir tür
olmalıdır.
- İlgili değiştirilmiş defter girdileri tür açısından eşleşmeli ve eklenen girdiler
XRP Güven Hattı Olmamalı
- Değişmez Durum(lar):
- XRP kullanan
güven hatları
kabul edilmez.
- XRP kullanan
Kötü Teklif Olmamalı
- Değişmez Durum(lar):
Teklifler
negatif olmayan miktarlar için olmalı ve XRP'den XRP'ye olmamalıdır.
Sıfır Eskravo Olmamalı
- Değişmez Durum(lar):
- Bir
eskravo
girişi 0'dan fazla ve 100 milyar XRP'den az tutmalıdır.
- Bir
Geçerli Yeni Hesap Kökü
- Değişmez Durum(lar):
- Yeni bir
hesap kökü
bir ödeme sonucunda olmalıdır. - Yeni bir hesap kökü doğru bir başlangıç
sırasına
sahip olmalıdır. - Bir işlem birden fazla yeni
hesap
oluşturamaz.
- Yeni bir
ValidNFTokenPage
- Değişmez Durum(lar):
- Mint edilen veya yakılan NFT sayısı yalnızca
NFTokenMint
veyaNFTokenBurn
işlemleri ile değiştirilebilir. - Başarılı bir NFTokenMint işlemi NFT sayısını artırmalıdır.
- Başarısız bir NFTokenMint işlemi mint edilen NFT sayısını değiştirmemelidir.
- Bir NFTokenMint işlemi yakılan NFT sayısını değiştiremez.
- Başarılı bir NFTokenBurn işlemi yakılan NFT sayısını artırmalıdır.
- Başarısız bir NFTokenBurn işlemi yakılan NFT sayısını değiştirmemelidir.
- Bir NFTokenBurn işlemi mint edilen NFT sayısını değiştiremez.
- Mint edilen veya yakılan NFT sayısı yalnızca
NFTokenCountTracking
- Değişmez Durum(lar):
- Sayfa sahibi ile doğru bir şekilde ilişkilendirilmelidir.
- Sayfa, sonraki ve önceki bağlantılar arasında doğru bir şekilde sıralanmalıdır.
- Sayfa geçerli bir NFT sayısını içermelidir.
- Bu sayfadaki NFT'ler daha düşük veya daha yüksek bir sayfaya ait olmamalıdır.
- NFT'ler sayfada doğru bir şekilde sıralanmalıdır.
- Her URI, mevcutsa, boş olmamalıdır.