Komodo’da UTXO Tabanlı Zeki Sözleşmeler (Smart Contracts)

B. Gültekin Çetiner
11 min readApr 29, 2020

--

** Lütfen bu makalede Zeki Sözleşmeye ait Antara Framework olarak bilinen çok erken bir sürümünün açıkladığını unutmayın. Özel Konsensüs (Custom Consensus) çerçevesi geliştirildikten sonra ve Komodo tarafından Temmuz 2019'da yeniden markalaşma (rebranding) başlatılınca, Özel Konsensüs çerçevesi Antara Framework’e yeniden markalaştırıldı. Antara Çerçevesinin mevcut durumu hakkında daha fazla bilgiyi buradan edinebilirsiniz. ***

Geleneksel olarak, Bitcoin Script’in zeki sözleşmeleri (smart contract) destekleyemediği düşünülmektedir. Bu düşünce çoğunlukla Bitcoin Script’in Turing Bütünlüğüne (Turing Completeness) sahip olmamasının bir sonucudur. Şimdi, tüm bunlar Komodo’nun Özel Konsensüs çerçevesi ve UTXO tabanlı zeki sözleşmeleriyle değişiyor.

Çoğu zaman olduğu gibi, Komodo bu yepyeni teknolojide blokzinciri endüstrisine liderlik ediyor. Bu yazı, Özel Konsensüs çerçevesinin ne olduğunu, nasıl çalıştığını ve UTXO tabanlı zeki sözleşmelerin blokzinciri manzarasını nasıl önemli ölçüde değiştireceğini açıklamaya çalışmaktadır.

Kripto Koşullar Temelli Zeki Sözleşmeler

“Bitcoin Script”lere Kısa Bir Bakış

Bitcoin blokzincirindeki ilk blok yaklaşık 3 Ocak 2009'da çıkarıldı. O zamandan beri bu devrimci teknoloji patladı, sonsuza kadar para ve para birimi düşünme şeklimizi değiştirdi. Bu gelişmelerin çoğunu Satoshi Nakamoto’ya ve orijinal Bitcoin çekirdek koduna borçluyuz.

Bitcoin çekirdek kodunun kendisi C ++ ile yazılmıştır. Zamanla test edilmiş ve iyi bilinen bir programlama dili olan C ++, Turing Bütünlüğüne sahiptir ve bu nedenle diğer Turing Bütünlüklü programlama dillerinin yapabileceği her şeyi yapabilir. Aslında daha ötesi, C diğer pek çok dilin atasıdır ve C++ ile nesne yönelimli mimari desteklenmektedir.

Ancak, Bitcoin işlemleri C ++ ile yürütülmez. Bunun yerine, işlemler Bitcoin Script adı verilen özel bir protokol ile gerçekleştirilir. Komut dosyasında, düğümlere istenen herhangi bir işlemle nasıl başa çıkılacağını anlatan bir dizi opcode veya komut bulunur.

Çoğu bilgisayar programlama dili Turing Bütünlüğüne sahip olarak kabul edilirken, Bitcoin Script değildir. Bunun güvenlik amaçlı kasıtlı bir karar olduğu yaygın olarak kabul edilmektedir. Ancak, Turing bütünleşik bir programlama dili yapmanın göreli değerlerini tartışmadan önce, Turing’in tam olarak ne anlama geldiğini anlayalım.

Turing Bütünlüğü

1936'da Alan Turing adında bir İngiliz bilgisayar bilimcisi ve matematikçisi “On Computable Numbers, with an Application to the Entscheidungsproblem.” adlı akademik bir makale yayınladı. Bilgisayar bilimi ve hesaplama teorisi alanlarında ufuk açıcı bir makale haline gelmiştir. Filmlere dahi konu olan makalede, Turing, birkaç temel varsayım verildiğinde teorik olarak “herhangi bir hesaplanabilir diziyi hesaplayabilen” teorik bir makineyi açıklamaktadır. Bu temelde sadece hesaplanabilir sayıları kullanan herhangi bir matematiksel problemi çözebileceği anlamına gelir. Turing’in tanımına göre, “ondalık değeri bir makine tarafından yazılabilirse sayı hesaplanabilir.”

