Ölçeklenebilirlik genel olarak bir sistemin artan talebi karşılayabilecek büyüme yeteneğini ifade eder. Bilgisayarlarda belirli işlemleri daha hızlı gerçekleştirmek için donanımını yükselterek makinenizin performansını artırabilirsiniz. Blockchain'lerde ölçeklenebilirlikten bahsettiğimizde, işlem yapma kapasitelerini artırmaya atıfta bulunuyoruz.

Bitcoin gibi protokollerin birçok gücü vardır ancak ölçeklenebilirlik bunlardan biri değildir. Bitcoin merkezi bir veri tabanında çalıştırılsaydı, bir yöneticinin hızı ve verimi arttırması nispeten kolay olurdu. Ancak Bitcoin'in değer önerileri (sansür direnci) birçok katılımcı tarafından blok zincirinin bir kopyasının eşleşlendirilmesini gerektirir.

 

Blockchain ölçeklenebilirlik sorunu

Bitcoin düğümü çalıştırmak nispeten ucuzdur ve basit cihazlar bile bunu yapabilir. Ancak binlerce düğümün birbirleriyle güncel kalması gerektiğinden düğüm kapasitelerinde bazı sınırlamalar ortaya çıkar.

Veri tabanının hantal boyutlara ulaşmasına izin vermemek için zincir üzerinde işlenebilecek işlem sayısına sınırlama getirilir. Çok hızlı büyümelere düğümler ayak uyduramaz. Ayrıca eğer bloklar düğüm kapasitelerinin üzerine çıkarsa ağ işlemleri gerçekleştirilemez.

 

Sonuç olarak kendimizi bir darboğazda buluyoruz. Bir blockchain, belirli aralıklarla istasyondan kalkan bir tren olarak görülebilir. Her vagonda sadece sınırlı sayıda koltuk vardır ve seyahat etmek isteyenlerin açık arttırma usulü bilet alması gerekir. Yani herkes aynı anda trene binmeye çalışırsa bilet fiyatları yüksek olacaktır. Blockchain özelinde ise bu durum, bekleyen işlemlerle tıkanmış bir ağda hızlı işlem yaptırmak isteyen kullanıcıların işlemler için daha yüksek ücretler ödemelerini gerektirecektir.

Çözüm vagonları daha büyük yapmak olacaktır. Bu da daha fazla koltuk, daha yüksek verim ve daha ucuz bilet fiyatları anlamına gelir. Ancak koltukların her zaman dolacağının da bir garantisi yok. Vagonlar sürekli olarak genişletilemez, tıpkı bloklar veya blok gas limitleri sonsuz olarak ölçeklenemez. Bir diğer çözüm ise düğümleri senkronize edebilmek için daha güçlü yani daha pahalı donanımlar kullanmaktır.

 

Zincir dışı ölçeklendirme çözümleri nelerdir?

Zincir dışı ölçeklendirme, işlemlerin blok zincirini şişirmeden yürütülmesine izin veren yaklaşımları ifade eder. Zincire bağlanan yan protokoller, kullanıcıların ana zincirde görünen işlemler olmadan para göndermesine ve almasına izin verir. Bu mihverdeki en önemli ilerlemelerden ikisini açıklayaağız: yan zincirler ve ödeme kanalları.

 

Yan Zincirler

Yan zincir nedir?

Bir yan zincir ayrı bir blok zinciridir. Bununla birlikte ana zincire bir şekilde bağlı olduğu için bağımsız bir platform değildir. Ana zincir ve yan zincir birlikte çalışabilir, bu da varlıkların birinden diğerine serbestçe akabileceği anlamına gelir.

Fonların zincirler arasında geçişi bir kaç yolu vardır. Bazı durumlarda, varlıklar ana zincirden özel bir adrese gönderilerek taşınır.  Aslında gerçekten zincirden zincire transfer edilmezler. Bunun yerine var olduğu zincirde kilitlenir ve gönderileceği zincirde yeniden yaratılır. Daha basit çözümlerden biri de (merkezi bir seçenek olsa da) yan zincirdeki fonları takaslayan bir aracıya para göndermektir.

 

Bir sidechain nasıl çalışır?

Arkadaşımız Ayşe’nin beş Bitcoin’i olduğunu varsayalım. Onları bir bitcoin sidechain'de beş eşdeğer birim için değiştirmek istiyor-onlara da sidecoins diyelim. Söz konusu sidechain iki yönlü bir kanal kullanır, bu da kullanıcıların varlıklarını ana zincirden sidechain'e aktarabilecekleri anlamına gelir ve bunun tersi de gerçekleştirilebilir.

Sidechain'in ayrı bir Blockchain olduğunu unutmayın. Yani farklı bloklara, düğümlere ve doğrulama mekanizmalarına sahiptir. Ayşe başka bir adrese ona beş Bitcoin göndererek yan zincir kripto paralarını alır. Adresin sahibi, beş Bitcoin'i aldıktan sonra sidechain adresine beş sidecoin gönderir. Bu süreç bir otomasyon yazılımı ile de yapılabilir.

 

Sidechain Ölçekleme

Ayşe şimdi paralarını sidecoine dönüştürdü, ancak bitcoin'lerini geri almak için süreci her zaman tersine çevirebilir. Artık sidechain'e girdiğine göre bu blockchain üzerinde işlem yapmakta özgür. Ana zincirde olduğu gibi sidecoins gönderebilir veya başkalarından alabilir.

 

Yan zincirler neden kullanılır?

Bunun ne anlama geldiğini merak edebilirsiniz. Ayşe neden sadece Bitcoin blok zincirini kullanmıyor?

