Blockchain Oracle'ları Nedir
Ana sayfa
Makaleler
Blockchain Oracle'ları Nedir

Blockchain Oracle'ları Nedir

Orta Seviye
Yayınlanma: Jan 22, 2020Güncellenme: Nov 28, 2023
7m
Topluluk Yayını - Yazar: Vallery Mou


İçerik


Blockchain oracle'ı nedir?

Blockchain oracle'ları, akıllı kontratlara dışarıdan bilgi sağlayan üçüncü parti hizmetlerdir. Blockchainler ve dış dünya arasında köprü görevi görürler.
Blockchainler ve akıllı kontratlar zincir dışı verilere (ağın dışında olan verilere) ulaşamaz. Fakat sözleşmeye dayalı birçok anlaşmada dış dünyadan gelecek ilgili veriler anlaşmanın yürürlüğe konabilmesi için büyük öneme sahiptir.

Blockchain oracle'ları zincir dışı ve zincir üstü veriler arasında bağlantı sağlamalarıyla bu noktada devreye girer. Oracle'lar blockchain ekosistemi içinde büyük öneme sahiptir çünkü akıllı kontratların çalışma alanlarını genişletirler. Blockchain oracle'ları olmadan akıllı kontratların kullanımları çok sınırlıdır çünkü bu kontratlar yalnızca kendi ağları içinden verilere ulaşabilir. 

Bir blockchain oracle'ının kendisinin bir veri kaynağı olmadığını bunun yerine dış veri kaynaklarını sorgulayan, doğrulayan, onaylayan ve daha sonra da bu bilgileri kullanan bir katman olduğunu belirtmek önemlidir. Oracle'lar tarafından iletilen veriler, fiyat bilgisi, bir ödemenin başarıyla tamamlandığı ya da bir sensör tarafından ölçülen sıcaklık gibi birçok farklı formda olabilir. 

Dış dünyadan bilgi almak için akıllı kontratın kullanıma alınması ve ağ kaynaklarının harcanması gerekir. Bazı oracle'lar yalnızca akıllı kontratlara bilgi göndermekle kalmaz aynı zamanda bilgiyi dış kaynaklara geri gönderme becerisine de sahiptir.

Birçok farklı tür oracle bulunur ve bir blockchain oracle'ının nasıl çalıştığı tamamen ne için tasarlandığına bağlıdır. Makalemizde bu tasarımlardan bazılarına değineceğiz.


Bir blockchain oracle örneği

Alice ve Bob'un ABD başkanlık seçimlerini kimin kazanacağına dair bahse girdiğini varsayın. Alice Cumhuriyetçi adayın, Bob ise Demokratların kazanacağına inanıyor. Bahis şartları üzerinde anlaşmaya varıyor ve yatırılan tüm parayı seçimi kimin kazandığına bağlı olarak serbest bırakacak bir akıllı kontrata fonlarını kilitliyorlar.

Akıllı kontrat dış verilerle etkileşim kuramadığı için gerekli bilgileri edinmek için bir oracle'dan destek almak zorundadır. Bu örnekte ise gerekli olan veri başkanlık seçimlerinin sonucudur. Seçim sona erdikten sonra, oracle hangi adayın kazandığını öğrenmek için güvenilir bir API'ı sorgular ve elde ettiği bilgiyi akıllı kontrata iletir. Daha sonra da kontrat sonuca göre fonları Alice'e ya da Bob'a gönderir.

Oracle veriyi iletmese katılımcıların biri tarafından hile yapılamayacak şekilde bu bahsi gerçekleştirmenin bir yolu olmazdı. 


Farklı blockchain oracle türleri nelerdir?

Blockchain oracle'ları birkaç farklı özellik üzerinden sınıflandırılabilir: 

  • Kaynak – veri kaynağı bir yazılım mı donanım mı?
  • Bilginin yönü – oracle alıcı mı gönderici mi?
  • Güven – merkezi mi merkeziyetsiz mi?

