Yeni Başlayanlar İçin Lightning Network Rehberi
Ana sayfa
Makaleler
Yeni Başlayanlar İçin Lightning Network Rehberi

Yeni Başlayanlar İçin Lightning Network Rehberi

Başlangıç Seviyesi
Yayınlanma: Nov 28, 2018Güncellenme: Feb 14, 2023
20m


İçerik


Giriş

Kripto paralar bazı benzersiz özelliklere sahiptir. Kolayca hack'lenemez ya da kapatılamazlar ve herhangi bir kişi tarafından üçüncü bir partinin müdahalesi olmadan dünyanın her yerine değer transferi yapmak için kullanılabilirler.
Bu özelliklerin korunabilmesi için belirli bir kar zarar dengesi gereklidir. Bir kripto para ağının yürütülmesinden sorumlu olan birçok node bulunduğundan ağın verimliliği sınırlıdır. Sonuç olarak bir blockchain ağının saniye başına işlem (TPS) kapasitesi büyük kitleler tarafından benimsenmeyi hedefleyen bir teknoloji için nispeten düşük kalabilir.
Blockchain teknolojisinin bu dahili sınırlamalarını ortadan kaldırmak için ağın idare edebileceği işlem sayısını artırmak amacıyla çeşitli ölçeklenebilirlik çözümleri ortaya atılmıştır. Bu makalede Bitcoin protokolü için böyle bir çözüm uzantısı olarak sunulan Lightning Network'ü derinlemesine inceleyeceğiz.


Lightning Network nedir?

Lightning Network, hızlı eşler arası işlemlere imkan tanımak için blockchainin üstünde çalışan bir ağdır. Bitcoin'e mahsus değildir, Litecoin gibi diğer kripto paralar tarafından da entegre edilmiştir.
“Blockchainin üstünde çalışan” derken ne demek istediğimizi merak ediyor olabilirsiniz. Lightning Network, zincir dışı ya da ikinci katman olarak adlandırılan bir çözümdür. Kullanıcıların tüm işlemleri blockchainde kaydetmek zorunda kalmadan işlem yapabilmesine imkan tanır.
Lightning Network, Bitcoin ağından ayrıdır. Kendi node'ları ve yazılımı vardır ama ana zincirle iletişim halindedir. Lightning Network'e girmek ya da ağdan çıkmak için blockchainde özel işlemler gerçekleştirmeniz gerekir.

Aslında ilk işleminizle yaptığınız başka bir kullanıcıyla bir tür akıllı kontrat oluşturmaktır. Bundan ileride detaylı şekilde bahsedeceğiz fakat şimdilik akıllı kontratın diğer kullanıcıyla özel bir kayıt defteri tuttuğunu düşünebilirsiniz. Bu kayıt defterine birçok işlem yazabilirsiniz. Bu işlemleri yalnızca siz ve karşı parti görebilir ama her iki taraf da sistemin bazı kendine has özellikleri sayesinde hile yapamaz.

Bu mini kayıt defterine kanal adı verilir. Diyelim hem Alice hem de Bob akıllı kontrata kişi başı 5 BTC koydu. Artık her ikisinin de kendi kanallarında 5 BTC'lik bakiyesi olur. Alice daha sonra kayıt defterine Bob'a 1 BTC öde yazabilir. Artık Bob'un tarafında 6 BTC ve Alice'in tarafında 4 BTC vardır. Daha sonra Bob, Alice'e 2 BTC göndererek bakiyeleri Alice'in tarafında 6 BTC ve kendi tarafında 4 BTC olacak şekilde değiştirebilir. Bunu bir süre daha yapmaya devam edebilirler.

Alice ya da Bob istediği bir zaman kanalın güncel durumunu blockchaine yayınlayabilir. Bu noktada kanalın her iki tarafındaki bakiyeler, karşılık gelen partilere zincir üzerinde dağıtılır.

Lightning (şimşek) işlemleri adının hakkını verir şekilde hızlıdır. Beklenmesi gereken blok doğrulamaları bulunmaz dolayısıyla ödemeler internet bağlantınızın izin verdiği için ölçüde hızla gerçekleştirilir.


Lightning Network neden gereklidir?

