İçerik
Giriş
Blockchain ölçeklenebilirlik sorunu
Sonuç olarak kendimizi bir dar boğazın içinde buluruz. Bir blockchain, belirli zaman aralıklarıyla yola çıkan bir tren olarak düşünülebilir. Her bir vagonda belirli bir koltuk sayısı bulunur ve bilet bulabilmek için yolcuların daha yüksek fiyat vermesi gerekir. Eğer herkes trene aynı anda binmeye çalışırsa fiyat yüksek olur. Benzer şekilde, beklemede olan işlemlerle tıkanmış bir ağda da işlemlerinin kısa sürede dahil edilmesini isteyen kullanıcıların daha yüksek bir işlem ücreti ödemesi gerekir.
Ethereum yaratıcısı Vitalik Buterin, blockchainlerin karşı kaşıya kaldığı zorlukları açıklamak için Ölçeklenebilirlik Üçlemi kavramını ortaya atmıştır. Buterin'in teorisine göre protokollerin, ölçeklenebilirlik, güvenlik ve merkeziyetsizlik arasında bir denge kurması gerekir. Bu üçlü birbiriyle çelişir. Örneğin, özelliklerden ikisine fazla odaklanılması durumunda üçüncü özellik zayıflar.
Zincir dışı ölçeklendirme çözümleri nelerdir?
Zincir dışı ölçeklendirme, işlemlerin blockchaini tıkamadan yapılabilmesine imkan tanıyan yaklaşımları ifade eder. Kullanıcılar, zincire eklenen protokoller aracılığıyla işlemleri ana zincir üzerinde gözükmeyecek şekilde fon gönderebilir ve alabilir. Buna yönelik iki en önemli ilerlemeden bahsedeceğiz: yan zincirler ve ödeme kanalları.
Yan zincirlere giriş
Yan zincir nedir?
Yan zincir ayrı bir blockchaindir. Fakat, ana zincirle bir şekilde bağlantılı olduğu için kendi başına bir platform değildir. Ana zincir ve yan zincir karşılıklı çalışabilir, bu da varlıkların bir zincirden diğerine rahatça geçiş yapabileceği anlamına gelir.
Yan zincir nasıl çalışır?
Alice'in beş bitcoini olduğunu varsayalım. Bunları bir Bitcoin yan zincirinde denk değerde beş birime çevirmek istiyor (bunlara da yan coinler diyelim). Bahsi geçen yan zincir iki yönlü geçiş kullanıyor yani kullanıcılar varlıklarını ana zincirden yan zincire ve yan zincirden ana zincire transfer edebiliyor.
Alice artık yan coinlerini çevirdi fakat bitcoinlerini geri almak için süreci istediği zaman tersine çevirebilir. Artık yan zincire girdiği için bu ayrı blockchain üzerinde işlem yapmaya başlayabilir. Aynı ana zincir üzerindeki gibi diğer kişilere yan coin gönderebilir ya da bu kişilerden yan coin alabilir.
Örneğin bir Binance kapüşonlusu için Bob'a a bir yan coinle ödeme yapabilir. Bitcoin'e dönmek istediğinde kalan dört yan coinini özel bir adrese gönderir. İşlem onaylandıktan sonra dört bitcoinin kilidi açılır ve bu coinler ana zincir üzerinde Alice'in kontrolünde olan bir adrese gönderilir.
Yan zincirler neden kullanılır?
Bütün bunların amacının ne olduğunu merak ediyor olabilirsiniz. Alice neden Bitcoin blockchainini kullanmayı tercih etmiyor?
Açıkçası günlük küçük ödemeler için böylesi yüksek bir güvenlik seviyesi muhtemelen gerekli değildir. Alice bir kahve için ödeme yapıyorsa, işlem onaylanana kadar kasada bekleyemez. Ödeme sırasını meşgul eder ve işlem onaylandığında kahvesi çoktan soğumuş olur.
İlginç şekilde yan zincirler, önemli yazılım açıklarına ana zinciri etkilemeden sahip olabilir. Bu da yan zincirleri deneysel çalışmalar için kullanılabilen platformlar haline getirir ve normalde ağ çoğunluğunun mutabakatını gerektiren özelliklerin bu zincirlere eklenmesini mümkün kılar.
Kullanıcıların işlemlerinden memnun kalıyor olması göz önüne alındığında yan zincirler, etkin şekilde ölçeklendirme yönünde önemli bir adım olabilir. Ana zincir node'larının yan zincirdeki tüm işlemleri saklaması yönünde bir zorunluluk yoktur. Alice tek bir Bitcoin işlemiyle yan zincire girebilir, yüzlerce yan zincir işlemi yapabilir ve daha sonra yan zincirden çıkabilir. Bitcoin blockchaini bakımından Alice bir giriş ve bir çıkıştan oluşan yalnızca iki işlem yapmış olur.
Ödeme kanallarına giriş
Ödeme kanalı nedir?
Ödeme kanalları ölçeklenebilirlik anlamında yan zincirlerle aynı amaca hizmet eder fakat en temelde çok farklı mekanizmalardır. Ödeme kanalları yan zincirlerin yaptığına benzer şekilde blockchainin tıkanmasını engellemek için işlemleri ana zincirin dışına taşır. Fakat yan zincirlerin aksine bu kanalların çalışması için ayrı bir blockchaine gerek yoktur.
Ödeme kanalları nasıl çalışır?
Diyelim ki her ikisi de bir hesaba 10 BTC yatırdı ve hesapta şu anda 20 BTC var. Hem Alice'in hem de Bob'un 10 BTC'ye sahip olduğunu belirterek başlayan bir hesap cetvelini tutmaları ikisi için de kolay olur. Eğer Alice Bob'a bir coin vermek isterse hesap cetvelini Alice'in 9 BTC'si var Bob'un ise 11 BTC'si var şeklinde güncelleyebilirler. Bakiyeleri bu şekilde güncellemeye devam ederken işlemleri blockchaine yayınlamalarına gerek olmaz.
Bir süre sonra diyelim ki Alice'in 5 BTC'si ve Bob'un 15 BTC'si var. Bu durumda, bakiyeleri tarafların adreslerine gönderen bir işlem yaratabilir, bu işlemi imzalayabilir ve yayınlayabilirler.
Alice ve Bob kendi hesap cetvellerinde onlarca, yüzlerce ya da binlerce işlem tutabilir. Fakat blockchain söz konusu olduğunda yalnızca iki tane zincir üstü işlem gerçekleştirmiş olurlar: ilk fonlama işlemi ve işleri bittiğinde bakiyelerin son hareketi. Bu ikisinin dışında diğer tüm işlemleri masrafsız ve neredeyse anında olur çünkü zincir dışında gerçekleşir. Ödenecek madenci ücreti ya da beklenecek blok onaylaması bulunmaz.
Ödeme yönlendirme
Şüphesiz ki ödeme kanalları yüksek hacimli işlemler yapacak iki parti için kullanışlıdır. Fakat ödeme yönlendirme bunu bir adım daha öteye taşır. Ödeme kanallarından oluşan bir ağ yaratılabilir, bu da Alice'in doğrudan bağlantıda olmadığı bir partiye ödeme yapabileceği anlamına gelir. Eğer Bob'un Carol'la açık bir kanalı varsa yeterli kapasite olması durumunda Alice Carol'a ödeme yapabilir. Fonlarını kanalın Bob tarafına yönlendirir ve Bob da bu fonları Carol'a aktarır. Eğer Carol bir diğer katılımcı olan Dan'le bağlantıdaysa aynı şey tekrarlanabilir.
Böyle bir ağ herkesin birden fazla eşle bağlantıda olduğu dağıtılmış bir yapıya dönüşebilir. Bu tip bir yapıda varış noktasına ulaşmak için genellikle birden fazla yol olur ve kullanıcılar bunların arasından en etkin olanını seçebilir.
Son Fikirler
İşlemlerin baz blockchaine yük yaratmadan yapılabilmesine imkan tanıyan iki ölçeklendirme yaklaşımından bahsettik. Hem yan zincirler hem de ödeme kanalı teknolojisi henüz olgunlaşmış değil fakat baz katman işlemlerinde görülen sorunları aşmak isteyen kullanıcılar bu iki çözümden de gitgide daha fazla şekilde faydalanılıyor.
Zaman ilerledikçe ve ağa daha fazla katılımcı eklendikçe merkeziyetsizliğin korunmaya devam etmesi önemli. Bu da ancak blockchainin büyümesine yönelik limitler koyarak ve bu sayede yeni node’ların kolayca katılmasını sağlayarak yapılabilir. Zincir dışı ölçeklendirme çözümünün savunucuları zamanla ana zincirin yalnızca yüksek değerde işlemler için ya da yan zincirlere giriş/çıkış ve kanal açmak/kapatmak için kullanılacağına inanıyor.