ERC-20 nedir? Ethereum ekonomisini yöneten token standardıdır.

ERC-20 nedir? Ethereum ekonomisini yöneten token standardıdır.

MetaMask cüzdanımda USDT tutuyorum. Ayrıca biraz LINK, geçen haftaki bir takastan biraz UNI ve birinin bana airdrop ettiği, satmayı sürekli unuttuğum bir köpek token'ı da var. Bu token'lar tamamen farklı şeyler yapıyor. Tether, nakit ve hazine bonolarıyla desteklenen bir stablecoin. Chainlink, gerçek dünya verilerini akıllı sözleşmelere besleyen oracle ağları işletiyor. Uniswap, Ethereum üzerindeki en büyük DEX'i yönetiyor. Köpek token'ı ise hiçbir işe yaramıyor. Ancak cüzdanım bunların hepsini aynı listede gösteriyor, aynı düğmeyle göndermeme izin veriyor ve kullandığım her DeFi protokolü özel bir kurulum gerektirmeden bunları kabul ediyor.

Bu ancak dördünün de aynı kurallara uyması sayesinde mümkün. Hepsi ERC-20 token'ları. Aynı arayüz, aynı işlevler, aynı işleyiş biçimi. Ve ERC-20'nin gerçekte ne anlama geldiğini anlamak, Ethereum'un bir ekonomi olarak nasıl çalıştığını anlamanın ilk adımıdır.

Fabian Vogelsteller, Kasım 2015'te bu öneriyi yazdı. Ona sıkıcı bir isim verdi: Ethereum Yorum Talebi numarası 20. Vitalik Buterin, son versiyonun ortak yazarıydı. 2017'de resmen kabul edildi ve ardından ICO patlaması bir anda gerçekleşti. ERC-20 neredeyse ücretsiz hale getirdiği için binlerce proje bir gecede token piyasaya sürdü. Yarım milyon token sözleşmesinden sonra, standart hala geçerliliğini koruyor. İşte ne yaptığı ve Solidity'de tek bir satır bile yazmayı planlamasanız bile neden önemsemeniz gerektiği.

ERC-20 standardı nasıl çalışır?

İsim gereğinden fazla teknik bir anlam taşıyor. ERC = Ethereum Request for Comment (Ethereum Yorum Talebi). 20 = teklif numarası. Hepsi bu. Fabian adında bir geliştirici "işte her token'ın uyması gereken kurallar" dedi ve teklifine 20 numarasını verdi çünkü bu, müsait olan bir sonraki sıraydı. Yirmi kural değil. Yirmi token değil. Sadece Ethereum geliştirme kuyruğundaki 20 numaralı teklif.

Bu kuralların söylediği şudur: Ethereum üzerinde değiştirilebilir bir token oluşturmak istiyorsanız, akıllı sözleşmenizin bu belirli işlevleri içermesi gerekir. "Değiştirilebilir" demek, her token biriminin özdeş olduğu anlamına gelir. Bir USDC, diğer tüm USDC'lerle aynıdır. Hangi UNI token'ına sahip olduğunuzun önemi yoktur çünkü hepsi birbirinin yerine kullanılabilir. NFT'ler ise bunun tam tersidir. Her biri benzersizdir. Farklı standart. Farklı madde.

ERC-20 standardı altı işlevi ve iki olayı kesin olarak belirler. 140 milyar dolarlık piyasa değerine sahip USDT'den, otuz saniye önce birilerinin piyasaya sürdüğü memecoin'e kadar, uyumlu her token sözleşmesi bu aynı çağrıları uygular:

İşlev Sade İngilizce versiyonu
toplamTedarik() "Dünyada bu jetonlardan kaç tane var?"
bakiye(adres) "Bu cüzdanda kaç tane var?"
transfer(kime, miktar) "Cüzdanımdan şu kişiye X adet token gönder"
onaylamak (harcayan, tutar) "Bu DeFi protokolünün benim tokenlerimden X kadarını harcamasına izin verin."
transferFrom(from, to, amount) "Tokenleri A cüzdanından B cüzdanına aktarma iznim var."
ödenek (sahip, harcayan) "Bu kişi, kendisine verilen ödenekten ne kadar daha kullanabilir?"

