Akıllı sözleşme nedir, kim kontrol eder
Akıllı sözleşme, zincirde bir adreste duran ve programlandığı gibi çalışan bir yazılım. Ethereum'un kendi tanımıyla bir kullanıcı tarafından kontrol edilmiyor, kodu herkese açık ve etkileşimler geri alınamıyor. Ne olduğunu ve bunun ne demek olduğunu yazıyoruz.
Kısaca
Ethereum'un dokümanı akıllı sözleşmeyi süssüz tanımlıyor:
"A 'smart contract' is simply a program that runs on the Ethereum blockchain. It's a collection of code (its functions) and data (its state) that resides at a specific address on the Ethereum blockchain."
İsmindeki iki kelime de yanıltıcı: ne hukuki anlamda bir sözleşmedir, ne de akıllıdır. Bir adreste duran bir programdır.
Kimse çalıştırmıyor, kendisi çalışıyor
Sıradan bir uygulamanın arkasında onu çalıştıran bir şirket vardır. Burada yok:
"they're not controlled by a user"
Sözleşme ağa yüklendikten sonra programlandığı gibi çalışıyor. Bu bir güvence olduğu kadar bir sınır: kod ne diyorsa o olur, niyetin ne olduğu önemli değildir.
Etkileşim geri alınmıyor
Dokümanın en işlevsel cümlesi bu:
"Smart contracts cannot be deleted by default, and interactions with them are irreversible."
İki ayrı şey söylüyor. Birincisi, sözleşme varsayılan olarak silinemiyor. İkincisi ve pratikte daha önemlisi: onunla yaptığın işlem geri alınamıyor. Yanlış adrese onay vermek, yanlış işlevi çağırmak ya da beklenmedik bir sonuç almak, "geri al" düğmesi olmayan durumlardır.
Kod açık olmak denetlenmiş olmak değildir
Doküman sözleşmelerin herkese açık olduğunu söylüyor ve açık API'lere benzetiyor:
"Smart contracts are public on Ethereum and can be thought of as open APIs."
Bu iyi bir şey ama sık yanlış okunuyor. Kodun görülebilir olması, birinin onu okuduğu, denetlediği ya da güvenli bulduğu anlamına gelmiyor. Açıklık bir imkândır, bir sertifika değil.
Bir de şu var: bir adresin kodunun "doğrulanmış" görünmesi, o kodun ne yaptığını değil, yayımlanan kaynağın derlenmiş hâlle eşleştiğini gösterir.
Riskler
En büyük belirsizlik Belirli sözleşmelerin yükseltilebilirlik ve yetki yapısı bu yazıda incelenmedi.
- Kod niyeti değil kendini uygular. Hatalı bir sözleşme hatasıyla birlikte çalışır; "böyle olsun istememiştik" bir düzeltme yolu değildir.
- İşlem geri alınmaz. Verilen bir yetki ya da gönderilen bir varlık, sözleşme öyle tasarlanmadıysa geri gelmez (token izni).
- Açık kod denetlenmiş kod değildir. Görünürlük güvence üretmez.
- Sözleşme yükseltilebilir olabilir. Bugün okuduğun kod yarın aynı kod olmayabilir; yetki adrese verilir, koda değil.
Neyin incelenmediği yukarıdaki veri durumu listesinde.
Kaynaklar
Bu makale aşağıdaki kaynaklara dayanıyor. Her birinin kalıcı kopyası olup olmadığı yanında yazıyor.
- #1
Tanımın, kullanıcı tarafından kontrol edilmemenin, geri alınamazlığın ve açıklığın birincil kaynağı: ethereum.org dokümanı.
ethereum.org· kalıcı kopya yok· ekran görüntüsü yok
Kanıt zinciri: 1 kaynak
Tweet silinir, site kapanır. Aşağıda her kaynağın kalıcı kopyasının olup olmadığı yazıyor.
Kaynaklar (1)
- #1
Tanımın, kullanıcı tarafından kontrol edilmemenin, geri alınamazlığın ve açıklığın birincil kaynağı: ethereum.org dokümanı.
“Smart contracts cannot be deleted by default, and interactions with them are irreversible.”
ethereum.org/developers/docs/smart-contracts/- kalıcı kopya yok: kaynak kaybolursa bu iddia dayanaksız kalır
- ekran görüntüsü alınmadı
Düzeltme geçmişi
Makale silinmez, düzeltilir. Yapılan her değişiklik burada görünür.
- Sürüm 1 ·
Bölüm