EVM Denkliği vs EVM Uyumluluğu

8NAJ...iz9w
22 Feb 2024
2

EVM Denkliği(Equivalence) Nedir?
Ethereum üzerinde sayısız dapp ve hatta zincir var diyebiliriz. L2’lar kendi içlerinde adeta bir derya. Sayısız geliştirici, her gün çözülen türlü problemler ve gelişen kullanıcı deneyimleri.. Her gün ekosistem çok daha hızlı gelişiyor ve ileriye gidiyoruz. Ancak bu ilerleme ne kadar verimli? Birlikte gitmek mi daha iyi yoksa ayrı yollara ayrılıp özelleşmeli miyiz? İşte tüm bu sorular ise L2’lerin temel ağ mimarilerindeki iki kavramı masaya getiriyor: EVM uyumluluğu(Compatibilitiy) ve EVM denkliği (Equivalence).
Peki bunlar tam olarak ne demek? Yenir mi¿
Öncelikle EVM Uyumluluğu Nedir?
EVM uyumlu zincirler, Ethereum blockchaini ile aynı standartlara uyan blockchain ağlarıdır. EVM uyumlu olmak, bu blockchain ağlarının Ethereum tabanlı akıllı sözleşmeleri ve uygulamaları önemli değişiklikler gerektirmeden çalıştırabileceği anlamına gelir. Bu uyumluluk, Ethereum ile aynı programlama dillerini, işlem formatlarını ve fikir birliği mekanizmalarını izleyerek elde edilir bu da geliştiricilerin Ethereum uygulamalarını bu uyumlu zincirlere kolayca taşımalarını sağlar.
EVM Denkliği Nedir?
EVM Denkliği: Ethereum Sanal Makine spesifikasyonu ile tam uyum sağlamak demektir yani Ethereum Yellow paper’ındaki yazanlara uyuyoruz. Bunu aklınızda L1 ana ağı ile L2 arasındaki geçişin kılçıksız bir şekilde sağlanması olarak düşünebilirsiniz.
Kümülatif Güç
Ethereum 2015’li yıllarda kamuya açık bir şekilde geliştirilmeye başlanıldığından beridir üstünde yüzlerce geliştirici çalıştı, dappler üzerinde milyarlarca dolar hacim döndü. Tüm bu aradan geçen zaman, geliştirmeler ve doğal olarak da çözülen problemler; arkaya dönüp baktığımızda büyük bir inşa sürecini gösteriyor. Özellikle tüm bu ekosistemin var olmasını sağlayan kod parçaları ise geliştiriciler tarafından uzun süredir geliştiriliyor. Hatta geçen zaman içerisinde bunun için çeşitli araçlar oluşturuldu. Artık yeni geliştiriciler ekosisteme katıldıkları zaman önlerinde daha parlak bir yol var. Tabiki tüm bunlar yapılan birçok hatanın ve harcanan zamanın ürünü. İşte tam da bu noktada şu soruya cevap vermek önemli: Yazdığınız bir kod parçasının sadece 1 zincirde mi çalışmasını istersiniz yoksa aynı anda 1000 zincirde çalışabilir şekilde kar topu etkisi yaratmasını mı?
Burada verilen cevap çok önemli çünkü verimli olan tarafı seçip etkiyi çok daha büyük bir şekilde yansıtmak istiyorsanız en temelde ortak olmanız gerekiyor işte buna da EVM denkliği diyoruz. Diğer türlü her kodun hangi L2’da kullanılacaksa onun için özelleştirilip o şekilde kullanılması yani o tüm zamanın tekrar harcanması ve hataların yapılması anlamına geliyor. Tabi bir de tekrar bu tarz ana araçların geliştiriciler tarafından oluşturulması, insanları bu konuda eğitmek ve bunların totalinde doğurduğu maliyet ise apayrı bir konu.

Uyumluluk vs Denklik

