Solana, NASDAQ'tan daha verimli olan merkezi olmayan bir ticaret ağı kurmayı hedefliyor, ancak mevcut blok zinciri tasarımı beklentilerin altında kalıyor, mevcut Solana piyasa yapıcısı emir iptal yarışında düşük bir kazanma oranına sahip (merkezi borsaların %13'ünden çok daha düşük) ve Jito Müzayedeleri, devlet erişiminin tek bir lider tarafından kontrolünü şiddetlendirerek spreadlerin genişlemesine neden oluyor. Bu bağlamda, emir sıralamasını optimize etmek, piyasa yapıcıların olumsuz seçim maliyetini azaltmak ve fiyat verimliliğini artırmak için konsensüs mekanizmasının yeniden yapılandırılması ve birden fazla eşzamanlı liderin tanıtılması önerilmektedir.
Solana'nın ilk oluşturma hedefi, üzerinde kullanılabilir bir merkezi limitli emir defteri çalıştırmak için yeterince hızlı ve yeterince ucuz bir blok zinciri inşa etmekti. Solana ana ağ test sürümü Mart 2020'de kullanıma sunuldu - bugün beş yıl geçti, birçok başarı elde etmemize rağmen, bu hedefi henüz gerçekleştirmediğimiz giderek daha belirgin hale geliyor.
Mevcut blok zinciri altyapısı işlemler için tasarlanmamıştır. Eğer Solana'nın başlangıçtaki misyonunu gerçekleştirmek istiyorsak, sıfırdan başlayarak en temel prensiplerden hareketle konsensüs mekanizmasını tamamen yeniden tasarlamamız ve sonunda New York Borsa'sıyla rekabet edebilecek bir merkeziyetsiz ağ inşa etmemiz gerekiyor.
New York Borsası ile rekabet ettiğimizden kastettiğimiz, Solana üzerindeki borsaların merkezi borsalardan daha iyi fiyatlar sunabilme yeteneğine sahip olması gerektiğidir. Piyasa dünyasında fiyat "fark" ile tanımlanır: yani birinin bir varlığı satın almak istediği en yüksek fiyat ile birinin o varlığı satmak istediği en düşük fiyat arasındaki fark.
Fiyat farkı ne kadar küçükse, trader'ların elde ettiği fiyat o kadar iyi olur ve piyasanın verimliliği o kadar yüksek olur.
Yayılma formülü basittir. Spreadler, bir piyasa yapıcının bilgi sahibi olmayan bir tüccarla alım satım yapmaktan elde edeceği beklenen kârın, bir bilgi tüccarı ile alım satım yapmaktan maruz kalacağı beklenen zarara eşit olacağı şekilde belirlenir. Piyasa yapıcılar karşı taraflarından daha fazla bilgiye sahip olduklarında para kazanırlar; Karşı taraftan daha az bilgi olduğunda para kaybederler. Piyasa yapıcılar genellikle perakende yatırımcılarla yapılan her ticarette biraz para kazanırlar, ancak fiyat şiddetli bir şekilde sıçradığında (umarım nadiren) ters yönde korunurlarsa çok şey kaybederler. "Piyasa yapıcı kapıyı alır ve karpuzu kaybeder" ifadesinin kökeni budur.
Ters Seçim Maliyeti Neden Belirlenir?
Ters seçimi daha iyi anlamak için, piyasa yapıcılarının ne oynadığını anlamamız gerekir. Piyasa yapıcılar, zaman içinde rastgele değişen bir "adil fiyata" dayalı kararlar verirler. Adil fiyat alış-satış farkı içinde olduğunda, piyasa yapıcının teklifi güvenlidir çünkü karşı taraf teklifi yiyerek kar elde edemez. Ancak adil fiyat alış-satış farkını aşar aşmaz bir yarış başlar: piyasa yapıcı emri mümkün olan en kısa sürede iptal etmeye çalışır ve alıcı, piyasa yapıcı iptal etmeden önce güncelliğini yitirmiş emri almaya çalışır. Başarılı bir alıcının beklentisi, adil fiyat ile güncelliğini yitirmiş teklif arasındaki farktır. Olumsuz seçimin sürtünmesini azaltmanın anahtarı, piyasa yapıcıların yarışı mümkün olduğunca kazanmasına izin vermektir.
Bir merkezi borsa verilerine göre, fiyat dalgalanmalarından sonra piyasa yapıcıların siparişlerini önceden iptal etme olasılığı sadece %13'tür.
Merkezi borsalardaki piyasa yapıcıların iptal yarışında kazanma olasılığı daha düşük, ancak Solana'da daha da düşük. Uzun bir süre boyunca devlet erişimini kontrol eden tek bir teklif sahibinin bir yan etkisi olan Jito açık artırma mekanizması, piyasa yapıcıların iptal yarışını kazanmasını neredeyse imkansız hale getiriyor. Piyasa yapıcı daha hızlı olsa bile, asıl karar Jito müzayedesinde kimin daha yüksek teklif vereceğidir. Bu, piyasa yapıcıları bir ikileme sokar: Emirlerini iptal etmek için çok para ödeyebilirler ya da başka birinin onları keskin nişancılık yapmak için yüksek bir fiyat ödemesine izin verebilirler. Her iki durumda da, para kaybediyorlardı ve sonuç olarak spread'i genişletmek zorunda kaldılar.
Uygulamada, mevcut zincir üstü piyasa mikro yapısı, alıcılara ters seçim açısından ilk hamle avantajı sağlar. Bu sorunu çözmek için, uygulamaya işlem sıralamasında daha fazla esneklik vermemiz gerekiyor. Spread'i düşürmek istiyorsak, uygulama piyasa yapıcılara emir iptali yarışında bir avantaj sağlayabilmelidir. Bunu yapmanın bir yolu, "önce iptal et, sonra doldur" sıralama stratejisi uygulamaktır. Bloklara bakarız ve tüm çekimleri işlemeden önce tüm iptalleri işleriz.
Bu stratejiyi, mevcut tekrar sıralamasını lider tarafından belirlenen bir modelden iptallere öncelik veren bir politikaya değiştirerek Solana'da hemen uygulayabiliriz. Ancak bu sorunu tamamen çözmez. Hala tek bir lider tarafından kontrol ediliyorsa ve bu lider hala alım satımları iptal etmeyi görmezden gelmeyi seçebiliyorsa, o zaman en başa dönüyoruz - piyasa yapıcı yarışı iptal etmek için hala dezavantajlı durumda.
Bu sorunu çözmenin tek yolu, çoklu eş zamanlı liderler (Concurrent Leaders) getirmektir. Böylece, eğer bir lider işlemi engellerse, başka bir lidere başvurabilirsiniz.
Uygulama - İşlem Sıralaması
Birden fazla paralel liderle ilgili en büyük soru şudur: Bir çatışma olduğunda kendi işlem bloklarını nasıl birleştiririz? Cevap basit: Ücretleri iki kategoriye ayırıyoruz: dahil etme ücretleri ve sipariş ücretleri. Dahil etme ücreti, işlemi içeren doğrulayıcıya ödenir ve sıralama ücreti protokole (yakma) ödenir. Her bir liderin bloklarını birleştirmek istediğimizde, bir slottaki tüm bloklar için tüm işlemlerin birleşimini alır ve bunları sıralama ücretlerine göre sıralarız.
Bu tek önlem yeterli değildir. Gerçekten ulaşmak istediğimiz şey, uygulamaların işlem sıralamasını daha esnek bir şekilde kontrol edebilmesidir. Bir başka unsur daha ekleyelim: get\_transaction\_metadata sistem çağrısı, programın etkileşimde bulunduğu işlemlerin sıralama ücretlerini okumasına olanak tanır ve böylece uygulamalara güçlü bir sıralama kontrol aracı sağlar.
Uygulama — Konsensüs Mekanizması
Konsensüs mekanizması tasarım hedeflerimiz şunları içerir:
Bağlama ve Körleştirme (Binding & Blinding): Paralel liderler, kendi bloklarında diğer lider bloklarındaki bilgileri (örneğin, özel işlemleri baskı altına alma) dahil edemezler ve diğer lider bloklarının içeriğine dayanarak kendi bloklarını iptal edemezler (örneğin, diğer teklifler görüldüğünde kendi tekliflerini iptal etme).
Saat Adaleti (Wallclock Fairness): Paralel liderlerin blokları yaklaşık olarak aynı gerçek zaman diliminde sunmaları gerekmektedir.
Aşağıda a16z Research'tan Pranav Garimidi ve Joachim Neu ile işbirliği içinde geliştirdiğimiz en etkili çözüm özetini bulabilirsiniz:
Her lider bloğunu hata düzeltme parçalarına (shreds) dönüştürecektir. Yeterli sayıda (kodlama oranından fazla) parça geri yüklenirse, blok geri yüklenebilir. Kısmi geri yükleme mümkün değildir.
Lider, parçaları Türbin ağacının ilk katmanındaki röle düğümüne gönderir. Her lider ilk dilimini Röle 1'e, ikincisini Röle 2'ye gönderir ve bu şekilde devam eder. Her şey yolunda giderse, her bayrak yarışı tüm liderlerden parçalar alacak.
Süre dolduğunda, ara katman, aldığı parçaları bildiren imzalı IHAVE mesajını tek bir konsensüs liderine gönderir.
Konsens liderleri daha sonra bu IHAVE mesajlarını içeren bir blok oluşturur; eğer yeterli oranda IHAVE mesajı içermezse, bu blok geçersiz olacaktır.
Konsens lideri bu bloğu doğrulayıcılara yayar, doğrulayıcılar bu blok üzerinde konsensusa ulaşmaya başlar.
Bu çözüm, yüksek olasılıkla bağlanma ve körleştirme özelliklerini karşılamakta ve iyi bir saat adilliğine sahip olmasına rağmen, gelecekte daha iyi çözümlerin ortaya çıkma ihtimali bulunmaktadır.
Sonuç
Solana, NASDAQ'ı geçmek amacıyla oluşturuldu. Bunu yapmak için NASDAQ'tan daha iyi bir fiyat teklif etmeliyiz. Bunu yapmak için, uygulamaya kapatmadan önce iptallere öncelik verme yeteneği vermeliyiz. Bu yeteneğin uygulanmasını güçlendirmek için, liderlerin emirleri tek taraflı olarak gözden geçirmesini engellemeliyiz. Ve bunu yapmak için, paralel olarak birden fazla lider getirmeliyiz.
The content is for reference only, not a solicitation or offer. No investment, tax, or legal advice provided. See Disclaimer for more risks disclosure.
Solana, on-chain Nasdaq vizyonunu gerçekleştirmek için nasıl geliştirilmelidir?
**Yazan:**Max Resnick (Anza) & Anatoly Yakovenko (Solana Labs)
Derleyen: GaryMa Wu, Blok Zinciri Hakkında
Özet
Solana, NASDAQ'tan daha verimli olan merkezi olmayan bir ticaret ağı kurmayı hedefliyor, ancak mevcut blok zinciri tasarımı beklentilerin altında kalıyor, mevcut Solana piyasa yapıcısı emir iptal yarışında düşük bir kazanma oranına sahip (merkezi borsaların %13'ünden çok daha düşük) ve Jito Müzayedeleri, devlet erişiminin tek bir lider tarafından kontrolünü şiddetlendirerek spreadlerin genişlemesine neden oluyor. Bu bağlamda, emir sıralamasını optimize etmek, piyasa yapıcıların olumsuz seçim maliyetini azaltmak ve fiyat verimliliğini artırmak için konsensüs mekanizmasının yeniden yapılandırılması ve birden fazla eşzamanlı liderin tanıtılması önerilmektedir.
Solana'nın ilk oluşturma hedefi, üzerinde kullanılabilir bir merkezi limitli emir defteri çalıştırmak için yeterince hızlı ve yeterince ucuz bir blok zinciri inşa etmekti. Solana ana ağ test sürümü Mart 2020'de kullanıma sunuldu - bugün beş yıl geçti, birçok başarı elde etmemize rağmen, bu hedefi henüz gerçekleştirmediğimiz giderek daha belirgin hale geliyor.
Mevcut blok zinciri altyapısı işlemler için tasarlanmamıştır. Eğer Solana'nın başlangıçtaki misyonunu gerçekleştirmek istiyorsak, sıfırdan başlayarak en temel prensiplerden hareketle konsensüs mekanizmasını tamamen yeniden tasarlamamız ve sonunda New York Borsa'sıyla rekabet edebilecek bir merkeziyetsiz ağ inşa etmemiz gerekiyor.
New York Borsası ile rekabet ettiğimizden kastettiğimiz, Solana üzerindeki borsaların merkezi borsalardan daha iyi fiyatlar sunabilme yeteneğine sahip olması gerektiğidir. Piyasa dünyasında fiyat "fark" ile tanımlanır: yani birinin bir varlığı satın almak istediği en yüksek fiyat ile birinin o varlığı satmak istediği en düşük fiyat arasındaki fark.
Fiyat farkı ne kadar küçükse, trader'ların elde ettiği fiyat o kadar iyi olur ve piyasanın verimliliği o kadar yüksek olur.
Yayılma formülü basittir. Spreadler, bir piyasa yapıcının bilgi sahibi olmayan bir tüccarla alım satım yapmaktan elde edeceği beklenen kârın, bir bilgi tüccarı ile alım satım yapmaktan maruz kalacağı beklenen zarara eşit olacağı şekilde belirlenir. Piyasa yapıcılar karşı taraflarından daha fazla bilgiye sahip olduklarında para kazanırlar; Karşı taraftan daha az bilgi olduğunda para kaybederler. Piyasa yapıcılar genellikle perakende yatırımcılarla yapılan her ticarette biraz para kazanırlar, ancak fiyat şiddetli bir şekilde sıçradığında (umarım nadiren) ters yönde korunurlarsa çok şey kaybederler. "Piyasa yapıcı kapıyı alır ve karpuzu kaybeder" ifadesinin kökeni budur.
Ters Seçim Maliyeti Neden Belirlenir?
Ters seçimi daha iyi anlamak için, piyasa yapıcılarının ne oynadığını anlamamız gerekir. Piyasa yapıcılar, zaman içinde rastgele değişen bir "adil fiyata" dayalı kararlar verirler. Adil fiyat alış-satış farkı içinde olduğunda, piyasa yapıcının teklifi güvenlidir çünkü karşı taraf teklifi yiyerek kar elde edemez. Ancak adil fiyat alış-satış farkını aşar aşmaz bir yarış başlar: piyasa yapıcı emri mümkün olan en kısa sürede iptal etmeye çalışır ve alıcı, piyasa yapıcı iptal etmeden önce güncelliğini yitirmiş emri almaya çalışır. Başarılı bir alıcının beklentisi, adil fiyat ile güncelliğini yitirmiş teklif arasındaki farktır. Olumsuz seçimin sürtünmesini azaltmanın anahtarı, piyasa yapıcıların yarışı mümkün olduğunca kazanmasına izin vermektir.
Bir merkezi borsa verilerine göre, fiyat dalgalanmalarından sonra piyasa yapıcıların siparişlerini önceden iptal etme olasılığı sadece %13'tür.
Merkezi borsalardaki piyasa yapıcıların iptal yarışında kazanma olasılığı daha düşük, ancak Solana'da daha da düşük. Uzun bir süre boyunca devlet erişimini kontrol eden tek bir teklif sahibinin bir yan etkisi olan Jito açık artırma mekanizması, piyasa yapıcıların iptal yarışını kazanmasını neredeyse imkansız hale getiriyor. Piyasa yapıcı daha hızlı olsa bile, asıl karar Jito müzayedesinde kimin daha yüksek teklif vereceğidir. Bu, piyasa yapıcıları bir ikileme sokar: Emirlerini iptal etmek için çok para ödeyebilirler ya da başka birinin onları keskin nişancılık yapmak için yüksek bir fiyat ödemesine izin verebilirler. Her iki durumda da, para kaybediyorlardı ve sonuç olarak spread'i genişletmek zorunda kaldılar.
Uygulamada, mevcut zincir üstü piyasa mikro yapısı, alıcılara ters seçim açısından ilk hamle avantajı sağlar. Bu sorunu çözmek için, uygulamaya işlem sıralamasında daha fazla esneklik vermemiz gerekiyor. Spread'i düşürmek istiyorsak, uygulama piyasa yapıcılara emir iptali yarışında bir avantaj sağlayabilmelidir. Bunu yapmanın bir yolu, "önce iptal et, sonra doldur" sıralama stratejisi uygulamaktır. Bloklara bakarız ve tüm çekimleri işlemeden önce tüm iptalleri işleriz.
Bu stratejiyi, mevcut tekrar sıralamasını lider tarafından belirlenen bir modelden iptallere öncelik veren bir politikaya değiştirerek Solana'da hemen uygulayabiliriz. Ancak bu sorunu tamamen çözmez. Hala tek bir lider tarafından kontrol ediliyorsa ve bu lider hala alım satımları iptal etmeyi görmezden gelmeyi seçebiliyorsa, o zaman en başa dönüyoruz - piyasa yapıcı yarışı iptal etmek için hala dezavantajlı durumda.
Bu sorunu çözmenin tek yolu, çoklu eş zamanlı liderler (Concurrent Leaders) getirmektir. Böylece, eğer bir lider işlemi engellerse, başka bir lidere başvurabilirsiniz.
Uygulama - İşlem Sıralaması
Birden fazla paralel liderle ilgili en büyük soru şudur: Bir çatışma olduğunda kendi işlem bloklarını nasıl birleştiririz? Cevap basit: Ücretleri iki kategoriye ayırıyoruz: dahil etme ücretleri ve sipariş ücretleri. Dahil etme ücreti, işlemi içeren doğrulayıcıya ödenir ve sıralama ücreti protokole (yakma) ödenir. Her bir liderin bloklarını birleştirmek istediğimizde, bir slottaki tüm bloklar için tüm işlemlerin birleşimini alır ve bunları sıralama ücretlerine göre sıralarız.
Bu tek önlem yeterli değildir. Gerçekten ulaşmak istediğimiz şey, uygulamaların işlem sıralamasını daha esnek bir şekilde kontrol edebilmesidir. Bir başka unsur daha ekleyelim:
get\_transaction\_metadata
sistem çağrısı, programın etkileşimde bulunduğu işlemlerin sıralama ücretlerini okumasına olanak tanır ve böylece uygulamalara güçlü bir sıralama kontrol aracı sağlar.Uygulama — Konsensüs Mekanizması
Konsensüs mekanizması tasarım hedeflerimiz şunları içerir:
Bağlama ve Körleştirme (Binding & Blinding): Paralel liderler, kendi bloklarında diğer lider bloklarındaki bilgileri (örneğin, özel işlemleri baskı altına alma) dahil edemezler ve diğer lider bloklarının içeriğine dayanarak kendi bloklarını iptal edemezler (örneğin, diğer teklifler görüldüğünde kendi tekliflerini iptal etme).
Saat Adaleti (Wallclock Fairness): Paralel liderlerin blokları yaklaşık olarak aynı gerçek zaman diliminde sunmaları gerekmektedir.
Aşağıda a16z Research'tan Pranav Garimidi ve Joachim Neu ile işbirliği içinde geliştirdiğimiz en etkili çözüm özetini bulabilirsiniz:
Her lider bloğunu hata düzeltme parçalarına (shreds) dönüştürecektir. Yeterli sayıda (kodlama oranından fazla) parça geri yüklenirse, blok geri yüklenebilir. Kısmi geri yükleme mümkün değildir.
Lider, parçaları Türbin ağacının ilk katmanındaki röle düğümüne gönderir. Her lider ilk dilimini Röle 1'e, ikincisini Röle 2'ye gönderir ve bu şekilde devam eder. Her şey yolunda giderse, her bayrak yarışı tüm liderlerden parçalar alacak.
Süre dolduğunda, ara katman, aldığı parçaları bildiren imzalı IHAVE mesajını tek bir konsensüs liderine gönderir.
Konsens liderleri daha sonra bu IHAVE mesajlarını içeren bir blok oluşturur; eğer yeterli oranda IHAVE mesajı içermezse, bu blok geçersiz olacaktır.
Konsens lideri bu bloğu doğrulayıcılara yayar, doğrulayıcılar bu blok üzerinde konsensusa ulaşmaya başlar.
Bu çözüm, yüksek olasılıkla bağlanma ve körleştirme özelliklerini karşılamakta ve iyi bir saat adilliğine sahip olmasına rağmen, gelecekte daha iyi çözümlerin ortaya çıkma ihtimali bulunmaktadır.
Sonuç
Solana, NASDAQ'ı geçmek amacıyla oluşturuldu. Bunu yapmak için NASDAQ'tan daha iyi bir fiyat teklif etmeliyiz. Bunu yapmak için, uygulamaya kapatmadan önce iptallere öncelik verme yeteneği vermeliyiz. Bu yeteneğin uygulanmasını güçlendirmek için, liderlerin emirleri tek taraflı olarak gözden geçirmesini engellemeliyiz. Ve bunu yapmak için, paralel olarak birden fazla lider getirmeliyiz.