İçerik
- Giriş
- Lightning Network nedir?
- Lightning Network neden gereklidir?
- Lightning Network nasıl çalışır?
- Lightning Network'ün kısıtları
- Lightning Network'ün şu anki durumu
- Son düşünceler
Giriş
Lightning Network nedir?
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.
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 Network neden gereklidir?
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

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
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
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
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.
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.
İş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.
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'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.
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:
- İki parti ortaklaşa imzalayabilir.
- Bob belirli bir süre sonra (zaman kilidi nedeniyle) fonları kendi başına harcayabilir.
- Alice, Bob'un parola B'lerini bilmesi durumunda fonları harcayabilir.
Bob'un Alice'e verdiği işlem için:
- İki parti ortaklaşa imzalayabilir.
- Alice belirli bir süre sonra fonları kendi başına harcayabilir.
- 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.
Kripto para dünyasına girmek mi istiyorsunuz? Binance üzerinden Bitcoin alabilirsiniz!
Lightning Network hile yapmayı nasıl engeller?
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.

Alice'ten Frank'e 0,3 BTC'lik bir transferden önce ve sonra kullanıcıların bakiyeleri.
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.
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
Ş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.
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
Son düşünceler
Ş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.