Turing bu cihaza “evrensel makine” adını verdi, ancak artık “Turing makinesi” olarak biliniyor.

Turing makineleri genellikle bu şekilde tanımlanır: Sayıları okuyabilen ve yazabilen basit bir cihaz düşünün. Bu cihaz ayrıca veri saklama özelliğine sahiptir. (Turing, cihazın sonsuz büyüklükte bir depolama kapasitesine sahip olduğunu varsayar, ancak bu, Turing bütünlüğü kavramını anlamak için gerekli değildir.)

Şimdi, bu basit makinenin soldan sağa ince, sonsuz uzun bir şerit boyunca hareket ettiğini düşünün. Bir sayı okur, verilen bir dizi talimata göre ne yapılacağına karar verir ve ardından talimatları buna göre yürütür.

Sadece sayıları okurken, komutları yürütürken ve sayıları yazarken (bunu yapmanız istendiğinde), bu basit makine herhangi bir hesaplama sırasını çözebilir. Keyfi olarak uzun bir zaman alabilir, ancak teorik olarak, makine sonunda sorunu çözecektir.

Peki bütün bunlar aslında ne anlama geliyor? Neden önemlidir?

Bir şeyin “Turing Bütünlüğü” fikri, bir Turing makinesi fikrinden türetilmiştir. Hiçbir makinenin sonsuz büyük bir belleğe sahip olmadığını bilsek de, bir makinenin herhangi bir hesaplanabilir diziyi çözüp çözemeyeceğine karar vermek için temel teorik çerçeveyi kullanabiliriz.

Bu anlamda bilgisayar dillerinin Turing Bütünlüklü olduğu söylenebilir. Bir dil, hesaplanabilir sayılardan oluşan herhangi bir matematiksel problemi çözebiliyorsa Turing Bütünlüklüdür.

Yukarıda belirttiğimiz gibi, Bitcoin Script Turing Bütünlüğüne sahip değildir. Bu, Bitcoin Script’in çözemediği bazı sorunlar ve diziler olduğu anlamına gelir.

İşte bundan dolay geleneksel olarak, Bitcoin Script’in zeki sözleşmeleri (smart contract) destekleyemediği düşünülmektedir. Bu düşünce çoğunlukla Bitcoin Script’in Turing Bütünlüğüne (Turing Completeness) sahip olmamasının bir sonucudur. Artık, tüm bunlar Komodo’nun Özel Konsensüs çerçevesi ve UTXO tabanlı zeki sözleşmeleriyle değişiyor.

Ethereum ve Solidity

Burası Ethereum’un resme girdiği yerdir. Aralık 2013'te Vitalik Buterin, Ethereum’un ilk teknik incelemesini yayınladı. Ethereum’un sunduğu en büyük katkılardan biri, zeki sözleşmeler yazmak için kullanılabilecek, Solidity adı verilen bir Turing Bütünlüklü programlama diliydi.

Aslında, Buterin bunu beyaz makalenin ilk sayfasında mükemmel bir şekilde açıklıyor:

“Ethereum’un sunmayı amaçladığı şey, kullanıcıların rastgele tanımlanmış geçiş süreçlerini (state transition) kodlamak için kullanılabilecek ”sözleşmeler “ oluşturmak için kullanılabilecek ve kullanıcıların açıklanan sistemlerden herhangi birini oluşturmasına olanak tanıyan yerleşik tam teşekküllü Turing-bütünlüklü programlama diline sahip bir blokzinciridir. Hem de henüz hayal etmediğimiz diğer pek çok şeyin yanı sıra, mantığı birkaç kod satırında yazarak.“

Bu, birçok yönden, Bitcoin Script’e göre bir gelişmedir. Ethereum teknik incelemesinde “dijital varlıkları önceden belirlenmiş kurallara göre otomatik olarak hareket ettiren sistemler” olarak tanımlanan zeki sözleşmeler oluşturma yeteneği, blokzinciri teknolojisi için yeni bir fırsatlar dünyası açtı. Ethereum, endüstrinin ilk zeki sözleşme platformu oldu.

Ama aynı zamanda, blokzinciri üzerinde Turing Bütünlüğü birkaç güvenlik açığı yaratır. Haydi tartışalım.