Bir oracle birden fazla kategoriye dahil olabilir. Örneğin bilgi kaynağı olarak bir şirketin web sitesini kullanan oracle merkezi, alıcı bir yazılım oracle'ıdır.


Yazılım oracle'ları

Yazılım oracle'ları çevrimiçi veri kaynaklarıyla etkileşim kurar ve bu verileri blockchaine iletir. Bu bilgiler çevrimiçi veri tabanlarından, sunuculardan, web sitelerinden yani Web üzerindeki herhangi bir veri kaynağından gelebilir.

Yazılım oracle'larının internete bağlı olması bu oracle'ların akıllı kontratlara bilgi sağlayabilmesinin yanı sıra bilgiyi gerçek zamanlı olarak iletebilmesini de mümkün kılar. Bu nedenle yazılım oracle'ları en yaygın kullanılan blockchain oracle türlerinden biridir. 

Yazılım oracle'ları tarafından sağlanan verilerin arasında genellikle çevrim kurları, dijital varlık fiyatları ve gerçek zamanlı uçuş bilgileri yer alır.


Donanım oracle'ları

Bazı akıllı kontratlarının gerçek dünyayla bir arayüze ihtiyacı vardır. Donanım oracle'ları fiziksel dünyadan bilgi almak ve bu bilgiyi akıllı kontrat için kullanılabilir kılmak üzere tasarlanmıştır. Böylesi bilgiler elektronik sensörlerden, barkod tarayıcılardan ve bilgi okuyan diğer cihazlardan alınabilir.

En temelde bir donanım oracle'ı gerçek dünyada gerçekleşen olayları akıllı kontratların anlayabileceği dijital değerler olarak “tercüme eder”.

Bunun bir örneği olarak ürünleri taşıyan bir kamyonun yükleme alanına gelip gelmediğini kontrol eden bir sensör verilebilir. Eğer kamyon geldiyse, bilgi akıllı kontrata aktarılır ve kontrat bu bilgiye dayanarak gerekli kararları alabilir.

Benzer bir konu hakkında daha fazla bilgi edinmek isterseniz, Blockchain Kullanım Alanları: Tedarik Zinciri makalemizi okuyabilirsiniz.


Alıcı ve gönderici oracle'lar

Alıcı oracle'lar dış kaynaklardan gelen bilgiyi akıllı kontrata iletir. Gönderici oracle'lar ise bilgiyi akıllı kontratlardan dış dünyaya gönderir. 

Alıcı oracle'lara örnek olarak bir sensör tarafından ölçülen sıcaklığı akıllı kontrata ileten bir oracle verilebilir. Gönderici oracle'a örnek olarak ise akıllı kilit verilebilir. Fonların bir adrese yatırılması durumunda, akıllı kontrat bir gönderici oracle aracılığıyla bu bilgiyi akıllı kilidi açacak olan mekanizmaya ulaştırır.


Merkezi ve merkeziyetsiz oracle'lar

Merkezi oracle tek bir birim tarafından kontrol edilir ve akıllı kontrata bilgi sağlayan tek kaynaktır. Tek bir bilgi kaynağı kullanmak riskli olabilir çünkü kontratın etkinliği tamamen oracle'ı kontrol eden birime bağlı olur. Ayrıca kötü niyetli bir kişinin yapacağı herhangi bir zarar verici eylem akıllı kontrat üzerinde doğrudan etki yaratır. Merkezi oracle'lardaki sorun tek hata noktasının mevcut olmasıdır, bu da kontratı açıklara ve saldırılara karşı daha savunmasız hale getirir.

Merkeziyetsiz oracle'lar ve açık blockchainler, karşı taraf riskinden kaçınmak gibi bazı ortak hedeflere sahiptir. Sadece tek bir gerçeklik kaynağına dayanmadıkları için akıllı kontratlara sundukları bilgilerin güvenilirliği daha yüksektir. Akıllı kontratlar verinin doğruluğunu ve güvenilirliğini belirlemek için birden fazla oracle'ı sorgular. Merkeziyetsiz oracle'ların mutabakat oracle'ları olarak da anılmasının sebebi budur.