Lightning Network (ya da kısaca LN) şimdilik Bitcoin blockchainini ölçeklendirmeye yönelik en mantıklı yaklaşımdır. Bu kadar büyük bir ekosistemde değişimleri koordine etmek oldukça zorlayıcıdır – hard fork'lara ve büyük zararlar verebilecek açıklara yönelik riskler mevcuttur. Riske atılacakların değeri bu kadar yüksekken, deneysel yaklaşımlar son derece tehlikelidir.

Deneysel yaklaşım blockchainden uzaklaştırıldığında çok daha fazla esneklik kazanılır. Bir şeyler yanlış giderse bunun asıl Bitcoin ağı üzerinde hiçbir etkisi olmaz. İkinci katman çözümler, protokolün 10'dan fazla yıldır çalışmaya devam etmesini sağlayan hiçbir güvenlik varsayımına zarar vermez.

Ayrıca eski çalışma yönteminde herhangi bir değişlikliği de zorunlu kılmaz. Zincir üstü işlemler son kullanıcılar için normal şekilde çalışmaya devam eder ama artık zincir dışı işlem seçeneği de mevcut olur.

Lightning Network kullanmanın çeşitli faydaları vardır. Bu faydaların en önemli olanlarını aşağıda inceleyeceğiz. 


Ölçeklenebilirlik

Bitcoin blokları yaklaşık her on dakikada bir yaratılır ve sadece belli miktarda işlem içerebilir. Blok alanı nadir bulunan bir kaynaktır, bu nedenle işlemlerinizin en kısa sürede bloğa dahil edilmesi için diğer kullanıcılardan daha yüksek ödeme yapmanız gerekir. Madencilerin birinci önceliği ne kadar ödeme aldığıdır dolayısıyla daha yüksek işlem ücretine sahip işlemler daha önce eklenir.
Aynı anda fon göndermeye çalışan çok sayıda kullanıcı yoksa bu bir sorun teşkil etmez. Düşük bir ücret ödeseniz de işleminiz muhtemelen bir sonraki bloğa dahil edilir. Fakat herkes aynı anda işlem yapıyorsa ortalama işlem ücretleri büyük oranda yükselebilir. Bazı durumlarda ücretlerin 5 USD'yi geçtiği görülmüştür. 2017 boğa piyasasının zirvelerinde işlem ücretleri 50 USD'yi geçmiştir.


Ortalama Bitcoin İşlem Ücreti (USD bazında)


Bu ücretler binlerce dolar değerinde Bitcoin işlemleri yaparken önemsiz gözükebilir ama daha küçük ödemeler için sürdürülebilir değildir. Kim 3 dolarlık kahveye 5 dolar işlem ücreti ödemek ister ki?

Lightning Network ile biri kanalınızı açmak biri de kapamak için olmak üzere iki işlem ücreti ödemeniz gerekir. Ama kanal açıldıktan sonra karşı partiyle aranızda binlerce işlemi ücretsiz olarak yapabilirsiniz. İşiniz bittiğinde son durumu blockchaine yayınlamanız yeterli olur.

Daha genel anlamda eğer daha fazla kullanıcı Lightning Network gibi zincir dışı çözümleri kullanmayı tercih ederse blok alanı daha verimli şekilde kullanılabilir. Düşük değerli, yüksek sıklıkta yapılan transferler ödeme kanalları üzerinde gerçekleştirilirken, blok alanı daha büyük işlemler ve kanal açma/kapama için kullanılabilir. Bu yaklaşım, sistemi çok daha geniş bir kullanıcı tabanı için erişilir kılarak sistemin uzun vadede ölçeklendirilmesine imkan tanır.


Mikro ödemeler

Bir işlemde gönderebileceğiniz bitcoinler için bir minimum tutar söz konusudur – yaklaşık 0,00000546 BTC. Bu makalenin yazıldığı tarih itibariyle bu da yaklaşık dört sente tekabül eder. Bu düşük bir tutar olsa da Lightning Network limiti şu an için ödenebilecek en düşük tutar olan 0,00000001 BTC'ye yani bir satoshi'ye kadar indirir.

