Sözlük / Lightning ve katman 2
Ödeme kanalı
Diğer adları: Mikro ödeme kanalı, Lightning kanalı, Payment channel, Lightning channel.
- Ödeme kanalı nedir?
- Ödeme kanalı, zincir üstü tek bir işlemle fonlanan ve iki tarafın bu paranın bölüşümünü zincire dokunmadan binlerce kez yeniden yazabildiği, iki taraf arasında kurulmuş bir Bitcoin sözleşmesidir.
Bunu, içki içen iki kişinin her raundun ardından imzaladığı bir bar hesabı gibi düşünün. Fonlama çıktısı 2-of-2 bir adrestir, yani iki taraftan hiçbiri parayı tek başına hareket ettiremez ve her güncelleme, iki taraftan herhangi birinin yayımlayabileceği tamamen geçerli bir Bitcoin işlemidir. Bir kanalda bitcoininiz varsa, bir şirketin iyi davranmasına değil, kötü davranışı fark edecek bir yazılıma güveniyorsunuz demektir.
Nasıl çalışır
Bir ödeme kanalı güvenin yerine Bitcoin script'inin iki parçasını koyar: paylaşılan bir çıktı ve bir ceza.
Kanalı açmak, her iki imzayı gerektiren bir adrese ödeme yapan tek bir zincir üstü işlem gerektirir. Bu işlem yayımlanmadan önce taraflar, anlaşılan oranlarda parayı kendilerine geri harcayan imzalı taahhüt işlemlerini birbirleriyle takas eder. Kanal içinde ödeme yapmak, yeni bir bölüşümle yeni bir taahhüt çifti imzalamak ve ardından eskisini geçersiz kılan sırrı teslim etmek anlamına gelir.
Kanalları güvenli kılan şey iptaldir. Her taraf biraz farklı bir taahhüt işlemi tutar ve sizin elinizdeki sürüm kendi bakiyenizi ancak bir gecikme sonrasında, yaygın olarak 144 blok, yaklaşık bir gün, talep edebileceğiniz bir script'e öder. Karşı tarafın kopyasında da aynı gecikme onların tarafında geçerlidir. İkinizden biri eski, daha avantajlı bir durumu yayımlarsa, diğerinin bu gecikme boyunca bunu fark etme ve iptal sırrını kullanarak tüm kanal bakiyesini ceza olarak süpürme imkanı vardır. Hile engellenmez; kârsız hale getirilir.
Bunların hiçbiri göreli zaman kilitleri ortaya çıkmadan mümkün değildi. CHECKSEQUENCEVERIFY ile BIP68, BIP112 ve BIP113 içinde tanımlanan dizi tabanlı kilitler, 2016 yılında 419.328 bloğundan beri etkindir ve bir script'in “harcanabilir, ama yalnızca bu işlem onaylandıktan 144 blok sonra” demesini sağlayan şey bunlardır.
Spesifikasyondaki birkaç küçük sayı yalnızca cezanın uygulanabilir kalması için vardır. Her taraf normalde asla harcayamayacağı bir rezerv tutar, kanal toplamının yüzde 1'i olarak önerilir, böylece hile yapanın her zaman kaybedecek bir şeyi olur. Toz eşiğinin altındaki çıktılar, kanalların kullandığı pay-to-witness-script-hash çıktıları için 330 satoshi, taahhüde yazılmak yerine atılır ve ücretlere ödenir. Modern kanallar ayrıca iki adet 330 satoshi tutarında çapa çıktısı taşır; bunlar, kapanması gerektiğinde zincir yoğunsa iki taraftan herhangi birinin ücret artırıcı bir alt işlem ekleyebilmesi için vardır. Taahhüt numarasının kendisi de gizlidir: 48 biti gizlenir ve kilit süresi ile dizi alanlarına dağıtılır, böylece tek taraflı bir kapanış gören bir gözlemci kanalın kaç ödeme taşıdığını sayamaz.
Bitcoin satın alırken bu neden önemli
Bir Lightning bakiyesi ile bir soğuk saklama bakiyesinin, ikisi de Bitcoin olsa da, birbirinin yerine geçmemesinin nedeni kanallardır.
Bir kanaldaki para, çevrimiçi bir anahtar ve izleyen bir düğüm gerektirir. Bu, harcama cüzdanı için uygundur. Yıllarca tutmayı planladığınız bir birikim için yanlış yerdir, çünkü güvenlik modeli sizden bir kez değil sürekli bir şey ister. Donanım cüzdanı incelemelerimiz bunun tersi tercihi ele alır: hiçbir zaman bir ağa dokunmayan ve hiçbir şeye tepki vermesi gerekmeyen anahtarlar.
Satın alan herkes için iki pratik sonuç doğar. Birincisi, kanal açmak ve kapatmak zincir üstü işlemlerdir, yani sizin adınıza kanal açan bir cüzdan gerçek ücretler harcıyor demektir, bazen sessizce. 30 dolar yatırıp bunun üçte birinin kuruluma gittiğini keşfetmeden önce, bir mobil Lightning cüzdanının ilk kanalı için ne kadar ücret aldığını kontrol edin. İkincisi, bir Lightning uygulaması kanallardan, anahtarlardan veya yedeklerden hiç söz etmiyorsa, kanalı neredeyse kesinlikle kendisi tutuyordur. Bu, Lightning cilası çekilmiş saklamalı bir hesaptır ve bitcoinleri bir borsada bırakmakla aynı risk kovasına girer.
Son olan sıkıcı ama pahalıdır: kanal durumu bir kurtarma ifadesinden geri yüklenemez. On iki kelimelik bir yedek, zincir üstü bir cüzdanı kusursuz geri yükler ve hangi taahhüdün güncel olduğuna dair hiçbir şeyi geri yüklemez. Saklamasız Lightning cüzdanları kanal durumunu ayrıca yedekler ve bu yedeği kaybetmek, kurtarma ifadesi hâlâ elinizde olsa bile size kanal bakiyesine mal olabilir.
Bir kanal kapanışının anatomisi
Tek bir kanalın sonunu izlediğinizde parçalar soyut olmaktan çıkar.
İki taraf 1.000.000 satoshi ile bir kanal açar, tamamı onlardan biri tarafından finanse edilir. Bir ay süren ödemelerden sonra bölüşüm 400.000 ve 600.000 olur. Karşılıklı anlaşmalı kapanış mutlu yoldur: iki taraf da her tarafa doğrudan ödeme yapan tek bir kapanış işlemi imzalar, işlem herhangi bir normal harcama gibi onaylanır ve iki çıktıda da gecikme yoktur.
Tek taraflı kapanış yedek yoldur. Bir taraf ortadan kaybolur, diğeri en son taahhüdünü yayımlar. Kendi bakiyesi anlaşılan gecikme boyunca dokunamayacağı bir script'e düşer, giden tarafın bakiyesini kendisi hemen harcayabilir ve ücretin yükseltilmesi gerekirse diye çapa çıktıları orada durur. Kaybolan taraf daha sonra kendisini 900.000 satoshi ile gösteren eski bir taahhüt yayımlarsa, dürüst tarafın iptali yayımlamak ve 1.000.000 satoshinin tamamını almak için gecikme penceresi vardır.
Ödeme kanalı vs statechain
Bir ödeme kanalı zincirde canlı bir iki taraflı sözleşme tutar; bir statechain ise sabit bir çıktıyı harcama hakkını elden ele aktarır. Bir kanalda bakiye herhangi bir sayı olabilir ve her ödemeyle değişir, ayrıca uygulama tek taraflıdır. Bir statechain'de sabit büyüklükteki bir UTXO'nun tamamı, eski anahtar payını silmesi istenen bir sunucunun yardımıyla bir sahipten diğerine aktarılır, yani model o sunucunun onu gerçekten silmesine dayanır. Kanallar size açmak için bir zincir üstü işleme mal olur ve harcanabilir bir bakiye verir; statechain'ler size bir güven varsayımına mal olur ve tam bir coin verir.