Zephyrnet Logosu

Staking Protokollerini Denetleme Yönergeleri

Tarih:

Okuma zamanı: 6 dakika

Bu blogda, likidite staking protokolleri kavramını ve staking protokolleri için denetim yönergelerini özetledik. Yönergeler, para çekme mekanizmaları, yuvarlama hataları, harici aramalar, ücret mantığı, döngüler, yapılar, staking süresi vb. gibi bir dizi hassas noktayı kapsar. Bu blog gönderisi, staking protokollerini denetlemek için yararlı bir referans olacak ve olası hataları belirlemenize yardımcı olabilir. .

Likidite Staking nedir?

Likidite staking, kullanıcıların kripto para varlıklarını stake etmelerine ve likiditeden ödün vermeden ödüller kazanmalarına olanak tanır. Kullanıcılar, kripto paralarını sabit bir süre için kilitlemek yerine, stake edilen varlıklarını temsil eden likit bir jeton alabilirler. Bu token, diğer herhangi bir kripto para birimi gibi alınıp satılabilir veya kullanılabilir, bu da kullanıcıların varlıklarını istedikleri gibi kullanmalarına ve aynı zamanda staking ödülleri kazanmalarına olanak tanır.

Örneğin, Ethereum ağında stake etmek istediğiniz 100 ETH'niz var. ETH'nizi sabit bir süre için kilitlemek yerine, ETH'nizi stake etmek için Lido gibi bir likidite staking hizmetini kullanabilir ve karşılığında stETH adlı likit bir token alabilirsiniz. StETH ile, staking ödülleri kazanırken stake ettiğiniz ETH'nizi alıp satabilir veya kullanabilirsiniz.

Staking sözleşmelerini denetlemeye başlayalım:

Sözleşme koduyla başlamadan önce mevcut tüm denetim spesifikasyonlarını inceleyin. Teknik inceleme, README dosyaları veya başka bir şey biçiminde olabilir. Bunlar size sözleşme kodunun neleri içereceği konusunda bir fikir verecektir.

Staking sözleşmesi için denetim spesifikasyonu belgesine bakarken şu noktalara bakın:

  • Esas alınan Ücret Türleri ve bunların hesaplanması.
  • Stake edilmiş jetonlar için ödül mekanizması
  • sahibinin yetkileri
  • Sözleşme ETH'yi tutacak mı?
  • Sözleşme hangi tokenleri tutacak?
  • Çatallandığı orijinal sözleşme

Teknik özelliklerin kodla eşleştiğini kontrol edin. Ücretler ve belirteçlerle başlayın, ardından mal sahibinin yetkisinin doğrulanması gelir. Tüm ödüllerin ve ücret değerlerinin belgelere uygun olduğunu kontrol edin.

Aranacak hassas noktalar?

1. Ödül Çekme Mekanizması:

Stake edilen jeton ödülleri mekanizmasının doğru bir şekilde uygulandığından ve ödüllerin tüm stake yapanlara adil ve orantılı olarak dağıtıldığından emin olun. Projeler ödülleri iki şekilde dağıtabilir: otomatik olarak, periyodik olarak veya kullanıcıların kendileri tarafından talep edildiğinde. Bir para çekme işlevi, protokolün iş mantığına göre uygulanabilir ve özelleştirilebilir.
Aşağıda birkaç kontrol noktası verilmiştir:

  • Herhangi bir kullanıcının ödül + yatırılan miktardan fazlasını çekip çekemeyeceğini kontrol edin.
  • Miktar hesaplamasında Taşma/düşme olup olmadığını kontrol edin
  • Hesaplama sırasında belirli parametrelerin ödüller üzerinde olumsuz bir etkisi olup olmadığını kontrol edin.
  • Bu işlevde block.timestamp veya block.number kullanılıyorsa. Herhangi bir şekilde istismar edilip edilemeyeceğini kontrol edin.

2. Ücret Mantığı:

Para yatırma ve çekme bir miktar ücrete tabiyse, hiçbir kullanıcının ücreti atlayamayacağını doğrulayın. Ek olarak, potansiyel taşma veya yetersiz akış sorunlarına karşı tetikte olun. Ücret ayarlarını değiştirmek için yalnızca yönetici veya mal sahibi yetkili olmalıdır. Ayrıca, maksimum ücretler için, yöneticinin bunu aşırı yüksek bir tutara ayarlamasını önleyen bir eşiğin belirlendiğini doğrulayın.

3. LP Jetonunun Basma/Yakma Mekanizması:

Basma ve yazma mekanizmalarının doğru bir şekilde uygulanıp uygulanmadığını doğrulayın. Bir yakma işlevi, bir nane işlevi tarafından yapılan tüm durum değişikliklerini tersine çevirmelidir. Ek olarak, havuz boşken, kullanıcıların ilk stake sırasında uygun miktarda token aldıklarını doğrulamak çok önemlidir.

Basma ve yazma işlevlerinin mantığı, herhangi bir gizli güvenlik açığını ortaya çıkarmak için matematiksel olarak doğrulanabilir. Ayrıca, basılan LP jetonlarının toplam arzı, stake edilen varlıkları aşmamalıdır.

4. Yuvarlama Hataları:

Bazı küçük yuvarlama hataları genellikle kaçınılmaz olsa ve endişe etmese de, bunları çoğaltmak mümkün olduğunda önemli ölçüde büyüyebilirler. Tekrar tekrar istifleme ve istiflemeden çıkarma yoluyla yuvarlama hatalarından kâr elde edilebilecek son durumlara bakın.