Turing Bütünlüğün Artıları ve Eksileri

Herhangi bir Turing Bütünlüklü programlama dili “döngüler” oluşturma yeteneğine sahiptir. Bir döngü, belirli bir işlemin veya komut kümesinin bir kez yazılabileceği, ancak bir makineye işlemi X kez yürütmesi için komut vererek rastgele bir sayıda tekrar tekrar yürütülebileceği anlamına gelir.

Başka bir deyişle, bir programcı bir bilgisayara X kodunu kaç kez yürütmesini söyleyebilir. İşlemin gerçekleştirileceği her seferde aynı kod parçasının yeniden yazılmasına gerek yoktur.

Turing Bütüncül olmayan bir dilde, (örneğin; Bitcoin Script gibi), bir programcının bir bilgisayarın X kez işlem yapmasını istemesi durumunda aynı kod parçasını X defa kopyalayıp yapıştırması gerekir.

Döngüler bazı açılardan faydalı olsa da, güvenlik açıkları da sunarlar. Bir programcı yanlışlıkla zeki bir sözleşmeye sonsuz bir döngü yazabilir, bu da gereksiz bir şekilde gerçekleştirilecek sonsuz sayıda anlamsız işlemleri eşler arası ağa (blokzincirine) gereksiz bir şekilde yükler.

Kötü amaçlı spam gönderenler ağı durdurmak isterse, sonsuz döngülerle çok sayıda zeki sözleşme gerçekleştirebilirler. Bu anlamsız, sonsuz operasyonlar kötü şekilde tıkanıklığa neden olur.

Bu olasılığı önlemek için Buterin, Ethereum ağına “gaz” fikrini getirdi.

Gaz: Ethereum’un Sonsuz Döngülerden Kaçınma Şekli

Kısacası, kullanıcıların ağ düğümlerinin kendileri için gerçekleştirmesini istedikleri her işlem için bir ücret ödemeleri gerekir. Bu ücretlere basitçe “gaz” denir. Gaz fiyatları, kötü niyetli aktörlerin ağa spam göndermesini engeller. Ayrıca geliştiricileri mümkün olduğunca az işlem gerektiren verimli sözleşmeler yazmaya teşvik eder.

Dahası, gaz, kazara sonsuz bir döngünün blokzinciri ağı üzerinde tahribat yapmasını önler, çünkü tüm gaz tüketildiğinde, ağ sözleşmeyi işlemeyi durdurur. Döngüde gaz biter ve düğümler komutların yürütülmesini durdurur.

Gaz kavramı zekice bir yenilik olmakla birlikte, karmaşık uygulamaları da oldukça pahalı hale getirir. Belirli bir sözleşme veya uygulama, tasarlandığı gibi çalışması için çok sayıda işlem gerçekleştirmek için ağa ihtiyaç duyarsa, çalışmasını sağlamak için çok fazla paraya mal olur. Finansal olarak sürdürülebilir değildir.

Bu, Ethereum için önemli bir sorundur, çünkü Buterin’in Ocak 2014'te belirttiği gibi, “amacımız merkezi olmayan uygulamalar için bir platform sağlamaktır — tüm çabaların ortak bir API, güvene dayalı olmayan etkileşimler ve ortak etkileşimi paylaşabileceği bir kripto para birimi dünyası androididir. Taviz yok. ”

Ancak daha sonra, Temmuz 2018'de Buterin şunları söyledi: “Ölçeklendirilemez bir Ethereum’un üzerine merkezi olmayan bir Uber ve Lyft yapmak istiyorsanız, mahvoldunuz. Nokta. ”

Uygulamaları çalıştırmak için tasarlanmış bir platform için, yararlı uygulamaları sürdürülebilir bir şekilde çalıştıramamak ciddi bir sorundur.

Bitcoin Script’ lerin Turing Bütünlüğüne sahip olmadığını hatırlayın. Bu seçim kasıtlıydı. Bitcoin Script’i basit bir formda bırakmak, Turing Bütünlüklü bir dile göre daha hızlı ve daha güvenli bir alternatifti. Bu doğrudur, çünkü Bitcoin blokzincirini tıkayan sonsuz döngüler olasılığını ortadan kaldırır.