Lightning, mikro ödemeler için daha ilgi çekicidir. Standart işlemler için ödenen ücretler, çok düşük tutarları ana zincir üzerinde göndermeyi verimsiz hale getirir. Fakat bir kanal içinde çok düşük bitcoin tutarlarını ücretsiz olarak gönderebilirsiniz.

Mikro ödemeler birçok kullanım alanına sahiptir. Bazı kişiler mikro ödemelerin, kullanıcıların bir hizmeti kullandıkları her sefer küçük bir ödeme yaptığı abonelik temelli yöntemlerin yerini alabileceğini düşünür.


Gizlilik

Lightning Network'ün ikincil bir faydası da kullanıcılara yüksek seviyede gizlilik sunabilmesidir. Tarafların, kanallarına yönelik genel ağı bilgilendirmesine gerek yoktur. Blockchaine bakarak işlemin bir kanal açtığını belirleyebilseniz de kanalın içinde neler olduğunu bilemezsiniz. Taraflar kanallarını gizli tutmayı tercih ederse kanal içindeki işlemler yalnızca kanal katılımcıları tarafından bilinir.

Eğer Alice'in Bob ile bir kanalı varsa ve Bob'un Carol ile bir kanalı varsa, Alice ve Carol birbirlerine Bob aracılığıyla para gönderebilir. Eğer Dan ve Carol bağlantıdaysa da Alice, Dan'e ödeme gönderebilir. Bu yapıyı birbiriyle bağlantılı ödeme kanallarından oluşan ve genişleyen bir ağ olarak düşünebilirsiniz. Böyle bir düzende, kanalın kapanmasının ardından Alice'in kime fon gönderdiğini kesin bir şekilde belirlemeniz mümkün olmaz.


Lightning Network nasıl çalışır?

Lightning Network'ün node'lar arasındaki kanallardan oluştuğundan genel anlamda bahsettik. Şimdi sistemi daha yakından inceleyelim.


Çoklu imza adresleri

Çoklu imza (multisig) adresi, harcama yaparken birden fazla özel anahtarın kullanabileceği bir adrestir. Böyle bir adres oluşturulurken, fonların kaç özel anahtar tarafından harcanabileceğini ve bir işlemin imzalanması için kaç anahtarın zorunlu olduğunu belirlemeniz gerekir. Örneğin 5'in 1'i yapısı, beş anahtarın geçerli bir imza yaratabileceği ve yalnızca bir tanesinin gerekli olduğu anlamına gelir. 3'ün 2'si yapısında ise olası üç anahtardan fonların harcanması için herhangi iki tanesi gereklidir.
Bir Lightning kanalını başlatmak için katılımcılar 2'nin 2'si bir yapıya fonlarını kilitler. İmzalama işlemini yalnızca iki anahtar yapabilir ve coinlerin hareket ettirilebilmesi için iki imza da gereklidir. Bu noktada yine Alice ve Bob'a dönelim. Önümüzdeki aylar içinde çok sayıda karşılıklı ödeme yapacaklar bu nedenle bir Lightning Network kanalı açmaya karar verirler.

Bunun için ilk olarak ikisi de ortaklaşa sahip oldukları çoklu imza adresine diyelim 3 BTC yatırır. Bob'un Alice'in onayı olmadan fonları adresten dışarı taşıyamacağını ya da tam tersi Alice'in de Bob'un onayı olmadan bunu yapamayacağını tekrar hatırlatalım.

Artık her iki taraf için de bakiyeleri düzenleyen bir kağıt tutmaları gerekir. Her ikisinin de başlangıçta 3 BTC'si vardır. Alice, Bob'a 1 BTC'lik ödeme yapmak isterse Alice'in artık 2 BTC'si ve Bob'un 4 BTC'si olduğunu not almaları mümkün olmaz mı? Fonları kanaldan dışarı taşımaya kadar verene kadar bakiyeleri bu şekilde takip edebilirler.

Bunu yapmak mümkündür ama eğlenceli olmayabilir. Daha da önemlisi taraflardan birinin iş birliğinden kaçınmasını son derece kolay hale getirebilir. Eğer Alice'in 6 BTC'si varsa ve Bob'un hiç fonu yoksa, Bob fonları serbest bırakmayı reddederek hiçbir şey kaybetmemiş olur (muhtemelen Alice'in arkadaşlığı dışında).


