Emerald ParaTime Güncellemeleri — Şubat 2022

Mocot
Oasis Foundation Turkish
5 min readFeb 12, 2022

Bu makale “Oasis Foundation” için çevrilmiştir. Makalenin orijinali: https://medium.com/oasis-protocol-project/emerald-paratime-updates-february-2022-3581844651e1

Oasis’in EVM uyumlu resmi ParaTime’ı Emerald, Kasım 2021’de piyasaya sürüldü. Emerald’ın piyasaya sürülmesi, Oasis Ağı’na geniş kapsamlı yetkinlikler kazandırdı. EVM tabanlı merkeziyetsiz uygulamaların kolay entegrasyonunu ve Ocak 2022’de Oasis Ağı’nda yapılandırılan ilk DeFi projelerinin piyasaya sürülmesini kazanılan söz konusu yetkinliklerin sonucu olarak görebiliriz. Bunlar, Emerald’a olan ilgiyi büyük ölçüde artırırken buna paralel olarak Emerald’ın kullanımı da hızla katlandı. Oasis ekibi bu büyük kullanım artışının hızına yetişmek ve Emerald kullanıcılarına sunulan deneyimin kalitesini sağlama almak amacıyla bir dizi yükseltme yayınladı.

Emerald 6.2.0 versiyonu 28 Ocak’ta yayınlandı. Yaklaşık bir hafta geçtikten sonra da Mainnet (ana ağ) üzerinde herhangi bir sorun yaşamadan çalışmaya devam ediyor. Elli beş Oasis Ağı validatörü Emerald düğmelerini (node) çalıştırıyor ve Emerald, günde yaklaşık olarak 200 bin işlem gerçekleştiriyor. Bu yazımızda öncelikle Emerald’ın ocak ayındaki hızlı büyümesinin başlıca istatistiklerini inceleyeceğiz. Ardından Oasis ekibinin söz konusu hızlı büyüme sonucu olarak karşılarına çıkan sorunları nasıl çözüme kavuşturduğunun detaylarını sizinle paylaşacağız.

Dikkate değer kullanım artışı

Ocak ayında günlük işlem sayısı; ortalama 173,558

Emerald, ilk lansmanından sonra büyük bir alaka gördü. Emerald’da gerçekleşen işlem hacmi Ocak ayında süratle arttı. 5 Ocak’a kadar birkaç işlem gerçekleştirilirken yalnızca beş gün sonra, 10 Ocak’ta, 18 bin adetten fazla işlem yapıldı. Bundan sonra ilk kayda değer işlem hacmi artışı 11 Ocak’ta gerçekleşti. O gün 150 binin üzerinde işlem yapıldı. Bu büyük artış önemli iki lansmanla aynı zamana denk geldi. Birincisi Wormhole Köprüsü entegrasyonuydu. İkincisi ise Oasis Ağı’nda kurulan ilk merkeziyetsiz borsa olan ve lansmanından sadece 12 saat sonra 100 milyon doları aşkın TVL’ye (total value locked — protokolde stake edilen varlık miktarı) ulaşmayı başaran Yuzu Swap’ın kullanıcılara sunulmasıydı.

Kullanım büyümesi ertesi günlerde katlanarak arttı ve 19 Ocak’ta günde 950 bin işlem ile zirve yaptı. Bu zirve noktasında ise biz, Oasis tarafından sunuculuk yapılan web3 ağ geçitlerinde (gateway) sıfır olmayan bir gaz ücreti belirledik. Bundan sonra işlem hacmi ay sonuna değin günlük yaklaşık 200 bin işlem sayısı çevresinde stabil hale geldi.

Ağın Sağlığının ve Ölçeklenebilirliğinin Sağlanması

