<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>0xJunger</title>
        <link>https://paragraph.com/@0xjunger</link>
        <description>Physicist. Currently roaming around Zero Knowledge.</description>
        <lastBuildDate>Wed, 08 Jul 2026 14:29:40 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <image>
            <title>0xJunger</title>
            <url>https://storage.googleapis.com/papyrus_images/5b25bf6aa1bae3e64984c3e3410d0be2815cc64256b4f517b9dd7f6e579b654c.jpg</url>
            <link>https://paragraph.com/@0xjunger</link>
        </image>
        <copyright>All rights reserved</copyright>
        <item>
            <title><![CDATA[zkEVM'lerin Farklılıklarına Genel Bir Bakış
]]></title>
            <link>https://paragraph.com/@0xjunger/zkevm-lerin-farkl-l-klar-na-genel-bir-bak</link>
            <guid>Sx0IjL1Lv6eRvUIyBmWP</guid>
            <pubDate>Thu, 02 Feb 2023 15:55:18 GMT</pubDate>
            <description><![CDATA[Ethereum Sanal Makinesi (EVM); ağ üzerindeki veriyi yöneten ve Ethereum üzerindeki akıllı kontratları uygulamaya koyan bir sanal makinedir. zkEVM’ler ise; EVM’in yürüteceği bu süreci ZK (zero-knowledge) Circuit’ler[1] vasıtası ile ispatlamayı amaçlar. zkEVM üzerine yapılan çalışmalar çok kısa sürede hızlı bir ivme kazanmış, bunun üzerine çalışmalar yapan pek çok proje (Scroll, Taiko, Polygon Hermez vb.) ve topluluk ortaya çıkmıştır. Her bir proje zkEVM için özgün yaklaşımlarda bulunmuş, her b...]]></description>
            <content:encoded><![CDATA[<p>Ethereum Sanal Makinesi (EVM); ağ üzerindeki veriyi yöneten ve Ethereum üzerindeki akıllı kontratları uygulamaya koyan bir sanal makinedir. zkEVM’ler ise; EVM’in yürüteceği bu süreci ZK (zero-knowledge) Circuit’ler[1] vasıtası ile ispatlamayı amaçlar. zkEVM üzerine yapılan çalışmalar çok kısa sürede hızlı bir ivme kazanmış, bunun üzerine çalışmalar yapan pek çok proje (Scroll, Taiko, Polygon Hermez vb.) ve topluluk ortaya çıkmıştır. Her bir proje zkEVM için özgün yaklaşımlarda bulunmuş, her biri çeşitli zorluklar ve fırsatlar ile karşılaşmıştır.</p><p>Esasında tüm bu projelerin yapmaya çalıştığı şey; zk-SNARK’ları kullanarak Ethereum-benzeri işlemlerin kriptografik kanıtlarını üretmektir. Fakat yukarıda da bahsedildiği üzere yöntemdeki farklılıklar, kanıt üretme maliyeti ve hız konusunda türlü ödünler vermelerine yol açmaktadır. Aşağıdaki görsel; EVM uyumluluk tiplerini ve her bir tipe ulaşmaya çalışmanın kâr-zarar hesabını özetlemektedir.[2]</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/0b44c2905b5758955acc0b687dccd38e786affd2b6613c41367c8d8ad5e1937b.png" alt="https://vitalik.ca/general/2022/08/04/zkevm.html" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">https://vitalik.ca/general/2022/08/04/zkevm.html</figcaption></figure><p>Bunların yanında, EVM uyumluluğunda iki ana yaklaşım mevcuttur: dil (language)-uyumluluğu ve Bytecode-uyumluluğu. Bu yaklaşımlar arasındaki farkı anlamak için, EVM’in Solidity gibi high-level dillerde yazılmış kodu nasıl yürüttüğünü kavramak önem arzeder. EVM&apos;in, akıllı sözleşme tarafından belirtilen davranışı çalıştırabilmesi için, Bytecode olarak derlendiği bir süreç vardır. Solidity özelinde akış şöyle ilerler;</p><ul><li><p>Akıllı kontrat Solidity dilinde yazılır.</p></li><li><p>Solidity derleyicisi bu kodu Bytecode (EVM&apos;de yürütülen kodların makine tarafından okunabilen bir temsili diyebiliriz) haline getirir. Bu Bytecode’ları yapısöküme uğrattığımız zaman karşımıza <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://ethereum.org/en/developers/docs/evm/opcodes/">OPCODE</a> denilen parçalar çıkar ki bunlar EVM’in doğrudan yorumlayıp yürütebildiği low-level talimatlardır.</p></li><li><p>Akıllı kontrat, Bytecode’a derlendikten sonra Ethereum&apos;a deploy edilebilir. Bu süreç genellikle akıllı kontratın Bytecode’u ile Mempool’a bir işlem göndermeyi içerir. İşlem sonunda bloka dahil edilir ve kontrat oluşturulur.</p></li><li><p>Akıllı kontrat deploy edildikten sonra, artık diğer kullanıcılar ve diğer kontratlar tarafından etkileşime geçilebilir haldedir.</p></li></ul><p>Yukarıdaki bahsedilen süreç, akıllı kontratların Ethereum&apos;a nasıl dağıtıldığını açıklar. zkEVM’deki süreç ise yukarıda bahsedildiği üzere iki ana yaklaşım olan Bytecode veya dil ile uyumlu olmasına bağlı olarak değişmektedir.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/ebe0157ed69387f81ec7956ca2836f6a6edee06c7f7ed4f6b81a69e123229660.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>EVM ile aynı Bytecode’u yürüten ve kanıtlayan zkEVM&apos;lere <strong>Bytecode-uyumlu zkEVM</strong> denilmektedir. Bytecode-uyumlu zkEVM&apos;ler, geliştiricinin deneyiminde hiçbir değişikliğe sebep olmaz. Solidity kodu, derleyici ve Bytecode tamamen aynı şekilde kullanılır. Geliştiriciler, ZK Circuit’lerin ölçeklenebilir olmasından ve kriptografik güvenliğinden istifade ederken, aynı programlama dillerini ve araçlarını genellikle kullandıkları gibi kullanmaya devam ederler. Bu tür zkEVM&apos;lerin, OPCODE’ları işleyerek ve sonuçlarını aynı şekilde kopyalayarak EVM&apos;nin davranışını kopyalayabilmesi gerekir. OPCODE’ların, ZK Circuit’lerde hususi olarak eşlemesi[3] de buna dahildir. Mühendislik nazarından baktığımızda, bu eşlemeyi elde etmek zordur. OPCODE eşlemesinin sağlanması ise daha büyük boyutlarda ZK Circuit’lere ve daha maliyetli kanıt üretimine yol açar. Bytecode düzeyinde zkEVM üzerinde <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://polygon.technology/solutions/polygon-hermez/">Polygon Hermez</a> ve <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://scroll.io/">Scroll</a> geliştirme yapmaktadır. Burada kritik olan husus ise; Bytecode mertebesinde ZK Circuit çalıştırılabilmesi demek, bu zkEVM’in Ethereum L1 üzerinde de çalıştırılabileceği anlamına gelir ki bu Ethereum için müthiş bir ölçeklenme anlamına gelmektedir.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/560409d3ecf361181fb8cb68d3ec8b6c2a68b108fdd1685f383d94ec2a9f1d57.png" alt="https://mirror.xyz/msfew.eth/Yl64OK3lLG48eJpVB3GxqFEhmWOm6yMlAo9sc1VrQP4" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">https://mirror.xyz/msfew.eth/Yl64OK3lLG48eJpVB3GxqFEhmWOm6yMlAo9sc1VrQP4</figcaption></figure><p><strong>Dil-uyumluluğu</strong> ise bir zkEVM&apos;in Solidity gibi high-level dillerle çalışabilmesi anlamına gelir. Geliştiriciler Solidity veya diğer high-level dillerde kod yazabilir ancak bu high-level kodun, EVM&apos;den farklı Bytecode’una kadar derlenmesi gerekir. Bu, akıllı kontratın oluşturulacağı zkEVM’in kendi ağına özgü bir derleme süreci gerektirir. EVM ile eşdeğer olmayan Bytecode, ZK Circuit için daha tasarruflu şekilde tasarlanabilir ve bu da daha verimli kanıt üretimi sağlar. Bu alanda çalışan projelere örnek olarak ise zkSync gösterilebilir.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/28fa69cbde2cdc3f6d10e25b649dc5cc3c41b36e08cff194bd89f906b0e2e912.png" alt="https://blog.matter-labs.io/zksync-2-0-hello-ethereum-ca48588de179" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">https://blog.matter-labs.io/zksync-2-0-hello-ethereum-ca48588de179</figcaption></figure><p>zkSync’de süreç şöyle ilerler; Solidity’de yazılan kod, Yul[3] diline çevrilir. Yul’e çevrilmiş kod alınıp, LLVM (Language Level Virtual Machine) denilen, sadece Yul dilinde çalışan bir VM&apos;de çalıştırılır ve bunlar daha sonra farklı bir VM&apos;de ZK Circuit haline getirilir. Esasında burada bir “zkEVM”den bahis açılıyorsa da, ortada bir EVM yoktur, yalnızca EVM&apos;in algılayabildiği dil, başka bir VM’e öğretilmiştir.</p><p>Özetle; tek bir zkEVM’den bahsetmek mümkün değildir. Farklı yak<s>l</s>aşımlar mevcuttur ve her biri için farklı ödünleşimler söz konusudur. Şayet Solidity dilindeki bir kontratı çalıştırmaktan bahsediyorsak; zkSync de, Hermez de Scroll da aynıdır. Ancak Bytecode seviyesinde zkEVM çalıştıran tek yaklaşım şu an Scroll&apos;dur, Scroll&apos;un zkEVM&apos;i ileride konsensus seviyesinde, L1&apos;e uyumlu zkEVM&apos;e fırsat doğurabilir.</p><p><strong>Dipnotlar:</strong></p><p>[1]: ZK Circuit: ZK ile oluşturulmuş program temsili.</p><p>[2]: Bu kısım Vitalik’in zkEVM <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://vitalik.ca/general/2022/08/04/zkevm.html">yazısından</a> tercüme edilmiştir.</p><p>[3]: Burada “eşleme” olarak kastedilen şey, Solidity’deki “<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://medium.com/coinmonks/solidity-tutorial-all-about-mappings-29a12269ee14">mapping</a>&quot; kavramıdır.</p><p>[4]: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.soliditylang.org/en/v0.8.17/yul.html">Yul</a>, Bytecode olarak da derlenebilen bir ara dil.</p><p><strong>Kaynakça:</strong></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz/labs.taiko.eth/w7NSKDeKfJoEy0p89I9feixKfdK-20JgWF9HZzxfeBo">https://mirror.xyz/labs.taiko.eth/w7NSKDeKfJoEy0p89I9feixKfdK-20JgWF9HZzxfeBo</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://vitalik.ca/general/2022/08/04/zkevm.html">https://vitalik.ca/general/2022/08/04/zkevm.html</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.soliditylang.org/en/v0.8.17/yul.html">https://docs.soliditylang.org/en/v0.8.17/yul.html</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://blog.matter-labs.io/zksync-2-0-hello-ethereum-ca48588de179">https://blog.matter-labs.io/zksync-2-0-hello-ethereum-ca48588de179</a></p>]]></content:encoded>
            <author>0xjunger@newsletter.paragraph.com (0xJunger)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/12f1a2e36ad89163f6f910707a67d5305fa0de6a9cfc6d28e2e0fbd1a505da36.png" length="0" type="image/png"/>
        </item>
    </channel>
</rss>