Paralel İşleme Tanıtırken Blockchain İndeksleme - Aelf'in Çözümü



Herhangi bir yeni yeniliği tanıtmak çoğu zaman artan sancılarla birlikte gelir. Bunlardan biri, yükselen birçok proje tarafından ölçeklenebilirlik bozulmalarını çözmeye çalıştıklarında bulunmuştur. Aelf modeli; Merkle ağacı teknolojisinin kullanımı yoluyla işlemlerin indekslenmesine dayanır ancak bu, proje ayrıca paralel işleme de dahil ettiğinden yeni bir engel oluşturur.

İndeksleme, Yan Zincirlerin Aelf Ana Zincirine nasıl bağlandığıdır. Aelf ekosistemine katılmak için bir Yan Zincir, işlem ücretlerini ödediği için Ana Zincir tarafından indekslenmeyi ister. Statik bir Blockchain indekslemek, kendi zorluklarıyla birlikte gelir. Zincire daha fazla blok eklendikçe tüm zincirin indekslenmesi daha fazla zaman alır.

Ancak bu zorluk bile indekslemenin devam ettiği sırada gerçekte daha fazla blok eklendiğinde Blockchain'in kendisi statik iken indekslemenin gerçekleştiğini varsaydığı için biraz daha basit bir görünüm alır. Bu, bazı işlemlerin girdileri ve çıktıları arasında bağımlılıklar olacağından bazıları da birbiriyle alakasız olduğundan daha önemli zorluklar ortaya çıkarmaktadır. Bu nedenle, dinamik bir Blockchain indekslemeye çalışırken bir noktada indekslemenin henüz işlenmemiş bir başkasına bağlı bir işlemde sıkışıp kalması kaçınılmazdır.

Ethereum gibi Blockchainler, işlemlerin kesin olarak sırayla işlenmesini gerektirerek bunun üstesinden gelir. Ancak sıralı işlem, işlem hızına ve dolayısıyla ölçeklendirilebilirliğe sınır koyar.

Aelf'in gelişiminde bu sorunların üstesinden gelen bir ekosistem inşa etmeye başladık. Çözümümüz, Aelf Ana Zincirinde Yan Zincirlerin işlemleri hızla işlemesine ve alakasız işlemleri birbirine paralel olarak işlemesine izin veren yüksek bir işlem çıktısı ve verimi sağlar.

Aynı zamanda, Ana Zincirin Yan Zincirlerdeki gerekli işlemleri aynı hızda indeksleyebilmesi gerekir. Bu, paralel işlem işleme ile birlikte çalışan bir Yan Zincir dinamik indeksleme sistemi ile elde edilir.

Yan Zincir İndeksleme

Aelf üzerindeki Yan Zincirler, Aelf işletim sistemi altında çalışan iç Yan Zincirler ya da Bitcoin veya Ethereum Blockchainleri gibi yüksek öneme sahip dış Yan Zincirler olabilir. Ana zincirdeki düğümler, Yan Zincirlerden bilgileri okur ve bir Merkle Ağacı kökü oluşturur. Dış Blockchainler durumunda bu kök, verilen herhangi bir işlemi doğrulamak için mesajlaşma yoluyla Merkle kanıtlarını alır.

Her bir Yan Zincir için kesin indeksleme stratejisi kendi has özelliklerine göre belirlenir. İndeksleme stratejisindeki bu esneklik, farklı Yan Zincirlerin farklı blok oluşturma hızlarına sahip olabileceği sorununun üstesinden gelir. Ayrıca bu, yüksek oranda çatallanma olasılığı bulunan Blockchainler üzerindeki yetim blokları indekslemek için harcanan boşa çabayı da önler.

Örneğin Bitcoin gibi bir Blockchain için indeksleme stratejisi, bir bloğun yetim olmadığının doğrulanmasıyla indekslemenin blok oluşumundan bir dakika sonra gerçekleşebileceği anlamına gelebilir. Bir Aelf Yan Zinciri ve Aelf Ana Zinciri, birleştirme madenciliğini benimserse her iki zincirin madencileri ayrıca her iki zinciri de gerçek zamanlı olarak indeksleyebilir.

