Bitcoin‘in lightning ağı çok yakın bir zamanda blockchain üzerinde işlem göndermeye başlayabilecekken, teknolojinin arkasındaki geliştiriciler lightning’i tekrar dizayn etmenin yollarını aramaya başladı.
Bunun sebebi ise ağın bitcoin’in kapasitesini ciddi bir oranda arttırma seçeneği sunmasına rağmen, ağın kendisinin kullanıcıların ciddi miktarda bir veri depolamasını gerektirmesi ve bunun da lightning ağını indirip çalıştırmayı çok zor bir hale sokmasından kaynaklanmakta. Bu sebeple bir kaç lightning geliştiricisi – Lightning Labs kurucu ortağı ‘Laolu’ Osuntokun ve Blockstream‘in Christian Decker ve Rusty Russel isimli çalışanları – eltoo adında olan ve zincir dışı (off-chain) işlemleri çok daha ”basitleştirilmiş” bir yöntemle yapabilecek alternatif bir teklif sundu.
Ancak bu yeni teklif kullanıcıların depolaması gereken veri miktarını azaltmakla kalmıyor, ayrıca kullanıcıların kripto paralarını da daha güvenli tutuyor.
Örnek vermek gerekirse bütün bu depolanan veriler eğer kullanıcı daha eski bir veriyi yayınlarsa başka bir probleme dönüşebilir ve kullanıcının para kaybetmesine neden olabilir. Bu sebeple bu veriler için ”toksik bilgi” (toxic information) sözcüğü uydurulmuş.
Eltoo ise sadece en güncel zincir dışı işlem verilerini depolayarak son zamanlarda kendinden çokça söz ettiren ”bilgi asimetrisi” problemini ortadan kaldırıyor – bu da eğer lightning uygulamasını kullandığınız cihaza bir şey olursa, sizin cep telefonunuza mesela, bütün veri geçmişinize olan erişiminizi kaybedebileceğiniz anlamına geliyor.
Decker konu hakkında şu açıklamayı yapıyor:
”Eltoo ile fonların ortadan yok olma riskini düşürdük. Toksik bilgiyi ortadan kaldırdık.”
Decker buna ek olarak teklifin adının ”L2” ifadesinin fonetik hecelenmesine bağlı bir tür şaka olduğunu da ifade etti. L2 ise ikinci-katman anlamına geliyor ve bu bir bakıma insanların lightning gibi zincir dışı işlemler yapabilmelerini sağlayan teknolojilere taktığı bir isim.
Decker bu problemi kişisel olarak da tecrübe etmiş olduğu için bu onun çok çok ilgili olduğu bir konuyu oluşturmakta.
”Bu aslında bana da oldu,” diyen Decker şunları ifade ediyor:
”Bilgisayarımda eski bir lightning düğümü vardı. Bunu restore ettim. En güncel versiyona sahip olmadığımın farkında değildim. Adamın teki bağlantıyı sonlandırdı çünkü bunun eski bir versiyon olduğunu biliyordu. Çünkü bunu çalabilirdi, ki çaldı da.”
Her şey Eskiyi Geçersiz Kılma Hakkında
Geliştiriciler çok uzun zamandan beri blockchain’i gereksiz verilerle boğmadan kullanıcıların bitcoin kullanarak bir çok işlem yapabilmesinin yollarını aramaktaydı.
Aslında yukarıdaki cümle çoğu kez görebileceğiniz ölçeklenme sorununun da temelinin bir bakıma özeti niteliğinde.
Bunu gerçekleştirmek için yapılan ilk girişim ta Bitcoin’in tarihinin en başında zincir dışı işlem kapasitelerinin ”sıra numaraları” isimli taktiği kullanarak hangi zincir dışı işlemin en güncel olduğunun takibini yapma şeklinde denenmişti.
Fikir çok basitti, – Eğer Ayşe 10 dolara sahipse ve 1 dolarlık bir işlemi Fatih‘e gönderirse, Ayşe‘nin bakiyesi 9 dolara düşer. Bu işlem daha sonra ”1” sıra numarasını alır. Eğer daha sonra Ayşe Fatih’e 4 dolar gönderirse Ayşe’nin hesabı artık 5 dolara düşer ve yapılan bu en güncel işlem ”2” sıra numarasını alır.
Ancak Decker’a göre bu mekanizma ”çözüm üretmedi” çünkü madencilerin bu kuralları uygulamak ve eski işlemleri daha yeni olanlarla değiştirmek için hiçbir sebebi yoktu.
Madenciler sadece Ayşe’nin hesabının 9 dolara düştüğü tek işlemi yayınlayabilirlerdi. (Ayşe başka bir işlem yapıp hesabındaki parayı 5 dolara düşürmüş olsa bile) Bir madencinin neden bir işlemi diğerine çevirmek isteyip istemeyeceğinin altında yatan neden hala bilinmese de, ortada herhangi bir zorunluluk olmadığı için kafalarına göre istediğini seçme özgürlüğüne sahiptiler.
Bu şekilde eski işlemi hükümsüz kılmak çok büyük bir önem arz ediyor çünkü aksi taktirde Fatih ikinci işlemi elde edemez ve Ayşe’de bu parayla kaçabilir.
Mevzu bahis ”zorunluluk yoksunluğu” 2015 yılına kadar çözülememiş bir sorundu.
Ve Lightning ağı şimdiye kadar bu problem için üretilmiş en geçerli çözüm olma durumunu hala korumakta. Günümüzde eski işlemi geçersiz kılmak ”L2-Cezası” modeli ile sağlanabiliyor. Bu modelde lightning cüzdanı veya düğümü bütün bu aracı işlemleri depoluyor ve daha sonra eğer birisi daha önce yapılmış ve şu an geçersiz olan işlemi yayınlamaya kalkarsa bu hemen fark ediliyor ve sahtekarlık yapmaya çalışan kullanıcı bütün parasını kaybederek cezalandırılıyor.
Eltoo ve L2
Ancak araştırmacılar, üç yıl boyunca, eski işlemleri geçersiz kılmak için sıra numaraları sistemini kullanma fikrine doğru gittiler.
Bu sıralamalar için herhangi bir yaptırım mekanizmasına sahip olmayan Bitcoin’in eski kodunun aksine, eltoo her bildiri güncellemesinin belirlendiği bir prosedür ekliyor. Her bildiri ve işlem güncellemesi – örneğin Ayşe’nin Fatih’e para göndermesi – iki işlemden oluşuyor ve ikisi de para gönderen ve alan kişiler tarafından depolanıp önceki işlem güncellemesinin yerini alıyor.
Tanıtım amaçlı yazılan blog postunda konu hakkında, ”Sadece en son yapılan işlem blockchain üzerinde onaylanabilir” ifadesi yer alıyor.
Bu sistemin yüzeysel avantajı ise bunun lightning’in ölçeklenebilirliğini arttırması. Eltoo ile birlikte her bir lightning düğümünün aracı bütün bildirileri depolamasına gerek kalmıyor, bunun yerine sadece en güncel versiyonu ve yerine geçtiği işlem ve o işlemde yapılan HTLC’ler (Hashed Timelock Contract) ile önceki notlar gibi işlemin kendisi hakkında bir kaç bilgiyi depoluyor.
Teklifin belki de en çok fayda sağlayacak kısmı ise ”kazanan her şeyi alır” modeli üzerine kurulmuş olmaması.
Bunun yerine eltoo ve daha eski L2 ceza sistemi yan yana kullanılabilirler.
‘Eltoo çok farklı dengelere sahip. Bunun her yönden daha iyi olduğunu söylemiyorum tabii ki.” Açıklamasında bulunan Decker, bitcoin geliştiricileri mail listesinde yaşanan lightning teknolojisinin işlemin tamamlanması için gereken zamanı arttırdığı yönündeki tartışmaları hedef alıyor.
Gene de işin geneline baktığımız zaman, Decker’ın eltoo ve onun getirdiği basitlik konusunda çok heyecanlı olduğunu görebiliyoruz:
”Hangisinin daha iyi olduğunu bilmiyoruz, ama eltoo’yu daha iyi bir seçenek olarak tercih edebilirim. Bence eltoo’yu anlatması ve daha sonra geliştirip genişletmesi daha kolay.”
Kodlama Engeli
Teknolojinin önünde duran tek şey geliştiricilerin eltoo’nun sunacağı yenilikleri tartışmasından ibaret değil çünkü teknolojinin önünde duran daha azılı bir rakip var – ”sighash_noinput.”
Uzun zamandır beklenilen kod seçeneğinin, bitcoin’in eltoo’yu destekleyebilmesi için (en azından etkili bir biçimde), BTC kod temeline eklenmesi gerekmekte.
Bunun niye gerekli olduğunu anlamak adına temel sighash fonksiyonunun ne iş yaptığını bilmek önem arz ediyor. Sighash bir bayrak görevi görerek işlem verisi başka birisine transfer edildiği zaman bunun hangi kısmının imzalanması gerektiğini belirler. Kullanıcılar bir çok seçenekten bir tanesini seçebilirler – mesela işlemin bütün bölümlerinin imzalanması gerektiğini bildiren ve bu bölümlerin hiçbirinin süreç boyunca değiştirilemeyeceği anlamına gelen ‘sighash_all‘ komutu.
Verilen ”sighash_noinput” fonksiyonu ise işleme gönderilecek ”girdi” yapılan verinin imzalanmasına gerek olmadığını belirtir. Ve bunun karşılığında giriş verileri işlemin ilk yapıldığı andan blockchain’e yazıldığı ana kadar zamanla değişebilir.
Bu ise tam olarak eltoo’nun ihtiyacı olan şey çünkü konsept başlangıç ve final işleminin arasındaki bütün bildirilerin silinecek olmasına dayanıyor. Bu sayede de başlangıçtaki ve sondaki girdi birbirinden farklı olacak.
Kendisine sighash_noinput teklifinin bitcoin kod temeline eklenip eklenmeyeceği sorulduğunda Decker gülümseyip, ”SegWit‘ten beri bu gibi tahminler yapmayı bıraktım.” gibi esprili bir cevapla karşılık veriyor.
Decker, Segregated Witness‘ın (SegWit) bitcoin’in en aktif geliştiricileri tarafından şişirilmiş ciddi bir desteğe sahip olduğunu ancak sonunda topluluk içerisinde yıllarca sürecek bir savaşa dönüştüğünü ima ediyor. Kod değişikliği iki yıldan daha önce bir zamanda sunulmuş olsa da çok yakın bir tarih olan geçen senenin Ağustos ayında bitcoin’e eklenmişti.
Gene de, henüz çok erken olsa bile, diye söze başlayan Decker, sighash_noinput fonksiyonunun bitcoin’in kod temelinde çok kolay bir şekilde yapılabilecek bir değişiklik olduğunu ifade ediyor.
Buna ek olarak bu değişimin geliştiriciler için bir çok olumlu sonuca sebep olabileceği konusunda uzun süredir türlü türlü teoriler üretilmekte diye de sözüne devam ediyor. Bu potansiyel faydalar sebebiyle az miktarda bir Twitter kullanıcısı kod değişimine olan desteklerini belirtmek için bunu kendi profillerine eklemeye başladılar. Ki benzer bir durum ölçeklenebilirlik tartışması esnasında #No2x hashtag’inin Segwit2x girişimine karşı olanlar arasında popüler olması olayında da yaşanmıştı.
Konu hakkında iyimser kalan Decker sonuç olarak şunu ifade etti:
”Her gün sighash_noinput cephesine yeni kullanım yöntemleri ve örnekleri ekleniyor.”