Sözlük / Lightning ve katman 2
Milisatoshi
Diğer adları: msat.
- Milisatoshi nedir?
- Milisatoshi, bir satoshinin binde biridir, Lightning ağının kanal bakiyelerini ve yönlendirme ücretlerini saymak için kullandığı birimdir ve Bitcoin blok zincirinin kendisinin kaydedemediği bir miktardır.
Lightning muhasebesini blok zincirinden bir kademe daha ince, satoshinin binde biri cinsinden tutar. BOLT 2 oranı doğrudan belirler: push_msat, funding_satoshis değerinin 1000 katını aşamaz ve zincir üstü yaptırım yalnızca tam satoshi miktarları için mümkündür. Bakiyenizdeki milisatoshi kalanı kanal içinde gerçektir ve o kanal kapandığı anda yuvarlanarak atılır.
Nasıl çalışır
Milisatoshi, blok zincirinde bir mutabakat birimi değil, bir Lightning kanalı içinde bir hesap birimidir.
Bir kanal içindeki her ödeme miktarı milisatoshi cinsinden yazılır ve bunu alan adında belirtir. Bir kanala ödeme ekleyen update_add_htlc mesajı 64 bitlik bir amount_msat alanı taşır ve kanal açarken push_msat, htlc_minimum_msat ve max_htlc_value_in_flight_msat aynı birimde görüşülür. BOLT 2 bu koşulu tanımın hemen yanında belirtir: miktarlar milisatoshi cinsindendir, "though on-chain enforcement is only possible for whole satoshi amounts greater than the dust limit" (zincir üstü yaptırım yalnızca dust sınırının üzerindeki tam satoshi miktarları için mümkündür) ve commitment işlemi bunları aşağı yuvarlar.
Dönüşüm oranı bir söylenti değildir. Kanal açan bir düğüm push_msat değerini funding_satoshis değerinin en fazla 1000 katı olarak belirlemek zorundadır ve mesajı alan eş, push_msat funding_satoshis değerinin 1000 katından büyükse kanalı başarısız kılmak zorundadır. 1.000 ile 1 arasındaki oran, el sıkışmaya iki taraftan da yazılmıştır.
Faturalar aynı tabanı devralır. Bir BOLT 11 tutarı, Bitcoin cinsinden bir çarpan harfiyle ifade edilir ve bunların en küçüğü olan p, piko için, diğerlerinde olmayan bir kural taşır: tutarın son basamağı sıfır olmak zorundadır. Bir piko Bitcoin, bir milisatoshi'nin onda biridir, dolayısıyla sondaki sıfır talebi tam sayıda milisatoshi'ye zorlar. Şartname gerekçesini açıkça verir: HTLC'ler milisatoshi cinsinden ifade edildiği için milisatoshi altı tutarlar ağda transfer edilemez ve test vektörleri "Invalid sub-millisatoshi precision" başlığı altında reddedilen bir fatura içerir.
Fazladan üç ondalık, ücret aritmetiğinde işe yarar. Yönlendiren bir düğüm, iletilen satoshi başına satoshinin milyonda biri cinsinden ifade edilen oransal bir ücret alır, yani 1 değerindeki bir oran, 1.000 satoshilik bir ödemenin üzerine tek bir milisatoshi olarak gelir. Bunu tam satoshiye yuvarlarsanız ya ücreti binle çarpmış ya da tamamen atmış olursunuz.
Nerede görülür
Milisatoshi rakamları, bir Lightning aracının yuvarlatılmış bir gösterim yerine gerçek sayılarını gösterdiği her yerde ortaya çıkar.
Bir BOLT 11 faturasının kodunu çözün, rota ipuçları bu birimde görünür. Şartnamenin kendi çözümlü örneği, sırasıyla 1 milisatoshi ve 2 milisatoshi taban ücret alan iki atlama listeler ve Blockstream mağaza siparişi için örnek faturası, taban ücreti 1000 olan, yani tam bir satoshi, bir rota ipucu taşır. Bir kanalın gossip güncellemesi htlc_minimum_msat ve fee_base_msat alanlarını aynı birimde yayımlar, dolayısıyla bu alanları okuyan bir panel, yanındaki satoshi rakamından bin kat büyük bir sayı gösterir.
Tüketici cüzdanları birimi gizler ama aritmetiği gizlemez. Phoenix, ücretleri ödeme anında keşfetmek yerine bir ücret tablosu yayımlar ve Lightning gönderimi yüzde 0,4 artı 4 satoshiye mal olur; 137 satoshilik bir ödemede yüzde kısmı 548 milisatoshiye denk gelir, yani zincir üstünde hiçbir karşılığı olmayan bir miktara. Muun, zincir üstü ve Lightning bakiyelerini tek bir bakiye olarak sunar; bu, sınırı tamamen gizler ama ortadan kaldırmaz.
Milisatoshi vs satoshi
Satoshi, Bitcoin blok zincirinin kaydedebileceği en küçük miktardır; milisatoshi ise bunun binde biridir ve yalnızca Lightning'in mesajlarında ve iki eşin tuttuğu defterlerde vardır.
Fark kapanış anında hissedilir. 1.234.567 milisatoshi'lik bir kanal bakiyesi 1.234 satoshi olarak ve daha fazlası olmadan yaptırıma tabidir, çünkü kanalı zincir üstünde kapatan commitment işlemi tam satoshi öder; artan 567 milisatoshi'nin yaşayacağı bir zincir üstü çıktı yoktur ve yalnızca kanal açık kaldığı sürece harcanabilir. Bu fark bir sentin kesri kadar değerindedir ve yine de blok zincirine dokunan hiçbir şeyde iki birimin birbirinin yerine kullanılamamasının nedenidir.