Kısaca Ethereum Nedir?
Ethereum, herkese açık, açık kaynaklı, eşler arası bir sanal makine ağıdır. Akıllı kontrat fonksiyonuna sahip blockchain temelli dağıtılmış bir hesaplama platformu ve işletim sistemidir. Diğer bir deyişle, herhangi birinin kullanabileceği merkeziyetsiz bir süper bilgisayardır. Ethereum’un en yaygın kullanımı Ether ve ERC20 tokenları gibi dijital varlıkların mülkiyetini takip etmektir. Fakat birçok farklı merkeziyetsiz uygulamayı da (dApp’ler) destekler.
Ethereum’un Özellikleri Nelerdir?
Akıllı Kontratlar
Vitalik Buterin, Bitcoin güvenli işlem teknolojisini genişletmiş ve işlemin kendisinin bir kontratla güvenceye alınabileceğini teorik olarak bulmuştur. Kontrat, iki parti arasında tek ya da çift yönlü bir takasın yapılacağına dair verilen sözü güvenceye alan bir anlaşmadır. Buterin aklında bu fikirle, blockchain ağı üzerindeki herhangi bir işlemin, iki partinin anlaşmaya varması durumunda kendiliğinden uygulamaya konacağı ve açık blockchain kayıt defterinde kaydedileceği bir Ethereum Sanal Makinesi tasarlamıştır. Kontratları “akıllı” yapan bu kendiliğinden uygulamaya koymadır ve bu sayede işletme güvenilirliğine yönelik tamamen yeni bir dünya ve dolayısıyla da yeni bir ekonomi yaratmıştır. Akıllı kontratların faydaları:
- Aracıyı ortadan kaldırarak, kullanıcıya tam kontrol sunar ve ekstra masrafları ortadan kaldırır
- Açık blockchainlerin üzerine kaydedilir, şifrelenir ve kopyalanır, böylece piyasa hareketleri tüm kullanıcılar tarafından görülebilir.
- Belgelerin manuel olarak işlenmesi için gerekli zaman ve çabayı ortadan kaldırır. Akıllı kontratlar hala düzeltilmesi gereken birkaç soruna sahip tamamen yeni bir sistemdir. Kodun harfi harfine girilmesi gerekir ve akıllı kontrat yaratılırken yapılan hatalar ya da açıklar geri döndürülemez istenmeyen sonuçların ortaya çıkmasına ve fonların kaybedilmesine neden olabilir.
Merkeziyetsiz Uygulamalar
Merkeziyetsiz bir uygulama, birçok kullanıcı/node tarafından tamamen merkeziyetsiz bir ağ üzerinde güvene dayalı olmayan protokollerle çalışan bir uygulamadır. dApp’ler tek bir hata ya da kontrol noktası olmaması için tasarlanmıştır. Genellikle, kullanıcıları hesaplama gücüne katkıda bulundukları için ödüllendirmek üzere tokenlara ve teşviklere sahip olurlar.
ERC-20 Nedir?
Ethereum olarak bilinen popüler kripto para birimi ve blockchain sistemi, satın alınabilen veya takas edilebilen tokenlerin kullanımına dayanmaktadır. Bu durumda, tokenlar, IOU’lar ve hatta gerçek dünyadaki somut nesneler gibi çeşitli dijital varlıkları temsil eder. Bu şekilde tokenlar aslında Ethereum blok zincirini kullanan akıllı sözleşmelerdir.
ERC-20 tokenları yalnızca Ethereum platformunda tasarlanmış ve kullanılan tokenlerdir. Paylaşılabilmeleri, diğer tokenlerle değiştirilebilmeleri veya bir kripto cüzdanına aktarılabilmeleri için bir standartlar listesi izlerler.
Ethereum topluluğu bu standartları üç isteğe bağlı ve altı zorunlu kuralla oluşturdu.
İsteğe Bağlı Kurallar
- Token Name
- Symbol
- Decimal (up to 18)
Zorunlu Kurallar
- totalSupply
- balanceOf
- transfer
- transferFrom
- approve
- allowance
Bu kurallara geçmeden önce ERC20 hakkında daha detaylı bilgiler edinelim.
ERC-20 Hakkında Bilinmesi Gereken Temel Noktalar
- Bitcoin’den sonra en popüler ikinci kripto para birimi olan Ethereum ve Ethereum’un blockchain sistemi, satılabilen veya takas edilebilen tokenlerin kullanımına dayanmaktadır.
- ERC-20, token uygulaması için Ethereum blok zincirindeki tüm akıllı sözleşmeler için kullanılan teknik standart olarak ortaya çıkan denir.
- ERC-20 standardı nispeten yeni kaldığı için, Ethereum gelişmeye devam ettikçe muhtemelen çözülmesi gereken hatalar olacaktır.
- Bir ERC20 tokenı, bitcoin, ether ve bitcoin cash ile benzer işlevselliğe sahip blok zinciri tabanlı bir varlıktır: değeri tutabilir ve gönderilip alınabilir.
- ERC20 tokenları ve diğer kripto para birimleri arasındaki en büyük fark, ERC20 tokenlarının Ethereum blok zincirinde oluşturulması ve barındırılmasıdır. Oysa Bitcoin ve Bitcoin Cash, ilgili blok zincirlerinin yerel para birimleridir.
- ERC20 jetonları ethereum adresleri ve işlemleri kullanılarak depolanır ve gönderilir ve işlem ücretlerini karşılamak için gaz kullanır.
Neden ERC-20?
ERC20, Ethereum (ETH) ağında iyileştirmeler öneren resmi bir protokoldür. ERC, Ethereum Requests for Comment anlamına gelir ve 20 teklif tanımlayıcısıdır. Bu, Ethereum blok zincirinde token oluşturmak için ortak bir standarttır. Bu token standardı, tüm ERC20 tokenları için birbirleriyle sorunsuz bir şekilde etkileşime girmelerine izin veren bir dizi kural tanımlar.
Cüzdanlar ve borsalar, çeşitli ERC20 tokenlerini platformlarına entegre etmek ve ERC20 tokenleri ile diğer kripto para birimleri arasındaki değişimi kolaylaştırmak için kullanıyor.
ERC20’yi daha yakından tanıyacağız ancak buna geçmeden önce token ve coin arasındaki farka kısaca bir değinelim.
Token ve Coin Arasındaki Fark Nedir: Bazen bir kişinin “token” olarak bahsettiği bir şeyden diğer bir kişi “coin” olarak bahsedebilir ya da tam tersi durum söz konusu olabilir fakat gerçekte bunların her ikisi de değer transferi yapan Dijital Varlıklardır. Coinler genellikle ETH, BTC, LTC gibi ağların içinde yaratılmıştır. Tokenlar ise blockchain üzerindeki bir uygulama içinde yaratılmış Dijital Varlıklardır. Ethereum ağı içinde bunlara ERC20 tokenı adı verilir.
ERC-20’yi Anlamak
Hızlı bir şekilde yeniden hatırlatmak için; Ethereum blockchain, dağıtılmış, açık kaynaklı, blockchain tabanlı bir bilgi işlem platformudur. Bu bilgi işlem platformu olan Ethereum ağı, akıllı sözleşmeler adı verilen kod parçalarıyla yürütülen merkezi olmayan uygulamaları (dapps) barındırır. Ethereum ağındaki tüm işlemlerin yanı sıra akıllı sözleşmelerin yürütülmesi için hesaplama maliyetleri, Ethereum kripto para birimi ether ile ödenir.
Bu dapplerin (merkezi olmayan uygulamalar) hepsi olmasa da bazıları ek bir dapp içi para birimi gerektirir – bu dapp’ler token adı verilen yeni para birimlerini tanıtır ve bir ilk para teklifi (ICO) aracılığıyla para toplarlar.
Ethereum blockchain platformu, dijital varlıkların oluşturulması, bakımı ve aktarılmasını gerektirenler de dahil olmak üzere her türlü dappi teşvik edecek şekilde inşa edilmiştir. Bu dapp’e özgü Ethereum tokenleri, tarayıcı çapında ödemeler ve kripto para birimi banka kartı gibi anlamlı kullanım durumlarına sahip bir dapp ağı oluşturmak için uygulanabilir.
Daha önce bahsedilen tüm fikirler şu anda çok yaygın bir token programlama standardını takip eden canlı Ethereum tabanlı dapp-tokenlerdir; aslında, konuşlandırılan tüm Ethereum tokenlerinin %99’u ERC20 standardını izler.
”Ethereum Requests for Comment” anlamına gelen ERC20 token standardı, tüm Ethereum tabanlı tokenlerin izlemesi beklenen standart bir “kurallar” programlama setidir. Geliştiriciler, Ethereum ağı üzerinden iletişim kurarken beklenen davranışları normalleştirmek için bu altı işlev ve iki olay üzerinde minimum uygulanabilir simge olarak anlaştılar. Ethereum geliştiricileri harici akıllı sözleşmelerle kolayca çalışabilirler.
ERC20 Standartının Yararları
ERC20 token standartından önce, Ethereum ağında bir token başlatmak için kendi standartlarını ve uygulamalarını belirlemek üzere farklı başlangıçlar veya DApp’ler kuruldu.
Ethereum ile birlikte ERC20 standartının tanıtımı daha da arttı. Ayrıca, ERC20 standartının başka birçok avantajı vardır:
• Standartlaştırılmış teknoloji ve protokol.
• Her türlü token uygulamasını daha anlaşılır hale getirdi.
• ERC20 tokenlerinin artan likiditesi.
• Sözleşmelerde kırılma riski düşüktür.
Ethereum ağında, her biri kendi standartlarına ve kurallarına sahip 100 tokenın başlatıldığı bir senaryo düşünün. Bu, bu tür tokenlar için bir likidite sorunu ve bunları uygulamaya çalışan borsalar için çok fazla baş ağrısı yaratacaktır. Bu senaryoda, bir token borsaya her girdiğinde, listelenmek için kendini ayarlaması gerekir.
Ancak, ERC20’nin standartlarına ve tekdüzeliğine sahipseniz, tokenlerin ERC20’yi takip etmesi şartıyla, kullanıcıların bu değişimleri hızlı bir şekilde listelemesi çok uygun olacaktır.
ERC-20 Geliştiricileri Güçlendiriyor
ERC-20, en önemli tokenlardan biri için, Ethereum blok zincirindeki tüm akıllı sözleşmelerde kullanılan teknik standart olarak bilinir. 16 Nisan 2019 itibariyle, Ethereum ana ağında 181.000’den fazla ERC-20 uyumlu token bulunmaktadır.
ERC-20 hayati öneme sahiptir. Çünkü ERC-20 Standartı, tüm Ethereum tokenlarının uyması gereken ortak bir kurallar listesi tanımlar. Sonuç olarak, bu özel token, yeni tokenlerin daha büyük Ethereum sisteminde nasıl çalışacağını doğru bir şekilde tahmin etmeleri için her tür geliştiriciyi güçlendirir. Bu, geliştiricilerin görevlerini basitleştirir ve kolaylaştırır. Çünkü token kurallara uyduğu sürece, yeni bir token çıktığında her yeni projenin yeniden yapılması gerekmeyeceğini bilerek, çalışmalarına devam edebilirler. Neyse ki, şimdiye kadar token geliştiricilerinin büyük çoğunluğu ERC-20 kurallarına uygun hareket etti. Bu da Ethereum başlangıç para teklifleri aracılığıyla piyasaya sürülen tokenlerin çoğunun ERC-20 uyumlu olduğu anlamına geliyor.
ERC-20 Tokenlarının Kullanım Alanları
ERC-20 tokenları pek çok kullanım alanına sahip bulunuyor. Varlık sahip sertifikalarında, proje hisselerinde, sadakat puanlarında veya yalnızda kripto para olarak kullanılabilmektedirler. Üstelik ERC-20 tokenlerin bu işlerin sadece birini gerçekleştirebildiği gibi birkaçını aynı anda da gerçekleştirebilmektedir.
ERC-20 Altı Farklı İşlev Belirtiyor
ERC-20, Ethereum sistemindeki diğer tokenlerin yararına altı farklı işlev tanımlar. Bunlar genellikle belirteçlerin aktarıldığı yöntem ve kullanıcıların belirli bir tokunla ilgili verilere nasıl erişebileceği gibi temel işlevsellik sorunlarıdır.
Hep birlikte, bu işlevler ve sinyaller seti, farklı türdeki Ethereum tokenlerinin Ethereum sistemi içindeki herhangi bir yerde düzgün bir şekilde çalışmasını sağlar. Bu nedenle, ether para birimini destekleyen neredeyse tüm dijital cüzdanlar ERC-20 uyumlu tokenleri de desteklemektedir. Ancak ERC-20 standardı nispeten yeni kaldığı için, Ethereum olgunlaşmaya devam ettikçe düzenlenmesi gereken hatalar olacaktır.
- Allowance: Allowance işlevi, iki adresin tekrarlanan tek yönlü aktarım oluşturmasına olanak tanır.
- Approve: Approve işlevi, uygun şekilde adlandırılmış, cüzdan sahibinin kendi adına bir ödenek bağlamında yapılacak bir işlemi “onaylamasını” isteyen basit bir standart işlevdir. Bu işlev iki giriş gerektirir, gönderenin adresi ve gönderilen token miktarı.
- BalanceOf: BalanceOf, tek bir adres giriş parametresini kabul eden sezgisel bir işlevdir.
- TotalSupply: TotalSupply işlevi, adından da anlaşılacağı üzere, canlı Ethereum ağına ilk dağıtım anında yalnızca bir kez çalıştırılan anonim bir oluşturucu işlevidir.
- Transfer: Transfer işlevi, herhangi bir ERC20 belirtecinin temel işlevidir; doğrudan cüzdan sahibinden token aktarımını tanımlar ve uygular.
- TransferFrom: TransferFrom işlevi, akıllı bir sözleşmenin cüzdan sahibi adına iletilen parametrelerle bir aktarım gerçekleştirmesine izin verir. TransferFrom işlevi üç giriş parametresine sahiptir; cüzdan sahibinin adresi, alıcı cüzdanının adresi ve gönderilen token miktarı.
Yukarıda ayrıntıları verilen altı işlev, şu anda ERC20 tokenlerinin %99’unda bulunan altı temel işlevdir. Birkaç istisna dışında, Ethereum geliştiricileri iç sözleşmeler geliştirirken veya dış kamu sözleşmeleriyle etkileşime girerken bu temel işlevler sayesinde kendilerini güvende hissedebilirler.
ERC-20 Tokenlarına Dair Eleştiriler
ERC-20 protokolü bir token için daima tek başına yeterli olmayabilir. Sadece Etheraum temelli token yaratabilmek için ERC-20 standardı kullanılabilir. Üstelik her zaman değerli, kullanışlı, fonksiyonel tokenler yaratmayı da garanti etmez. ERC-20’nin temellerine uyarsa ve bu standartlar devam ettirilirse bir token daha da özelleştirilebilir.
Yine ERC-20 standardının bir diğer olumsuz yönü, token yayılımını sadece teknik bir düzeyde sağlamasıdır. Bu da başka türlü ICO piyasaya sürülememesinin önünü açmıştır. Yayılmış olan tokenleri sayısı her an artmakla beraber çok benzer standartlarda tokenlerin oldukça fazla sayıda olmasına yol açmıştır. Bu da yatırımcılar için seçim sürecinde kafa karışıklıklarına, sürecin daha zorlaşmasına neden olmaktadır.
ERC-20 sorunlarından bir diğeri ise bazı projelerin kurallarının kendine özgü şekilde uygulayabilmesidir. Bu, tokenlerin işleyişleri hakkında kafa karışıklıklarının daha da artmasına yol açmakta, örneğin tokenler kimi zaman başka bir ICO’ların akıllı sözleşmelerine gönderilebilmektedir. Bu sözleşmeler bu olasılıklara izin vermezler ise de bu sefer tokenler kaybolabilmektedir. Geçmişte çok sayıda token sadece bu şekilde kaybolmuş, ERC-223 teklifi de tam bu hataya karşı ortaya çıkmıştır.