Yan Zincirlerin indekslenmesi, madencilere Yan Zincirler tarafından üretilen işlem ücretlerinde ödeme yapan Aelf token sistemi aracılığıyla teşvik edilmektedir. Bu şekilde Yan Zincirler, ayrıca indekslemenin madenciler için ekonomik açıdan uygun kalmasını sağlamalıdır.

Paralel İşleme

Sıralı işleme, tüm işlemlerin sırayla işlenmesini gerektirir. Daha basit endekslemenin avantajını sunar; ancak bir Blockchain'in çalışabileceği hızı engellediği için verimsizdir.

Paralel işleme, alakasız işlemlerin birbirine paralel olarak onaylanmasına izin verir. Böylece bir Yan Zincirden bir işlem, farklı ve ilişkisiz bir Yan Zincirde olduğu gibi aynı anda işlenebilir. Aelf'de bir düğüm, farklı gruplara alakasız (mutex - karşılıklı dışlama) işlemleri atayacaktır. Tek bir grup içinde tüm işlemler, sırayla işlenir. Ancak grupların hepsi paralel olarak işlenir ve saf sıralı işlemden çok daha hızlı onay süresi elde edilir.

Düğümler, paralel olarak işlenebilecek işlemlere öncelik verecektir. Ancak girişi onaylanmamış bir çıktıya bağlı olduğundan belirli bir işlemin işlenememesi olabilir. Bu "özel" işlemler, Yan Zincirin paralel yerine madencilerin sırayla işlemelerini teşvik etmek için madencilere yeterli işlem ücreti ödeyebilmesi koşuluyla işlenebilir. Aksi halde, düğümler bu işlemleri reddedebilir.

Eğer bir düğüm paralel olarak veya kabul edilebilir bir zaman dilimi içinde işlenemeyen görünüşte şüpheli işlemleri kabul ederse, bloğun diğer düğümler tarafından reddedilme olasılığını arttırır.

Bir işlem onaylanmadıysa ve kısa bir süre içinde geri çekilmezse, "kaos" olarak kabul edilir. Bunu çözmek için Aelf, her işlemin ağa yayınlandığı sırada en son bloğun başlığı ile işaretlenmesi gerektirir. Eğer sonraki 64 blok onaylandıktan sonra işlem onaylanmamış kalırsa, süresi sona erecektir.

Amdahl Yasası ve Bilişim Kaynak Verimliliği

Amdahl Yasası, paralel işlemden kaynaklanan teorik hızlandırmayı hesaplamamızı sağlar. Yasa, tüm görevin yürütme verimliliğinin sistemdeki daha iyi kaynaklarla arttığını gösterir. Hızdaki artış, her zaman gelişimden faydalanmayan işin herhangi bir kısmı ile sınırlıdır. Başka bir deyişle; sıralı işleme sahip bir Blockchain ağı bir bufalo sürüsü ise, yalnızca sürünün en yavaş üyesi kadar hızlı hareket edebilir.

Bu nedenle Aelf'in Paralel Yürütme Zamanlayıcısı (GPES), işlem verilerini ve hesaplama bağımlılığını bellek havuzundan ayırır. Bulut bilişim, düğümlerin makine kümeleri arasında çalışmasına olanak sağlar ve böylece tüm ağ boyunca paralel işlemeyi destekleyen artan işlem hızı sağlar.

Ana Düşünce

Ölçeklenebilirlik, Blockchain'in bugüne kadarki en önemli sorunlarından biridir ve Aelf'in birden fazla boyutta ele almak için belirlediği bir problemdir. Paralel işleme ve bir dinamik Yan zincir indeksleme mekanizması ile birleştirilen DPoS protokolünün konuşlanmasıyla Aelf, daha önce görülmemiş bir ölçeklenebilirlik seviyesi elde etmeyi amaçlamaktadır. Bunun başlangıcı, halihazırda Ağustos 2018'de Testnet'in (Test Ağı) başlangıcında 14,968 TPS ile ilk TPS (Transaction Per Second - Saniye Başına İşlem) sonuçlarında şekil almıştır.