Token çeşitleri: ERC-20 ile ERC-721 arasındaki fark ne
Bir token standardı, sözleşmenin ne yapacağını değil, dışarıdan nasıl konuşulacağını tanımlar. ERC-20 birbirinin yerine geçebilen tokenler için, ERC-721 geçemeyenler için. Standardın neyi garanti ettiğini, neyi hiç garanti etmediğini ve bir tokenin standarda uyuyor olmasının neden güvenli olduğu anlamına gelmediğini anlatıyoruz.
Kısaca
Bir token standardı, bir sözleşmenin ne yaptığını değil, dışarıyla nasıl konuştuğunu tanımlar.
Aynı arayüzü konuşan iki token, aynı cüzdanda görünür ve aynı borsada işlem görebilir. Ethereum'un dokümanı standardın işini şöyle özetliyor:
"Token standards help ensure smart contracts remain composable, so when a new project issues a token, it stays compatible with existing decentralized exchanges and applications."
İki temel ayrım
ERC-20, birbirinin yerine geçebilen tokenler içindir. Sizdeki bir birim ile bendeki bir birim aynıdır; para gibi davranır.
ERC-721, birbirinin yerine geçemeyen tokenler içindir. Her birimin kendi kimliği vardır; tapu gibi davranır.
Aradaki fark teknik değil kavramsal: biri sayılır, öteki tekilleştirilir.
ERC-1155 ise ikisini tek sözleşmede toplayıp işlemleri paketleyerek maliyeti düşürmeyi hedefler.
Standart neyi garanti etmez
Bu bölüm yazının asıl sebebi.
Standarda uymak, sözleşmenin güvenli olduğu anlamına gelmez. Standart arayüzü tanımlar: hangi fonksiyonların bulunacağını ve nasıl çağrılacağını. Bu fonksiyonların içinde ne olduğunu tanımlamaz.
Standarda uyan bir sözleşmede arz sonradan artırılabilir, transferler durdurulabilir, belirli adresler engellenebilir. Bunların hiçbiri standardı ihlal etmez.
Yani "ERC-20 uyumlu" bir bilgi cümlesidir, bir güvence cümlesi değildir.
Sık karıştırılanlar
Uyumluluk denetim değildir. Standarda uymak, sözleşmenin okunduğu ya da bir denetimden geçtiği anlamına gelmez. İkisi ayrı işler.
Yetkiler standardın dışında kalır. Sözleşme sahibinin arz artırma, transfer durdurma ya da adres engelleme yetkisi olup olmadığı standarda bakarak anlaşılmaz; sözleşmeye bakmak gerekir.
Bir tokeni adı değil adresi tanımlar. Standart isimleri benzersiz yapmaz, aynı adı taşıyan sayısız token olabilir. Ayırt eden tek şey kontrat adresidir.
Aklında kalsın
Standart bir dil, bir güvence değil. "ERC-20 uyumlu" cümlesi tokenin nasıl konuştuğunu söyler, ne yaptığını değil.
Riskler
En büyük belirsizlik Standart yalnızca arayüzü tanımlar; sözleşmenin içinde ne yaptığını, kimin yetkisi olduğunu ya da güvenli olup olmadığını söylemez.
Bu bilgiyi kullanırken dikkat edilecekler:
- Standardı güvenlik sanmak. En sık yapılan hata bu. Standart arayüzü tanımlar, niyeti değil.
- Ada göre işlem yapmak. Bir tokeni bulurken adına değil, kontrat adresine bakılır. Aynı adı taşıyan onlarca sözleşme olabilir.
- Standart listesini eksiksiz sanmak. Burada üç tanesi anlatıldı; başka standartlar da var ve yenileri ekleniyor.
Kaynaklar
Bu makale aşağıdaki kaynaklara dayanıyor. Her birinin kalıcı kopyası olup olmadığı yanında yazıyor.
- #1
Standardın ne işe yaradığının, ERC-20 ve ERC-721 tanımlarının kaynağı.
ethereum.org· kalıcı kopya yok· ekran görüntüsü yok· gövdede 4 yerde
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
Standardın ne işe yaradığının, ERC-20 ve ERC-721 tanımlarının kaynağı.
“Token standards help ensure smart contracts remain composable, so when a new project issues a token, it stays compatible with existing decentralized exchanges and applications.”
ethereum.org/en/developers/docs/standards/tokens/- kalıcı kopya yok: kaynak kaybolursa bu iddia dayanaksız kalır
- ekran görüntüsü alınmadı