Hash Zaman Kilitli Kontratlar (HTLC)

Yukarıdaki sistem sıkıcıdır ve günümüzün güvenilir yapılarına pek bir artı değer sunmaz. Alice ve Bob arasındaki “kontratı” zorunlu olarak uygulamaya koyan bir mekanizma eklersek işler çok daha ilginç hale gelir. Taraflardan biri kurallara göre hareket etmezse bu durumda karşı tarafın fonlarını kanaldan dışarı taşımak için hala bir yolu olur.

Bu mekanizmaya Hash Zaman Kilitli Kontrat (HTLC) adı verilir. Terim karmaşık gözüküyor olabilir ama aslında anlaşılması çok kolay bir kavramdır. Ödeme kanallarında iş birliğine aykırı davranışlara çözüm sunmak için diğer iki teknolojiyi (hash kilitleri ve zaman kilitleri) bir araya getirir.
Hash kilidi, işlem üzerine konan ve yalnızca parolayı bildiğinizi kanıtlamanız durumunda fonları harcayabilmenize izin veren bir koşuldur. Gönderici bir veri parçasını hash eder ve hash'i alıcıya giden işlemin içine ekler. Alıcının fonu harcayabilmesinin tek yolu hash ile uyumlu orijinal veriyi (parola) sunabilmesidir. Bu veriyi sunabilmesinin tek yolu da göndericinin parolayı alıcıyla paylaşmış olmasıdır.
Zaman kilidi koşulu ise fonları belirli bir süreden önce harcamanızı engeller. Gerçek zamana ya da belirli bir blok yüksekliğine göre belirlenir.

HTLC'er hash kilitlerinin ve zaman kilitlerinin bir araya getirilmesiyle oluşturulur. Uygulamada HTLC'ler koşullu ödemeler yaratmak için kullanılabilir – alıcı belirli bir süre içinde parolayı sunamazsa gönderici fonları geri alabilir. Bir sonraki bölümü muhtemelen bir örnek üzerinden açıklamak daha kolay olacaktır, bu nedenle Alice ve Bob'a geri dönelim.


Kanalları açmak ve kapamak

Alice ve Bob'un paylaşacakları çoklu imza adresine fon göndermek için bir işlem yaptığı örneğinden bahsetmiştik. Fakat bu işlemler heniz blockchain üzerinde yayınlanmadı. Daha önce yapılması gereken bir şey daha var.


Bob'dan üç coin ve Alice'ten üç coin.


Hatırlarsanız bu coinlerin çoklu imza adresinden dışarı taşınmasının tek yolu hem Alice hem de Bob'un işlemi imzalamasıdır. Alice altı coinin tamamını bir dış adrese göndermek isterse Bob'un onayına ihtiyaç duyar. Önce bir işlem oluşturur (şu adrese altı bitcoin gönder) ve kendi imzasını ekler. 

İşlemi hemen yayınlamayı deneyebilir ama işlem geçersiz olur çünkü Bob'un imzası henüz eklenmemiştir. Alice'in tamamlanmamış işlemi ilk olarak Bob'a vermesi gerekir. Bob imzasını eklediğinde işlem geçerli hale gelir.

Ama herkesin dürüst davranmasını sağlayacak bir mekanizmayı henüz eklemedik. Daha önce belirttiğimiz gibi karşı taraf iş birliği yapmayı reddederse fonlarınız kapana kısılmış olur. Şimdi bunu engelleyen mekanizmadan bahsedelim. Mekanizma birkaç farklı parçadan oluşuyor bu nedenle adım adım anlatmaya devam ediyoruz.