Bununla birlikte, Turing tamlığının olmaması, zeki sözleşmelerin ve merkezi olmayan uygulamaların Bitcoin protokolü tabanlı blok zincirlerinde başlatılmasını da önler. Tabi şimdiye kadar.

Özel Konsensüs (Custom Consensus) Çerçevesi

Komodo’nun Baş Geliştirici James Lee, “jl777”, İnternet Mühendisliği Görev Gücü’nden (IETF — Internet Engineering Task Force) tarafından başlatılan açık standartlar taslağı olan gelişmiş bir Kripto Koşulları sürümünü uygulamaya koydu. Kripto Koşullarında ciddi ayarlamalar yaptıktan sonra jl777, zeki sözleşmeler ve merkezi olmayan uygulamaların Bitcoin protokolü tabanlı blok zincirleri üzerinde geliştirilmesinin bir yolunu keşfetti. Komodo bu yeni teknolojiye Özel Konsensüs çerçevesi diyor.

Bu gerçekten çığır açan bir gelişmedir, çünkü Ethereum’un geleneksel olarak Bitcoin ve BTC tabanlı kripto paralar karşısında sahip olduğu önemli avantajlardan birini ortadan kaldırır: zeki sözleşmeler ve merkezi olmayan uygulamalar için tam destek. Böylece, Komodo tüm blokzinciri endüstrisinin manzarasını önemli ölçüde değiştiriyor.

Komodo Platformunda James Lee tarafından 2018 yılında ilk olarak dört temel Özel Konsensüs (CC) modülü örnek olarak etkinleştirildi: Varlıklar (Assets), Musluk (Faucet), Ödüller (Rewards) ve Zar (Dice).

Komodo Platformundaki Özel Konsensüs (CC) modüllerinin en güzel tarafı dilediğiniz modülü ekleyerek ve yeniden geliştirerek özgürce kendi Blokzincirinizi oluşturmanızdır. Komodo platformuna bağımlı değilsiniz.

Bu şekilde Ethereum’da olduğu gibi tüm zeki sözleşmelerin tek zincirde olmasının getirdiği sorunlar ortadan kaldırılmaktadır.

Ethereum topluluğunun Ethereum ve Ethereum Classic şeklinde ikiye ayrıldığı ilk DAO uygulamasını hatırlayınız. Güvenlik açığı nedeniyle Hacker tarafından çalınan paraların cüzdanına geçmemesi için tüm zincir üzerinde fork yapılmıştı. Büyük tartışmalara yol açarak topluluk bölünmüştü. Tüm projelerin aynı zincir üzerinde tutulması Ethereum ve benzeri zeki sözleşme zincirlerinin en zayıf tarafıdır. Aynı zincir üzerinde herkesin zeki sözleşmelerini toplayarak yönetmenin zorluğu açıktır.

Assets CC modülü, Komodo ekosistemindeki herhangi bir blockchain’in zincir üzerinde jeton (token) oluşturmasına izin verir. Herhangi bir topluluk varlıkları temsil edebilecek kadar 100 Milyon jeton oluşturabilir.

Faucet CC yani musluk modülü tam tahmin edildiği gibidir: kullanıcıların bir dizi koşulu karşılamaları şartıyla, kullanıcıların bir token (0.1) küçük bir kısmını çekmesine izin veren bir musluk. Şu anda, koşullar fonların 3'ten fazla işlem yapmamış benzersiz bir adresle çekilmesi gerektiğini belirtiyor. Gelecekte, bu koşullar özelleştirilebilir.

Rewards CC modülü, kullanıcılarına paralarını belirli bir süre için ayrı bir CC modülü adresine kilitledikleri için ödül verme yöntemidir. Bu bir Masternode koin teşviklerinden birine benzer.

Son olarak, Dice CC (Zar) modülü basit bir zar oyunudur. Tamamen blokzinciri üzerinde uygulanır ve kullanıcıların herhangi bir özel yazılım indirmesini gerektirmez. Her oyun turunun sonuçları birkaç saniye içinde bilinir.

Bu Özel Konsensüs modüllerinin dördü de şu anda Komodo kod tabanında mevcuttur. Komodo arka plan programında 1 Milyon blok yüksekliğindeki zorunlu güncellemeler, ekosistem genelinde Özel Konsensüs çerçevesini etkinleştirdi.

