Cardano’nun Merkeziyetsizlik Testi Düğüm Sayısının Ötesine Geçiyor
Cheeky Crypto sunucusu Nick Regan, birden çok bağımsız Cardano istemcisinin yalnızca protokolü tutarlı biçimde yorumladıklarında merkeziyetsizliği güçlendirdiğini açıklıyor. CPS-0034, mevcut ve geçmiş protokol sürümleri genelinde daha geniş Plutus Core testlerini öneriyor.
By SongMarketCap
Nick Regan, Cheeky Crypto’nun kurucu ortağı ve sunucusu, Cardano’nun merkeziyetsizliği içindeki daha az görünür bir riske ilişkin 24 dakikalık bir analiz yayımladı: ağın kuralları konusunda anlaşmayabilecek bağımsız olarak geliştirilen yazılımlar. Cheeky Crypto, 2020’de Nick ve Chris Regan tarafından kurulan bir kripto analiz ve eğitim platformudur.
Regan, analizini, alternatif Cardano düğüm uygulamalarında kullanılan Plutus Core değerlendiricileri için genişletilmiş uyumluluk testleri öneren açık bir Cardano Problem Statement’ı olan CPS-0034 ile ilişkilendirdi. Tartışma, stake havuzu dağılımının, yönetişime katılımın ve ağa bağlı makine sayısının ötesine geçiyor.
Birden Fazla İstemci Güvenliği Otomatik Olarak Artırmaz
Regan bir ağın fiziksel dağılımı ile yazılımının dağılımı arasında ayrım yapıyor. Cardano, birden çok ülkede farklı kuruluşlar tarafından işletilen binlerce düğüme sahip olabilir, ancak bu altyapının büyük bölümü hâlâ aynı çekirdek düğüm uygulamasına dayanıyor.
Ortak bir uygulama mutabakat açısından kritik bir kusur içerirse, coğrafi olarak dağılmış çok sayıda düğüm aynı sorunu eşzamanlı olarak yaşayabilir. Alternatif istemciler, farklı programlama dilleri, mimariler ve mühendislik kararları kullanmalarına olanak tanıyarak bu yoğunlaşmayı azaltır.
Bu uygulamalar protokolü farklı yorumladığında başka bir risk ortaya çıkar.
Bir istemci diğerinin reddettiği bir işlemi kabul edebilir. İki Plutus değerlendiricisi aynı betiği işleyip farklı sonuçlar döndürebilir ya da farklı yürütme maliyetleri hesaplayabilir. Blok geçerliliği bu sonuçlara bağlı olabileceğinden, düğümler arasındaki anlaşmazlık daha büyük dayanıklılık yerine bir zincir çatallanmasına yol açabilir.
UPLC, yani Untyped Plutus Core, Plutus akıllı sözleşmelerinin derlendiği yürütme dilidir. Alternatif bir değerlendiricinin Cardano’nun yerleşik Haskell uygulamasının yapısını yeniden üretmesi gerekmez, ancak protokolün beklediği mutabakatla ilgili davranışı yeniden üretmesi gerekir.
Regan bunu bağımsız mutabakat ihtiyacı olarak tanımlıyor.
Ayrı kod tabanları ancak geçerli girdiler, uç durumlar ve tarihsel protokol sürümleri için tutarlı biçimde aynı sonuca ulaştıklarında anlamlı yedeklilik sağlar.
Regan, çoğu holderın karşılaştığı merkeziyetsizlik tartışmalarından bu yazılım katmanı riskini ayırmak için başlık olarak “ADA Has a Decentralisation Problem” ifadesini kullanıyor. Analizi, mevcut bir ana ağ olayı yerine önleyici altyapı çalışmalarına odaklanıyor.
CPS-0034 Plutus Core Uyumluluk Testlerini Genişletiyor
Plutus Core ekibi teklifi 12 Ağustos’ta kamuya değerlendirme için açtı. CIP editörleri, ilk incelemenin ardından ona CPS-0034 numarasını atadı, teknik teklif ise geri bildirimlere açık olmaya devam ediyor.
CPS-0034 teklifine göre, Cardano şu anda harici geliştiricilere yaklaşık 1.000 önceden tanımlanmış golden-file testi sağlıyor. Bunlar, bağımsız bir değerlendiricinin sağlanan bir betiği yürütmesine ve çıktısını beklenen sonuçla karşılaştırmasına olanak tanır.
Mevcut paket ilk uyumluluk kontrolü sağlar ancak iki belirlenmiş sınırlaması vardır. Plutus ekibinin dahili olarak kullandığı özelliğe dayalı testleri ortaya koymaz ve yalnızca en güncel protokol sürümü, defter dil sürümü ve maliyet modeli kombinasyonunu kapsar.
Özelliğe dayalı testler, daha küçük bir elle hazırlanmış örnekler koleksiyonunun ötesine geçer. Bir üretici yüzlerce veya binlerce çeşitli girdi oluşturabilir, bunlardan Plutus betikleri inşa edebilir ve tanımlanmış davranışsal özelliklerin sürmeye devam edip etmediğini doğrulayabilir.
Bu yaklaşım, olağandışı kombinasyonlar, sınır değerler ve normal etkinlik sırasında nadiren ortaya çıkabilecek koşullar genelinde kapsamı genişletir. Bağımsız olarak geliştirilen uygulamaların, protokol davranışı hakkında farklı varsayımları açığa vurma olasılığının daha yüksek olduğu durumlar da bunlardır.
CPS-0034, üretilmiş test vakalarının harici uygulamaların en az entegrasyon çalışmasıyla tüketebileceği taşınabilir bir biçimde dağıtılmasını öneriyor. Her test, programı, girdilerini, beklenen sonucu ve uygulanabildiği yerlerde beklenen yürütme bütçesini içerebilir.
Tarihsel kapsam da dahil edilmiştir. Cardano birden çok defter çağı, hard fork, Plutus dil sürümü ve maliyet modeli değişiminden geçti. Alternatif bir düğüm, zinciri yeniden oynatması ve önceki blokları doğrulaması bekleniyorsa bu geçmişi doğru yorumlamalıdır.
Teklif özellikle Plutus Core değerlendirici uyumluluğuna odaklanır. Bir Cardano düğümünün içindeki tüm ağ iletişimi, defter ve mutabakat bileşenleri için eksiksiz bir test çerçevesi tanımlamaz. Düğüm güvenliğiyle ilişkisi, farklı betik değerlendirme sonuçlarının bir işlem veya bloğun geçerli sayılıp sayılmayacağını değiştirebilmesinden kaynaklanır.
Bağımsız Kod Tutarlı Davranışı Kanıtlamalıdır
CPS-0034 hâlâ birkaç açık teknik soru içeriyor. Geliştiriciler, üretilen testlerin nasıl dağıtılması gerektiğini, beklenen ile gerçek sonuçlar arasındaki farkların nasıl raporlanacağını, vakaların protokol sürümüne göre nasıl süzüleceğini ve binlerce testin nasıl verimli bir şekilde yürütülebileceğini tartışıyor.
Amaru ile bağlantılı geliştiriciler kamu tartışmasına şimdiden katıldı. Amaru, Rust ile yazılmış açık kaynaklı bir Cardano düğüm istemcisidir ve operatörlere yerleşik Haskell cardano-node’dan ayrı olarak geliştirilen bir uygulama sağlar.
Bir Amaru katkıcısı, projenin halihazırda mevcut anlamsal ve flat uyumluluk paketlerini tükettiğini bildirdi. Geri bildirim, daha geniş özellik ve sürüm testlerini desteklerken, gerçekçi zincir üstü senaryolar, istemciye tarafsız veri biçimleri ve üçüncü tarafların ek vaka katkısı yapması için basit bir yol talep etti.
Önerilen yaklaşımlar arasında yapılandırılmış test fikstürleri ve vakaların kapsadıkları protokol ve dil sürümlerine göre etiketlenmesi yer aldı. Tartışma ayrıca üreticinin yalnızca Haskell ile uygulanmasına ilişkin endişeleri de gündeme getirdi çünkü bu, diğer dillerde çalışan ekipler için ek bir engel oluşturabilir.
Paylaşılan bir test standardı özdeş kaynak kodu gerektirmez. Her ekip kendi mimarisini, programlama dilini ve geliştirme yaklaşımını koruyabilirken, ortaya çıkan yürütme davranışı Cardano’nun kurallarıyla uyumlu kalır.
ADA sahipleri için konu, kısa vadeli piyasa performansından ziyade altyapı dayanıklılığı ile ilgilidir. Borsalar, cüzdanlar, merkeziyetsiz uygulamalar ve kurumsal sistemler, işlemler, betikler ve bloklar hakkında deterministik kararlar veren farklı düğümlere bağlıdır.
Eğer CPS-0034 taşınabilir, sürüm farkındalığı olan bir uyumluluk paketi üretirse, alternatif bir Cardano istemcisi artık yalnızca ayrı bir kod tabanı olarak var olmakla uyumluluk göstermez. Bağımsız olarak yazılmış yazılımın Cardano’nun protokol geçmişi genelinde aynı sonuca ve yürütme maliyetine ulaştığına dair tekrarlanabilir kanıt sunabilecek, anlaşmazlıkları canlı bir bloğa ulaşmadan önce test sırasında ortaya çıkaracaktır.