TWAP Oracle Nedir ve DeFi Protokolleri Neden Ona Güvenir?
— By Tony Rabbit in Tutorials

Bir TWAP oracle kripto fiyat akışı, bir varlığın fiyatını belirli bir zaman aralığında ortalamasını alır, böylece tek bir manipüle edilmiş blok, bir borç verme veya tasfiye motorunu kandıramaz. İşte nasıl çalıştığı, spot fiyatın neden tehlikeli olduğu ve TWAP'ın hala başarısız olduğu yerler.
Bir TWAP oracle kripto fiyat akışı, bir varlığın anlık spot fiyatı yerine, son 30 dakika gibi tanımlanmış bir zaman aralığı boyunca zaman ağırlıklı ortalama fiyatını (TWAP) bildiren zincir üstü bir mekanizmadır. Fiyatı birçok blok boyunca yumuşatarak, bir DeFi protokolünün tükettiği sayıyı manipüle etmeyi çok daha zor hale getirir. Bir saldırgan bir blok için fiyatı yükseltirse, bu yükseliş ortalamaya sadece küçük bir katkıda bulunur ve bildirilen rakamı zar zor hareket ettirir. Borç verme piyasaları, tasfiye motorları ve teminat sistemlerinin TWAP oracle'larına güvenmesinin nedeni tam da budur: biraz güncelliği, çok fazla güvenlikle takas ederler.
Temel Çıkarımlar
- Bir TWAP oracle, tek blokluk bir spot fiyat yerine, belirli bir zaman aralığında ortalanmış bir fiyat bildirir.
- Spot fiyatı tek bir blok için manipüle etmek ucuzdur, bu da borç verme ve tasfiyeler için tehlikelidir.
- Uniswap tarzı TWAP'ler, iki zaman damgasında kümülatif bir fiyat sayacını okur ve geçen süreye böler.
- Daha uzun pencereler manipülasyona daha iyi direnir ancak gerçek piyasanın gerisinde kalır.
- Bir TWAP oracle bir savunma mekanizmasıdır, DCA tarzı bir TWAP emriyle aynı değildir.
TWAP oracle nedir
Bir TWAP oracle, her gözlemlenen fiyatı ne kadar süreyle yürürlükte kaldığına göre ağırlıklandırarak ve ardından toplam geçen süreye bölerek bir fiyat hesaplar. Bir token dokuz dakika boyunca 100'den ve bir dakika boyunca 110'dan işlem gördüyse, sonundaki basit spot okuma 110'dur, ancak zaman ağırlıklı ortalama 101'e daha yakındır. Oracle ortalamayı döndürür, bu nedenle kısa bir sapmanın çıktı üzerinde sınırlı etkisi vardır.
En önemlisi, bu, merkezi olmayan bir borsanın kendi işlem geçmişinden zincir üzerinde hesaplanır. Güvenilecek zincir dışı bir raporlayıcı ve sorgulanacak bir API yoktur. Fiyat, havuzun kaydedilmiş durumunun deterministik bir fonksiyonudur. Bu kendi kendine yeten tasarım, protokollerin ona değer vermesinin bir nedenidir, ancak göreceğimiz gibi bu bedava bir öğle yemeği değildir. Terimin yürütme stratejisiyle örtüştüğünü unutmayın: bir TWAP emri, kaymayı azaltmak için büyük bir işlemi zaman içinde dilimlere ayırır. Bu bir ticaret taktiğidir. Bir TWAP oracle bir fiyat raporlama aracıdır. Aynı matematik fikri, tamamen farklı amaç.
Spot fiyatı neden borç verme ve tasfiyeler için güvensizdir
Teminatı değerlendirmek için tek bir likidite havuzundan anlık spot fiyatı okuyan bir borç verme protokolü hayal edin. Eğer bu fiyat tek bir işlemin süresi boyunca hareket ettirilebilirse, bir saldırgan şişirilmiş teminata karşı borç alabilir veya haksız tasfiyeleri tetikleyebilir ve aynı blokta uzaklaşabilir. Bu teorik değildir. Çoğu oracle manipülasyonu istismarının temelini oluşturur.
Etkinleştirici silah genellikle, aynı işlem içinde geri ödendiği sürece bir saldırganın teminatsız olarak büyük bir meblağ ödünç almasına izin veren bir flash loan'dır. Bu sermaye ile ince bir havuzun spot fiyatını dramatik bir şekilde değiştirirler, kurban protokolün bozuk sayıyı okumasına izin verirler, değer çıkarırlar ve her şeyi atomik olarak geri alırlar. Bir spot oracle'ın hafızası yoktur ve tam olarak bir blok için doğru olan bir fiyata karşı savunması yoktur. Yanlış bir fiyatın gerçek para kaybı anlamına geldiği herhangi bir protokol için, örneğin Aave'de borç alırken gördüğünüz teminat kontrolleri gibi, ham spot fiyatı okumak pervasızlıktır.
Uniswap tarzı kümülatif fiyat TWAP nasıl çalışır
Uniswap, uzun bir fiyat geçmişini depolamaktan kaçınan zarif bir zincir üstü TWAP'ı popülerleştirdi. Havuz, çalışan bir akümülatör tutar: fiyat her değiştiğinde, mevcut fiyatı son güncellemeden bu yana geçen saniye sayısıyla çarparak kümülatif bir sayaca ekler. Bu sayaç yalnızca büyür ve tüm fiyat-zaman geçmişini tek bir sayıda kodlar.
Herhangi bir pencere üzerindeki ortalama fiyatı elde etmek için, bir tüketici akümülatörü başlangıç zamanında ve bitiş zamanında okur, çıkarır ve geçen saniyelere böler. Sonuç, o pencere boyunca tam zaman ağırlıklı ortalamadır. Veriler havuz içinde yaşadığı ve tüketici her iki uç noktayı da seçtiği için, protokol ortalama alınacak pencerenin ne kadar uzun olacağına karar verir. Derin, konsantre likiditeye sahip havuzlar bunu daha da sağlam hale getirir, çünkü fiyatı tüm pencere boyunca anlamlı bir şekilde hareket ettirmek bir saldırgana çok daha fazla sermayeye mal olur.
Gecikme ve manipülasyon direnci arasındaki denge
Pencere uzunluğu en önemli tasarım seçimidir ve bir dengeyi zorlar. Daha uzun bir pencere, kısa süreli manipülasyonu daha ağır bir şekilde seyreltir, bu nedenle bir saldırganın bozuk bir fiyatı daha fazla blok boyunca tutması gerekir, bu da katlanarak daha fazla sermayeye mal olur ve fiyatı geri iten arbitraja maruz kalmalarına neden olur. Bu güvenlik faydasıdır.
Maliyeti gecikmedir. Uzun bir pencere, oracle'ın hızlı hareketler sırasında dünün gerçekliğini bildirmesi anlamına gelir. Gerçek, keskin bir piyasa düşüşünde, yavaş bir TWAP teminatı çok yüksek değerlendirmeye devam eder, bu da pozisyonlar zaten su altındayken tasfiyeleri geciktirebilir ve protokolü kötü borçla bırakabilir. Bu nedenle pencere, manipülasyonu ekonomik olmaktan çıkaracak kadar uzun, ancak gerçek hareketlere ödeme gücü sorunları haline gelmeden önce tepki verecek kadar kısa olmalıdır. Evrensel olarak doğru bir sayı yoktur; varlığın oynaklığına ve havuzun derinliğine bağlıdır.
TWAP'ın push ve pull oracle'larla karşılaştırılması ve TWAP'ın başarısız olduğu yerler
TWAP tek oracle tasarımı değildir ve giderek artan bir şekilde tek fiyat kaynağı yerine bir sağlamlık kontrol katmanı olarak kullanılmaktadır. İki baskın alternatif çok farklı çalışır, bu da daha kapsamlı bir Chainlink ve Pyth karşılaştırması ile birlikte anlaşılmaya değerdir.
Bir push oracle, Chainlink modeli, zincir dışı düğümlerin birçok borsadan fiyatları toplamasını ve bir eşiği geçtiğinde veya bir kalp atışı aralığından sonra güncellenmiş bir değeri zincir üzerine itmesini sağlar. Bir pull oracle, Pyth modeli, birinci taraf yayıncıların herkesin talep üzerine zincir üzerine çekebileceği fiyatları imzalamasını sağlar, böylece tüketici ihtiyaç anında çok güncel bir değer alır. Push ve pull, geniş piyasa çapında verilere dayanır, bu da onları tek havuz manipülasyonuna karşı dirençli kılar ancak raporlayıcı ağlarının dürüstlüğüne ve canlılığına bağımlı hale getirir.
TWAP ise, hiçbir harici raporlayıcıya değil, yalnızca tek bir havuzun kendi geçmişine güvenir. Bu onun gücü ve zayıflığıdır. Temel havuz, bir saldırganın tüm pencere boyunca bozuk bir fiyatı tutmayı karşılayabileceği kadar ince olduğunda, likidite göç ettiğinde ve havuz gerçek piyasayı yansıtmayı bıraktığında veya bir varlık o kadar hızlı hareket ettiğinde ki gecikmenin kendisi yanlış bir değerleme ürettiğinde başarısız olur. Bu nedenle birçok protokol artık birincil fiyat olarak güncel bir push veya pull akışı katmanlaştırır ve TWAP'ı yalnızca bir sapma koruyucusu olarak kullanır. Hiçbir tek oracle tasarımı kendi başına yeterli değildir.
Bu makale yalnızca eğitim amaçlıdır ve finansal tavsiye değildir.