Joe v2 Likidite Defteri | Türkçe

Trader JOE’nun yeni AMM modeli, Likidite Defteri teknik makalesinin çevirisidir.

Merkeziyetsiz borsalarda likiditeyi yapılandırmak için yeni bir protokol olan Liquidity Book (LB) ile tanışın. LB protokolü, çiftlenen varlıklar piyasası için benzersiz ve dinamik likidite yapılarının oluşturulmasını sağlar. Likidite, market oluşturmak için bir araya getirilen sabit fiyat kutularında toplanır.

1 Giriş

Trader Joe (v1),  2021 yılında, Uniswap v2 likidite kontratlarını baz alan bir AMM olarak piyasaya sürüldü [1]. DeFi’nin ilerlemesiyle sermaye verimliliğinin ve likidite esnekliğinin protokollerin gelişimi için en önemli konular olduğunu gözlemledik. Bu dökümanda, JOE merkeziyetsiz borsasının yeni dönemine dair tasarımımızı  sunuyoruz.

1.1 Konsantre Likidite

Uniswap v3’de kullanıldığı haliyle sınırlandırılmış paylardan oluşan likidite , otomatik market yapıcıların (AMM*) genelinde konsantre likidite kavramına öncül oldu [2]. Konsantre likiditenin Uniswap tarafından kullanılan hali, bireysel likidite pozisyonlarının belirlenen bir fiyat aralığında likidite sağlaması ile oluşturulur. Fiyat aralıklarında bulunan rezervler, ortak, sabit bir fonksiyonu temel alarak, sadece belirlenen fiyat aralığı üzerinden alım-satım yapılmasına izin verir. Fonksiyonun ortak kullanılması,  bireysel rezerv pozisyonlarının toplanarak market oluşturmasına izin verir.

Konsantre likidite terimini sıkça duymadığımız dönemlerde dahi, Stable Swap/Curve, sabit fiyatlı varlıkların satışında kullanılması için benzer bir çözümü kullanmaktaydı. Curve v1’de sabit fiyata dayalı değişmez bir eğri kullanılıyor [3]. Derin bir likidite kullanılmasına rağmen likiditenin büyük bir kısmı fiyatın sabit kalması için kullanılıyor. Curve v2’de ise platform içi fiyat beslemesi sayesinde dinamik fiyata dayalı daha genel bir çözüm sunuluyor [4].

Uniswap ve Curve platformlarında kullanılan sabit fonksiyon algoritmaları, likidite sağlayıcılarının özelleştirebildikleri piyasa yapma stratejilerini kısıtlıyor. Bu probleme çözüm için Ayrıştırılmış Konsantre Likidite adıyla yeni ve piyasa katılımcıları için esnek bir altyapı katmanı sunuyoruz. Ayrıştırılmış Konsantre Likidite daha önceden İZİSwap tarafından limit emirler için uygulanmıştır [5].

1.2 Likidite Defteri

Likidite Defteri, varlık çiftlerine ait likiditeyi kutular şeklinde farklı fiyat bölgelerine ayırarak dizer. Kutularda bulunan rezervler, önceden belirlenen fiyat üzerinden alım-satım için likidite sağlar. Çiftlenen varlıklar için kullanılan market ayrıştırılmış likidite kutularının toparlanması ile oluşturulur. Birden fazla katılımcı (renk kodlarıyla gösterilmiştir) tarafından oluşturulan marketin likidite yapısına örnek olarak aşağıdaki görsel gösterilebilir.

Şekil 1: Likidite Yapısına Örnek
Şekil 1: Likidite Yapısına Örnek

*Otomatik Market Yapıcı teriminin İngilizce karşılığının  (Automated Market Maker) kısaltması.

2 Protokol Tasarımı

2.1 Rezervin Fiyatlandırılması

AMM’de kullanılan haliyle fiyat (P), X rezervindeki değişimin Y rezervindeki değişime oranı olarak tanımlanır. Fiyat, baz alınan varlık değerinin (X) diğer varlık (Y) cinsinden ifadesidir.

(2.1)	P= (delta y) / (delta x)

2.2 Likidite Kutusu

