Akıllı sözleşmedeki bir hata beklenmedik sonuç doğurduğunda, "kod ne yaptıysa o geçerlidir" savunması Türk hukukunda mutlak bir kalkan değildir. Sözleşmenin yorumunda tarafların gerçek ve ortak iradesi esas alınır; dürüstlük kuralı, yanılma ve sebepsiz zenginleşme gibi kurumlar kod için de devreye girebilir. Ceza hukuku cephesinde ise açığı bilerek kullanan kişinin "kurallara uygun işlem yaptım" savunması, bilişim suçlarına ilişkin hükümlerin uygulanmasını kendiliğinden engellemez. Bu yazı, kod ile hukuk arasındaki bu gerilimi taraflar arası talepler, ceza boyutu, geliştirici sorumluluğu ve ispat başlıklarıyla ele alıyor.
Hızlı cevap: Türk hukukunda akıllı sözleşme kodu, tarafların hukuki ilişkisinin yerine geçmez; çoğu durumda o ilişkinin ifa aracıdır. Kod hatası nedeniyle amaçlanmayan bir sonuç doğarsa sözleşme yorumu (TBK m. 19), dürüstlük kuralı (TMK m. 2), yanılma (TBK m. 30 vd.) ve sebepsiz zenginleşme (TBK m. 77 vd.) tartışılabilir; açığı bilerek kullanan kişi için ceza sorumluluğu gündeme gelebilir. Sonuç, kodun işlevine ve olayın özelliklerine göre değişir.
Akıllı sözleşme nedir?
Akıllı sözleşme (smart contract), önceden tanımlanan koşullar gerçekleştiğinde blokzincir üzerinde kendiliğinden çalışan yazılım kodudur. Bir takas havuzu, ödünç protokolü veya token satışı, kullanıcı işlemi imzaladığında insan onayı beklemeden yürür. "Sözleşme" adını taşısa da bu, teknik bir adlandırmadır; kodun her çalışması, hukuki anlamda bir sözleşmenin varlığını veya içeriğini kendiliğinden göstermez.
Hukuki bakışta akıllı sözleşme çoğu zaman iki şeyden biridir: ya tarafların ayrıca kurdukları bir sözleşmenin ifa mekanizması ya da iradelerin yalnızca kod üzerinden karşılaştığı bir işlem ortamı. Hangisinin söz konusu olduğu, uyuşmazlıkta verilecek cevapların çoğunu belirler.
"Kod kanundur" yaklaşımı Türk hukukunda ne kadar geçerli?
"Code is law" (kod kanundur) yaklaşımı, kodun ürettiği her sonucun taraflarca peşinen kabul edilmiş sayılması gerektiğini savunur; Türk borçlar hukuku bu mutlaklığı benimsemez. 6098 sayılı Türk Borçlar Kanunu (TBK) m. 19 uyarınca sözleşmenin türü ve içeriği belirlenirken tarafların kullandıkları sözcüklere değil, gerçek ve ortak iradelerine bakılır. Kod da bir tür "sözcük"tür: İradeyi kusursuz yansıttığı garanti değildir. Yazılım, tarafların hiç öngörmediği bir durumda hiç istemedikleri bir sonucu üretebilir.
Bunun karşısında ciddiye alınması gereken bir karşı görüş de vardır. Merkeziyetsiz protokollerde taraflar birbirini tanımaz, ortada kodun dışında bir metin çoğu zaman bulunmaz; katılımcıların "kurallar koddur" beklentisiyle işlem yaptığı, dolayısıyla kod sonucuna güvenin korunması gerektiği savunulur. Türk hukukunda bu tartışmanın kesin bir cevabı henüz yoktur; yargı uygulaması bu soruları yeni yeni görmektedir. Söylenebilecek olan şudur: Hukuk düzeni, dürüstlük kuralını (4721 sayılı Türk Medenî Kanunu m. 2) ve emredici hükümleri (TBK m. 27) kod söz konusu olduğunda da uygulamaktan vazgeçmez.
Kod hatası beklenmedik sonuç doğurursa hangi talepler gündeme gelir?
Kod hatasından doğan zararda ilk bakılacak yer, taraflar arasında kodun dışında bir hukuki ilişkinin bulunup bulunmadığıdır. Bir hizmet sözleşmesi, kullanım koşulları veya proje dokümanı varsa uyuşmazlık büyük ölçüde o metinler üzerinden, sözleşmeye aykırılık hükümleriyle çözülür. Kodun metinden saptığı durumda hangisinin esas alınacağı yorum sorunudur ve tarafların gerçek iradesi belirleyicidir.
Kodun tek zemin olduğu durumlarda ise klasik kurumlar tartışmaya girer. İşlemi esaslı yanılma etkisinde yapan taraf için TBK m. 30 vd. hükümleri, karşı tarafın zor durumdan veya deneyimsizlikten yararlandığı iddiasında TBK m. 28'deki aşırı yararlanma, hatalı çalışma sonucu karşılıksız değer aktarımında TBK m. 77 vd. uyarınca sebepsiz zenginleşme gündeme gelebilir. Kusurlu bir davranışla zarar verilmişse haksız fiil hükümleri de tabloya eklenir. Bu kurumların akıllı sözleşmelere nasıl uyarlanacağı öğretide tartışmalıdır; hiçbirinin otomatik uygulanacağı söylenemez, ancak hiçbiri "kod çalıştı, konu kapandı" denilerek devre dışı da bırakılamaz.
Zincir üzerinde işlemin geri alınamaması ayrı bir gerçektir. Hukuki talep, işlemi teknik olarak geri çevirmez; muhatabından iade veya tazminat ister. Muhatabın kim olduğu sorusu da bu yüzden yakıcıdır: protokolün arkasındaki şirket, geliştiriciler, DAO yapılanmasında sorumluluğu tartışılan katılımcılar veya açıktan yararlanan kişi.
Exploit "kurallara uygun işlem" midir? Ceza hukuku boyutu
Bir açığı bilerek kullanıp başkalarına ait varlıkları boşaltan kişinin "kodun izin verdiği işlemi yaptım" savunması, ceza hukukunda fiilin suç olup olmadığını tek başına belirlemez. Türk Ceza Kanunu'nun bilişim alanındaki suçlara ilişkin hükümleri, sisteme hukuka aykırı erişimi (TCK m. 243) ve sistemdeki verileri bozma, değiştirme, sisteme veri yerleştirme gibi fiilleri (TCK m. 244) cezalandırır; m. 244/4, bu fiillerle haksız çıkar sağlanmasını ayrıca yaptırıma bağlar. Olayın kurgusuna göre bilişim sistemlerinin kullanılması suretiyle hırsızlık (TCK m. 142/2-e) veya bilişim sistemlerinin araç olarak kullanılması suretiyle dolandırıcılık (TCK m. 158/1-f) nitelendirmeleri de tartışılır.
Hangi nitelendirmenin uygulanacağı olayın özelliklerine bağlıdır: açığın nasıl kullanıldığı, mağdurun kim olduğu, failin sisteme müdahale edip etmediği, aldatılan bir insan iradesinin bulunup bulunmadığı. Bu alanda yerleşik bir içtihat çizgisinden söz etmek için henüz erkendir ve "her exploit suçtur" ya da "hiçbir exploit suç değildir" biçiminde iki genelleme de yanlıştır. Cüzdan ve hesaplara yönelik saldırıların ceza boyutu kripto cüzdanından izinsiz transfer yazısında ayrıca işlenmiştir; protokol saldırılarında zararın peşine düşme adımları için Web3 projelerinde hukuki riskler yazısına bakılabilir.
Geliştirici ve denetim firması sorumlu tutulabilir mi?
Kodu yazan geliştiricinin ve kodu denetleyen (audit) firmanın sorumluluğu, üstlendikleri edimin kapsamına ve kusura göre belirlenir. Ücret karşılığı geliştirme veya denetim hizmeti verilmişse ortada bir sözleşme vardır; hatalı ifa iddiası bu sözleşme üzerinden değerlendirilir. Denetim raporlarının "garanti vermez" kayıtları önemlidir, ancak sınırsız koruma sağlamaz: TBK m. 115 uyarınca borçlunun ağır kusurundan sorumlu olmayacağına ilişkin önceden yapılan anlaşma kesin olarak hükümsüzdür.
Açık kaynak koda katkı veren, ücret almayan ve kullanıcılarla hiçbir ilişki kurmayan geliştiricinin durumu daha çetrefildir. Sözleşme yoksa sorumluluk ancak haksız fiil zemininde tartışılır; kusurun, zararın ve nedensellik bağının ispatı burada ciddi güçlük çıkarır. Bu soruların Türk yargısında test edilmiş net cevapları yoktur; projelere hizmet verenlerin sorumluluk kayıtlarını özenle kaleme almasının nedeni de tam bu belirsizliktir.
İspat ve bilirkişi: Hata nasıl kanıtlanır?
Kod hatası iddiası, teknik ispat gerektirir; uyuşmazlığın kaderi çoğu zaman bilirkişi incelemesinde belli olur. Hukuk yargılamasında elektronik ortamdaki veriler, 6100 sayılı Hukuk Muhakemeleri Kanunu (HMK) m. 199 anlamında belgedir; işlem kayıtları, sözleşme adresi, olay anındaki blok verileri ve kodun ilgili sürümü dosyaya doğru biçimde taşınmalıdır. Kodun ne yapması gerektiği ile fiilen ne yaptığı arasındaki fark, ancak kaynak kodun ve zincir kayıtlarının birlikte incelenmesiyle ortaya konur.
Delil hazırlığında aceleci davranmamak gerekir. İşlem hash'leri, açığın kullanıldığı an, fonların izlediği yol ve varsa denetim raporları en baştan tespit edilmelidir; zincir kayıtlarının mahkemede nasıl değerlendirildiği blokzincir kayıtlarının delil değeri yazısında ayrıntılı anlatılmıştır.
Sonucu değiştiren ayrıntılar
Aynı görünen iki kod hatası olayı, şu unsurlara göre bambaşka sonuçlanabilir: kodun bir sözleşmenin ifa aracı mı yoksa tek işlem zemini mi olduğu; hata ile zarar arasındaki nedensellik; zarar görenin kendi hatasının (yanlış parametre, yanlış ağ, onay verilen yetkiler) payı; açıktan yararlananın bunu bilerek ve isteyerek yapıp yapmadığı; tarafların kimliğinin tespit edilebilirliği; protokolün arkasında ulaşılabilir bir şirket veya ekip bulunup bulunmadığı; zararın doğduğu ülke ve uygulanacak hukuk. Bu ayrıntılar hem talebin türünü hem muhatabını değiştirir.
Sık Sorulan Sorular
"Kod kanundur" savunması Türk mahkemesinde geçerli olur mu?
Mutlak bir savunma olarak geçerli olması beklenmez. Türk hukukunda sözleşme yorumu gerçek iradeye bakar ve dürüstlük kuralı her ilişkide uygulanır; kodun çıktısı bu denetimden muaf değildir. Bununla birlikte kodun içeriği, tarafların neyi kabul ettiğinin önemli bir göstergesi olarak değerlendirmede dikkate alınabilir. Sonuç olaya göre değişir.
Akıllı sözleşmedeki hata yüzünden para kaybettim; kimden talep edebilirim?
Muhatap, olayın kurgusuna göre belirlenir: protokolü işleten şirket, hizmeti sunan platform, kodu yazan veya denetleyen taraf ya da hatadan yararlanarak değer elde eden kişi. Aradaki ilişkinin sözleşmesel olup olmadığı, talebin dayanağını ve zamanaşımını etkiler. Fonların izi sürülebiliyorsa ihtiyati tedbir ve ceza şikâyeti seçenekleri birlikte düşünülmelidir.
Exploit yapan kişi "sistemin kurallarına uydum" derse ceza almaz mı?
Bu savunma tek başına cezasızlık sağlamaz. Fiil, sisteme müdahale, veri değiştirme veya haksız çıkar sağlama boyutu taşıyorsa TCK'nın bilişim suçlarına ilişkin hükümleri gündeme gelir; nitelendirme, fiilin işleniş biçimine ve unsurlarına göre yapılır. Ceza sorumluluğunun doğup doğmayacağını, savunmanın adı değil fiilin unsurları belirler.
Denetimden (audit) geçmiş kodda hata çıkarsa denetim firması sorumlu mu?
Denetim firmasının sorumluluğu, sözleşmesindeki kapsam ve kusur değerlendirmesine bağlıdır. Raporlar genellikle sınırlı bir inceleme taahhüt eder ve garanti vermez; yine de ağır kusur hâlinde önceden yapılmış sorumsuzluk kayıtları TBK m. 115 karşısında koruma sağlamaz. Raporun neyi incelediği ve hatanın o kapsamda olup olmadığı belirleyicidir.
Kod hatasını mahkemede nasıl ispatlarım?
İspatın omurgası zincir kayıtları ile kaynak kodun bilirkişi eliyle karşılaştırılmasıdır. İşlem hash'leri, olay anındaki blok verileri, sözleşme adresi ve kodun ilgili sürümü baştan güvence altına alınmalıdır. Elektronik veriler hukuk yargılamasında belge niteliği taşır; ancak neyi kanıtladıkları teknik inceleme olmadan anlaşılamaz.
Sonuç
Akıllı sözleşme, hukuk düzeninin dışında çalışan bir alan değildir. Kod hatası zarara yol açtığında Türk hukuku, yorum kuralları, dürüstlük ilkesi, yanılma ve sebepsiz zenginleşme gibi araçlarla soruna yaklaşır; açığı bilerek kullananlar için ceza hükümleri devrededir. "Kod kanundur" cümlesi bir tasarım felsefesi olarak anlamlı olsa da mahkeme salonunda mutlak bir savunma değildir. Bu alandaki belirsizlik, iki pratik sonucu öne çıkarır: İşlem yapmadan önce kodun ve varsa metinlerin ne dediğini anlamak, zarar doğduğunda ise delilleri kaybolmadan tespit ettirip talebi doğru muhataba yöneltmek.
İçerik kapsamı: Bu yazı genel bilgilendirme amacı taşır; somut olayın özellikleri ayrıca değerlendirilmelidir.