Yukarıda açıklanan dört CC modülünün Komodo kod tabanına yazılması, koşulların önceden belirlenmiş olduğu anlamına da gelir. Bir CC modülünün koşullarını ayarlamak, dünya çapında Komodo arka plan programını çalıştıran her makinede bir güncelleme gerektirecektir.

Ancak, Komodo geliştirme ekibi bu yepyeni teknolojiyi geliştirmeye devam ettikçe Özel Konsensüs (Custom Consensus) modülleri daha esnek ve özelleştirilebilir hale gelecek.

Amaç, her biri bir dizi ayarlanabilir özelleştirmeye sahip bir CC modül kütüphanesi oluşturmaktır. Bu şekilde, modülleri kodlama işçiliğinin çoğu zaten tamamlanmıştır, ancak her proje hala sözleşmelerin koşullarını kendi ihtiyaçlarını karşılamak için özelleştirebilir.

Marmara Kredi Döngüleri — Marmara (CC)

Yeri gelmişken Marmara CC kütüphanesinden bahsetmek gerekir.

Marmara Chain projesi, Komodo’nun ana zincirini kullanmadan Komodo özgürce forklanmış ve Marmara Özel Konsensüs (CC) kütüphanesi oluşturularak tamamen özelleştirilmiş bir proje olarak ortaya çıkarılmıştır.

Marmara (CC) kütüphanesinde Komodo içerisinde bugüne dek geliştirilmiş, assets, tokens, rewards başta olmak üzere diğer Özel Konsensüs kütüphanelerinden yararlanılmış ama tamamen özgün bir Özel Konsensüs ve onun üzerinden özgür bir blokzinciri oluşturulmuştur.

Marmara Kredi Döngülerinin Birinci Versiyonu aşağıda yer almaktadır.

Bu ilk dört modülün Komodo’nun Özel Konsensüs çerçevesi ile mümkün olanın yüzeyini çizdiğini vurgulamakta fayda var. CC çerçevesinin muazzam potansiyelini daha iyi anlamak için, nasıl çalıştığı hakkında daha fazla bilgi verelim.

CC Modülleri: UTXO Tabanlı Zeki Sözleşmeler

Basit bir şekilde ifade etmek gerekirse, bir Özel Konsensüs modülü UTXO’yu genel olarak bilinen bir adrese kilitler ve bu UTXO’nun belirli bir dizi koşul karşılanana kadar harcanmasını önler. Koşullar yerine getirildikten sonra UTXO’nun kilidi açılır ve uygun adrese gönderilir. Bir CC modülünü, herhangi bir fon toplamı için bireysel, özelleştirilmiş bir konsensüs mekanizması oluşturma yeteneği olarak düşünmek yararlı olabilir.

UTXO’nun ne olduğu konusunda tam olarak emin değilseniz, Komodo’nun UTXO rehberi sizi hızlandırmaya yardımcı olacaktır.

Özel Konsensüs (CC) modüllerinin nasıl çalıştığına daha derinlemesine girmeden önce, Bitcoin ödeme komut dosyaları hakkında birkaç şeyi anlamamız gerekir.

Bir Bitcoin ödemesi yapmanın birkaç farklı yolu vardır. Özellikle Pay-To-Pubkey (p2pk) ödemeleri, Pay-To-Pubkey-Hash (p2pkh) ödemeleri, ve Pay-to-Script-Hash (p2sh) ödemeleri mevcuttur.

Şimdi Komodo, UTXO’yu belirli bir CC modülüne ait olarak belirten ek bir ödeme komut dosyası oluşturdu. Başka bir deyişle, söz konusu UTXO’ya kısıtlar getirir.

Söz konusu UTXO, belirli bir EVAL koduyla işaretlenir. Bu, ilgili fonları istenen modüle etkili bir şekilde kilitleyecektir. Her CC modülünün kendine özgü EVAL kodu vardır, bu nedenle belirli bir UTXO’nun hangi modüle girdiği konusunda hiçbir zaman karışıklık olmaz.