Likidite (L), ayrıştırılmış bir kutuya yatırılan rezervlerin sembolik değeri olarak tanımlanır ve kotasyon varlığı cinsinden ifade edilir. Kutulardaki rezerv bileşiminin değişmesiyle likidite korunur ve Denklem 2.2 deki gibi bileşik varlıklarının değer toplamı olarak tanımlanır.

Her kutu, kendine özel fiyatlandırma eğrisine (bonding curve*) sahip sabit bir piyasadır. Her kutu için kullanılan fiyatlandırma eğrisi kutunun fiyat parametrelerine (statik) ve kutuya eklenen total likidite rezervine (dinamik) göre belirlenir. Şekil 2'de gösterildiği üzere, eksenler parite rezervlerini , kutudaki toplam likiditesini (L) temsil ederken, kutunun fiyatı (Pi) fiyatlandırma eğrisinin eğimi ile tanımlanır.

(2.2)	Pi.x+y=L
Şekil 2: Rezerve Dair Bonding Curve
Şekil 2: Rezerve Dair Bonding Curve

*Bonding Curve; fiyat ve arz arasındaki ilişkiyi otomatikleştiren bir modeldir. - Hakan Yalçınsoy

2.3 Kutu Bileşimi

Yukarıda bahsi geçen tasarım nedeniyle likidite kutularındaki rezervlerin bileşimi fiyattan ve likiditeden bağımsız olmalıdır. Kutularda bulunan rezervleri ifade etmek için ayrı bir değişken kullanılabilir. Bu değişken , bileşim faktörü (c), Y rezervi olarak halihazırda depoda bulunan likiditenin yüzdesi olarak ifade edilir. Bileşim faktörü (c) [0.1] ile sınırlandırılmıştır. Likidite kutularında bulunan varlıklara ait rezervler, kutu likiditesi (L) ve bileşim faktörü (c) kullanılarak Denklem 2.4 ve 2.5 deki gibi tanımlanabilir. X ve Y rezerv kutularının bileşimine örnek olarak Şekil 3 baz alınabilir.

(2.3)	c=y/L       (2.4) y=cL      (2.5) x=L/Pi(1-c)
Şekil 3: Kutu Rezerv Bileşimi (P14 bin)
Şekil 3: Kutu Rezerv Bileşimi (P14 bin)

2.4 Piyasa Toplamı (Market Aggregation)

Bir varlık çiftine ait birden çok bireysel likidite kutuları birleştirilerek o varlık çifti için piyasa oluşturulur. Likidite kutularının rezerv durumlarının, piyasa fiyatlamasının değişimiyle birlikte X ve Y rezervleri arasında geçiş yapması beklenir. Piyasa fiyatlamasının altındaki likidite kutuları yalnızca Y varlığını içerirken piyasa fiyatlamasının üstündeki likidite kutuları da yalnızca X varlığını içerirler. Bundan dolayı piyasa fiyatı, X rezervi bulunduran en düşük fiyatlı likidite kutusu olarak belirlenir.

 Şekil 4: Toplam Likidite Bileşimi
Şekil 4: Toplam Likidite Bileşimi

2.5 Market Yapıcılık

Ayrık likidite kutuları sayesinde likidite sağlayıcıları; kendi hedefleri, beklentileri ve risk profillerine göre özelleştirebilecekleri likidite kutuları oluşturabilir ve kolaylıkla pozisyonlarını yönetebilirler. Likidite sağlayıcıları, diğer likidite kutularındaki pozisyonları etkilemeden, likiditeyi belirli fiyat noktalarına ya da aralıklarına yoğunlaştırarak ekleyebilirler. Genel olarak Likidite Defteri tasarımı market yapıcıların başarılı bir şekilde çalışabilmeleri için gereken aralığı ve derinliği ayarlamalarına izin verir.

3 Protokol Mimarisi

3.1 Market Tanımı

Maketlerin fiyat aralığı (2^-128, 2^128) arasında sınırlıdır. Bu fiyat aralığı ise ayrıştırma parametreleri olarak anılan kutu basamaklarına göre likidite kutuları şeklinde ayrıştırılmıştır. Kutuların basamak aralıkları azaldıkça markette bulunan kutu sayısı artacaktır. Eşsiz bir market ise (X,Y,s) seti ile tanımlanır.