Her partinin bir parola oluşturması gerekir, bunlara A'lar ve B'ler diyelim. Parolanın işe yaraması için başkasıyla paylaşılmaması gerekir bu nedenle Alice ve Bob şimdilik parolalarını gizli tutar. Her iki taraf da kendi parolasının bir hash'ini oluştrur – h(A'lar) ve h(B'ler). Yani parolalarını paylaşmak yerine bu hash'leri birbirleriyle paylaşırlar.


Alice ve Bob parolalarının hash'lerini birbirleriyle paylaşır.


Alice ve Bob'un, ilk işlemlerini çoklu imza adresine yayınlamadan önce bir taahhüt işlemleri seti de yaratması gerekir. Bu işlemler taraflardan birinin fonları rehin tutmaya karar vermesi ihtimaline karşı çözüm sunar.

Bir kanalı daha önce bahsettiğimiz şekilde mini kayıt defteri olarak düşünürseniz, o zaman taahhüt işlemleri de kayıt defterine yaptığınız güncellemelerdir. Yeni bir taahhüt işlemi oluşturduğunuz her sefer iki parti arasındaki fonları tekrar dengelemiş olursunuz.

Alice'inkinde iki çıktı olur: kendi sahibi olduğu adrese ödeme yapan biri ve yeni çoklu imza adresine kilitlenen diğeri. Alice bu işlemi imzalar ve Bob'a verir.


Alice'in işleminde iki çıktı vardır. Biri kendi adresine ve biri de yeni çoklu imza adresine. Bu işlemin geçerli olması için halen Bob'un imzasına ihtiyacı vardır.


Bob da aynısını yapar. Bir çıktı kendisine, diğeri ise başka bir çoklu imza adresine ödeme yapar. Bunu imzalar ve Alice'e verir.


İki adet tamamlanmamış ve çok benzer işlemimiz olur.


Normalde Alice, Bob'un işlemine bir imza ekleyerek bu işlemi geçerli hale getirebilir. Ama bu fonların henüz fon eklenmemiş 2'nin 2'si bir çoklu imza adresinden harcandığını unutmayın. Bu işlem şimdilik sıfır bakiyeye sahip bir hesaptan yazılmış bir çeki harcamaya çalışmaya benzerdir. Dolayısıyla bu kısmen imzalanmış işlemler, çoklu imza adresi hazır olduğunda ve çalışmaya başladığında kullanılabilir olacaktır. 

Yeni çoklu imza adreslerinin (3 BTC'lik çıktıların gideceği) bazı kendine has özellikleri vardır. Alice'in imzaladığı ve Bob'a verdiği tamamlanmamış işlemi inceleyelim. Çoklu imza çıktısı aşağıdaki şartlarda harcanabilir:

  1. İki parti ortaklaşa imzalayabilir.
  2. Bob belirli bir süre sonra (zaman kilidi nedeniyle) fonları kendi başına harcayabilir.
  3. Alice, Bob'un parola B'lerini bilmesi durumunda fonları harcayabilir.

Bob'un Alice'e verdiği işlem için:

  1. İki parti ortaklaşa imzalayabilir.
  2. Alice belirli bir süre sonra fonları kendi başına harcayabilir.
  3. Bob, Alice'in parola A'larını bilmesi durumunda fonları harcayabilir.

Bir partinin parolasının karşı parti tarafından bilinmediğini göz önüne aldığımızda üçüncü seçenek henüz mümkün değildir. Dikkate alınması gereken bir diğer nokta da işlemi imzalarsanız çıktısında özel bir koşul bulunmayacağı için karşı partinin hemen harcama yapabileceğidir. Fonları kendi başınıza harcamak için zaman kilidinin süresinin dolmasını bekleyebilir ya da fonları hemen harcamak için karşı parti ile iş birliği yapabilirsiniz.

Tamam. Artık işlemleri orijinal 2'nin 2'si çoklu imza adresine yayınlayabilirsiniz. Bunu yapmanız artık güvenlidir çünkü karşı taraf kanaldan ayrılırsa fonlarınızı geri alabilirsiniz.

İşlemler onaylandığında kanalınız kurulmuş ve çalışır hale geçmiş olur. İlk işlem çifti bize mini kayıt defterinin durumunu gösterir. Şu anki duruma göre Bob'a 3 BTC ve Alice'e 3 BTC ödeyecektir. 

Alice, Bob'a yeni bir ödeme yapmak istediğinde, bu ikili tarafından ilk işlem setinin yerini alacak yeni iki işlem yaratılması gerekir. Yapılacak şeyler aynıdır – işlemler yalnızca yarım imzalıdır. Fakat Alice ve Bob ilk olarak eski parolalarını bırakır, bir sonraki işlem turu için yeni hash'ler paylaşır.


 Örneğin Alice, Bob'a 1 BTC ödemek isterse iki yeni işlem Alice'e 2 BTC ve Bob'a 4 BTC gönderecektir. Bu sayede bakiye güncellenir.


Taraflardan ikisi de istediği bir zaman son işlemleri imzalayıp yayınlayarak blockchain üzerinde “uzlaşı” elde edebilir. Fakat bunu yapan partinin zaman kilidinin kalkmasını beklemesi gerekirken diğeri fonları hemen harcayabilir. Hatırlarsanız Bob, Alice'in işlemini imzalar ve yayınlarsa Alice'in artık üzerinde koşul bulunmayan bir çıktısı olur.

Her iki parti de kanalı kapatmaya ortaklaşa karar verebilir (bir ortaklaşa kapanış). Fonları zincire geri döndürmenin en kolay ve hızlı yolu muhtemelen budur. Fakat bir taraf yanıt vermez ya da iş birliği yapmayı reddederse diğer taraf zaman kilidinin açılmasını bekleyerek fonlarını geri alabilir.



Kripto para dünyasına girmek mi istiyorsunuz? Binance üzerinden Bitcoin alabilirsiniz!



Lightning Network hile yapmayı nasıl engeller?

Burada bir saldırı vektörü belirlemiş olabilirsiniz. Eğer Bob'un şu anda bakiyesi 1 BTC ise, onu daha yüksek bakiyeye sahip olduğu önceki bir işlemi yayınlamaktan alıkoyan nedir? Alice'ten gelen yarım imzalı işlem halihazırda elindeyse tek yapması gereken kendi imzasını eklemek ve işlemi yayınlamak değil midir?
Onu durduran tek şey tüm bakiyesini kaybedebilecek olması gerçeğidir. Böyle bir şeyi yaptığını ve Alice'e bir coin ve daha önce bahsettiğimiz çoklu imza adresine beş coin ödeyecek eski bir işlemi yayınladığını varsayalım.

Coinler Alice'e hemen ulaşır. Diğer yandan Bob'un çoklu imza adresinden harcama yapabilmesi için zaman kilidinin süresinin dolması gerekir. Alice'in aynı fonları hemen harcayabilmesi için gerekli bir diğer koşuldan bahsettiğimizi hatırlıyor musunuz? Bir parolaya ihtiyacı vardır ama o sırada buna sahip değildir. Fakat artık bu parola elindedir çünkü ikinci tur işlemler yaratıldığı anda Bob bu parolayı paylaşmış olur.

Bob, hiçbir şey yapması mümkün olmadan zaman kilidinin süresinin dolmasını beklerken Alice fonları hareket ettirebilir. Bu cezaya dayalı mekanizma, katılımcıların hile yapma girişiminde bulunmasının bile ihtimal dışı olduğu çünkü aksi takdirde coinlerinin diğer tarafın eline geçeceği anlamına gelir.


Ödemeleri yönlendirme

Daha önce bahsettiğimiz gibi kanallar birbirleriyle bağlanabilir. Bu mümkün olmasa Lightning Network ödemeler için kullanışlı olmaz. Önümüzdeki birkaç ay boyunca günlük kahvenizi almak için bir kahve dükkanıyla kurduğunuz kanala 500 doları kilitlemeyi gerçekten ister miydiniz?

Bunu yapmanıza gerek yok. Eğer Alice, Bob ile bir kanal açarsa ve Bob'un halihazırda Carol ile kanalı varsa, Bob bu iki kişi arasındaki ödemeleri yönlendirebilir. Bu sistem birden fazla “sıçrama” ile çalışabilir, yani Alice bağlantıların kesiştiği herhangi birine ödeme yapabilir.


Bu senaryoda Alice, Frank'e ulaşmak için farklı yolları takip edebilir. Uygulamada her zaman en kolay yolu tercih edecektir.


Yönlendirmedeki rolleri nedeniyle aracılar küçük bir işlem ücreti alır (fakat bunu yapmaları zorunlu değildir). Lightning Network hala çok yeni olduğu için işlem ücreti piyasası henüz yerleşmemiştir. Birçok kişinin görmeyi beklediği, sağlanan likiditeye dayanan işlem ücretlerinin oluşturulmasıdır.

Temel zincirde işlem ücretleriniz tamamen işleminizin blok üzerinde ne kadar yer kapladığına bağlıdır. Gönderilen değerin bir önemi yoktur, 1 USD'lik bir ödemenin de 10.000.000 USD'lik bir ödemenin de masrafı aynıdır. Bunun aksine Lightning Network'te blok alanı kavramı bulunmaz. 

Bunun yerine, yerel ve dış bakiyeler kavramı vardır. Yerel bakiye kanalın diğer tarafına “aktarabileceğiniz” tutarken, dış bakiye karşı tarafın size aktarabileceği tutardır.
Sıra bir diğer örneği incelemeye geldi. Yukarıdaki bağlantı yollarından birini yakından değerlendirelim: Alice<> Carol <> Frank.


Alice'ten Frank'e 0,3 BTC'lik bir transferden önce ve sonra kullanıcıların bakiyeleri.


Alice <> Carol ve Carol <> Frank bağlantılarının her biri 1 BTC toplam kapasiteye sahiptir. Alice'in yerel bakiyesi 0,7 BTC'dir. Eğer şu anda blockchain üzerinde uzlaşıya varırlarsa Alice 0,7 BTC alır ve Carol da dış bakiyeyi (yani 0,3 BTC) alır.

Alice, Frank'e 0,3 BTC göndermek isterse 0,3 BTC'yi kanalın Carol tarafına aktarır. Daha sonra Carol kendi yerel bakiyesindeki 0,3 BTC'yi Frank ile kanalına aktarır. Sonuç olarak Carol'un bakiyesi aynı kalır: Alice'ten +0,3 BTC ve Frank'e -0,3 BTC birbirini sıfırlar.

Carol, Frank ile bağlantı olarak hareket etmesi karşılığında bir değer kaybına uğramaz ama kendini daha az esnek hale getirir. Göreceğiniz üzere artık Alice ile kanalında 0,6 BTC ama Frank ile kanalında yalnızca 0,1 BTC harcayabilir.

Alice'in yalnızca Carol'la bağlantılı olduğu ama Frank'in çok daha geniş bir ağla bağlantıda olduğu bir durum düşünebilirsiniz. Carol önceden Frank aracılığıyla diğer kişilere toplam 0,4 BTC gönderebiliyorken artık yalnızca 0,1 BTC gönderebilir çünkü kanalının kendi tarafında yalnızca bu kadar vardır.

Bu senaryoda Alice, Carol'un likiditesinden yemektedir. Bir teşvik olmadığı sürece Carol kendi pozisyonunu zayıflatmak istemez. Dolayısıyla bunun yerine Her 0,01 BTC'yi on satoshilik bir ücret karşılığında yönlendireceğim diyebilir. Bu sayede Carol “daha güçlü” bağlantılar için kendi yerel bakiyesinden ne kadar feragat ederse o kadar fazla kar elde eder.

Daha önce bahsettiğimiz gibi işlem ücreti almaya yönelik önceden belirlenmiş bir koşul yoktur. Bazıları likiditenin azalması konusunda kaygılanabilir. Diğerleri kanallarını doğrudan alıcıya açabilir.


Lightning Network'ün kısıtları

Lightning Network, Bitcoin'in tüm ölçeklenebilirlik sorunlarına bir çözüm getirseydi harika olurdu. Fakat ne yazık ki bu çözüm de bazı kısıtlamalara sahiptir.


Kullanılabilirlik

Bitcoin, adresler, işlem ücretleri vb. alışılması zor öğeleriyle yeni başlayanlar için en sezgisel sistem olmayabilir. Ama cüzdanlar mevcut ödeme sistemlerini biraz olsun kullanıcılara anımsatmak için karmaşık öğeleri ortadan kaldırabilir. Bir kişinin akıllı telefonuna bir cüzdan indirmesini sağlayabilir ve bu cüzdana coin göndererek işlemi tamamlayabilirsiniz.

Şimdilik bunu Lightning Network ile yapmak mümkün değildir. Akıllı telefon uygulamaları söz konusu olduğunda seçenekler sınırlıdır – genellikle Lightning node'larının tam olarak kullanılabilir olması için bir Bitcoin node'una erişimi olması gereklidir.

İstemci kurulduktan sonra kullanıcıların ödeme yapabilmek için öncelikle kanallar açması gerekir. Bu zaman alıcı bir süreç olabilir ve yeni bir kullanıcı alım/gönderim kapasitesi gibi kavramlar karşısında zorlanabilir.

Bununla birlikte giriş bariyerini düşürmek ve kullanıcılara daha sorunsuz bir deneyim sunmak için sürekli olarak iyileştirmeler yapılmaktadır.


Likidite

Lightning Network'e yönelik en büyük eleştirilerden biri işlem yapma kapasitenizin kısıtlı olmasıdır. Bir kanala kilitlediğinizden daha yüksek tutarda harcama yapamazsınız. Tüm fonlarınızı harcarsanız ve dış bakiye kanalın tüm fonlarına sahip olursa kanalı kapamanız gerekir. Bunun yerine başka birisinin size ödeme yapmasını da bekleyebilirsiniz fakat bu ideal bir yaklaşım değildir.

Bağlantılarınız da kanalınızın toplam kapasitesine göre sınırlı olabilir. Daha önce bahsettiğimiz Alice <> Carol <> Frank örneğine dönelim. Eğer Alice ve Carol kanallarında 5 BTC kapasiteye sahipse ama Carol ve Frank yalnızca 1 BTC kapasiteye sahipse, Alice hiçbir zaman 1 BTC'den fazla gönderemez. O zaman bile işlemin yapılabilmesi için bakiyenin tamamının Carol <> Frank kanalının Carol tarafında olması gerekir. Bu da LN kanalları arasında yönlendirilebilecek fon tutarını büyük ölçüde sınırlandırır ve kullanılabilirliğe zarar verir.


Merkezi hub'lar

Daha önceki bölümde bahsettiğimiz sorunlar nedeniyle ağın çok büyük “hub'ların” yaratılmasına neden olacağına yönelik bazı kaygılar vardır. Bu hub'lar büyük, çok fazla sayıda bağlantıya ve likiditeye sahip birimlerdir. Büyük çaplı ödemelerin yönlendirilmesi için bu birimlerin bir kısmının kullanılması gerekir.

Bunun çok iyi olmayacağı aşikardır. Birimlerin çevrimdışı kalması eşler arasındaki bağlantıları ciddi şekilde etkileyeceğinden sistem zayıflayabilir. İşlemlerin aktığı yalnızca birkaç nokta olacağından sansür riski de yükselir.


Lightning Network'ün şu anki durumu

Nisan 2020 itibariyle Lightning Network sağlıklı gözükmektedir. 12.000 çevrimiçi node'a, 30.000'den fazla aktif kanala ve 920 BTC'nin üzerinde kapasiteye sahiptir.


Lightning Network ağlarının küresel dağılımı. Kaynak: explorer.acinq.co


Birkaç farklı node uygulaması mevcuttur – Blockcstream'den c-lightning, Lightning Labs'ten Lightning Network Daemon ve ACINQ'den Eclair en popüler örneklerden bazılarıdır. Teknik bilgisi daha az kullanıcılar için tak çalıştır node'lar sunan birçok şirket vardır. Yapmanız gereken tek şey bu cihazları çalıştırmaktır, böylece hemen Lightning Network kullanmaya başlayabilirsiniz.


Son düşünceler

Birçok kişinin bu sistemin hala beta'da olduğunu düşünmesine rağmen Lightning Network, 2018 yılında mainnet'in kullanıma sunulmasından bu yana etkileyici bir büyüme göstermiştir.

Şu an için bir Lightning node'u çalıştırmak belirli ölçüde teknik beceri gerektirdiğinden hala aşılması gereken bazı kullanılabilirlik sorunları vardır. Ama yapılan geliştirmelerin miktarı göz önüne alındığında zamanla giriş bariyerlerinin önemli ölçüde düşürülmesi olasıdır.

Lightning Network bu sorunlar çözülebilirse Bitcoin ekosisteminin önemli bir öğesi haline gelerek ölçeklenebilirliği ve işlem hızlarını büyük oranda artırabilir.