Böylesi hızlı artışlar sonucu farklı problemlerin meydana gelmesi beklenir. Oasis ekibi bu nedenle sürekli olarak Emerald’ın durumunu gözlüyor ve meydana çıkan sorunlara hızlıca çözüm üretiyor. İşlem hacmindeki müthiş artışın ParaTime’ın sağlığını etkilememesi adına Oasis ve Ağ’daki düğüm operatörleri talebi karşılamak için ivedilikle adımlar attılar.

Saate göre işlem talep sayısı

Dikkate değer kullanım artışı bölümümüzde değindiğimiz gibi 11 Ocak’ta kullanımdaki ilk büyük dalga gerçekleşmişti. Buna cevap vermek amacıyla ekip ivedilikle var olan web3 ağ geçit serverlarının donanım kapasitesini arttırdı ve yeni kolaylıklar sağladı. Ağ ve topluluk partnerlerinin hızla aldığı ve hızla hayata geçirdiği bu karar oldukça etkili oldu. Artık uç noktalar (endpoints) günlük ortalama 23 milyon istek sayısına ulaşan yüksek talebi ölçeklenerek karşılayabiliyor.

Emerald 6.1.0 ile Yüksek Talebi Destekleme

Sıfır ücretli İşlem Spam’i

Mainnet üzerindeki Emerald’ı belli bir minimum işlem gazı ücreti ayarlamadan başlattık. Bunun bir amacı Emerald’ı kullanacak insanların işlem ücreti ödeme zorunluluğunu ortadan kaldırmak istememizdi. Emerald’ın kullanım yoğunluğu artınca bazı kullanıcılar sıfır işlem ücreti politikasını kendilerine kazanç sağlayacak şekilde kullanmaya çalıştı. Bu kullanıcılar ağı sıfır işlem ücreti ile spam yağmuruna boğan botlar oluşturdu. Söz konusu spam saldırısının muhtemel amaçlarından biri merkeziyetsiz borsaya spekülatif işlem emirleri vererek kar etmekti.

Bu faaliyetler artarak devam etti. Saldırıların bot olmayan, gerçek kullanıcıların deneyimini menfi yönde etkilememesi için çabaladık. İlk olarak Oasis tarafından sunuculuğu yapılan web3 ağ geçitleri uç noktalarında minimum gaz ücretini artırdık. Daha sonra Emerald ParaTime node operatörlerinin düğümlerinde sıfır olmayan bir minimum gaz fiyatı belirlemesine izin veren bir yükseltmeyi kullanıma sunduk. Emerald ParaTime çalışma komitesi yeni versiyona yükseltildi. Bu komiteye katılan tüm düğümler artık minimum bir gaz ücreti belirleyebilecek ve sıfır işlemli ücretleri gerçekleştirmeyi reddedebilecektir.

Blok Gaz Limitini Geçerek Yapılan Uygunsuz İşlem Planlaması

Yukarıda bahsettiğimiz gibi hızla artan talep işlem hacminin yükselmesine neden oldu ve başka sorunlar da meydana geldi. İşlem gruplarının planlanması sürecinde işlem gaz limitlerinin gereken biçimde dikkate alınmadığını keşfettik. Bu sorun Emerald işlem planlayıcının blok gaz limitinden daha fazla gaz kullanan işlem gruplarını planlamasına yol açabilirdi. Bu işlem grupları planlanabilirdi, ancak hem işlem hem de blok gaz limitleri icra noktasında onaylandığından gerçekleştirilemezdi.

Bu sorun yanlış olarak bazı işlemlerde “gaz bitmesi” (batch out of gas) hatası verilmesine ve işlemlerin gerçekleşmemesine sebep oldu. Örnek olarak:

— batch out of gas (sınır: 10000000 aranan: 10000011)

İzin verilen maksimum blok gaz limitinin aşımı nedeniyle kullanıcıların işlemleri gerçekleştirilmedi, üstelik kullanıcılar gaz ücretlendirmelerine tabii tutuldular. Emerald gaz ücreti politikası gereği bu ücretler o süreçte Emerald komitesinde bulunan düğümler arasında dağıtıldı.

