2016 DAO hack’i: Ethereum’u nasıl ikiye böldü
Iddialı bir deney
2016 yılında Ethereum blockchain’i üzerinde “The DAO” (Merkeziyetsiz Otonom Organizasyon) adıyla bir proje başlatıldı. Bu, kripto dünyasının en iddialı deneylerinden biri olarak görülüyordu: Arkasında geleneksel bir şirket yapısı bulunmayan, tamamen kod ve token sahiplerinin oylarıyla kontrol edilen, risk sermayesi fonuna benzer bir kuruluş. O dönemde 100 milyon dolardan fazla değerde Ethereum toplayarak o güne kadarki en büyük kitle fonlaması etkinliklerinden biri haline geldi.
Açık
The DAO’nun kodu, para çekme isteklerinin ele alınış biçiminde bir hata barındırıyordu. Bu hata, akıllı sözleşme yerel bakiye kaydını güncelleyemeden önce bir saldırganın tekrar para çekmesine olanak tanıyordu; bugün yaygın olarak “yeniden giriş” (reentrancy) saldırısı olarak bilinen bir açık türü. Bu açığı kullanan bir saldırgan, The DAO’nun fonlarının büyük bir kısmını —toplam biriken miktarın yaklaşık üçte birini— başka bir cüzdana aktararak çaldı.
Sonrasındaki karar
Ethereum topluluğu eşi benzeri görülmemiş bir soruyla karşı karşıya kaldı: Hırsızlığı tersine çevirmek için ağın geçmişi değiştirilmeli miydi, yoksa mağdurlar için büyük finansal maliyetlere mal olsa bile blockchain işlemlerinin değiştirilemez olduğu temel ilkesine bağlı mı kalınmalıydı? Yoğun tartışmaların ardından topluluğun çoğunluğu “sert bir çatal” (hard fork) sürecini destekledi; bu, etkilenen işlemleri fiilen geri alan ve çalıntı fonları asıl sahiplerine iade eden uyumlu bir yazılım güncellemesiydi.
Çatallanma: Ethereum ve Ethereum Classic
Herkes bu yaklaşımdan memnun kalmadı. Topluluğun küçük bir kesimi, blockchain geçmişini değiştirmenin —hırsızlığı telafi etmek için bile olsa— blockchain’i baştan beri güvenilir kılan temel değiştirilemezlik vaadini bozacağına inanıyordu. Bu grup, değiştirilmemiş özgün zinciri çalıştırmaya devam etti; bu zincir Ethereum Classic (ETC) adını aldı. Çatallanmayı uygulayan zincir ise bugün basitçe Ethereum (ETH) olarak bildiğimiz ve şu anda dünyadaki en büyük kripto ağlarından biri haline gelen yapı oldu.
| Ayrılan zincir | Değiştirilmeyen zincir | |
|---|---|---|
| Ne yaptı | Etkilenen işlemleri geri aldı | Geçmişi kaydedildiği şekliyle sürdürdü |
| Öncelik verdiği ilke | Fonları kaybeden kişilere iade etmek | Hiçbir çoğunluğun yeniden yazamayacağı bir geçmiş |
| Bedel olarak neyi kabul etti | Sona ermesi gereken bir kayıtta müdahale | Zararları olduğu yerde bırakmak |
| Bugün ne deniyor | Ethereum | Ethereum Classic |
Bu olay neden hâlâ önemli
The DAO hack’i, blockchain yönetişimi üzerine en çok incelenen vakalardan biridir çünkü sektörün gerçek ve felsefi bir ikilemle yüzleşmesini zorunlu kılmıştır: Bir blockchain’in geçmişi ne olursa olsun gerçekten asla değiştirilemez mi, yoksa büyük bir felaket yaşandığında bir topluluk müdahale edebilir mi —ve etmeli mi? Evrensel olarak üzerinde uzlaşılan bir yanıt yoktur ve Ethereum/Ethereum Classic çatallanması, iki farklı sonuca varan bir topluluğun canlı bir örneği olarak kalmaya devam etmektedir.
Akıllı sözleşme güvenliği için dersler
Yönetişim tartışmalarının ötesinde, teknik açığın kendisi —yeniden giriş— akıllı sözleşme geliştirmede en çok incelenen hata kategorilerinden biri haline gelmiş ve geliştiricilerin bugün sözleşme kodunu yazma ve gözden geçirme biçimini doğrudan şekillendirmiştir. Günümüzdeki birçok standart blockchain geliştirme güvenlik uygulaması, doğrudan bu olaydan çıkarılan dersler sayesinde var olmaktadır.
İlgili okuma
Kripto tarihinden bir başka temel vakayı incelemek için, bu kez akıllı sözleşme güvenliği yerine borsa güvenliğine odaklanan Mt. Gox çöküşü: Ne oldu ve kriptoya ne öğretti yazısına göz atın; bu gibi bir olayın ardındaki teknolojiyi daha derinden anlamak için ise Blockchain nedir? Yeni başlayanlar için kılavuz içeriğine bakın.


