Decentralized Application yani “merkezi olmayan uygulamalar” (DApps), dağıtılmış bir bilgi işlem sistemi, yani bir blok zinciri ağı üzerinde çalışan uygulamalardır. DApp’ler, tek bir bilgisayar yerine bir blok zinciri veya P2P bilgisayar ağında çalışmakla birlikte tek bir otoritenin görüş ve kontrolü dışındadır. DApp'ler bir blok zinciri ağının üzerinde çalışan açık kaynaklı projeler olarak tasarlanmıştır. Buna karşılık, bu ağların dağıtılmış doğası şeffaflık, merkezi olmayan bir sistem ve saldırılara karşı direnç sağlar.
DApp’lerin Özellikleri
Merkezi olmayan uygulamalar, tüm ağ aktörlerinin durumunu yöneten blok zinciri ile iletişim kuran bir yazılım parçasıdır. Merkezi olmayan uygulamaların arayüzü, günümüzde herhangi bir web sitesinden veya mobil uygulamadan farklı görünmez. DApp'lerin genel özellikleri ise aşağıdaki gibidir:
- Açık Kaynak-Kaynak Kodu: Kasıtlı olarak halka açık hale getirilmiştir, yani herkes kodu doğrulayabilir, kullanabilir, kopyalayabilir ve değiştirebilir.
- Merkezi Olmayan: DApp'ler blok zinciri ağlarında çalıştığından, tek bir varlık veya otorite tarafından kontrol edilmezler. Bunun yerine, birden çok kullanıcı veya node tarafından korunurlar.
- Kriptografik Olarak Güvenli: Uygulama kriptografi ile korunur, yani tüm veriler halka açık bir blok zincirinde kaydedilir ve saklanır.
Eski uygulamalarda, DApp'lerin çözmeye çalıştığı birden çok problem vardır. Geleneksel bir uygulama yerine bir DApp seçmenin ana yararı, geleneksel uygulamaların verilerini tek bir varlık tarafından kontrol edilen sunucularda depolayarak merkezi bir mimari kullanmasıdır. Bu tip uygulamaların, teknik sorunlara ve kötü niyetli saldırılara açık olan tek bir hata noktasına sahip oldukları anlamına gelir.
Güvenliği ihlal edilmiş bir merkezi sunucu, uygulamanın tüm ağını kapatıp onu geçici veya kalıcı olarak kullanılamaz hale getirebilir. Bunun dışında, merkezi sistemler veri sızıntısı veya hırsızlığından sık sık etkilenirler, bu da şirketleri ve bireysel kullanıcıları risk altına sokar.
DApp'ler bir P2P ağında veya bir blok zinciri ağında çalışabilir. Örneğin, BitTorrent, Tor ve Popcorn Time, bir P2P ağının parçası olan bilgisayarlarda çalışan ve birden fazla katılımcının içerik tükettiği, içeriği beslediği veya tohumladığı veya her iki işlevi aynı anda gerçekleştirdiği uygulamalardır.
Merkezi olmayan bir uygulamanın ön ucu görünen kısmı, arka ucu ise tüm iş mantığını temsil eder. Bu iş mantığı, temel blok zinciri ile etkileşime giren bir veya birkaç akıllı sözleşme ile temsil edilir. Fotoğraf, video veya ses gibi dosyaların yanı sıra ön uç, Swarm veya IPFS gibi merkezi olmayan depolama ağlarında barındırılabilir. Geleneksel Web uygulamaları, bir web sayfasını oluşturmak için HTML, CSS ve javascript veya benzerlerini kullanır. Bu sayfa, tüm verilerin depolandığı merkezi bir veritabanı ile etkileşime girer.
Örneğin Twitter, Facebook, Amazon veya Airbnb gibi bir hizmeti kullandığınızda ilgili web sayfası, kişisel verilerinizi ve sunucularında depolanan diğer gerekli bilgileri işlemek ve bunları sayfada görüntülemek için bir API'yi çağırır. Kişiselleştirilmiş veriler servis sağlayıcının sunucusunda saklandığından, kimlik ve kimlik doğrulama için kullanıcı kimliği ve şifreler düşük güvenlik seviyeleriyle kullanılır.
Kripto Paralarda DApp’lerin Kullanımı
Farklı kullanım durumlarına sahip çok çeşitli DApp'ler vardır. Bunlar, oyunlar, sosyal medya platformları, kripto para birimi cüzdanları ve finansal uygulamaları (DeFi) içerebilir.
Kripto para birimleri bağlamında, dApp'ler halka açık, açık kaynaklı, merkezi olmayan bir ortamda bir blok zinciri ağı üzerinde çalışır ve herhangi bir tek otorite tarafından kontrol ve müdahaleden muaftır.
Akıllı sözleşmeler, merkezi olmayan bir uygulamanın temel mantığını temsil eder. Merkezi olmayan uygulamalar, tokenlaştırılmış bir sistem (akıllı sözleşmelerin kullanılmasıyla oluşturulan tokenlar) aracılığıyla kendi etkinliklerini besler. Tokenlar belirli bir DApp için spesifik olabilir veya Ethereum (ETH) kullanan CryptoKitties’in durumunda olduğu gibi DApp'ı barındıran blok zincirine özgü olabilirler.
Örneğin, bir geliştirici Twitter benzeri bir dApp oluşturabilir ve bunu herhangi bir kullanıcının mesaj yayınlayabileceği bir blok zincirine koyabilir. Bir kez yayınlandıktan sonra, uygulama yaratıcıları dahil hiç kimse mesajları silemez.