Bir şey olduğunda zincir üzerinde iki olay kaydedilir. Transfer olayı, tokenlar cüzdanlar arasında her hareket ettiğinde tetiklenir. Onay olayı ise birisi harcama izni verdiğinde tetiklenir. Etherscan gibi blockchain gezginleri, bir tokenı aradığınızda gördüğünüz işlem geçmişini oluşturmak için bu olayları kullanır.

Üç isteğe bağlı alan, token'a kişilik katıyor: ad, token'a insan tarafından okunabilir bir etiket veriyor ("Chainlink"), sembol ise hisse senedi kodu ("LINK") ve ondalık basamak sayısı , token'ın ne kadar hassas bölünebileceğini belirliyor (neredeyse herkes ETH ile eşleşmesi için 18 kullanıyor, ancak USDT 6 kullanıyor ve bu da kimsenin kabul etmek istemediğinden daha fazla hataya neden oldu).

Altı fonksiyon. İki olay. Üç isteğe bağlı alan. Tam anlamıyla tüm şartname bu. Bir peçeteye bile sığacak şekilde, kahve lekeleri için yer kalacak şekilde yazdırabilirim. Ve yine de bu peçete boyutundaki şartname, yüz milyarlarca dolar değerinde bir token ekonomisini yönetiyor. MetaMask, bakiyenizi göstermek için bu fonksiyonları okuyor. Uniswap, takasları gerçekleştirmek için bunları çağırıyor. Aave, borç vermeyi yönetmek için bunları kullanıyor. Şimdiye kadar kullandığınız her DeFi protokolü, tokenlarla aynı arayüz üzerinden iletişim kuruyor. Basitlik, asıl nokta.

erc-20

ERC-20 neden Ethereum'u tamamen değiştirdi?

2016 yılında, bu standart henüz yokken kripto para piyasasında çalıştım. Tam bir kaos vardı. Her token özel bir işti. Birileri kendi fonksiyon adlarıyla, kendi transfer mantığıyla, kendi bakiye kontrol yöntemleriyle bir token sözleşmesi oluşturuyordu. MetaMask bu tokenların yarısının ne olduğunu bilmiyordu. Borsaların yeni bir token için destek eklemesi aylar sürüyordu çünkü her biri özel entegrasyon kodu gerektiriyordu. Bir DEX mi kuruyorsunuz? Unutun gitsin. Her bir token uygulaması için ayrı ayrı işleyiciler yazmanız gerekiyordu.

ERC-20 bu çılgınlığa son verdi. Standart kabul edildikten sonra, sözleşme adresini yapıştırdığınız anda MetaMask'te yeni bir token göründü. Uniswap, kimsenin izni olmadan onu listeleyebiliyordu. Aave, tek bir satır özel kod yazmadan onu teminat olarak kabul edebiliyordu. Tek standart, evrensel uyumluluk.

2017 ICO dalgası bunun kanıtıydı. Bir öğrenci yurdunda öğle yemeğinden sonra bir ERC-20 token'ı piyasaya sürebilir, bir web sitesi ve teknik doküman yayınlayabilir ve gece yarısına kadar yatırımcılardan ETH kabul etmeye başlayabilirdi. Bunu gerçek zamanlı olarak izledim. Projeler milyarlarca dolar topladı. Bazıları meşruydu ve gerçek ürünler geliştirdi. Çoğu çöptü. Birkaç tanesi düpedüz dolandırıcılıktı. Ama altta yatan teknoloji? Kusursuz çalıştı. Standart, tam olarak tasarlanma amacını yerine getirdi: token oluşturmayı ve etkileşimi son derece kolay hale getirdi.

