Tinyman AMM V2.0 Protokolü
Dün, Ocak 2023'te çıkacak olan Tinyman AMM protokolünün yeni sürümünü duyurduk. Bu blog gönderisinde, yeni protokole genel bir bakış sunmak ve sonraki adımları açıklamak istiyoruz. Kullanıcılara ve ekosistem projelerine kendilerini yeni protokole alıştırmaları ve geçişe hazırlanmaları için yeterli zaman vermek amacıyla bu ayrıntıları lansmandan önce erken bir zamanda sağlıyoruz.
Tinyman AMM'nin Ekim 2021'de piyasaya sürülmesinden bu yana, Algorand protokolünde, uygulamaların daha karmaşık ve ilginç şeyler yapmasına olanak tanırken aynı zamanda güvenliği iyileştirip bazı sürtüşme noktalarını ortadan kaldıran birçok iyileştirme yapıldı. Son 6 aydır Tinyman AMM'nin bu iyileştirmelerden yararlanan yeni bir uygulamasını tasarlamak, oluşturmak ve test etmek için çalışıyoruz.
Bu yeni protokolün öne çıkan özelliklerinden bazıları şunlardır:
- İtfa ihtiyacını ortadan kaldırmak için çıktıların dinamik hesaplanması
- Esnek likidite ekleme ve çıkarma
- Flaş krediler ve flaş takaslar
- Dinamik ücret ayarları
- Tam şekillendirilebilirlik ve birlikte çalışabilirlik
- Ek güvenlik kontrolleri
- Sözleşmenin iyileştirilmiş okunabilirliği
Tinyman AMM V2 izinsizdir
Tinyman AMM V2 sabittir (yükseltilemez)
Tinyman AMM V2'de etkinliği duraklatmak veya havuzları boşaltmak için yönetici anahtarı yoktur
Tinyman AMM V2 şeffaf ve açık kaynaklıdır
Tinyman AMM V2 denetlendi
Tinyman AMM V2 hala gülünç derecede hızlı ve kullanımı ucuz
Artık Kullanım Yok
Geçen yıl Algorand protokolündeki en önemli gelişmelerden biri, İç İşlemlerin tanıtılmasıydı. Bunlar, sözleşmelerin programlı olarak işlem oluşturmasına izin verir. Bu, Tinyman'ın takas çıktılarını dinamik olarak hesaplamasını ve tam çıktı miktarı için bir işlem düzenlemesini sağlar. Sözleşmeler hala güvenli bir şekilde minimum beklenen miktarın alınmasını sağlıyor.
Bu, büyük bir sürtüşme ve kafa karışıklığı kaynağını ortadan kaldırır ve anında daha iyi bir kullanıcı deneyimi ile sonuçlanır.
Artık Uygulama Etkinleştirmesi Yok
Artık geri ödemeleri desteklememiz gerekmediğine göre, zincir üzerinde kullanıcı durumuna göre depolamaya da ihtiyacımız yok. Bu, Tinyman sözleşme uygulamasına kaydolma gerekliliğini kaldırmamıza olanak tanır. Bu, Tinyman kullanıcılarının bazı minimum denge gereksinimlerini serbest bırakacak ve başka bir sürtüşme kaynağını ortadan kaldıracaktır.
Varlık Kabulleri hâlâ gereklidir, ancak artık bunları takaslar ve diğer işlemlerle gruplandırabiliyoruz, böylece kullanıcılar bunlar için ayrı olarak oturum açmak zorunda kalmayacak. Bu, süreci hızlandıracak ve takas için gerekli adımları azaltacaktır.
Daha Esnek Likidite Yönetimi
Havuzcu olmak isteyen kullanıcılar arasında çok yaygın bir modelin, bir varlığı diğeriyle takas etmek ve ardından her ikisinden de eşit miktarda havuza yatırmak olduğunu fark ettik. Bu adımı protokol düzeyinde otomatikleştiren bir özellik ekledik, böylece bir kullanıcı tek bir işlemde havuz varlıklarından yalnızca biriyle havuza likidite ekleyebilir. Ayrıca esnektir, böylece kullanıcı her bir varlıktan elindekileri ekleyebilir ve havuz işleri dengeler ve birleştirilmiş değer için doğru miktarda havuz belirteci verir.
Kullanıcının bu tekniği kullanırken her iki varlığa da maruz kaldığını anlamak çok önemlidir. Örtük dahili takas, yalnızca bir kullanıcı kolaylığı özelliğidir. Bu özelliğin en çok küçük havuzcular için uygun olduğunu anlamak da önemlidir. İlk etapta dengeli bir havuz oluşturmak için her iki varlıkta da önemli likiditeye sahip bazı havuzcular olması gerekiyor.
Bu özellik aynı zamanda, yanlış bir oranda likidite sağlasalar bile, kullanıcının LP tokenindeki tüm likiditesinin doğru bir şekilde muhasebeleştirilmesini sağlar. Bu, yüksek volatilite dönemlerinde yeni havuzcular için güvenliği artırır.
Protokol artık tek bir varlıkta likiditenin kaldırılmasını da destekliyor. Bu, fonların seçilen varlık olarak kullanıcıya iade edilmesinden önce örtük bir dahili takasın gerçekleştiği yukarıdaki durumun tersidir.
Bu iki özellik, ortak akışları basitleştirerek kullanıcı deneyimini geliştirmemize olanak tanır. Bununla birlikte, sözleşmeden sözleşmeye çok daha karmaşık etkileşimlerin temelini de oluştururlar.
Şekillendirilebilirlik ve Birlikte Çalışabilirlik
Yine V2 protokolünü tamamen birleştirilebilir ve birlikte çalışabilir olacak şekilde tasarlamak için en son Algorand protokolü iyileştirmelerinden yararlandık. Bu, Tinyman V2 işlemlerinin diğer işlemlerle aynı atomik gruplara yerleştirilebileceği ve Tinyman V2'nin diğer sözleşmelerden çağrılabileceği anlamına gelir.
Bu, bize ve diğerlerine, atomik çok sekmeli takaslar, limit emirleri, meta havuzlar ve çok daha fazlası için protokolün üzerinde özellikler oluşturmamızı sağlar. Bu özellikler, aynı zamanda Tinyman havuzlarına daha fazla hacim çekerken ve havuzcular için daha fazla ücret oluştururken, değiş tokuşçular için kullanıcı deneyimini iyileştirmeye yardımcı olacaktır.
Flaş Krediler ve Takaslar
Bu şekillendirilebilirlikten yararlanan özelliklerden biri de Flash Loans'tır. Artık protokolde yerleşik olarak buna yönelik desteğimiz var, böylece kullanıcılar aynı işlem grubu içinde geri ödedikleri sürece bir havuzdan sıfır teminatlı kredi alabilirler. Bu işe yaramaz bir özellik gibi görünebilir, ancak protokolün birlikte çalışabilir doğası ve gelişen Algorand DeFi alanı sayesinde, tek bir blokta kar elde etmek için pek çok fırsat olacaktır. Bu karmaşık bir özelliktir ve yalnızca DeFi protokolleri ve stratejileri hakkında ayrıntılı bilgiye sahip kişiler tarafından kullanılması amaçlanmıştır ve bu nedenle web kullanıcı arayüzüne dahil edilmeyecektir. Bu özelliğin dahil edilmesi, serveti ne olursa olsun herkese finansal araçlar sağlamaya yönelik temel felsefemizden kaynaklanmaktadır.
Flaş takaslar ve krediler, protokol için (finansal anlamda) risksizdir ve havuzcular için ek bir gelir kaynağı sağlar.
Ayarlanabilir Ücretler
Tinyman AMM V1, havuzlayıcılar ve protokol arasında 5:1 oranında bölünmüş, 30 baz puanlık sabit bir takas ücretine sahiptir. Bu, şimdiye kadar kullanıcılara iyi hizmet etti ancak diğer ücret seçeneklerinin daha uygun olacağı durumlar var. Sabit/sabit varlıklar için, daha az fiyat etkisine neden olan daha düşük bir ücret takasçılara fayda sağlayacaktır. Düşük ücretler nedeniyle artan hacim, havuzculara da fayda sağlamalıdır. V2 protokolü, likiditeyi aynı varlık çiftlerinin farklı ücret katmanları için birden çok havuza bölmek yerine, bir havuzun ücretlerinin zaman içinde ayarlanmasına olanak tanır. Tüm havuzlar varsayılanlarla başlayacaktır (V1 ile aynı) ancak ücret oranı, izin verilen sınırlar dahilinde Ücret Belirleyici hesabı tarafından değiştirilebilir.
Buradaki amaç, Ücret Belirleyicinin başlangıçta Tinyman çekirdek ekibi tarafından kontrol edilen bir hesap olması ve ücretlerin yalnızca sabit/sabit çiftler için ayarlanmasıdır. Daha sonra, havuzcuların havuzları için ücretlere toplu olarak karar vermelerini sağlayacak bir özellik sunmayı planlıyoruz. Nihayetinde, Tinyman DAO var olduğunda tüm ücretlerin kontrol edilebilir olmasını amaçlıyoruz. Protokol bu konuda esnek olacak şekilde tasarlanmıştır, böylece ücret belirleme ve tahsilat sorumluluğu akıllı sözleşmelere veya harici hesaplara devredilebilir ve gerekirse geri alınabilir. Bu, ücretlerle ilgili kuralların ve mekanizmaların, protokolün diğer herhangi bir yönünü etkilemeden zaman içinde değişmesine izin verir. Ücret değişikliklerini çevreleyen politikalar hakkında lansmandan önce daha fazla ayrıntı sağlanacaktır.
Daha Güvenli, Şeffaf Bir Protokol
Herhangi bir protokolde, tasarım varsayımları ve yapısal teknik sınırlamalar vardır. Bunları daha önce V1 için belgeledik ve kullanıcıların protokolü beklenmedik şekillerde kullanmasını engellemek için kullanıcı arayüzüne güvenlik önlemleri koyduk. Tinyman V2 ile bir adım daha ileri gidip bunlardan bazılarını protokol düzeyinde uygulayabildik.
Protokolde tutması gereken bir dizi matematiksel/mantıksal değişmez vardır. Tinyman V2'de bunlar, çok beklenmedik davranışlarda bile havuzların değer kaybetmemesini sağlamak için her işlemden sonra açıkça kontrol edilir.
Protokol yalnızca birden fazla bağımsız kişi tarafından kolayca okunabilir, anlaşılabilir ve incelenebilirse güvenli olabilir. Bu konuda yardımcı olmak için bir dizi alanda çalışma yaptık:
- Okunabilir sözleşme kaynak kodu — Algorand için yeni bir dil geliştirdik, Tealish , bu dil okunabilir düşük seviyeli Teal'e derlerken mantığımızı ve niyetlerimizi yüksek seviyede net bir şekilde ifade etmemize olanak tanır. Fergal Walsh (Tinyman CTO), Decipher 2022'de Tealish ve V2 için nasıl kullanıldığı hakkında konuşacak .
- Denetlenebilir denetimler — Protokol spesifikasyonları ve sözleşmeler, birçok farklı türden sorunu belirlemeye çalışmak için birden çok düzeyde analiz edilmiş ve denetlenmiştir. Bu, spesifikasyonların, Tealish kaynak kodunun ve nihai olarak AVM'de yürütülen oluşturulan Teal kodunun analizini ve modellemesini içerir. Denetim sürecini her zamankinden daha şeffaf hale getirmek için denetçilerle birlikte çalıştık. Önümüzdeki haftalarda bu konuda raporlara ve tüm destekleyici materyallere atıfta bulunan başka bir blog yazısı yayınlayacağız.
- Bug Bounty — Kritik sorunlar için 250.000 USD'ye kadar ödül veren bir bug bounty programı oluşturmak için Algorand Foundation ve Immunefi ile birlikte çalıştık. Bu program hemen yayındadır ve Ana Ağ başlatıldıktan sonra da etkin kalacaktır.
- Açık kaynak kamu sözleşmeleri ve özellikleri — Protokolün tasarım belgesi ve belirtimi ile birlikte kaynak sözleşmelerini, oluşturulan Teal'i ve nihai bayt kodunu yayınladık. Bu, herkesin, uygulamanın beklentileriyle eşleşmesini sağlamak için protokol ayrıntılarını gözden geçirmesine olanak tanır.
Bir şeyler ters giderse Tinyman'ın sözleşmeleri duraklatması için neden Büyük Kırmızı Düğme olmadığı bize düzenli olarak soruluyor. Ocak ayında yaşanan talihsiz olayın ardından bu soru daha da gündeme geldi. V2'yi tasarlarken bu soru üzerine çok düşündük. Bir duraklatma işlevi uygulayabilir miyiz? Nasıl çalışırdı? Kim kontrol edebilir? Onu çağırmaktan kim sorumlu? Aradan sonra ne olur? Bununla ilgili daha fazla ayrıntıyı güvenlik konularıyla ilgili gelecekteki bir gönderide ele alacağız, ancak sonuçta V1'i tasarlarken vardığımız sonuca vardık; genel olarak Tinyman ve DeFi'nin temel değerlerinden ödün vermeyecek güvenli ve kullanışlı bir duraklatma mekanizması yoktur. Yükseltilebilir sözleşmeleri olmayan bir duraklatma mekanizması çok kullanışlı değildir ve yükseltilebilir sözleşmeler, aşmaya istekli olmadığımız bir çizginin diğer tarafıdır. Yükseltilebilir sözleşmeler, Tinyman ekibinin (veya bir saldırganın) protokol kurallarını değiştirmesine ve potansiyel olarak likiditeyi ele geçirmesine olanak tanır. DeFi'nin temel amacı bu tür olasılıklardan kaçınmaktır.
Sizin Paranız, Sizin Kararınız
Ekip olarak yeni protokol için heyecanlıyız ve bu protokol etrafında yeni ve geliştirilmiş bir kullanıcı arabirimi oluşturmakla meşgulüz. Kullanıcıların genel olarak yeni protokolde çok daha iyi bir deneyime sahip olacağına inanıyoruz, ancak sonuçta protokolün bir kullanıcısı olarak bu sizin kararınız. Paranızı V1'e yatırdığınızda, bunların V1 sözleşmelerinin kurallarına ve mantığına bağlı olacağını kabul ettiniz. Tasarım gereği, likiditenizi V2'ye taşımak için bu kuralları değiştiremiyoruz. Bu senin kararın olmalı. V1'deki tüm havuzcuları protokolün ayrıntılarını ve bağımsız denetim raporunu okumaya ve likiditelerini V2'ye taşımak isteyip istemediklerine kendileri karar vermeye teşvik ediyoruz. V1 protokolü sonsuza kadar Algorand Mainnet'te yaşamaya devam edecek ve öngörülebilir gelecekte web kullanıcı arayüzündeki mevcut havuzları desteklemeye devam edeceğiz.
Sonraki adımlar
Umarız siz de V2 için bizim kadar heyecanlısınızdır. Ancak bu sadece başlangıç! Ayrıca V2 protokolü ile başlatılacak birçok UI geliştirmemiz var. Bunları önümüzdeki haftalarda başka blog yazılarında ele alacağız. Lansman sonrasında, V2 protokolünün sağladığı temel üzerine inşa edilmiş ek iyileştirmeler ve özellikler olacaktır.
Lansmandan önce geçiş planıyla ilgili ek gönderilerimiz de olacak.
Bu arada, protokolün ayrıntılarını öğrenmenizi ve topluluk alanlarımızda sorular sormanızı öneririz.
Referanslar
V2 Protokolü Dokümantasyonu ve Spesifikasyonu
V2 Sözleşmeleri Deposu
V2 Sözleşmeleri Denetim Raporu
Tealish Repo
Immunefi Bug Bounty Programı (Bağlantı eklenecek)