Ayrıca, fonların nereye gönderildiği konusunda hiçbir karışıklık yoktur, çünkü var olan her bir pubkey için, her farklı EVAL kodu için benzersiz bir adres vardır. Pubkey aynı kalır, ancak gerçek komut dosyası farklı EVAL kodlarına sahip olduğundan, bir şifreleme karma (hash) işlevine girildiğinde farklı bir sonuç ve böylece her modül için farklı bir adresle sonuçlanır.

Her Özel Konsensüs modülünün, özel anahtarı da dahil olmak üzere herkes tarafından bilinen kendi özel adresi vardır. Privkey’i herkese açık hale getirmek, modüllerle SPV tabanlı etkileşime olanak tanır. Ayrıca herkesin belirli bir miktar fonun bir modüle girdiğini görmesini sağlar.

Aynı zamanda, modülün tüm koşulları sağlanana kadar fonlar taşınamaz. Bu, özel anahtarın herkese açık hale getirilmesine rağmen doğrudur.

Herkes bir işlemi imzalamak için privkey’i kullanabilse de, paranın taşınabilmesi için modülün koşullarının yerine getirilmesi gerekir. Unutmayın, UTXO tabanlı zeki sözleşme temel olarak özelleştirilmiş bir blokzinciri konsensüs mekanizmasıdır. Ayrıca, bir Özel Konsensüs modülünün koşullarından birinin, fonların gönderilebileceği bir kısıtlama olabileceğini belirtmek gerekir.

Tüm bu nedenlerle, özel anahtar artık fonların kontrolü için ilgili faktör değildir. İlgili faktör, modül tarafından ortaya konan koşullar kümesidir. Ve yakında öğreneceğimiz gibi, bir Özel Konsensüs modülünün koşulları aslında sınırsızdır.

Komodo’nun Özel Konsensüs çerçevesinin teknik ayrıntıları hakkında daha fazla bilgi edinmek için, Komodo’nun Baş Geliştirici James Lee, jl777 (veya Satinder Grewal tarafından derlenen ve düzenlenen aynı gönderinin bu sürümünü) okuyabilirsiniz.

Komodo’nun Özel Konsensüs Çerçevesinin Avantajları

Komodo’nun Özel Konsensüs çerçevesinin vurgulanması gereken birkaç avantajı daha var.

İlk olarak, bu modüller Komodo kod tabanına sabit olarak kodlanır, yani C ve C ++ ile yazılabilirler. C / C ++ işlevleri tarafından çağrılabilen ve çağrılabilen bağlanabilir bir kütüphane oluşturabilen herhangi bir derlenmiş programlama dilinde de yazılabilirler. Bu anlamda, Komodo’nun CC modülleri belli düzeyde dil bağımsızdır denilebilir.

C ve C ++ programlama dilleri yaygın olarak anlaşılır, uzun zaman içinde test edilmiş ve belki de en önemlisi Turing bütünlüğüne sahiptir. Böylece, CC modülleri mevcut herhangi bir programın veya uygulamanın yapabileceği her şeyi yapacak şekilde programlanabilir.

İkincisi, CC modülleri bakiye tabanlı zeki sözleşmelerden daha güvenlidir. Komodo’nun CC modülleri UTXO tabanlı olduğundan, bir adresin tüm bakiyesi hiçbir zaman risk altında değildir.

Bu, bir adresin kendisine bağlı olan Ethereum’da olduğu gibi bakiye temelli zeki sözleşmelerde geçerli değildir. Bilgisayar korsanları koddaki bir hatayı kullanabilirse, yalnızca sözleşmenin kendisine kilitli olan fonları almak yerine, bir sözleşmeyle ilişkili tüm adreslerden tüm fonları boşaltabilirler. Bunun tekrar tekrar gerçekleştiğini gördük.

Üçüncüsü, Komodo’nun Özel Konsensüs çerçevesi aslında Bitcoin protokolünün bir uzantısıdır, böylece bir dizi RPC çağrısı kurulabilir. Bu, CC modüllerini özelleştirmeyi ve uygulamayı son derece basit hale getirecektir.

Bir GUI oluşturmak basit bir süreç olacaktır, böylece teknik olmayan kullanıcılar bir CLI aracılığıyla çalışmaya gerek kalmadan Komodo’nun Özel Konsensüs çerçevesinden yararlanabilir. Sonunda, çok çeşitli RPC çağrıları oluşturulduktan sonra, tek başına RPC çağrılarına dayanarak tüm merkezi olmayan uygulamaları oluşturmak mümkün olacaktır.