Belirlenen bir marketteki toplam likidite kutusu adeti 2*Nb olarak tanımlanır. Denklemdeki Nb ise Denklem 3.1 ile hesaplanır ve fiyat  paritesi ile belirlenen kutu basamaklarındaki maksimum fiyat arasında oluşturulabilecek kutu adedini temsil eder.

Maksimum kutu sayısı sınırı, fiyat sınırı dışında 2^24’den  daha az olacak şekilde sınırlandırılmıştır. Potansiyel kutuların yarısının paritenin değerinden küçük ve diğer yarısının paritenin değerinden büyük bir değere atanması, maksimum kutu sayısına sahip bir market sonucunda Denklem 3.2 deki “b” sabit değerini yani paritenin tanımlayıcı kutusunu, 2^23 olarak belirler. Kutulara, bütün marketlerde  [b - Nb, b + Nb] aralığındaki pozitif tamsayı belirteci (i) atanır.

(3.1)	Nb=argmaxi ((1+s)^i < 2^128)             (3.2)  b=2^23 

3.2 Kutu Fiyatı

Kutulara belirlenen fiyatlar, paritenin kutu basamağı (s) ve kutunun tanımlayıcısına (i) dair Denklem 3.2’de gösterilen bir fonksiyondur. Kutu basamak parametresi, artan her kutudaki fiyatın sabit yüzdelik artışı veya düşüşünü belirler.

(3.3)	Pi=(1+s)^i-b

3.3 Likidite Takibi

Likidite takibinin optimizasyonu için kutular, Şekil 5’de gösterildiği üzere, 256 bitlik üç dizi iç içe geçirilerek oluşturulan bir ağaçta dizinlenir. Ağaçta bulunan her kutuya, dizin boyunca bir konumunu belirten bir yol atanır. Kutulardan herhangi birinde likidite bulunduğunda, kutunun konumunu temsil eden üç dizi öğesine sıfır dışında bir değer atanır. Bu dizin ağacı sayesinde marketteki likiditenin durumunu takip etmek, araştırmak, dışarıdan gözlemlemek olası hale gelir.

Şekil 5: Kutulara Dair Dizin Ağacı
Şekil 5: Kutulara Dair Dizin Ağacı

3.4 Takas Rotası

LB yönlendiricisi likidite ekleme/çıkarma ve takas işlemlerinde kayma oranını kontrol eder ve ek güvenlik sağlar. Ayrıca, eski AMM çiftlerinin daha iyi fiyat sunması halinde takaslar bu çiftlere yönlendirilir.

3.5 Likidite Tokenları

Marketlerde bulunan yüksek miktardaki kutuları destekleyecek şekilde, LB protokolüne özel, yeni bir likidite token standardı geliştirilmiştir. LB marketinde bulunan likidite (L), genellikle Y şartlarında değerlemesinden ve kutuların durumundan bağımsız olmasından dolayı, kutular arasında birleştirilebilir bir tasarıma sahiptir. Bundan dolayı, eklenen likiditeyi temsil eden tokenlar, LBToken, bulunduğu kutudan bağımsız olarak eşit likidite değeri taşır. Bu özellik sayesinde farklı kutularda bulunan likiditeler sorunsuz bir şekilde bir araya getirilebilirler.

LBT’ler temelde normal ERC20 likidite tokenları ile aynı olmasına rağmen basıldıklarında likiditenin konumlandığı kutuyu gösteren bir kimlik bulundurmaktadırlar. LBT kontratı, sadece ERC-20 tokenlarını bulundurabilmesi dışında ERC-1155 çoklu token standardını takip eder.

LBT’ler değiştirilebilir (fungible), fiyat konumlu likidite makbuz tokenlarıdır.

3.6 Market Parametreleri

Her market, 4.3’de daha ayrıntılı açıklanacak, market ücret (fee) oranını yöneten parametrelere sahiptir. Market için seçilen kutu basamaklarının parametrelerine göre, başlangıç parametre değerleri atanır. Marketler sadece fabrika kontratında ilişkili fee parametreleri olan kutu basamakları ile oluşturulabilir. Fee parametreleri daha sonra değiştirilebilir.

3.7 Oracle