Yuvarlama hatalarının uzun bir süre boyunca önemli bir miktara ulaşıp ulaşamayacağını belirlemek için, olası yuvarlama hatalarının aralığını matematiksel olarak hesaplayabiliriz.

5. Staking Süresi:

Sözleşmedeki staking süresi hesaplamalarının belirtilen iş mantığıyla uyumlu olduğundan emin olun. Süre kontrollerini atlayarak, staking süresi sona ermeden kullanıcıların ödülleri kullanamayacağını doğrulayın. Ayrıca, staking süresinin bir saldırgan tarafından daha fazla ödül almak için istismar edilip edilemeyeceğini kontrol edin.

6. Harici Aramalar ve Jeton İşleme:

Dış aramaların çoğu token sözleşmelerine yapılacak. Bu nedenle, staking sözleşmesinin ne tür tokenleri ele alacağını belirlemeliyiz. Herhangi bir hata ve yeniden giriş saldırısı için harici çağrıları kontrol etmek önemlidir. Deflasyonist tokenler veya Safemoon gibi transfer ücreti olan tokenlar, mantıkları doğru bir şekilde uygulanmazsa sorun oluşturabilir.

7. Fiyat Manipülasyon Kontrolleri:

Flaş kredi yoluyla Fiyat Manipülasyonu, DeFi projelerinde en sık yapılan saldırılardan biridir. Kötü niyetli aktörlerin, büyük miktarda belirteci staking veya staking sırasında fiyatları manipüle etmek için flaş krediler kullanabileceği durumlar olabilir. Ani kredi tabanlı fiyat manipülasyonu saldırılarına ve diğer kullanıcıların fonlarının kaybına neden olabilecek son durum senaryolarından kaçınmak için staking ve staking fonksiyonlarını dikkatlice gözden geçirin.

8. Bazı Ek Kontroller:

  • döngüler: Sözleşme mantığı diziler üzerinde döngü içeriyorsa, blok gaz limitinin aşılmadığından emin olmak önemlidir. Bu, dizi boyutu çok büyük olduğunda meydana gelebilir, bu nedenle hangi işlevlerin dizinin boyutunu artırabileceğini ve herhangi bir kullanıcının DoS saldırısına neden olmak için diziden yararlanıp yararlanamayacağını araştırmalısınız. Bunu kontrol et rapor.
  • Yapılar: Staking sözleşmeleri, kullanıcı veya havuz verilerini depolamak için yapı türünü kullanır. Bir işlev içinde bir yapı bildirirken veya bir yapıya erişirken, "bellek" mi yoksa "depolama" mı kullanılacağını belirtmek önemlidir. Biraz benzin tasarrufu yapmamıza yardımcı olabilir. Daha fazla bilgi için lütfen bkz. bu makaleye.
  • Ön koşu: Kötü niyetli aktörlerin herhangi bir işlemi kendi avantajlarına göre yönetebilecekleri senaryoları araştırın.
  • İşlev Görünürlüğü/ Erişim Kontrolü Kontrolleri: Harici veya genel olarak bildirilen herhangi bir işleve herkes tarafından erişilebilir. Bu nedenle, hiçbir kamu işlevinin herhangi bir hassas eylemi gerçekleştirmemesini sağlamak önemlidir. Staking protokolünün, hem stake edilen koinlere hem de sistemin altyapısına yetkisiz erişimi önlemek için uygun kontrolleri uyguladığını doğrulamak çok önemlidir.
  • Merkezileşme Riskleri: Sahibine aşırı yetkiler vermemek önemlidir. Yönetici adresinin güvenliği ihlal edilirse, protokolde önemli hasara neden olabilir. Sahip veya yönetici ayrıcalıklarının uygun olduğunu doğrulayın ve protokolün bir yöneticinin özel anahtarlarının sızdırıldığı durumlarla başa çıkmak için bir planı olduğundan emin olun.
  • ETH / WETH işleme: Sözleşmeler genellikle ETH'yi işlemek için belirli bir mantık içerir. Örneğin msg.value > 0 olduğunda, bir sözleşme ETH'yi WETH'ye dönüştürürken WETH'nin doğrudan alınmasına izin verebilir. Bir kullanıcının para birimi olarak WETH'yi belirtmesi ancak aramayla birlikte ETH göndermesi, belirli değişmezleri bozabilir ve yanlış davranışlara yol açabilir.

Şimdiye kadar, likidite staking protokollerini ve bu tür protokoller için denetim yönergelerini tartıştık. Özetle, Likidite staking, kullanıcıların likiditeden ödün vermeden staking ödülleri kazanmalarına olanak tanır. Para çekme mekanizmaları, ücret mantığı, LP token basma/yakma mekanizması, yuvarlama hataları, staking süresi, harici aramalar ve fiyat manipülasyon kontrolleri gibi, staking sözleşmelerinde denetçilerin dikkat etmesi gereken hassas noktaları özetledik. 

Denetçilere, denetim spesifikasyon belgelerini incelemelerini, spesifikasyonları kodla eşleştirmelerini ve ücretleri ve belirteç doğrulamasını kontrol etmelerini öneririz. Ayrıca diziler üzerinde döngü, yapı tipi veriler için bellek veya depolama belirtme ve önden çalışan senaryolar gibi ek kontroller öneririz. Bu yönergeler, staking protokollerini denetlemek için faydalı olacak ve potansiyel hataları belirlemeye yardımcı olacaktır.


4 Görünümler

spot_img

En Son İstihbarat

spot_img