Bu yazımızda Uniswap Nedir? sorunun yanıtını bulacağız. Uniswap ETH ve ERC20 tokenları arasında otomatik dijital varlık değişimini kolaylaştırmak için tasarlanmış Ethereum tabanlı bir protokoldür.
Uniswap tamamen zincir üzerinde yer alıyor ve kullanıcılar MetaMask cüzdanı olduğu sürece bu protokolü kullanabiliyorlar. Uniswap aynı zamanda bir DeFi (merkezi olmayan finans) projesi olarak da düşünülebilir.
Uniswap iki tür akıllı sözleşmeden oluşuyor:
- Değişim sözleşmesi
- Fabrika sözleşmesi
Bu sözleşmeler, Vyper akıllı sözleşme programlama dilinde yazılmış ve Uniswap protokolünün işleyişinin temelini oluşturuyorlar. Bir değişim sözleşmesi tam olarak bir ERC20 tokenini destekliyor. Her bir değişim sözleşmesi, bir ETH rezervini ve desteklenen ERC20 tokenini tutuyor.
Bu durum da, belirli bir değişim sözleşmesinde gerçekleştirilen işlemlerin, sözleşmede bulunan ETH ve ERC20 tokenlerinin göreceli arzına dayandığı anlamına geliyor. Bir değişim sözleşmesi ile gerçekleştirilen işlemler, ETH‘yi aracı olarak kullanarak doğrudan ERC20‘den ERC20‘ye işlemlere izin veriyor.
Fabrika sözleşmesi ise yeni bir değişim sözleşmesi uygulamak için kullanılabiliyor. Bu nedenle, henüz bir değişim sözleşmesi olmayan herhangi bir ERC20 tokeni, fabrika sözleşmesini kullanarak bir tane oluşturabiliyor. “CreateExchange” işlevi, Ethereum‘daki herhangi bir kullanıcının fabrika sözleşmesini kullanarak bir değişim sözleşmesi dağıtmasına izin veriyor.
Ayrıca, fabrika sözleşmesinin Uniswap değişim sözleşmeleri için bir kayıt görevi gördüğünü, yani fabrika sözleşmesinin sisteme eklenen tüm belirteç ve takas adreslerini aramak için de kullanılabileceğini belirtmek gerekiyor.
Fabrika sözleşmesi, bir takas sözleşmesi başlatıldığında bir belirteç üzerinde kontroller gerçekleştirmiyor, bu nedenle de kullanıcılar, yalnızca tam anlamıyla güvendikleri takas sözleşmeleriyle etkileşime girebiliyorlar.
Uniswap ve Likidite
Uniswap protokolünün tasarımı, geleneksel kripto para borsalarında bulunan tasarımdan biraz farklı. Geleneksel borsaların çoğu bir sipariş defteri tutuyor ve bunu belirli bir varlığın alıcıları ve satıcılarını eşleştirmek için kullanıyor. Uniswap ise, protokolünde dijital varlıkların değişimini kolaylaştırmak için likidite rezervlerini kullanıyor.
Döviz sözleşmelerindeki rezervler, bir likidite sağlayıcıları ağı tarafından sağlanıyor. Bu likidite sağlayıcıları, ERC20 token değişim sözleşmesine eşdeğer bir ETH ve ERC20 token değeri yatıyor. Bir döviz sözleşmesine likidite ekleyen ilk likidite sağlayıcısı, başlangıçta ETH ile döviz sözleşmesinin ilişkili ERC20 tokeni arasındaki döviz kurunu belirleyebiliyor.
Eğer likidite sağlayıcısı tarafından belirlenen değer daha geniş piyasa ile tutarlı değilse, o zaman arbitraj traderları, ETH ve ERC20 tokeni arasındaki değeri, piyasanın doğru bulduğu bir döviz kuruna getirebiliyor. Daha sonraki tüm likidite sağlayıcıları, yatırdıkları sıradaki döviz kurunu kullanarak likidite yatırabiliyor.
Uniswap, ayrıca kendi içlerinde ERC20 ie uyumlu olan likidite tokenlerini de kullanıyor. Bu tokenleri, bir likidite sağlayıcısının bir değişim sözleşmesine katkısının temsili olarak da düşünülebiliriz. Uniswap, her likidite sağlayıcısının katkıda bulunduğu toplam rezervlerin nispi oranını takip etmek için likidite tokenleri basabiliyor.
Ayrıca, likidite sağlayıcıları, likidite tokenlerini seçtikleri bir zamanda yakabiliyorlar, böylece ETH ve ERC20 tokenlerinin orantılı paylarını değişim sözleşmesinden çekebiliyorlar.
Likidite sağlayıcıları isterlerse, likiditeyi borsa sözleşmesinden çıkarmak zorunda kalmadan hesaplar arasında likidite tokenlerini satmayı veya transfer etmeyi de seçebilirler. (Bununla birlikte, Uniswap likidite jetonları kesinlikle bir değişim sözleşmesine özeldir. Uniswap protokolüyle ilişkili tek bir temel yerel dijital varlık yoktur.) Likidite sağlayıcıları ayrıca, “addLiquidity” işlevini çağırarak bir değişim sözleşmesine likidite yatırabiliyorlar.
Uniswap’te Ticaret: ETH ⇄ ERC20 İşlemleri
Uniswap protokolünde gerçekleşecek ticaret türü, herhangi bir ERC20 tokeni için ETH’nin değiş tokuş edilmesidir. Yukarıda da belirttiğimiz gibi, ETH ile bir ERC20 tokeni arasındaki döviz kuru, ilgili varlıkların takas sözleşmesindeki likidite havuzunun göreceli boyutuna dayanıyor.
Döviz kuru, Uniswap’in değişmez formülüyle destekleniyor: ETH havuzu * token havuzu = değişmez. Bu değişmezlik, Uniswap protokolünde herhangi bir ticaretin yürütülmesi sırasında sabit tutuluyor. Bu deeğişmezlik, sadece bir işlemin gerçekleştirildiği takas sözleşmesine likidite eklendiğinde veya çıkarıldığında değişiyor.
Daha anlaşılır olması için bir örnek vermek gerekirse:
Uniswap protokolünde, 1 ETH’nizi bir ERC20 tokeni olan BAT (Basic Attention Token) ile değiştirecek şekilde bir işlem başlatmak istiyorsunuz.
Takas sözleşmesindeki ETH havuzuna 1 ETH göndererek ticareti başlatıyorsunuz ve bunun üzerine %0,3 likidite sağlayıcı ücreti ödüyorsunuz. Kalan 0.997 ETH, ETH havuzuna ekleniyor. Daha sonra değişmez, BAT havuzunun yeni boyutunu belirlemek amacıyla likidite havuzundaki yeni ETH miktarına bölünüyor. Kalan BAT tokenleri daha sonra alıcıya gönderiliyor, bu durumda sizin aldığınız aşağıdaki gibi oluyor:
Gönderdiğiniz: 1 ETH
Ücret = 0,003 ETH
ETH havuzu = 10 + (1 – 0,003) = 10,997
BAT havuzu = 5000 / 10.997 = 454.67
Sizin aldığınız: 500 – 454.67 = 45.33 BAT
Daha önce işlem başlatıldığında alınan likidite sağlayıcı ücreti şimdi ise likidite havuzuna geri ekleniyor. Bu, likidite sağlayıcılarına bir ödeme işlevi görüyor ve likidite sağlayıcı ücreti, sağlayıcılar piyasadan likidite katkılarını kaldırdığında tahsil edilebiliyor.
Ücret, fiyat hesaplamasından sonra eklendiği için, değişim sözleşmesinde gerçekleştirilen her işlemle birlikte değişmez, kademeli olarak artıyor ve bir takas sözleşmesine likidite yatırımı, likidite sağlayıcıları için karlı hale geliyor.
ETH havuzu = 10.997 + 0.003 = 11
BAT havuzu = 454.67
yeni değişmez = 5,001,37
Uniswap’te yürütülebilecek başka bir ticaret türü ise, bir ERC20 tokenini başka bir tür ERC20 tokeniyle değiştirmek. ETH, tüm ERC20 tokenleri için ortak bir çift olarak kullanıldığından dolayı Uniswap, doğrudan ERC20’den ERC20’ye ticaret için bir aracı varlık olarak ETH’yi kullanıyor.
Böylelikle Uniswap, tümünü tek bir işlem içinde (örneğin bir değişim sözleşmesinde BAT’tan ETH’ye ve ardından başka bir değişim sözleşmesinde ETH’den OMG’ye) dönüştürmeyi mümkün kılıyor.
Bu formül normal bir pazara çok benziyor, çünkü ne kadar çok token satın alırsanız, satın alınan her ek token birimi için ödemek zorunda kalacağınız marjinal döviz kuru o kadar yüksek olur.
İşlem Ücreti (Fee) Yapısı:
Protokolde gerçekleştirilen işlemler için Uniswap ücret yapısı ise aşağıdaki gibi:
ETH’den ERC20’ye ticaret: ETH’de ödenen %0.3 işlem ücreti
ERC20’den ETH’ye ticaret: ERC20 tokeninde ödenen %0.3 işlem ücreti
ERC20’den ERC20’ye ticaret: ERC20 tokeninde ödenen %0,3 işlem ücreti (ERC20’den ETH’ye takas için) ve ETH’de ödenen %0,3 işlem ücreti (ETH’den ERC20’ye takas için).
Token Döviz Kurları
Uniswap tarafından tokenlar arasındaki döviz kurunun belirlenmesinde kullanılan değişmez formül, Mart 2018’de Vitalik Buterin tarafından yayınlanan bir gönderiden alınmış. Bu yazı baz alındığında, bir ERC20 tokeninin döviz kurları aşağıdaki formüle göre hesaplanıyor:
x * y = k
Bu formülde k, değişmeyen bir sabiti, x ve y ise belirli bir borsada mevcut olan ETH ve ERC20 tokenlerinin miktarını belirtiyor. Bu formülle, belirli bir tokenin döviz kuru her zaman yukarıdaki formülün sonuç eğrisinde belirli bir noktada olacaktır. “x * y = k” formülü, Uniswap protokolünün ayrılmaz bir parçası.