LB marketi aşağıda belirtilen değerleri blok zinciri üzerinde kayıt altına alacak bir oracle* sistemine sahip olacaktır:

  • timestamp
  • cumulativeID
  • cumulativeAccumulator
  • cumulativeBinCrossed

Toplanan değerler farklı zaman aralıklarındaki değişiklikleri belirlemek için kullanışlıdır. Oracle, algoritmik trade ve likidite tedariği için önem arz eden, fiyatı ve fiyat oynaklığı (volatility)/fee değerlerini temin eder. “sampleLifetime” ayarlaması (örnekleme oranı) market oluşturulduğunda tanımlanan bir piyasa parametresidir. Oracle örneklemelerinin kapsamı gerektiğinde kullanıcılar tarafından arttırılabilir.

4 Kullanıcı Etkileşimleri

4.1 Likidite Ekleme/Çıkarma

Aktif bir likidite kutusuna likidite ekleme ve çıkarma işlemleri fiyatı (P) ve bileşimi ( c ) korur. Belirlenen bir likidite ayarlanmasında gerekli X ve Y rezervleri Denklem 4.1 ve 4.2 kullanılarak hesaplanabilir.

İnaktif likidite kutularında ise likidite özellikle X veya Y rezervine, kompozisyon sınırları tarafından belirlenen şekilde eklenebilir.

(4.1)	delta L=[P/(1-c)]*delta x       (4.2) delta L=(1/c)* delta y
(4.3)	[delta L; c=0]= P* delta x     (4.4) [delta L; c=1]= delta y

*Akıllı kontratlara dışarıdan bilgi sağlayan üçüncü parti hizmetlerdir. Blockchainler ve dış dünya arasında köprü görevi görürler. - Binance Academy

Aktif kutuya eklenen likidite, eğer ki oranlar kutunun kompozisyonuna eşit değilse, rezervler boyunca otomatik olarak takaslanacaktır ve gerçekleşen her takas işlem ücretine tabidir. İnaktif kutulara likidite ekleme işlemlerinde kutunun kompozisyonuna uygunluk şartı aranacak ve tutarı olmayan işlemler geri çevrilecektir.

Likidite kutularındaki rezervlerin alışverişinde likidite ve fiyat korunur ve bu sayede sadece rezerv bileşimi değişir. Rezervler Denklem 4.5’de gösterildiği şekliyle alınıp satılırken bileşim [0,1] sınırlarına bağlı kalır.

Likidite kutusunda bulunan rezervler, bileşim sınırına kadar, Denklem 4.6 ve 4.7'ye göre hesaplanabilir.

Bir takas işleminde geçerli kutudaki likiditenin yetersiz kalması halinde, komşu kutulara geçmeden önce, sırayla ardışık kutulardaki likiditeler kullanılır.

(4.5)	delta y=-P* delta x        (4.6) delta c=-(P/L)*delta x
(4.7)	delta c=(1/L)*delta y

4.3 Takas Ücretleri

Likidite sağlayıcılarına ödenmesi için, takas işlemlerinde, protokol tarafından ücret (fee) toplanacaktır. Toplam takas ücreti (fs) iki bileşenden oluşur; temel ücret (fb) (base fee) ve anlık fiyat değişiklikleri (volatility) için değişken ücret (fv). Ücret oranı (fee rate), likidite kutularındaki takas tutarlarına göre uygulanacak ve protokole göre kutunun likidite sağlayıcılarına orantılı olarak dağıtılacaktır. Ücretler likiditeden ayrı tutulacak ve likidite sağlayıcıları tarafından ayrıca toplanacaklardır. “n” kutusunda gerçekleşen takas için toplam ücret Denklem 4.8'e göre hesaplanabilir.

4.3.1 Taban İşlem Ücreti

Taban işlem ücreti (Fb) 4.9’daki eşitlikte de gösterildiği gibi, kutu basamaklarının “taban işlem ücreti çarpanı” ile genişletilmiş bir fonksiyonudur. Taban işlem ücreti, tüm swap işlemlerinin minimum oranını temsil eder ve sahip olabileceği en yüksek değer kutu basamak sayısına eşittir.

4.3.2 Değişken İşlem Ücreti

