Blockchain ağlarındaki “oracle” nedir? Blockchain oracle ne işe yarar? Neden kullanılırlar?
Blockchain ve akıllı sözleşmelerin ağ dışındaki verilerle etkileşime girmesini sağlayan üçüncü parti yazılım ya da cihazlara oracle denir. Blockchain ağları ile harici veriler arasında köprü görevi gören oracle’lar, akıllı sözleşmelerin kullanım alanlarını genişletme gücüne sahiptir.
Bilindiği üzere geleneksel blockchain yapıları kapalı devre ağlara benzer. Zincir üzerinde çalışan akıllı sözleşmeler ağın dışındaki verilerle etkileşim kuramaz. Oracle yapıları ise zincir dışındaki ve zincir üstündeki verileri entegre eder.
Blockchain ağlarının kapalı devre yapısı
Dağıtık defter teknolojisini kullanan blockchain ağları, her düğümün (node) aynı girdiyle aynı sonucu bulabilmesi esasına dayanır. Aksi takdirde yapılan hesaplama sonucunda her düğüm farklı sonuç elde eder ve doğrulama işlemleri tamamlanamaz. Güvenlik amacıyla bu bilhassa yapılmıştır.
İşte tam bu noktada oracle’lar devreye girer. Dış veri kaynaklarını doğrulayabilir, işlenen verileri içeren ikinci bir katman oluşturabilirler. Oracle aracılığıyla iletilen veriler sayesinde pek çok ölçüm, blockchain ağındaki akıllı sözleşmeleri tetikleyebilir. Söz gelimi bir ödeme işleminin tamamlanması, hava sıcaklığı veya teslimat onayı gibi harici veriler blockchain ağındaki akıllı sözleşmenin devreye girmesini sağlayabilir.
Oracle; sadece zincir dışından veri almaz, aynı zamanda zincir içi aktiviteye ait verileri dışarı da aktarabilir.
Blockchain oracle türleri:
Software oracle (Yazılım oracle’ı)
İnternet aracılığıyla herhangi bir yazılımdan gelen veriler blockchain ağına iletilir. Bu oracle; emtia fiyatları, toplu taşıma araçlarının sefer bilgileri, depoda yer alan mal miktarı gibi verilerin işlenmesini ve blockchain ağında çalışan akıllı sözleşmelerin tetiklenmesini sağlar.
Hardware oracle (Donanım oracle’ı)
Bazı akıllı sözleşmeler, doğrudan fiziksel dünyadan gelecek bilgilere ihtiyaç duyar. Söz gelimi, hareket algılayıcı cihazlardan gelecek verilerin doğrudan akıllı sözleşmeye gönderilmesi gerekebilir. Üretim bandından çıkan ürün detaylarının gerçek zamanlı blockchain ağına dahil edilmesi istenebilir. Donanım oracle’lar, tedarik zinciri üzerindeki her adımı, dijital algılayıcılar kullanarak akıllı sözleşmelere aktarabilir.
Consensus-based oracle (Fikir birliğine dayalı oracle)
Bu oracle modeli, kullanıcıların fikir birliğine vardıkları birden fazla piyasa verisini kullanır. Yalnızca tek veri kaynağı kullanmak genellikle risklidir ve sonuçlar güvenilir olmaz. Piyasa manipülasyonunu önlemek adına oracle’lar, derecelendirme sistemi uygulayabilir. Hatta güvenlik seviyesi daha da artırılarak, farklı oracle’lar üzerinden toplanan veriler ortak biçimde yorumlanabilir.
Inbound oracle (Gelen veri oracle’ı)
Sadece dış dünyadan gelen verileri blockchain ağına aktarır. Herhangi bir yazılım ya da fiziksel algılayıcıdan elde edilen veri, tetiklemek üzere akıllı sözleşmeye gönderilebilir.
Outbound oracle (Giden veri oracle’ı)
Bu oracle tipi, akıllı sözleşmede gerçekleşen adımları, zincir dışı yazılım ya da donanımlara aktarma gücüne sahiptir. Söz gelimi, kripto parayla yapılan ödeme onayı akıllı sözleşme üzerinden zincir dışına gönderilebilir. Bu sayede bir yazılımın tam sürümü aktif edilebilir ya da fiziksel bir kasanın dijital kilidi otomatik biçimde açılabilir.
Centralized oracle (Merkezi oracle)
Akıllı sözleşmeye yalnızca tek veri kaynağından aktarım yapıldığı modeldir. Oracle’a sadece bir kaynaktan veri aktarımı güvenlik açısından doğru bir uygulama olmasa da, kimi kurumsal yapılarda ya da hassas verilerin işlendiği durumlarda tercih edilebilirler. Kötü niyetli kişilerin oracle üzerinden siber saldırı yapması ve blockchain ağına zarar vermesi olasılık dahilindedir.
Decentralized oracle (Merkeziyetsiz oracle)
Birden fazla kaynağı bulunan ve veriler üzerinde mutabakat sağlanarak akıllı sözleşmeye gönderilen oracle modelidir. Merkeziyetsiz oracle’lar, karşı taraf riskini en aza indirmeyi hedefler. Kimi zaman merkeziyetsiz oracle hizmeti sunan yapı da başka bir blockchain ağı olabilir.
Contract-specific oracle (Sözleşmeye özel oracle)
Sadece tek akıllı sözleşme tarafından kullanılabilen oracle modelidir. Ağ üzerinde birden fazla akıllı sözleşme çalışıyorsa, her biri için ayrı oracle çalışmalıdır. Bu durum hem verimsiz hem de masraflı olacaktır. Ancak bazı özel projelerde, hassas verilerin işlenmesi için bu yöntem seçilebilir.
Human oracle (İnsan oracle)
Konusunda uzman kişilerin veriler üzerinde destek sunduğu oracle modelidir. Kişiler, işlenmesi istenen verilerin doğruluğunu kontrol edebilir, farklı kaynaklardan yararlanarak süzgeçten geçirebilir. Gerektiğinde diller arasında çeviri yaparak, uygun şekilde akıllı sözleşmeye veri aktarımı yapabilir.