Bir blockchain ağında veriler bloklar halinde depolanır veya saklanır. Zaman içerisinde, büyüyen blockchain ağına yeni bir blok eklenir. Her blok kendisinden bir önceki bloğa kriptografik bağlantı (hash) ile bağlanır. Bu blokların içinde, kullanıcıların belirli bir süre içerisinde gerçekleştirdiği ve yayınladığı işlemleri ifade eder. Ancak, işlemin yayınlanması ve bir bloğa eklenmesi genellikle bir bekleme süresi gerektirir. Başka bir ifadeyle kullanıcı, işlemin onaylanması ve eklenmesi için birkaç dakika ya da birkaç saat beklemesi gerekir. Bu sürecin gerçekleşmesi için gerekli olan zamanın beklenmesi, birçok kişi için merkeziyetsizliğin sağladığı faydaların yanı sıra, ölçeklenebilirlik sorunlarını da gözler önüne serer. Ölçeklenebilirlik, bu nedenle, blockchain ağlarında büyük bir sorun olarak kabul edilir.
Ancak DAG teknolojisi, verileri bloklar halinde depolamanın yerine aynı anda çalışan node’ları ve node gruplarını kullanarak bu sorunu çözer. DAG modelinde bulunan her node, birden çok işlem katmanından oluşabilir. Bu node’lar aynı zamanda madencilere olan ihtiyacı ortadan kaldırır. Her yeni işlem, algoritmalar tarafından desteklenen bir node’da kaydedildiğinde, önceki iki işlemle doğrulanır. Bu yaklaşım, mevcut ağlarda gereksiz doğrulamayı ciddi şekilde azaltır.
Directed Acyclic Graph (DAG) teknolojisi kendi arasında bağlantıya sahip olan bilgilerin ve verilerin ifade edilmesini amaçlayan bir yönlendirilmiş veri tabanıdır. Blockchain gibi bloklardan oluşan bir yapı yerine, DAG’lar, köşeler ve kenarlar aracılığıyla kripto varlık işlemlerinin kaydedildiği bir yapıya sahiptir. Bu işlemler daha sonra ardışık olarak üst üste kaydedilir. Benzer şekilde, işlemler node’lar aracılığıyla bir DAG’a iletilir. Bir işlemi göndermek için node’ların iş kanıtı (PoW) görevlerini tamamlamaları gerekir.
Özetle, blockchain sistemleri bir zincir gibi görünürken, DAG yapıları daha çok bir grafik şeklinde görünür. DAG modeli, veri depolama ve çevrimiçi işlemlerdeki verimlilik nedeniyle gelecekte blockchain’in potansiyel bir alternatifi olarak kabul edilir.
DAG modeli, mevcut blockchain’deki merkezileşme sorununa alternatif bir çözüm olarak görülür. Bu modelde madenciler yeni bir bloğun eklenmesi için rekabet etmek zorunda değildirler. Aynı anda geliştirilen node’lar sayesinde işlemler daha hızlı bir şekilde işlenebilir.
DAG Nasıl Çalışır?
DAG’ın yapısı dallı şekilde birbirine bağlı node’larla ağaca benzer. DAG modelinde, her node birden fazla ana köke sahip olabilir ve bundan dolayı aynı anda birden fazla işlemin doğrulanabilmesine imkân sağlar. Böylelikle kullanıcılar yeni bir işlem gerçekleştirmeden önce devam eden işlemlerin tamamlanmasını beklemek zorunda olmazlar.
DAG’ta, her yeni işlemin ağa kabul edilmeden önce daha önceki işlemle ilgili bir referans vermesi gerekir. Bu işleyiş, bir blockchain ağındaki blokların da önceki bloklara referans sağlamasıyla aynı mantıktadır. DAG modelinin mantığı, yeni bir işlemin sadece başka bir işlem tarafından referanslanmasıyla başarılı bir şekilde onaylanmasıdır. DAG modelinde her köşe bir işlemi ifade eder. Blok bulunmaz ve bu nedenle madenciliğe de gerek duyulmaz. İşlemler birbiri üzerine inşa edilir.
DAG Ne İçin Kullanılır?
DAG, merkeziyetsizliği ve ölçeklenebilirliği daha güçlü bir hale getirmeyi hedefler. Aynı zamanda güvenlik ve kullanabilirliği de daha iyi bir hale getirmeyi amaçlar. Bu amaç ve hedeflerine bağlı olarak kullanıcılar tarafından kullanılır.
DAG’ın Özellikleri Nelerdir?
Bir DAG’ın özellikleri şunlardır:
- Döngü yok
- Birden çok kaynak
- Çoklu havuzlar
- Kısmi sıra
Döngü Yok
DAG’ta herhangi bir döngü yoktur. Bu, sonunda başlangıç node’larına geri götürecek yönlendirilmiş bir kenar dizisi olmadığını ifade eder.
Birden Çok Kaynak
DAG’ın birden fazla kaynağı olabilir. Kaynak, gelen kenarları olmayan bir node’u ifade eder.
Çoklu Havuzlar
DAG’ın birden çok havuzu bulunabilir. Havuz, giden kenarları olmayan bir node’u ifade eder.
Kısmi Sıra
DAG, node’lar arasındaki kısmi sırayı temsil etmek için kullanılabilir. Örneğin, X node’undan Y node’una yönlendirilmiş bir kenar var ise, bu, kısmi sırada X node’unun Y node’undan önce geldiğini gösterir.
DAG’ler Neden Kullanışlıdır?
DAG’lar veri işleme akışları dahil birden fazla çeşitli akış türünü görsel olarak sunmak için kullanılabilir. Özellikle farklı veri işleme ortamlarında, veriler üzerinde çeşitli hesaplamalar yapmak ve bir veya daha fazla hedefe veri yazmak için kullanılan veri işleme akışlarına veri akışı denir. Bu akışlar, büyük ölçekli veri işleme senaryolarında özellikle faydalıdır. DAG'lar, bu veri işleme akışlarının görsel temsilinde kullanılarak işlem adımlarının ve bağımlılıklarının daha net bir şekilde gösterilip düzenlenmesini sağlar.
DAG'lar, hem toplu veri işleme (batch data processing) hem de gerçek zamanlı veri işleme (realtime data processing) amaçlarıyla oluşturulan veri akışları gösterimlerinde kullanılabilir.
DAG’daki Algoritmalar Nelerdir?
DAG’lar bu algoritmaları kullanarak çeşitli sorunları verimli bir şekilde çözmek için kullanılır:
- Topolojik sıralama
- En kısa yol
- En uzun yol
- Maksimum akış
Topolojik Sıralama
Topolojik sıralama, bir DAG’daki node’ların doğrusal sıralamasını bulmak için kullanılabilen bir algoritmadır. Doğrusal sıralama, DAG’daki node’ların kısmi sırasını ifade eder. Bir iş akışındaki görevlerin sıralanması veya veri akışının analiz edilmesi için kullanılır.
En Kısa Yol
DAG’lar, dinamik programlama algoritmasını kullanarak iki node arasında bulunan en kısa yolu yararlı bir şekilde bulmak için kullanılabilir. Bu algoritma, bir problemi çözerken optimal bir çözüm elde etmek için alt problemlerin de optimal çözümlerini içerdiği bir prensibe dayanır. Yani, büyük bir problemi çözmek için onu daha küçük alt problemlere böler ve her alt problemin en iyi çözümünü bulur. Ardından, alt problemlerin çözümlerini birleştirerek orijinal problemin optimal çözümünü elde eder. Bu prensip, büyük ve karmaşık problemlerin çözümünü daha yönetilebilir ve etkili bir şekilde gerçekleştirmek için kullanılan bir yaklaşımdır.
En Uzun Yol
DAG’lar, iki node arasında bulunan en uzun yolu bulmak için dinamik programlama algoritmasını kullanır. Bu algoritma, grafikteki kenarların negatif ağırlıklarını kullanır. En kısa yol algoritmasıyla benzerlik gösterir ancak en uzun yolu bulmak için kullanılır. Algoritma, her node için en uzun yolun önceki node’lardan gelen en uzun yol ve kenarın ağırlığı ile ilişkili olduğunu varsayar. Sonuç olarak, node’lar arasındaki en uzun yolları analiz etmek için en yararlı bir şekilde hesaplama yapar.
Maksimum Akış
DAG’lar, iki node arasındaki maksimum akışı bulmak için Ford-Fulkerson algoritmasını kullanır. Bu algoritma, bir ağda kaynaktan alıcıya akışı artırmak için yolları artırma ilkesine dayanır. Başlangıçta, tüm kenarların akışı sıfırdır. Ardından, artırıcı yollar bulunur ve bu yollar boyunca akış artırılır. Algoritma, kaynaktan alıcıya en büyük akışı sağlayacak yolları tekrar tekrar artırarak çalışır.
DAG Avantajları Nelerdir?
DAG’ların birden fazla avantajları bulunur:
- Hız
- Madencilik olmaması
- İşlem ücreti olmaması
- Ölçeklenebilirlik sorunlarının olmaması
Hız
Blok süreleriyle sınırlı olmadığı için DAG’larda herkes işlemlerini istedikleri zaman yayınlayabilir ve gerçekleştirebilir. Geçmiş zamandaki işlemler sürekli olarak doğrulandığından dolayı, kullanıcıların gönderebileceği işlem sayısı üzerinde bir sınırlama yoktur.
Madencilik olmaması
DAG’lar fikir birliği mekanizması olan iş kanıtı (PoW) mekanizmasını alışık olunan bir şekilde kullanmaz. Bu nedenle, oluşan karbon ayak izi oranı, blockchain ağlarını güvende tutmak için madencilik tercih edilen kripto varlıklara kıyasla oldukça düşüktür.
İşlem Ücretlerinin Olmaması
DAG’larda madenci bulunmadığı veya olmadığı için kullanıcılar işlemlerini gerçekleştirmek için herhangi bir ücret ödemezler. Ancak bazı ağlar, özel node türleri için düşük ücretler talep edebilir. Düşük ücretler veya hiç ücretlerin olmaması, yüksek ücretler nedeniyle etkili olmayan mikro ödemeler için ilgi çekicidir.
Ölçeklenebilirlik Sorunlarının Olmaması
DAG’ları destekleyen birçok kişi, bu özelliğin nesnelerin interneti (IoT) gibi birbirleriyle etkileşimde bulunan kullanım alanlarında DAG’ları değerli kıldığına inanılır.
DAG’ların Dezavantajları Nelerdir?
DAG’ların bazı dezavantajları bulunur:
- Tamamen merkeziyetsiz olmaması
- Kapsamlı bir şekilde test edilmemiş olması
Tamamen Merkeziyetsiz Olmaması
DAG’ları temel alan protokoller farklı merkezi öğelere sahiptir. Kimilerine göre, bu durum, ağın kısa vadeli öz yüklemesi için bir çözüm sağlayabilir ancak DAG’ların üçüncü tarafların müdahalesi olmadan uzun süre varlığını sürdürebilip sürdüremeyeceği zamanla ortaya çıkacaktır. Eğer sürdüremezlerse, sonunda ağa zara verebilecek saldırılara açık hala gelebilir.
Kapsamlı Bir Şekilde Test Edilmemiş Olması
DAG altyapılı kripto varlıklar, son zamanlarda kullanılmalarına rağmen kapsamlı bir benimseme için önlerinde uzun bir yol bulunur. Bu nedenle, gelecek zamanlarda kullanıcıların sistemi ne gibi çıkarlar için kullanacağı üzerinde bir tahminde bulunulması zordur.