DOLAR
17,3315
EURO
18,2767
ALTIN
1.027,28
BIST
2.535,92
Adana Adıyaman Afyon Ağrı Aksaray Amasya Ankara Antalya Ardahan Artvin Aydın Balıkesir Bartın Batman Bayburt Bilecik Bingöl Bitlis Bolu Burdur Bursa Çanakkale Çankırı Çorum Denizli Diyarbakır Düzce Edirne Elazığ Erzincan Erzurum Eskişehir Gaziantep Giresun Gümüşhane Hakkari Hatay Iğdır Isparta İstanbul İzmir K.Maraş Karabük Karaman Kars Kastamonu Kayseri Kırıkkale Kırklareli Kırşehir Kilis Kocaeli Konya Kütahya Malatya Manisa Mardin Mersin Muğla Muş Nevşehir Niğde Ordu Osmaniye Rize Sakarya Samsun Siirt Sinop Sivas Şanlıurfa Şırnak Tekirdağ Tokat Trabzon Tunceli Uşak Van Yalova Yozgat Zonguldak
İstanbul
Parçalı Bulutlu
26°C
İstanbul
26°C
Parçalı Bulutlu
Salı Açık
29°C
Çarşamba Az Bulutlu
27°C
Perşembe Az Bulutlu
25°C
Cuma Az Bulutlu
26°C

De-Fi Dersleri VI – Uniswap V2

De-Fi Dersleri VI – Uniswap   V2
07.06.2022 23:39
0
A+
A-

De-Fi Dersleri VI- Uniswap V2

1- Order Book nedir ?

Türkçe karşılığı emir defteri yada emir tahtasıdır. Alım satıma konu olan finansal varlıkların fiyat oluşumu bu emir defterleri üzerinden gerçekleştirilir. Bu defterin bir tarafından satıcılar satmak istedikleri fiyattan diğer tarafında ise alıcılar almak istedikleri fiyat üzerinden sıralanır. Aşağıdaki örnekte görüldüğü üzere alıcı ve satıcının buluştuğu noktada (örnekte 11224.9 dolar) ilgili varlık için fiyat oluşur. Aşağıdaki örnekte kırmızı renk SATICILAR ‘ı yeşil renk ise ALICILAR’ı temsil etmektedir.

2- Neden emir defterini (order book) kullanmıyoruz?

Bu defter merkezi sistem üzerinden çalışmaktadır. Alıcılar ve satıcılar, merkezi bir hizmet sağlayıcının verdiği alana giriş yapıp işlemlerini gerçekleştirmektedir. Merkezi token/coin borsalarını düşünün yada direkt borsaları düşünün. Bu işlemlerin ne kadar gerçek olduğunu bilemezsiniz. Belki bu sistemi sağlayan kurum, işlemleri manipüle etmek adına kötü yazılımlar kullanmaktadır.

3- AMM nedir ?

Automated Market Maker (Otomatik Piyasa Yapıcı), merkezi olmayan borsaların(DEX) çalışma prensibine verilen genel addır. Bu piyasalarda her token/coin çiftlerinin oluşturduğu havuzlarda işlem yapılmaktadır.

Her token(coin) çiftinin bir havuzu vardır.

Mesela, BTC-ETHER havuzu, AVAX-ETH havuzu

Çiftler arasındaki parite(değişim oranı) burada AMM mantığı ile hesaplanır.

Aşağıda uniswap v3 havuzları görülmektedir.

4- Basit AMM mantığı nasıl işler ?

Havuzdaki tokenların miktarsal çarpımları sabit bir katsayıya eşittir. Sabit fonksiyonu düşünün.

x* y = k

x ile y nin çarpımı hep k ya eşittir.

Basit bir örnek

x:10

y:20

x*y=200

Diyelim x=5 oldu y de sabit fonksiyonu sağlamak için 40 olur.

5*40=200

5- Uniswap v2 nasıl işler ?

Uniswap v2 havuzlarında AMM sistemi fee ile uygulanmaktadır. İlgili havuzlara token/coin koyanlara bir gelir sağlanması gerektiğinden, uniswap bu teşvik mekanizmasını havızdan yapılan swaplarda fee alarak sağlamaktadır. Bu fee, uniswap v2 de binde 3‘dür.

Kaynak:https://github.com/runtimeverification/verified-smart-contracts/blob/master/uniswap/x-y-k.pdf

