Algorand’ın Yenilikçi Yazılım Dili

Algorand Logo
Algorand Logo
Paylaş

Bu Yazıyı Paylaş

veya linki kopyala

Kriptokoin.com – Blockchain, son yıllarda önüne geçilemez bir hızla büyüyor ve tüm dünya için en önemli teknolojik gelişmelerden birisi konumuna geliyor. Kripto para teknolojisi ve varlığı için bir temel oluşturan blockchain teknolojisi, kullanıcılar arasında anonim, eşler arası (Peer-to-Peer) işlemleri mümkün kılıyor. Şu an blockchain pazarının yaklaşık 1 buçuk Milyar Dolar değerinde olduğu ve 2025 yılında bu pazarın 57 Milyar Doları aşacağı öngörülüyor. Bu yüzden de gerek yazılım geliştiricileri gerekse kurum ve kuruluşlar blockchain teknolojisinin bu potansiyelinden yararlanmak istiyorlar. Elbette blockchain uygulamalarını geliştirebilmek için diğer tüm programları geliştirdiğimiz gibi programlama dillerine ihtiyaç var. 2020 yılı itibariyle blockchain geliştirici maaşları da ortalama 80 ile 140 bin dolar arasında değişiklik gösteriyor, böylece hem yeni teknolojileri başlarından yakalamak isteyen hem de yeni bir iş olanağı olarak gören geliştiriciler bu alana oldukça büyük bir rağbet gösteriyor. Fakat blockchain uygulamaları geliştirmek için en ideal programlama dili hangisi?

Belki çoğumuz bu soruya Solidity ya da JavaScript diye cevap verecektir. Bu cevapları verenler haksız da değiller fakat gündemi yakından takip edenlerin karşısına başka bir yazılım dili daha çıkacak. Bu da Algorand projesinin geliştirmiş olduğu “Transaction Execution Approval Language” yani TEAL dilinden başkası değil. Algorand Akıllı Sözleşmeleri şu an TEAL üzerinde geliştiriliyor. TEAL dilinde mantık, ağa yazılan bir işlemin sistemin kendi mantığına göre analiz edilerek onaylanıp onaylanmadığını ve sırasıyla doğru ya da yanlış onaylı ya da onaylanmamış olarak döndürülmesi esasına dayanıyor. Şu an çok yeni bir dil olmasının yanında oldukça efektif bir dil çünkü uzun kod bloklarından ziyade genel mantık olarak temiz kodlamaya odaklanan bir yazılım dili olduğu için oldukça kolay geliştirme imkanı sunuyor. 

Diğer Programlama Dillerinin Eksikleri

Diğer programlama dillerine baktığımız zaman hepsinin birbirinden eşsiz dezavantajları bulunuyor; Örneğin JavaScript’in dinamik olması ve zayıf yazılması, C#’ın Windows odaklı olması, öğrenim ve öğrendiğini pratiğe dökme zorluğu, C++’ın kod fazlalığı ve hata ayıklama zorluğu veya Solidity’nin çok önemli hatalar yapmaya açık olan programlama dinamiği. 

TEAL’ın Üstün Yanları

Tüm bunların yanında Algorand’ın geliştirmiş olduğu TEAL dili diğer blockchain programlama dillerinin eksik veya zayıf yönlerini gözlemlemiş ve geliştiricilere en optimal geliştirme ortamını sunmuş. Şu anda oldukça büyük bir hayran ve geliştirici kitlesi olan Python, Go, Java gibi oldukça yaygın ve önemli dillerde de SDK ile entegrasyon sağlayabiliyor bu sayede geliştiricilerin hem Algorand’ın getirdiği yenilikleri deneyimlerken hem de alıştığınız programlama altyapısından vazgeçilmesi gerekmiyor. GitHub kütüphanesine baktığımızda ise tüm repoların oldukça güncel olduğunu görüyoruz çünkü en geç güncelleme bile 1 günden daha uzun zaman önce yapılmamış. 

Ekibin, Python için özel olarak geliştirdiği bir kütüphane bulunuyor; PyTeal. PyTeal, Algorand Akıllı Sözleşmeleri (Algorand Smart Contract – ASC) için akıllı sözleşmeler yazma sırasındaki karmaşık mantığı ortadan kaldıran bir Python kütüphanesidir. PyTeal, Algorand topluluğu için tamamen açık kaynak kodlu bir araç olarak kullanıma sunulmuştur. 

Algorand Akıllı Sözleşmeler, yukarıda da bahsettiğimiz gibi TEAL adı verilen bayt kod (bir compiler tarafından çalıştırılabilir ve aynı zamanda makine diline derlenebilir durumdaki komut seti) tabanlı bir yığın dilinde yazılır. TEAL, bahsedildiği gibi işlemleri analiz edebilir ve onaylayabilir, ancak işlem oluşturamaz veya değiştiremez ve sonuç olarak yalnızca doğru veya yanlış değer döndürür.

TEAL “Turing-complete” olmayan bir dil olup, döngüleri desteklemez, ancak diğer dalları destekler. TEAL, 30 temel talimattan oluşur ve TEAL tamamen normal bir program olarak çalışır. Her Algorand  Akıllı Sözleşmesi en fazla 1KB büyüklüğündedir bu sayede büyük blok büyüklüklerinin oluşmasına karşı olarak ağın şişmesine de engel olmuş olur .

Bununla birlikte, bir yığın dili kullanarak mantık yazmada önemli ek nüanslar vardır. PyTeal, Algorand geliştiricilerinin akıllı sözleşme mantığını Python’da ifade etmesine ve derlemelerine izin verir. PyTeal kütüphanesi, akıllı sözleşme mantığını geliştiriciler için TEAL kaynak koduna derler yani özetle, PyTeal TEAL yazarken geliştiricilerin üzerindeki fazla yükü ortadan kaldırır.

Diğer dillere baktığımız zaman çoğu bu kadar detaylandırılmış resmi kütüphane desteğine sahip değiller, özellikle de Algorand topluluğundaki katkıda bulunmak isteyen geliştiriciler de oyuna dahil olduklarında Algorand’ın bu altyapısı oldukça adından söz ettirecektir. 

desteği sağlar. Topluluk tarafından sağlanan SDK’ler aracılığıyla daha fazla dil de mevcuttur. Algorand SDK’leri hem bağımsız hem de ağa bağlı geliştirme işlevselliği sunar.

Sonuç olarak;

  • TEAL, bir işlem oluşturamaz ya da değiştiremez, yalnızca onaylar ya da reddeder.
  • TEAL, ALGO ya da diğer varlıkların bakiyelerini arayamaz.
  • TEAL, önceki bloklardaki bilgilere erişim sağlayamaz.
  • TEAL, mevcut işlemin hangi aşamada gerçekleştirileceğini kesin olarak bilemez.
  • TEAL, işleminin ne zaman yapıldığını tam olarak bilemez.

Tüm bu genel bilgilere ve diğer programlama dillerine baktığımız zaman sektörün gidişatının spesifik olarak Algorand platformuna ve onun getirdiği programlama dili ile daha da evrileceğini söyleyebiliriz. Özellikle Algorand ağının tam donanımlı simülasyon ortamlarında değil de gerçek hayat senaryosunda saniyede 1000 işlem hızına çıktığını düşünürsek bağımsız geliştiricilerin ya da kurumsallaşmış firmaların bu altyapıyı ve yazılım dilini benimsemesi çok zaman almayacaktır. 

Yazar: Batuhan Taştekin

Algorand’ın Yenilikçi Yazılım Dili

Yorumlar kapalı.