ErgoScript'i Keşfetmek: Ergo'nun Yerel Betik Dili
26 Mart 2024

Blockchain Programlama Dilleri
Bilgisayar programlama dünyası, geniş ve çeşitli bir kodlama dilleri yelpazesini vurgular. Her dilin kendine özgü avantajları ve dezavantajları vardır. Eğer kodlamaya aşina iseniz, JavaScript, Python, Java, C#, C++, Solidity, Rust ve daha birçok dilden haberdarsınızdır.
Blockchain tasarımında, bu dillerden birçoğu önde gelen kripto para ağlarının inşasında kullanılmıştır.

Ergo Platformu: Betik ve İş Kanıtı Blockchain'inde Yeni Bir Paradigma
Alex Chepurnoy (aka kushti) ve Dmitry Meshkov, yeni bir 3. nesil akıllı sözleşme blockchain'i tasarlamak için yola çıktıklarında, Bitcoin'in İş Kanıtı ve UTXO tasarımını ifade edici akıllı sözleşmelerle birleştiren bir ağ yaratmak istediler. Temelde, amaç Bitcoin'in zamanla test edilmiş modelini Ethereum'un akıllı sözleşmeler ve merkeziyetsiz uygulamalar üretme yeteneği ile birleştirmekti. Bu çabanın merkezinde, herkes için bir blockchain inşa etme arzusu vardı. Ortalama vatandaşın yaşamını iyileştiren ürünleri önceliklendiren bir blockchain. Bu çabadan Ergo Platformu'nu yarattılar ve başlattılar.
Ergo'yu inşa etmek için, kendilerine özgü ihtiyaçlarını karşılayan bir programlama dili oluşturmaları gerekiyordu. Kushti ve Meshkov birlikte, Ergo Platformu üzerinde esnek ve güvenli akıllı sözleşmeler yazabilmek için yeni bir betik dili olan ErgoScript'i geliştirdiler.
ErgoScript Nedir?
ErgoScript, Ergo blockchain'inde akıllı sözleşmeler yazmak için kullanılan programlama dilidir. Güvenlik ve ölçeklenebilirliğe odaklanarak, gelişmiş finansal araçlar ve merkeziyetsiz uygulamalar (dApps) oluşturma yeteneği ile özellikle dikkat çekmektedir. Tasarımı, yaygın programlama kalıplarını özlü, şık ve tür güvenli bir şekilde ifade etmek için tasarlanmış çoklu paradigma programlama dili olan Scala'dan türetilmiştir. Ergo Beyaz Kitabı'ndan ErgoScript şu şekilde tanımlanmaktadır:
“…kripto paralar için güçlü ve protokol dostu bir betik dili. ErgoScript'teki programlar, paranın harcanabileceği koşulları belirtmek için kullanılır. Dil, Σ(Sigma)-protokoller olarak adlandırılan etkileşimsiz sıfır bilgi kanıtları türünü destekler ve halka imzaları, çoklu imzalar, birden fazla para birimi, atomik takaslar, kendini kopyalayan betikler ve uzun vadeli hesaplamalar gibi esneklik sağlar.”
ErgoScript'in temel özellikleri şunlardır:
- Sigma Protokollerine Dayalı: ErgoScript, bir tür kriptografik protokol olan Sigma Protokolleri (veya Σ-protokoller) üzerine inşa edilmiştir. Bu temel, esnek ve son derece güvenli akıllı sözleşmelerin oluşturulmasına olanak tanır.
- Açıklayıcı Yaklaşım: Bir şeyin nasıl yapılacağını tanımladığınız zorunlu dillerin aksine, ErgoScript'te hangi koşulların karşılanması gerektiğini tanımlarsınız. Bu, bir betiğin geçerli olup olmadığını belirleyen blockchain'in durumunun belirleyici olduğu açıklayıcı bir dildir.
- Off-Chain Kod: Ergo, karmaşık işlemlerin off-chain olarak gerçekleştirilmesine olanak tanır, bu da blockchain üzerindeki yükü azaltır. ErgoScript, bu işlemlerin blockchain'e kaydedildiğinde belirlenen kurallara uygun olmasını sağlamak için kullanılır.
- Esneklik ve Güvenlik: Dil, sözleşmeler oluştururken yüksek derecede esneklik sağlamak için tasarlanmıştır, aynı zamanda güçlü bir güvenlik seviyesi de sağlamaktadır. Bu, Ergo Platformu üzerindeki finansal sözleşmeler ve merkeziyetsiz finans (DeFi) uygulamaları bağlamında özellikle önemlidir.
- Maliyet Etkin: Ergo'nun tasarımı, ErgoScript ile birleştiğinde, akıllı sözleşmelerin hesaplama maliyetini minimize etmeyi hedefler. Bu, ölçeklenebilir ve verimli bir blockchain sisteminin sürdürülmesi için kritik öneme sahiptir.
- Ergo'nun Özellikleri ile Entegrasyon: ErgoScript, verilerin ve tokenların blockchain'de "kutular" içinde saklandığı kutu depolama modelinin yanı sıra, bu kutuların nasıl dönüştürülebileceği ve kullanılabileceği ile ilgili karmaşık koşulların belirlenmesine olanak tanıyan Ergo'nun benzersiz özelliklerinden yararlanır.
ErgoScript Kodu: Bir Örnek
Aşağıdaki betik, bir işlem çıktısını harcama koşulunu içermektedir:
{
val condition = HEIGHT > 1000 && OUTPUTS(0).propositionBytes == fromBase64("yourBase64EncodedPublicKey")
sigmaProp(condition)
}
-
HEIGHT > 1000: Bu, blockchain'in mevcut blok yüksekliğinin 1000'den büyük olup olmadığını kontrol eder.
HEIGHT, işlemin gerçekleştiği sırada blockchain'in yüksekliğini ifade eder. Bu koşul, çıktının yalnızca blockchain belirli bir yüksekliğe ulaştıktan sonra harcanabileceğini garanti eder ve etkili bir zaman kilidi oluşturur. -
OUTPUTS(0).propositionBytes == fromBase64("yourBase64EncodedPublicKey"): Betiğin bu kısmı, işlemin ilk çıktısının (
OUTPUTS(0)) belirli bir genel anahtara sahip olup olmadığını kontrol eder. Genel anahtar, betikte Base64 formatında kodlanmıştır. Bu koşul, çıktının yalnızca belirttiğiniz bir adrese (veya genel anahtara) gönderilmesi durumunda harcanabileceğini garanti eder. -
sigmaProp(condition): Bu, tanımlanan koşulun, betiğin tatmin edilmesi için doğru olması gerektiğini ifade etmenin ErgoScript yoludur. sigmaProp, bir Boolean ifadesini bir Sigma önermesine dönüştüren bir işlevdir.
Bu betik, Ergo blockchain'inde harcanmamış bir işlem çıktısına (UTXO) eklendiğinde, blockchain'in 1000 blok yüksekliğini aşmış olması ve çıktının belirtilen genel anahtara gönderilmesi gerektiği koşullarını dayatır. Bu tür bir betik, zaman kilitli sözleşmeler için veya fonların yalnızca belirli bir alıcıya gönderilmesini sağlamak için kullanılabilir.
Eğer bir geliştiriciyseniz ve Ergo Platformu'nun inşa etmek istediğiniz bir ürün için nasıl uygulanabilir olabileceğini merak ediyorsanız, Ergo Dokümantasyonu'nun Başlarken bölümünü keşfetmeniz önerilir.
Sonuç
ErgoScript birçok avantaj sunsa da, blockchain inşası için "en iyi" dilin bir projenin özel ihtiyaçları ve hedeflerine bağlı olarak değişebileceğini belirtmek önemlidir. Ancak, ErgoScript, yüksek güvenlik, gelişmiş sözleşme işlevselliği ve işlem işleme verimliliği gerektiren projeler için özellikle uygundur. Zamanla, Ergo ekosisteminde çalışan geliştiriciler için zamanla test edilmiş ve temel bir araç olarak kanıtlanmış, merkeziyetsiz çözümler inşa etmek için sağlam bir çerçeve sunmuştur.
Share post
13 Ağustos 2025
9 Temmuz 2025
12 Mayıs 2025






