Sözlük / İşlemler ve ücretler
Outpoint
- Outpoint nedir?
- Outpoint, kendisini oluşturan işlemin 32 baytlık kimliği ile konumunun 4 baytlık indeksini birleştirerek tam olarak bir işlem çıktısını tanımlayan 36 baytlık işaretçidir.
Bitcoin'de hesap numarası yoktur, bu yüzden her harcama tam olarak hangi coini harcadığını belirtmek zorundadır. İnsanlar için yazıldığında işaretçi bir işlem kimliği, iki nokta ve bir sayıdan oluşur ve her tam düğümün tuttuğu harcanmamış çıktı veritabanının tamamının birincil anahtarı işlevini görür. İki işlem aynı outpoint'i adlandıracak olursa yalnızca biri geçerli olabilir ve bir coinin iki kez harcanmasını önleyen tek kural budur.
Nasıl çalışır
Outpoint her işlem girdisinin başında yer alır ve bir düğümün harcamaya izin verilip verilmediğini kontrol ederken ilk baktığı şeydir.
Ağ üzerinde iki alandır ve aralarında ayırıcı yoktur: 32 bayt işlem hash'i, ardından little-endian olarak saklanan 4 baytlık indeks. Hash iç bayt sırasıyla yazılır; bu, bir blok gezgininde gördüğünüz sıranın tersidir, dolayısıyla onaltılık biçimdeki ham bir işlem, ters yazılmış bir işlem kimliğine başvuruyor gibi görünür. Bu, ham onaltılık okuyan herkesin ilk kez karşılaştığı bir karışıklıktır ve tamamen bir görüntüleme kuralıdır, verideki bir farklılık değildir.
İndeksler sıfırdan başlar. Bir işlemin ilk çıktısı 0 indeksidir, ikincisi 1 indeksidir ve sonu :2 ile biten bir coin üçüncü çıktıdır. Alan 4 bayttır, dolayısıyla teorik üst sınır 4.294.967.295'tir ve hiçbir gerçek işlem bu sınıra yaklaşmaz.
Bir değer ayrılmıştır. Madenciye ödeme yapan coinbase işleminin tek bir girdisi vardır; bu girdinin outpoint'i 32 sıfır bayttır ve indeks tümüyle birlerden, 0xffffffff, oluşur. Bu birleşim hiçbir yeri göstermez ve bu girdinin değer taşımak yerine değer oluşturduğunu belirtir.
Tekillik varsayılmak yerine kuralla zorunlu kılınmak zorundaydı. İçerikleri aynı olan iki coinbase işlemi aynı kimlikleri ve dolayısıyla yinelenen outpoint'ler üretirdi; bu, Bitcoin'in ilk yıllarında iki kez yaşandı. BIP30 bu örüntüyü doğrudan yasakladı ve ardından BIP34 her coinbase'in girdi betiğine blok yüksekliğini eklemesini şart koşarak içeriklerin farklı olmasını güvence altına aldı. BIP34, Mart 2013'te 227.931 numaralı blokta yürürlüğe girdi.
Nerede görülür
Outpoint, bir bakiyeden değil de belirli bir coinden söz ederken kullandığınız tanımlayıcıdır.
Cüzdanların coin control ekranları elde tutulanları işlem kimliği ve indeks olarak listeler. Bitcoin Core yazılımının RPC arayüzü iki alanı bir çift olarak alır: listunspent bunları döndürür, gettxout birini arar ve createrawtransaction bunları bekler. Lightning, kanalın kalıcı adı olarak fonlama işleminin outpoint'ini kullanır; düğüm yazılımlarındaki kanal tanımlayıcılarının bir hash ve ardından küçük bir sayı gibi görünmesinin nedeni budur.
Bir anlaşmazlıkta alıntılanması gereken şey de budur. Bir adrese düzinelerce kez ödeme yapılmış olabilir ve bir işlemin düzinelerce çıktısı olabilir, ancak bir outpoint tek bir anda tek bir tutardaki tek bir ödemeyi adlandırır ve tartışılacak bir belirsizlik bırakmaz. Bir borsa sizden belirli bir para yatırmayı kanıtlamanızı isterse, konuşmayı bitiren hassasiyet düzeyi budur.
Outpoint vs çıktı indeksi
Çıktı indeksi, bir outpoint'in içindeki bir alandır, onun kısa adı değildir. Tek başına bir indeks hiçbir bilgi taşımaz, çünkü on milyonlarca işlemin 0 indeksinde bir çıktısı vardır ve bu sayı hangisinin kastedildiği konusunda hiçbir şey söylemez. Karışıklık, indeksi "vout" olarak etiketleyip göze çarpıcı biçimde gösteren blok gezgini arayüzlerinden kaynaklanır ve insanlar işaretçinin tamamını vout olarak adlandırmaya başlar. Bir yere not ederken bunları ayrı tutun: işlem kimliği hangi işlem olduğunu, indeks ise onun içindeki hangi çıktı olduğunu söyler ve bir coini ancak ikisi birlikte tanımlar.