Herhangi bir birey, piyasa yapıcının x * y eğrisindeki konumunu etkin bir şekilde değiştirerek token alabiliyor veya satabiliyor. Piyasa yapıcının konumunu sağa kaydırmak, bir işlemin doğru hareket ettiği miktarın, traderın koyması gereken A tokeni miktarı olduğu anlamına geliyor. Tersine, piyasa yapıcının pozisyonunun aşağı doğru kayma miktarı ise token miktarı oluyor.
B tokeninin ETH olduğunu ve A tokeninin ise herhangi bir ERC20 tokeni olduğunu varsayarsak, x * y = k formülünü kullanarak nasıl çalışacaklarını görebiliyoruz. Belirli bir ERC20 tokeninden büyük miktarda satın almaya karar verilirse bu, söz konusu ERC20 tokeninin eksikliğine ve artan miktarda ETH’ye neden olacaktır.
Bu satın almanın sonucu, döviz kurunu x * y = k eğrisinde farklı bir noktaya taşıyacaktır. Kırmızı nokta sola kayacaktır, bu da bir ERC20 tokeninden daha fazla satın almanın daha pahalı olacağı anlamına geliyor. Bir Uniswap değişim sözleşmesindeki göreceli ETH ve bir ERC20 tokeninin arzını, sonuçta döviz kuru fiyatını belirleyen bu ERC20 tokeninin arz ve talebinin bir yansıması olarak düşünebiliriz.
Uniswap ve Arbitraj Ticareti
Arbitraj ticareti, iki pazar arasında var olan fiyat farkından yararlanan bir trader için en iyi anlaşılabilecek stratejidir. Kripto para birimi söz konusu olduğunda bu fiyat farkı, kripto para birimi borsaları arasındaki dijital varlığın fiyatındaki farklılıklarda bulunabilir. Bir trader arbitraj ticareti için bir fırsat tespit ederse, o zaman bir borsadan bir dijital varlık satın alabilir ve ardından onu başka bir kripto para borsasında satabilir.
Arbitraj ticareti, Uniswap’in işleyişi için hayati öneme sahip, çünkü traderlar, Uniswap’te oluşabilecek herhangi bir fiyat eğriliğini düzeltmek için diğer kripto para birimi borsalarında bulunan alternatif döviz kurlarından yararlanabiliyorlar.
Sonuç
- Uniswap merkezi olmayan bir sistem, bu nedenle çalışması için üçüncü şahıslara güvenmesine gerek kalmıyor. Ayrıca Uniswap, protokole bağlanmak isteyen herkes tarafından ücretsiz olarak erişilebiliyor.
- Uniswap’te işlem gerçekleştirmenin maliyeti, diğer dijital varlık borsalarına kıyasla nispeten ucuz.
- Uniswap, herhangi bir kullanıcının herhangi bir ERC20 tokeni için bir değişim sözleşmesi oluşturmasına izin veriyor.
Sonuç olarak Uniswap, varlıkların takas edilmesi sürecini çok daha verimli hale getirerek ekosistemde dijital varlık değişimlerini sağlamada önemli bir adımı temsil ediyor.