Cevap, sidechain'in Bitcoin'in yapamayacağı şeyleri yapabilmesidir. Blockchain, dikkatli bir şekilde tasarlanmış takas sistemleridir. Bitcoin en güvenli merkezsiz kripto para olsa da verim açısından en iyisi değildir. Bitcoin işlemleri geleneksel yöntemlerden daha hızlı olsa da diğer blockchain sistemlerine kıyasla hala nispeten yavaştır. Bloklar her on dakikada bir çıkarılır ve ağ sıkışık olduğunda ücretler önemli ölçüde artabilir.

Kuşkusuz küçük günlük ödemeler için bu güvenlik seviyesine ihtiyaç yoktur. Ayşe bir kahve içmek için kripto para ödüyorsa işlemin onaylanmasını dakikalarca beklememelidir.

Sidechains aynı kurallara bağlı değildir. Aslında işeyiş için iş kanıtı kullanmalarına bile gerek yoktur. Herhangi bir konsensüs mekanizmasını kullanabilir, tek bir doğrulayıcıya güvenebilir veya herhangi bir sayıda parametreyi değiştirebilir. Ana zincirde bulunmayan yükseltmeleri ekleyebilir, daha büyük bloklar oluşturabilir ve hızlı transflerler yapılabilir.

 

İlginç bir şekilde yan zincirler, ana zinciri etkilemeyen kritik hatalara bile sahip olabilir. Bu da deneysel çalışmalar için denek platformları olarak kullanılmalarına olanak verir. Böylelikle konsensüs olmadan da ağa özellikler eklenilmesine olanak tanır.

 

Kullanıcıların uzlaşmalardan memnun kaldığı değerlendirdiğinde yan zincirler, etkili ölçeklendirmeye yönelik kabul edilebilir bir gelişme olabilir. Ana zincir düğümlerinin her işlemi yan zincirden saklamasına gerek yoktur. Ayşe, tek bir Bitcoin işlemiyle sidechain'e girebilir, yüzlerce sidecoin işlemi gerçekleştirebilir ve daha sonra sidechain'den çıkabilir. Bitcoin blockchain söz konusu olduğunda Ayşe sadece iki tane işlem gerçekleştirir; biri blok zincire girmek, diğeri de çıkmak.

 

Ödeme Kanalları

Ödeme kanalı nedir?

Ödeme kanalları, ölçeklenebilirlik cephesindeki yan zincirlerle aynı amaca hizmet eder, ancak temelde çok farklıdırlar. Yan zincirler gibi, blok zincirinin şişmesini önlemek için işlemleri ana zinciri bypass ederek gerçekleştirirler. Bununla birlikte yan zincirlerin aksine çalışmak için ayrı bir blockchain gerektirmezler.

Bir ödeme kanalı, kullanıcıların işlemlerini blok zincirine yayınlamadan işlem yapmalarını sağlamak için akıllı sözleşmeler kullanır. Bunu iki katılımcı arasında yazılımla gerçekleştirilen bir anlaşma oluşturarak yapar.

 

Ödeme kanalı nasıl çalışır?

Popüler Lightning Network gibi modellerde, iki taraf ilk önce ortaklaşa sahip oldukları bir cüzdana para yatırır. Bu adres fonların harcanması için iki imza gerektiren çok imzalı bir adrestir. Eğer Ayşe ve Veli böyle bir adres oluşturursa cüzdandaki fonlar yalnızca her ikisinin onayıyla taşınır.

Diyelim ki her biri 10 BTC’yi bir cüzdana yatırdı, cüzdanda toplam 20 BTC oldu. Ayşe Veli'a bir BTC vermek isterse kayıt defteri güncellendiğinde Ayşe’nin 9 Veli’nin 11 BTC’si gözükür. Bu işlemler böyle güncellendikçe blockchain üzerinde herhangi bir kayda gerek kalmaz.

 

Ödeme kanalı nasıl çalışır

Belli bir zaman sonra Ayşe'in 5 BTC'YE, Veli'nin 15 BTC'YE sahip olduğunu varsayalım. Daha sonra bu fonları tarafların sahip olduğu adreslere gönderen, imzalayan ve yayınlayan bir işlem oluşturabilirler.

Ayşe ve Veli bilançolarında on, yüz veya bin işlem kaydedilebilir. Ancak blockchain söz konusu olduğunda sadece iki zincir işlemi gerçekleştirdiler: biri ilk finansman işlemi için, diğeri ise bittiğinde bakiyeleri yeniden tahsis etmek için. Bu ikisinin yanı sıra diğer tüm işlemler, zincir dışında yapıldığı için ücretsiz ve neredeyse anında gerçekleşir. Ayrıca madenci ücreti ödemeye ve blok onayı için beklemeye gerek kalmıyor.

Tabi ki yukarıda tartışılan örnek, her iki tarafın da iş birliği yapmasını gerektirir ki bu durum birbirine yabancı insanlar için ideal bir durum değildir. Bununla birlikte herhangi bir hile girişimini cezalandırmak için özel mekanizmalar kullanılabilir, böylece taraflar güvene ihtiyaç duymadan birbirleriyle güvenli bir şekilde etkileşime girebilir.

 

Ödeme yönlendirme

Açıkçası ödeme kanalları, yüksek işlem hacmini öngören iki taraf için uygundur. Böyle kanallardan oluşan bir ağ kurulabilir, bu da Ayşe'nin doğrudan bağlı olmadığı bir kişiye de ödeme yapabileceği anlamına gelir. Veli'nin Taner ile açık bir kanalı varsa ve o kanalda yeterli kapasite olması koşuluyla Ayşe de Taner’e para gönderebilir. Böyle böyle birden çok kanaldan oluşmuş ödeme ağı sistemi kurulabilir.