Şu anki ölçek şaşırtıcı. Ethereum ağında 500.000'den fazla ERC-20 token sözleşmesi bulunuyor. ERC-20 tokenlerinin toplam piyasa değeri yüz milyarlarca dolara ulaşıyor. Sadece USDT bile 140 milyar doları aştı. USDC, LINK, UNI, DAI, SHIB, MKR ve diğerlerini de eklediğinizde, Ethereum'un tüm ekonomik değerinin büyük bir kısmının ERC-20 sözleşmelerinde yaşadığını görüyorsunuz.

En iyi ERC-20 tokenları Kategori Piyasa değeri (yaklaşık)
USDT (Tether) Stablecoin 140 milyar doların üzerinde
USDC (Daire) Stablecoin 60 milyar doların üzerinde
LINK (Zincir Bağlantı) Oracle ağı 8 milyar doların üzerinde
UNI (Uniswap) DEX yönetimi 4 milyar doların üzerinde
DAI (Yapımcı) Merkeziyetsiz stablecoin 5 milyar doların üzerinde
AAVE Kredilendirme protokolü 2 milyar doların üzerinde
SHIB (Shiba Inu) Memecoin 6 milyar doların üzerinde
MKR (Üretici) Yönetişim 1,5 milyar doların üzerinde

ERC-20 tokenı oluşturmak: düşündüğünüzden daha kolay

Bir keresinde YouTube canlı yayınında birinin ERC-20 token'ını nasıl dağıttığını izledim. 14 dakika sürdü. Buna, yaptığı işlemleri izleyicilere açıklamak için harcadığı süre de dahildi.

Bu, yayıncının ne kadar zeki olduğunu göstermek için yapılan bir övünme değil. Bu, OpenZeppelin'in bunu ne kadar kolaylaştırdığının bir ifadesi. OpenZeppelin, tüm ağır işleri yapan, denetlenmiş, denenmiş ve test edilmiş Solidity kodlarından oluşan bir kütüphanedir. Token adınızı ("MyToken"), sembolünüzü ("MTK"), ondalık basamak sayınızı (ETH ile aynı olan 18) ve başlangıç arzınızı seçersiniz. Kütüphane altı ERC-20 fonksiyonunu, olayları ve güvenlik kontrollerini halleder. Şablonu kopyalarsınız, dört değişkeni değiştirirsiniz, Ethereum'a dağıtırsınız ve gerçek bir token'ınız olur.

Dağıtım için gas maliyetleri dalgalanır. Sakin bir ağ mı? Belki 20-50 dolar. NFT basım günü gibi en yüksek yoğunlukta mı? 200-500 dolar. Ethereum ana ağı yerine Arbitrum veya Base'e dağıtım yaparsanız, maliyet birkaç dolara düşer. Finansal engel neredeyse sıfırdır.

İşte bu erişilebilirliğin karanlık yüzü. Ethereum blok zinciri, bir token sözleşmesinin meşru olup olmadığını kontrol etmez. Ekipleri doğrulamaz, kodu denetlemez veya iş modellerini değerlendirmez. Gas ücretini ödeyebiliyorsanız, bir token dağıtabilirsiniz. Bu nedenle Etherscan, yüz binlerce token sözleşmesini listeliyor ve bunların çoğu ya terk edilmiş deneyler ya da aktif dolandırıcılıklardır. ERC-20 standardı uyumluluğu garanti eder. Tokenin elde tutulmaya değer olup olmadığı konusunda kesinlikle hiçbir şey garanti etmez.

ERC-20 ve diğer Ethereum token standartları

İnsanlar bana "ERC-20 tek token standardı mı?" diye soruyor. Hayır. Kesinlikle değil. Ama işe yarayan ilk standarttı ve ondan sonra gelenler ERC-20'nin çözemediği sorunları giderdi.