Bazı blockchain projeleri diğer blockchainlere merkeziyetsiz oracle hizmeti sunar. Merkeziyetsiz oracle'lar, belirli bir sonucun geçerliliğinin sosyal mutabakat aracılığıyla doğrulanabildiği tahmin piyasalarında da kullanışlı olabilir.

Merkeziyetsiz oracle'lar güvene dayalı olmamayı hedeflese de güvene dayalı olmayan blockchain ağları gibi merkeziyetsiz oracle'ların da güveni tamamen ortadan kaldırmadığını yalnızca bu güveni birçok katılımcı arasında bölüştürdüğünü belirtmek önemlidir.


Kontrata özel oracle'lar

Kontrata özel oracle tek bir akıllı kontrat tarafından kullanılmak üzere tasarlanmıştır. Bu da, bir kişi birden fazla akıllı kontrat kullanmak isterse eşit sayıda kontrata özel oracle'ın da geliştirilmesi gerektiği anlamına gelir.

Bu oracle türünün çok zaman alıcı ve kullanımının masraflı olduğu kabul edilir. Farklı kaynaklardan veri toplamak isteyen şirketler bu yaklaşımı çok verimsiz bulabilir. Diğer yandan kontrata özel oracle'lar belirli bir kullanım alanı için sıfırdan geliştirilebileceğinden geliştiriciler bu kontratları özel ihtiyaçlara yönelik düzenlerken yüksek seviyede esnekliğe sahip olur.


İnsan oracle'lar

Bazen belirli bir alana yönelik bilgi sahibi kişiler de oracle olarak hizmet verebilir. Bu kişiler bilginin geçerliliğini çeşitli kaynakları kullanarak araştırıp doğrulayabilir ve daha sonra ilgili veriyi akıllı kontratlar için tercüme edebilir. İnsan oracle'lar kriptografi kullanarak kimliklerini doğrulayabilecekleri için, dolandırıcıların kimlik bilgileri üzerinde sahtecilik yapma ve yanlış veri sunma olasılığı oldukça düşüktür.


Oracle Sorunu

Akıllı kontratlar oracle'lardan gelen verilere göre karar verdiği için, bu oracle'lar sağlıklı bir blockchain ekosistemi için anahtardır. Oracle'ların tasarlanmasındaki başlıca zorluk eğer bir oracle ele geçirilirse, buna dayanan akıllı kontratın da ele geçirileceğidir. Buna genellikle Oracle Sorunu adı verilir. 

Oracle'lar ana blockchain mutabakatının bir parçası olmadığı için ne yazık ki açık blockchainlerin sunduğu güvenlik mekanizmalarının da parçası değildir. Üçüncü parti oracle'lar ile akıllı kontratların güvene dayalı olmayan uygulaması arasındaki güven sorunu genel olarak hala çözülememiş bir problemdir.

Kötü niyetli bir kişinin oracle ve kontrat arasındaki veri akışına erişim sağlayarak veriyi değiştirdiği ya da yanlış hale getirdiği ortadaki adam saldırıları da bir tehdit olabilir. 


Son Fikirler

Akıllı kontratlar ve dış dünya arasında iletişim sağlayan güvenilir bir mekanizma blockchainlerin küresel olarak benimsenmesi için büyük öneme sahiptir. Blockchain oracle'ları olmadan akıllı kontratlar yalnızca kendi ağlarının içindeki bilgilerle sınırlı kalır ve bu durumda da becerileri ciddi oranda sınırlanır.

Merkeziyetsiz oracle'lar, blockchain ekosistemindeki birçok sistemik riski ortadan kaldırabilecek güvenlik mekanizmaları sunma potansiyeline sahiptir. Blockchain oracle'ları, blockchain ekosisteminin büyümesi için güvenli, güvenilir ve güvene dayalı olmayacak şekilde uygulamaya konacak kritik temel öğelerden biri olmayı sürdürmektedir.