Sözlük / Lightning ve katman 2
Fatura süresinin dolması
- Fatura süresinin dolması nedir?
- Fatura süresinin dolması, bir BOLT11 ödeme talebindeki x alanıdır: faturanın kendi zaman damgasından itibaren sayılan ve sona erdiğinde hem ödeyenin hem de alacaklının talebi reddetmesi gereken saniye sayısıdır.
Her Lightning faturası bir son tarih taşır ve geri sayım, fatura size ulaştığı anda değil, imzalandığı anda başlar. x alanı yoksa varsayılan değer 3600 saniye, yani bir saattir. Bu yüzden o saatin çoğunu bir sohbet dizisinde geçiren bir fatura, size ulaştıktan birkaç dakika sonra görünürde hiçbir neden yokken başarısız olabilir.
Nasıl çalışır
Fatura süresinin dolması, x harfiyle yazılan, 6 numaralı türde etiketli bir alan olarak taşınır ve big-endian saniye sayısı içerir.
Bir BOLT11 dizesi, 1 Ocak 1970 UTC'den itibaren saniyeleri sayan 35 bitlik bir zaman damgasıyla başlar, ardından etiketli alanlar ve bir imza gelir. Süre bu alanlardan biridir ve görelidir: son tarih o zaman damgası artı süredir, yani faturada okunabilir bir saat belirtilmez. BOLT11 ödeyene bu toplam geçtikten sonra ödeme denememesi talimatını verir, alacaklıya da ödemeyi kabul etmemesi talimatını verir.
Her iki talimat da MUST değil SHOULD'dur, yani süresi dolmuş bir fatura kriptografik olarak ölü değildir. Ödeme karması hâlâ çalışır; ödemeyi durduran şey bir kilit değil, iki uçtaki politikalardır. Cüzdanınız denemeyi reddeder ve ön görüntüyü (preimage) çoktan atmış bir düğüm zaten ödemeyi gerçekleştiremez.
Değer beşer bitlik gruplara paketlenir ve baştaki sıfır grupları olmadan sığdığı en kısa uzunluğu kullanmalıdır. Spesifikasyonun kendi örnekleri aralığı gösterir: 60 saniye iki grup tutar ve pu olarak yazılır, 604800 saniye dört grup tutar ve jw5q olarak yazılır. Alanı dolgulayan bir kodlayıcı yalnızca düzensiz değildir: okuyuculara minimal olmayan x, c veya 9 alanı taşıyan bir faturayı geçersiz saymaları söylenir.
Bir fatura düzenlendikten sonra kimse onu uzatamaz. İmza, insan tarafından okunabilir öneki ve veri bölümünün tamamını kapsar, yani sürenin tek bir karakterini değiştirmek imzayı bozar. Size daha uzun süre tanımak isteyen bir satıcı yeni bir talep düzenlemeli ve yeniden imzalamalıdır.
Bir saatlik varsayılan rastgele seçilmedi: spesifikasyonun gerekçesi bunun, f alanının taşıyabileceği yedek adres üzerinden zincir üstü ödeme yapmaya zaman bıraktığını söyler.
Nerede görürsünüz
Fatura süresinin dolması, bir QR kodun çevresindeki geri sayım halkası olarak, herhangi bir çözücüde expiry etiketi taşıyan bir satır olarak ve eski bir şey yapıştırdığınızda cüzdanın verdiği ret olarak karşınıza çıkar.
Spesifikasyonun test vektörleri aralığın iki ucunu da gösterir. 1 cup coffee olarak tanımlanan 2500 mikro-bitcoin tutarındaki bir fatura, süreyi 60 saniyeye ayarlar, çünkü tezgâhta üç dolarlık bir fiyatı sabitler. Blockstream Store adlı mağazadan gelen ve bir Ledger Nano S içeren 88,85 USD tutarındaki ürün faturası ise süreyi 604800 saniyeye, yani yedi güne ayarlar, çünkü sipariş onayı bir tezgâh işlemi değil bir faturadır.
Sayıyı kimin seçtiğini faturanın nerede oluşturulduğu belirler. Bu sitede incelememiz bulunan Phoenix, sunucudaki bir hesap yerine telefonda gerçek bir Lightning düğümü çalıştırır, yani bir alma talebindeki süre kendi düğümünün ayarıdır. Saklamalı bir uygulamada bu rakam işletmeciden gelir ve genellikle onun faturalarından birini çözümlemek bunu öğrenmenin tek yoludur.
Fatura süresinin dolması vs CLTV expiry delta
Fatura süresinin dolması ve CLTV expiry delta, bir Lightning ödemesi üzerindeki iki saattir ve sorunun farklı yarılarında, farklı birimlerle işler.
Fatura süresinin dolması, fatura zaman damgasından itibaren sayılan gerçek saat saniyeleridir ve ödemenin hiç denenip denemeyeceğine karar verir. Bir CLTV expiry delta ise blokla ölçülür ve aynı faturanın c alanı, son atlama için alıcının asgari değerini taşır; alan yoksa ödeyen bunu en az 18 blok olarak kabul etmelidir. Biri başlayıp başlamayacağınızı söyler; diğeri, başladıktan sonra paranızın bir HTLC içinde ne kadar süre kilitli kalabileceğini söyler.