ERC-721 geldi ve bize NFT'leri kazandırdı. Her ERC-20 token'ı birbirinin yerine geçebilirken (sizin USDC'niz benim USDC'mle aynı), her ERC-721 token'ı benzersiz bir kimlik numarasına sahiptir. Bored Ape #4293, Bored Ape #7810'dan tamamen farklı bir varlıktır. Arka planda benzer işlev adları olsa da, mantık genel miktarlar yerine bireysel öğeler üzerinde çalışır. Yarım Bored Ape gönderemezsiniz. Ya hepsi ya da hiçbiri.

ERC-1155, her eşya türü için ayrı sözleşmeler kullanmaktan bıkan oyun geliştiricilerinden geldi. Tek bir sözleşme altın paraları (ERC-20 gibi değiştirilebilir), demir kılıçları (yarı değiştirilebilir, 50 özdeş kopya) ve benzersiz efsanevi bir kaskı (değiştirilemez, tek örnek) yönetir. Toplu transferler gaz tasarrufu sağlar. 100 ayrı işlem yerine tek bir işlemle 100 farklı eşya taşınır.

BEP-20, Binance Smart Chain'in kendi sürümüne verdiği isimdir. Aynı işlevler, aynı olaylar, farklı blok zinciri. Daha ucuz bir ağda ERC-20'nin kopyala-yapıştır hali. Solana'nın SPL standardı, tamamen farklı bir mimariyle aynı işi yapıyor çünkü Solana, Ethereum ile uyumlu olacak şekilde tasarlanmamıştı.

Standart Token türü Değiştirilebilir mi? Kullanım örnekleri
ERC-20 Değiştirilebilir token Evet Para birimleri, yönetişim, kamu hizmetleri Ethereum
ERC-721 Değiştirilemez token Hayır (benzersiz kimlikler) NFT'ler, dijital sanat, koleksiyonluk eşyalar Ethereum
ERC-1155 Çoklu token İkisi birden Oyun, karma varlık türleri Ethereum
BEP-20 Değiştirilebilir token Evet ERC-20 ile aynı BNB Zinciri
SPL Değiştirilebilir + NFT İkisi birden Solana ekosistemi Solana

DeFi'de ERC-20 tokenları: Bu standart neden merkeziyetsiz finansı güçlendiriyor?

ERC-20'yi ortadan kaldırırsanız, DeFi bir gecede çöker. "Zorlanır" değil, çöker. Sistemin her parçası, token'ların aynı dili konuştuğunu varsayar.

Uniswap, bir havuzda iki ERC-20 token'ını eşleştirir ve aralarında takas yapmanıza olanak tanır. USDC için çalışır. SHIB için çalışır. Arkadaşınızın gece 2'de piyasaya sürdüğü o memecoin için de çalışır. DEX, token'ın ne yaptığıyla ilgilenmez. Sadece sözleşmenin transfer() ve approve() fonksiyonlarını uyguladığıyla ilgilenir. Bir likidite havuzu ekleyin ve ticaret başlasın. Listeleme başvurusu yok. Borsa incelemesi yok. Bekleme süresi yok.

Aave ve Compound, ERC-20 token'ları ödünç veriyor. Protokol, yatırdığınız miktarı görmek için balanceOf() fonksiyonunu çağırıyor. Token'ları transfer etmek için transfer() fonksiyonunu kullanıyor. Borçları geri ödediğinizde approve() ve transferFrom() fonksiyonlarını kullanıyor. Yeni bir token için ödünç verme piyasası, token'ın piyasaya sürüldüğü gün kurulabilir, çünkü arayüz zaten biliniyor.

Sonra da garip ETH sorunu var. ETH, ERC-20'den önce var olduğu için standarda uymuyor. Bu da birleştirilebilirliği bozuyor. Çözüm: WETH. Wrapped Ether, yerel ETH'nin etrafında bir ERC-20 sarmalayıcısıdır. 1 ETH yatırırsanız, DeFi protokollerinin normal şekilde işleyebileceği 1 WETH alırsınız. WBTC de Bitcoin için aynı şeyi yapıyor ve BTC'nin değerini, gerçek Bitcoin'lerle 1:1 oranında desteklenen bir ERC-20 tokenı olarak Ethereum ekosistemine getiriyor.