Burada öncelikle genel ekosistemdeki ilerlemede 2 uçtan bahsetmekte fayda var. Birisi olabilidiğince geneleşme yani Ethereum, diğeri ise olabildiğince use-case’ine odaklı şekilde özelleşme. Bu durumda arada kalan yapılar kullanıcılar tarafından seçilmemekle karşı karışya kalıyor. İşte EVM uyumluluğunu tam bu noktada ortaya koyabiliriz. EVM denkliğini bu diyagramda bir uç diğer uç tarafı da zk tabanlı çözümler olarak düşünebilirsiniz.
Belki de tüm bunların üstüne denklik için aslında layer1’deki herhangi bir şeyi copy+paste yapıp layer2’ya almak desek doğru olmaz.
Yukarıda gördüğünüz meme’i Optimism’in neden EVM Denkliğine odaklandıklarını anlattıkları yazıdan aldım. Bence Uyumluluk ile denklik arasındaki farkı çok iyi şekilde anlatıyor.

EVM EVM EVM ama Neden?

EVM, binlerce geliştirici katkısıyla üretilerek ortaya çıkmış bir yapıdır. Bu da demek oluyor ki eğer EVM’i forklarsanız bu sunulan katkılardan yararlanmanız limitlenmiş olur. Hepsinden yararlanamazsınız.
Gelin EVM’i bir analoji ile daha yakından anlayalım. EVM’i birbirinden farklı yetenekteki insanların buluşup kurduğu bir şehir olarak düşünebilirsiniz. Bu farklı branşlara sahip kişiler kendi alanlarında ortaya çıkan sorunlara göre çözümler bulmak için uğraşır. Bu çözümler bulundukça da şehir ileriye gider ve kendi kendini geliştiren ve yenileyen bir konuma taşınır. İşte Ethereum üzerinde konuştuğumuz EVM’de bir açık kaynak kodlu yazılımdır. Bu yazılım kamu malıdır ve sayı değer topluluklar ve topluluk üyeleri tarafından geliştirilir. Açık kaynaklı yazılım kullanan geliştiriciler, onu kullanırken her türlü sorunla karşılaşırlar; bazıları önemsiz hatalarken bazıları kritik sorunlara sebebiyet verir. Bazı geliştiriciler de bu sorunları çözmek için zaman harcar ve ardından topluluğa girdilerini kabul etmeleri için bunları anlatır. Topluluk içerisinde değer görürse, katkılar birleştirilir ve yeni bir standart oluşturulur. İşte bu döngü içerisinde yazılım parçası, kullanışlılık ve sağlamlık içinde büyür.
Her geliştirici kendi branşında geliştirmeler yapar ve kolektif ürüne eklemek için kendi özel katkılarını sunar. Zamanla, binlerce geliştiricinin ortak katkılarıyla oldukça sağlam bir kamu yararı elde edilir.
Bir elin nesi var iki developerın sesi var.

Optimism🤝EVM

Tüm bahsettiğimiz bu denklik/ uygulanabilirlik vb. Konular herhangi bir L2’nın sistem dizaynı olarak en başta karar vermesi gereken bir konu ya da sistemlerini bu konuda tekrardan inşa etmeleri gerek. İşte Optimism’de bu konuda kümülatif büyüme ve açık kaynak kodlu gelişiminin uzun vadede merkezi güçleri hep yendiği görüşünü benimseyerek bu konuda mekanizmalarını EVM denk yapma kararı aldı ve kodlarını bu şekilde güncelledi. Yani açık kaynak kodlu gelişime katkı sunmak isteyen birisinin yaptığı bir geliştirme tüm EVM denkliği olan Optimistik Rolluplarda kullanılabilir demek bu da yine totaldeki gelişimi destekleyerek kümülatif gelişimin yolunu açıyor.
Yani Ethereum’un adeta klonları olan bu optimistik rolluplar sadece Ethereum’u güvenlik açısından paylaşmakta kalmaz ayrıca diğer tüm ağ etkilerini de paylaşırlar.

Write & Read to Earn with BULB

Learn More

Enjoy this blog? Subscribe to hasantorsa

0 Comments

B
No comments yet.
Most relevant comments are displayed, so some may have been filtered out.