Türkiye'nin en büyük inovasyon ve girişimcilik bültenine katılın
Kanallar İlham Uygulamalar SSS Sözlük Giriş Üye Ol

Web3

/web3 · 1.YIL

/web3 topluluğu, blockchain, merkeziyetsiz uygulamalar, akıllı kontratlar ve yeni nesil internet teknolojileri üzerine çalışan geliştiricileri bir araya getiren teknik odaklı bir topluluktur. Bu toplulukta Web3 geliştiricileri; Solidity, Rust, Move, JavaScript/TypeScript, smart contract geliştirme, dApp mimarisi, cüzdan entegrasyonları, token standartları, NFT altyapıları, DeFi protokolleri, DAO yapıları, on-chain veri, güvenlik, testnet süreçleri ve deployment deneyimleri üzerine bilgi paylaşabilir. Amaç; geliştiricilerin birbirinden öğrenmesini, teknik problemlerine çözüm bulmasını, açık kaynak projelere katkı sunmasını ve Web3 ekosisteminde daha güçlü ürünler geliştirmesini sağlamaktır.

62 içerik Katıl
#web3 akışına dön

Oyunlaştırılmış güvenlik eğitimi: Kontratları kırarak öğrenmek

Her seviyesi güvenlik açığı içeren bir kontrat sunuyor ve sizden onu ele geçirmenizi istiyor. Güvenliği okuyarak değil deneyerek öğreten nadir kaynaklardan biri.

Kapsanan konular seviyelere yayılmış: access control hataları, reentrancy, delege çağrı tuzakları, rastgelelik üretiminin neden chain'de güvenli olmadığı, gas manipülasyonu, geri dönüş fonksiyonu tuzakları, proxy ve depolama çakışmaları.

Rastgelelik seviyesi özellikle öğretici. On-chain gerçek rastgelelik üretmek mümkün değil, blok verilerinden türetilen değerler önceden hesaplanabiliyor. Bunu bilmeden yazılan çekiliş ve oyun kontratları kolayca sömürülüyor.

Delege çağrı seviyeleri de kritik. Bu mekanizma yükseltilebilir kontratların temeli ama yanlış kullanıldığında kontratın tamamının ele geçirilmesine yol açıyor.

Çözerken zorlanınca topluluk çözümlerine bakmak mümkün ama önce kendiniz denemek çok daha faydalı. Bir açığı kendiniz bulduğunuzda o kalıbı bir daha unutmuyorsunuz.

Kontrat yazmaya başlamadan önce en azından ilk on seviyeyi bitirmek, yazacağınız kodun kalitesini doğrudan etkiliyor.
0 1 yorum
Yorumlar (1)
@sidarta · 14 gün önce 1
Bu alıştırmaları bitirdikten sonra kod yazma biçimim tamamen değişti, herkese öneririm.

En çok akılda kalan ders, dış çağrı yaptığınız her yerin bir risk noktası olduğu. Çağırdığınız kontratın ne yapacağını bilmiyorsunuz ve size geri dönebilir.

Bir de rastgelelik dersi. On-chain rastgelelik gerekiyorsa dış bir kaynak kullanmak zorundasınız, blok verisinden türetmek çalışmıyor.

Çekiliş ve oyun projelerinde bu hata hâlâ görülüyor ve madenci veya doğrulayıcı tarafından manipüle edilebiliyor.

Alıştırmaları testnetnda yapıyorsunuz, gerçek para riski yok. Zaman ayırmaya kesinlikle değer.