Pratik sonuç: Bugün, henüz var olmayan tokenlar da dahil olmak üzere, şimdiye kadar oluşturulmuş her ERC-20 tokenıyla çalışan bir DeFi protokolü oluşturabilirim. Kodumun özellikle USDT hakkında bilgi sahibi olmasına gerek yok. Yarın birisi yeni bir stablecoin piyasaya sürdüğünde güncellemeye de gerek yok. Arayüz her şeyi hallediyor. Bu birleştirilebilirlik, Ethereum'un diğer tüm blok zincirlerinden daha fazla DeFi aktivitesine, daha fazla TVL'ye ve daha fazla geliştirici aracına sahip olmasının nedenidir. ERC-20 standardı, diğer her şeyin üzerine oturduğu temeldir.

Güvenlik riskleri ve ERC-20 ile ilgili sık karşılaşılan sorunlar

Size DeFi kullanıcılarına milyonlarca dolara mal olan ve neredeyse hiç kimsenin başına gelene kadar anlamadığı onay hatasından bahsedeyim.

Uniswap'te token takası yaptığınızda veya Aave'ye token yatırdığınızda, dApp sizden tokenlarınızı harcamak için "onay" vermenizi ister. Çoğu dApp varsayılan olarak sınırsız onay verir. Bunun ne anlama geldiğini anlayana kadar zararsız gibi görünür: akıllı sözleşme, cüzdanınızdaki o türdeki her tokenı, istediğiniz zaman, sonsuza dek, siz açıkça izni iptal edene kadar harcayabilir. Eğer sözleşme altı ay sonra hacklenirse, saldırgan eski onayınızı kullanarak, erişim izni verdiğinizi unuttuğunuz tokenlarınızı tüketebilir.

Bu durum yaşandı. Birden fazla kez. Çözüm basit ama can sıkıcı: Her işlem için yalnızca ihtiyacınız olan tam miktarı onaylayın. Ya da unuttuğunuz eski onayları temizlemek için Revoke.cash'i kullanın. Ben kendi onay listemi birkaç ayda bir kontrol ediyorum. Her zaman beklediğimden daha kötü oluyor. ERC-2612, zincir üstü onayları imzalı izinlerle değiştiren ve bu riski azaltan daha yeni bir standarttır. Ancak çoğu dApp hala eski modeli kullanıyor.

Sahte tokenlar her hafta insanları tuzağa düşürüyor. Bir dolandırıcı, "Uniswap" veya "Chainlink" adında, biraz farklı bir sözleşme adresine sahip bir ERC-20 sözleşmesi yayınlıyor. Bunu bir DEX'te arıyorsunuz, tanıdık ismi görüyorsunuz ve sahtesini satın alıyorsunuz. Paranız doğrudan dolandırıcının cüzdanına gidiyor. Gerçek LINK sözleşme adresi 0x514910771AF9Ca656af840dff83E8264EcF986CA'dır. Sahtesi 0x514910...başka bir şey olabilir. Adresi her zaman CoinGecko'dan veya resmi proje sitesinden kopyalayın. Asla sadece isimle arama yapmayın.

Bir de gizli hileler içeren tokenlar var. Yüzeyde, sözleşme standart bir ERC-20 gibi görünüyor. Ancak altında, geliştirici sınırsız sayıda yeni token basmasına olanak tanıyan bir işlev eklemiş olabilir. Ya da takas yapmaya çalıştığınızda tokenlarınızın %99'unu alan bir satış vergisi. Veya geliştirici dışında kimsenin satış yapmasını engelleyen bir kara liste. ERC-20 standardı, bir sözleşmenin ne yapamayacağı konusunda hiçbir şey söylemez. Sadece minimum işlevleri belirtir. Geri kalan her şey geliştiriciye kalmıştır. Token denetimleri, DextScore ve Etherscan'deki doğrulanmış sözleşmeler, standardın basitliği ile dolandırıcıların yaratıcılığı arasındaki bu boşluk nedeniyle var olmuştur.