Değişken işlem ücreti, likidite sağlayıcılarını anlık volatiliteye karşı tazmin etmek ve likidite sağlayıcıların değişen fiyata göre likiditelerini aktif bir şekilde yönetmelerini teşvik etmek için tasarlanmıştır. Değişken işlem ücreti var olan likidite kutusu başına 4.10 daki eşitlik kullanılarak hesaplanır.

Volatilite, yeni bir oynaklık akümülatör değişkeni olan vk'de yakalanır. “A”, değişken ücret bileşenini ölçeklendirmek için kullanılan bir piyasa parametresidir.

4.3.3 Volatilite Akümülatörü

Volatilite zaman içerisindeki likidite kutusu değişimlerinden türetilebilir. Her kutu değişimi, kutu basamaklarıyla tanımlanmış belirli bir fiyat hareketini temsil eder. Kutu geçişlerinin volatilite ölçeği olarak kullanılması için yapılan işlemler dışında bir de akümülatör gereklidir. Volatilite akümülatörü 4.11’deki eşitlikte gösterildiği gibi tek bir işlemde gerçekleşen kutu geçişlerinin ve önceki işlemde geçerli değerinin bir fonksiyonudur.

Akümülatör belirli bir sette gerçekleşmiş olan kutu değişimlerini temsil eder. Üst ve alt zaman kısıtlamaları arasında ardışık işlemler meydana geldiğinde, akümülatör, indirgeme faktörünü (R) ile azalacaktır. İşlem sıklığı fazla olduğu zamanlarda ise (established by filterPeriod, tl) piyasa volatil sayılacak ve akümülatör azalmayacaktır?. İşlem sıklığının az olduğu zamanlarda ise piyasa stabil sayılacak ve (established by the decayPeriod, tu) akümülatörün değeri sıfırlanacaktır. Aşırı ve kalıcı işlem ücretlerini önlemek için her piyasa, akümülatörün maximum değerini maxAccumulator (Vmax) parametresi ile sınırlandıracaktır.

4.3.4 Protokol İşlem Ücretleri

Protokol için alınacak olan takas işlem ücretlerinin payı (fp) protokol işlem ücreti parametresi olan (𝜙) ile kontrol edilecektir. 𝜙 her piyasanın işlem ücreti dağtımını yönetecek olan parametredir. Protokol işlem ücretleri toplandıktan sonra kalanlar ise likidite sağlayıcılara gönderilecektir.

5 DEX İyileştirmeleri

5.1 Geçici Kayıp

Değişken ücretler, likidite sağlayıcılarına, çeşitli ticaret dinamikleri altında geçici kayıpları yönetmek için tazminat sağlar. Fiyat volatilitesi nedeniyle geçici kayıp oluştuğu göz önüne alındığında, volatilite akümülatörü, ücretleri piyasa dinamiklerine göre ayarlamak için doğal bir mekanizmadır. Ayrıca, likidite sağlayıcılarının, volatilite akümülatörünün zamanla azalması nedeniyle beklenen getiriden daha iyi performans gösterme fırsatları vardır. Bu getiri Şekil 6’da gösterilmektedir. Akümülatör kutu basamaklarını temel aldığından, nominal fiyat değişimlerindeki büyük sapmalar nedeniyle aşırı değişken olaylarda bir takip hatası oluşur.

Şekil 6: Ücret Ayarlamalarıyla Geçici Kayıp/Kazanç
Şekil 6: Ücret Ayarlamalarıyla Geçici Kayıp/Kazanç

5.2 Likidite Derinliği

Borsanın sermaye verimliliğini artırmak aynı zamanda belirli bir sermaye miktarı için piyasa derinliğini artırır. Sermaye verimliliği, JOE v1'e eşdeğer likidite sağlamak için gereken sermayede azalma olarak tanımlanabilir. Likidite Defteri (LB) için, karşılaştırılabilir likidite JOE v1 üzerindeki bir takasın, fiyat etkisinin tek bir kutu basamağına eşitlenmesiyle bulunur. Bu tanımdan ortaya çıkan verimlilik eşitliği, Şekil 7'deki tabloda verimlilik sınırı sonuçlarıyla aşağıda gösterilmiştir. Bu sınırlar her kutu basamağında yer alan piyasaların en yüksek verimliliğini temsil eder.