Bu dokuman üzerinde ilk olarak havuzlarda yapılan swaplarda token miktarlarının nasıl değiştiği gösterilmektedir.

Gözünüz korkmasın, alın size bir uygulama.

ETH/TOKEN havuzunda

1000 ETH ve 10000 Token var

x*y=10.000.000

Havuza 4 ether veriliyor karşığında kaç token alalım ki sabit katsayı olan 10.000.000 değişmesin

(x+Δx)(yΔy)=xy

(1000 + 4 ) (10000-Δy )=10.000.000

Δy =39.84 bulunur

Sağlama yapalım

(1004) * (9960.16)=10.000.000

Şimdi bu işlemleri fee ile görelim.

(x+rΔx)(yΔy)=xy

Uniswap v2’de fee %0.3 dür.

Buradaki r değeri ise (1-%0.3)=0.997

ETH/TOKEN havuzunda

1000 ETH ve 10000 Token var

x*y=10.000.000

Havuza 4 ether veriliyor karşığında kaç token alalım ki sabit katsayı olan 10.000.000 değişmesin

(x+rΔx)(yΔy)=xy

(1000 + 0.997*4) (10000-Δy )=10.000.000

Görüldüğü üzre fee, olayın çerçevesini değiştiriyor. Sistem sizden 4.01 adet ETH vermenizi istiyor bunun karşılığında 39.722 diğer tokendan alıyorsunuz.

Δy =39.72 bulunur

Sağlama yapalım

(1003.988) * (9960.278)=10.000.000

6- Uniswap V2’de fiyat nasıl oluşur ?

Uniswap V2 de fiyatlar her havuzda yapılan değişimlerin birbirine oranlanması üzerinden yapılır.

ETH/TOKEN havuzunda

1000 ETH ve 10000 Token vardı.

Bu durumda 1 ETH = 10 TOKEN

Havuza 4 ETH verilip 39.72 TOKEN alındı.

Bu durumda 1 ETH = 9.93 TOKEN

Bu matematiği sabit katsayı ile ilişkilendirmek istersek aşağıdaki matematik ortaya çıkacaktır.

P= y/x ise

y yerine P*x yazabiliriz;

x*y=L² iken

x*x*P=L²

x=L / sqrt(P) [ x’in fiyatı]

P= y/x ise

x yerine y/P yazabiliriz;

x*y=L² iken

y/P * y=L²

y= L * sqrt(P) [ y’in fiyatı]

7- Bir Uniswap v2 Havuz Örneği

Havuzumuz DAI/ETH havuzu olsun.

Aşağıdaki işlemde havuza 607.21 DAI verilip 0.3209 ETH alınmış inceleyelim.

İncelemek için etherscan e gidelim.

İşlem öncesinde havuzda Reserve0=8.773.553 adet DAI ve Reserve1=4.650 adet ETH varmış.

Havuza 607.21 DAI verilip 0.3209 ETH alınmış .

Şu kodu anlamamız zorunlu. Özür dilerim.

balance0= reserve0 + amount0In

balance0= 8.773.553 + 607.21=8.774.143

amount0In=607.21 dönecek

amount1In=0 dönecektir.

İşlem sonrası düzeltilmiş değerleri hesaplıyoruz.

balanceOAdjusted ise= 8.774.143 *1000 -(607.21 *3)

balance1Adjusted ise= 4.649,95 *1000 – (0*3)

geliyoruz

balanceOAdjusted* balance1Adjusted >= reserve0* reserve1*(1000^2)

Uniswap v2 nedir

Uniswap Scdevstr Doc.Dr Engin Yilmaz 09062022

Kaynaklar:

https://jeiwan.net

https://medium.com/@jarekcoding/math-behind-uniswap-swap-part1-88dcc18a9612

https://github.com/Uniswap/v2-core/blob/master/contracts/UniswapV2Pair.sol

https://mirror.xyz/roherrera.eth/BMg6IoBHO8fNuyvmAuSDqjWf3ur-YZEAsNyG-aA1f9Y

https://docs.uniswap.org/protocol/V2/concepts/core-concepts/oracles

https://v2.info.uniswap.org/pair/0xa478c2975ab1ea89e8196811f51a7b7ade33eb11

https://github.com/runtimeverification/verified-smart-contracts/blob/master/uniswap/x-y-k.pdf

ETİKETLER: , ,
Yorumlar

Henüz yorum yapılmamış. İlk yorumu yukarıdaki form aracılığıyla siz yapabilirsiniz.