Emerald ParaTime 6.1.0 sürümü işte bahsettiğimiz bu sıfır işlem ücreti spamı ve blok gaz limitleri sorunlarını aşağıda kısaca özetlediğimiz şekilde ele aldı:

1. Emerald düğümlerinin sıfırdan farklı bir minimum gaz fiyatı belirlemesini sağlamak ve

2. İşlem gruplarını planlarken gaz limitlerini uygun biçimde dikkate almak.

Yükseltme Testnet üzerinde 19 Ocak’ta test edilmeye başlandı. 26 Ocak’ta ise Mainnet’te kullanıma sunuldu.

Emerald 6.2.0'da İyileştirilmiş İşlem Planlaması

Emerald 6.1.0’ın yayınlanması ile bahsettiğimiz ve özetlediğimiz iki önemli sorun çözülmüştü. Bunların ardından ekip Emerald işlem planlayıcısında ortaya çıkan bir başka soruna odaklandı. Bu sorun Ethereum’un kullanılmamış gaz ücretleri konusunu farklı bir şekilde ele almasından ötürü meydana geldi. Ethereum’da (ve Emerald’da) kullanıcı, işlemin gaz limitini çok yüksek bir sayıya ayarlayabilir. Örneğin bu sayı beş milyon gaz birimi olsun. Eğer işlem yalnızca yüz bin gaz birimi harcıyorsa geri kalan kullanılmamış gaz ücretleri kullanıcıya iade edilir. Ancak Emerald tarafından kullanılan ParaTime işlem planlayıcısı yalnızca işlem tarafından talep edilen gaz limitini dikkate alıyordu. Bunun olası bir sonucu hizmet engelleme saldırısıdır (DoS — denial of service). Saldırgan çok küçük miktarlar kullanarak ve ödeyerek Emerald’da aşırı yüksek işlem gaz limitleri belirleyebilirdi. Böylelikle Emerald’daki kullanılabilir kapasitesinin büyük kısmını tüketebilirdi.

Sorunun çözümü ParaTime SDK’sını (software development kit — yazılım geliştirme kiti) güçlendirmekti. Bu güçlendirme işlemlerin gerçekte ne kadar gaz kullanacağını bilen yeni bir işlem planlayıcısının geliştirilmesiyle gerçekleşti. Yeni işlem planlayıcı işlem gruplarını oluştururken gerçekte ne kadar gaz kullanılacağını dikkate alıyor. Böylece Ethereum gaz semantiğini benimseyen ParaTime’lar blokları verimli şekilde gruplandırabiliyor.

Emerald 6.2.0 yeni işlem planlayıcısyla 27 Ocak’ta Testnet’te kullanılmaya başlandı. Ertesi gün ise Oasis ekibi yeni sürümü Mainnet için önerdi.

Hem Emerald 6.1.0 hem de 6.2.0 sürümleri geriye dönük uyumludur. Bu, katılımcı düğümler yükseltmeleri gerçekleştirirken ParaTime’ın operasyonel faaliyetinin durmamasını sağladı. Böylelikle herhangi bir kesinti yaşanmadan iki yükseltme de başarıyla tamamlandı.

Emerald Düğüm Operatörlerinden Hızlı Yanıt

Emerald 6.2.0’ın duyurusu Asya ve Avrupa bölgelerinde cuma gecesinin geç saatleri yaşanırken yapıldı. Buna rağmen düğüm operatörleri çok hızlı bir şekilde cevap verdi ve Emerald ParaTime ve Oasis düğüm versiyonlarını ivedilikle güncellediler. 6.2.0’ın resmi açıklamasından sonra, sadece dört saat içinde 65 Emerald düğümünün yarısından çoğu versiyonunu yükseltti. 24 saat geçmeden ise bu oran 65’te 56 oldu.

Oasis Ağı olarak muhteşem bir topluluğa ve çalışkan, tutkulu düğüm operatörlerine sahibiz. Bunun için oldukça minnettarız.

--

--