Dördüncüsü, CC modülleri sıfır onaylı mikro ödemelere izin verir. Ödemeler tamamen eşler arası olacak ve mempool’a girer girmez onaylanmış sayılacaktır. Bu 0-conf mikro ödemeler Komodo’nun Gecikmeli Çalışma Kanıtı (dPoW) güvenlik mekanizması tarafından da korunacaktır.

Son olarak ve belki de en önemlisi, Komodo’nun CC modülleri yürütülen her işlem için “gaz” veya herhangi bir ücret gerektirmez. Ethereum üzerine kurulan zeki sözleşmelerin ve dApp’lerin her işlem için gaz ödemesi gerektiğini hatırlayın. Bu, karmaşık uygulamaları imkansız hale getirir.

Öte yandan Komodo, çok daha ölçeklenebilir ve her bir işlem için bir ücret talep etmeyecektir (fon göndermek için tek bir normal işlem ücreti hariç).

Sonsuz döngüler riskini önlemek için Komodo, uygulamadan önce tüm CC modülleri için kodu kapsamlı bir şekilde test etmektedir. Komodo blokzinciri üzerinde olmayan tamamen özelleştirilmiş blokzincirleri için geliştiricilerin aynı şekilde test etmesi önerilmektedir.

Modüller Komodo arka plan programına yerleştirilir. Bu, kodu herkese görünür hale getirirken değişiklikleri önler. Herkes, tam olarak iddia ettiklerini yaptığını görmek için modüllerin kodunu doğrulayabilir. Bağımsız şekilde kurulan Özel Konsensüs içeren blokzincirleri de benzer şekilde çalışmaktadır.

Komodo ekosistemindeki bir proje, kod tabanında bulunmayan bir modülü kullanmak istiyorsa, Github’daki Komodo deposuna bir Çekme İsteği gönderebilir. Kabul edilirse, Komodo modülü yazacak ve Komodo ekosistemindeki tüm blok zincirleri için bir sonraki noterde kullanacaktır.

En önemlisi de; Komodo Platformundaki bir projenin kendi ek modüllere ihtiyacı varsa ve gerekli teknik becerilere sahipse, Komodo kod tabanını çatallayabilir (fork), yeni modülleri ekleyebilir ve kendi zincirlerini özgürce oluşturabilirler.

SONUÇ

Komodo ekibinin bildiği kadarıyla, başka hiçbir blokzinciri projesi, Komodo’nun Özel Konsensüs çerçevesi gibi hiçbir şeyi canlı bir zincirde başarıyla uygulamamıştır. Atomik takaslar ve isteğe bağlı blokzinciri ölçeklenebilirlik özelliklerinden blokzinciri birlikte çalışabilirlik özelliklerine ve Özel Konsensüs çerçevesine kadar Komodo, blokzinciri endüstrisinin ileri teknolojisinde teknolojiler geliştirmeye devam ediyor.

2018 yılı itibariyle, yalnızca dört CC modülü entegre edilmiştir. Bu dört modül, Komodo ekosisteminde inşa edilen herhangi bir blok zinciri için, 8 Eylül’de veya Blok 1 Milyon çıkarıldığında, mevcut hale gelmiştir. Bu, diğer şeylerin yanı sıra, herhangi bir zincirin bunları kullanabilme seçeneğine sahip olacağı anlamına gelir.

Komodo hakkında daha fazla bilgi almak için Discord grubuna katılabilirsiniz.

Komodo Türkiye Sorumlusu

Prof. Dr. B. Gültekin Çetiner

Not: Yazı ilk defa İngilizce olarak Komodo Topluluğundan Daniel tarafından Ağustos 31, 2018 tarihinde Komodo platformunda yayınlanmıştır. Gerekli görülen yerlerde eklentiler ve geliştirmeler yapılmıştır.

--

--

B. Gültekin Çetiner
B. Gültekin Çetiner

Written by B. Gültekin Çetiner

Professor, Industrial Engineering Blockchain Enthusiast

No responses yet