7. Şekilde de görülebileceği gibi likidite defterinin (LB) verimliliği Uniswap v3 ile kıyaslanabilir. Yaklaşık bir Uniswap v3 kıyaslaması için eşit olarak dağıtılmış bir LB konumu kullanılabilir. Likidite, X tokenlarındaki kutular arasında eşit olarak dağıtılacak olsaydı, likidite defteri (LB) ve v3 pozisyonlarının aralarındaki takas değerlerindeki göreceli fark denklem 5.2 ile tanımlanabilirdi. Bu denklem, Şekil 8'de gösterildiği gibi, farklı kutu basamaklarına ayrılmış çeşitli fiyat aralıklarına sahip bir dizi pozisyon için çizilebilir.

Şekil 7: Sermaye Verimliliğine Dair Limitler
Şekil 7: Sermaye Verimliliğine Dair Limitler

Şekil 8'de görüldüğü gibi, pozisyona dair fiyat aralığı, göreceli piyasa derinliği için, kutu yapısından önemli ölçüde daha güçlü bir etkendir. Hatta, en az 2 kutuya yayılan bir pozisyon için basamak seçimleri arasındaki derinlik farkı ihmal edilebilir düzeydedir. Yukarıda belirtilen dağıtımla, LB'nin market derinliği, %60'ın altındaki fiyat aralığını kapsayan herhangi bir pozisyon için Uniswap v3'ün %1'i dahilindedir. Ayrıca, derinlik farkı neredeyse tamamen aralık boyunca likidite dağılımı seçiminden kaynaklanmaktadır (v3'ün geometrik sırasıyla karşılaştırıldığında) ve yalnızca geniş aralıklı pozisyonlarda önemlidir. Bu bulgular, yalnızca likidite kitabı (LB) protokolü tarafından ortaya koyulan esnek likidite dağılımının değerini daha fazla göstermektedir.

Şekil 8: Uni v3 ile Pazar Derinliği Karşılaştırması
Şekil 8: Uni v3 ile Pazar Derinliği Karşılaştırması

6 Sonuç

Likidite Defteri (LB), merkeziyetsiz bir borsanın likiditesini yapılandırmak için geliştirilmiş yeni bir tasarımdır. Likiditenin sabit fiyat kutularına ayrılmasını sağlayarak takas fiyatlandırmasını ve slipajı iyileştirir. Önceki konsantre likidite protokollerinden farklı olarak LB, likidite sağlayıcılarına yönelik yüksek geçici kayıpların önüne geçer. LB’nin likidite yapısı birleştirilebilirliği, bir araya getirilebilme kabiliyetini arttırır. DeFi topluluğuyla birlikte LB’nin yeni kullanım alanlarını keşfetmeye hazırız.

Referanslar

  1. H. Adams, N. Zinsmeister, and D. Robinson. 2020. Uniswap v2 Core. Retrieved Jun 21, 2022 from https://uniswap.org/whitepaper.pdf
  2. H. Adams, N. Zinsmeister, M. Salem, R. Keefer, and D. Robinson. 2021. Uniswap v3 Core. Retrieved Jun 21, 2022 from https://uniswap.org/whitepaper-v3.pdf
  3. M. Egorov. 2019. StableSwap - efficient mechanism for Stablecoin liquidity. Retrieved Jun 21, 2022 from https://curve.fi/files/stableswap-paper.pdf
  4. M. Egorov. 2021. Automatic market-making with dynamic peg. Retrieved Jun 21, 2022 from https://curve.fi/files/crypto-pools-paper.pdf
  5. J. Yin and M. Ren. 2021. iZiSwap: Building Decentralized Exchange with Discretized Concentrated Liquidity and Limit Order. Retrieved Jun 21, 2022 from https://izumi.finance/paper/dswap.pdf

Yazarlar

MountainFarmer: mountainfarmer@traderjoexyz.com

Louis: louis@traderjoexyz.com

Hanzo: hanzo@traderjoexyz.com

Wawa: wawa@traderjoexyz.com

Murloc: murloc@traderjoexyz.com

Fish: fish@traderjoexyz.com

Çeviri

Tervelix: @tervelix

Alamalu: @alamaluu

Katkılarından Ötürü Snow Wolf’a Teşekkür Ederiz.

Subscribe to Tervelix
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.