Sorusu olan?

Evet. Herkes Solidity ve OpenZeppelin ve Remix IDE gibi araçlar kullanarak Ethereum üzerinde bir ERC-20 token`ı dağıtabilir. Teknik engel düşüktür. Temel bir token`ın oluşturulması bir saatten az sürer ve ağ koşullarına bağlı olarak dağıtım için 20-500 dolar arasında gas ücreti alınır. Zor olan kısım token`ı oluşturmak değil, token oluşturmaya değer bir şey inşa etmektir.

Ethereum üzerinde 500.000`den fazla ERC-20 token sözleşmesi kullanıma sunuldu. Bunların çoğu aktif değil, terk edilmiş veya dolandırıcılık amaçlı. Birkaç bin tanesi ise anlamlı işlem hacmine ve gerçek kullanıma sahip. Piyasa değerine göre en büyük ERC-20 tokenları (USDT, USDC, LINK, UNI, DAI) toplam değerin büyük çoğunluğunu temsil ediyor.

Hayır. ERC-20 teknik standarttır (taslak). USDT ise ERC-20 standardını kullanan belirli bir stablecoin tokenıdır. ERC-20`yi USB spesifikasyonu, USDT`yi ise belirli bir USB cihazı olarak düşünün. USDT ayrıca diğer blok zincirlerinde (Tron, Solana, Avalanche) kendi token standartlarını kullanarak da mevcuttur, ancak Ethereum sürümü bir ERC-20 tokenıdır.

Özel token`ları destekleyen herhangi bir Ethereum cüzdanı, bir ERC-20 cüzdanıdır. MetaMask, Trust Wallet, Coinbase Wallet, Rainbow, Plisio, Trezor ve Ledger`ın tümü ERC-20 token`larını görüntüler ve yönetir. Bir token`ın sözleşme adresini MetaMask`e eklediğinizde, bakiyenizi göstermek için ERC-20 fonksiyonlarını (balanceOf, symbol, decimals) okur. ERC-20 token`ları için özel bir cüzdana ihtiyacınız yoktur. Ethereum`a bağlanan herhangi bir cüzdan çalışır.

Hayır. Coinbase bir kripto para borsasıdır. Ancak Coinbase, Ethereum ağı üzerinden para yatırma ve çekme işlemleri için ERC-20 token`larını desteklemektedir. Coinbase ayrıca, ERC-20 token`larının daha düşük gas ücretleriyle kullanılabileceği Ethereum üzerinde bir Katman 2 ağı olan Base`i de kurmuştur. Coinbase hesabınıza bir ERC-20 token gönderiyorsanız, fonlarınızı kaybetmemek için Ethereum ağını (veya doğru L2 ağını) seçtiğinizden emin olun.

Hayır. ETH, Ethereum`un yerel kripto para birimidir. Protokol seviyesinde mevcuttur ve ERC-20 standardından daha eskidir. ERC-20 token`ları, akıllı sözleşmeler kullanılarak Ethereum üzerine inşa edilir. ETH, ERC-20 kurallarına uymadığı için, DeFi`de kullanılmak üzere ETH`ye ERC-20 uyumlu bir format kazandırmak amacıyla WETH (Wrapped ETH) mevcuttur. Çoğu DeFi protokolüyle etkileşim kurduğunuzda, ETH`niz arka planda otomatik olarak WETH`e dönüştürülür.

Ready to Get Started?

Create an account and start accepting payments – no contracts or KYC required. Or, contact us to design a custom package for your business.

Make first step

Always know what you pay

Integrated per-transaction pricing with no hidden fees

Start your integration

Set up Plisio swiftly in just 10 minutes.