İçeriğe geçin
buybitcoinsmart

Sözlük / İşlemler ve ücretler

SIGHASH_NONE

SIGHASH_NONE nedir?
SIGHASH_NONE, bir işlemin girdilerini imzalarken çıktılarının hiçbirini kapsamayan bayraktır; bu da paranın gideceği yeri, işlemi eline geçiren herkese açık bırakır.

Bunu boş bir çek gibi düşünün. SIGHASH_NONE bir girdi harcamayı yetkilendirir ve kimin ödeme alacağı hakkında hiçbir şey söylemez; bu yüzden bir madenci ya da işlemi ileten herhangi bir düğüm, işlem onaylanmadan önce bütün çıktıları yeniden yazabilir. Değeri 2, hiçbir tüketici cüzdanı bunu sunmaz ve kendi işleminizde bir tane görürseniz bir şeyler ters gitmiş demektir.

Nasıl çalışır

Bu özeti oluşturmak, hash hesaplanmadan önce çıktı listesini tamamen atmak anlamına gelir.

Geriye kalan yine de önemlidir: işlem sürümü, imzalanan girdinin outpoint değeri, o girdinin kendi sıra numarası, harcadığı script ve locktime. Diğer bütün girdilerin sıra numaraları sıfırlanır; bu ikinci bir serbestliktir, çünkü ortak imzacıların bu imza zaten varken kendi göreli zaman kilitlerini (relative timelock) ayarlamasına olanak tanır.

Geriye kalmayan ise işin aslıdır. Hiçbir çıktı kapsanmadığı için imza yalnızca bu coinin bu sürümdeki bir işlemde bu zamanda ya da sonrasında harcanabileceğini söyler. Yarım kalmış işlemi elinde tutan kişi değerin nereye gideceğini seçer; buna işlemi ağda gören herkes de dahildir, çünkü onaylanmamış bir işlem yayınlandığı andan itibaren herkese açıktır.

ANYONECANPAY değiştiricisini ekleyin, bayt 0x82 olur; bu, Bitcoin'in üretebileceği en zayıf imzadır: tek bir girdiyi kapsar ve başka hiçbir şeyi kapsamaz.

Bayrak, Ocak 2009 tarihli ilk sürümden beri vardır ve hiç kaldırılmamıştır, çünkü kaldırmak, sonuçları kimse düşünmeden önce kilitlenmiş coinleri mahsur bırakırdı. BIP143 ve BIP341, bu bayrağı sessizce atmak yerine segwit ve Taproot için sadakatle yeniden uyguladı.

Nerede görülür

SIGHASH_NONE neredeyse hiçbir yerde karşınıza çıkmaz, ki tam da beklenmesi gereken budur.

Teorik kullanım, bir tarafın fon sağladığı ve karşı tarafın gideceği yeri seçtiği, karşı tarafın da imzanın dışındaki bir şeyle bağlı olduğu bir protokoldür. Yaygın olarak kullanılan hiçbir Bitcoin uygulaması bu şekilde çalışmaz. Esnek girdilere ihtiyaç duyan yapılar bunun yerine ANYONECANPAY yoluna gider; esnek çıktılara ihtiyaç duyan yapılar ise olası hedeflerin önceden sabitlendiği önceden imzalanmış alternatifleri kullanır.

Yani dolaşımdaki bir SIGHASH_NONE imzası bir hatadır ya da sürmekte olan bir hırsızlıktır. Mempool'lar, harcanabilir tuhaflıkları tarayan botlar tarafından sürekli izlenir ve bunu taşıyan bir işlem orada uzun süre fark edilmeden kalmaz. İmza kodu yazan herkes bayrağı hiç geçmediği bir tam sayı olarak ele almalı, saklama sistemini denetleyen herkes de bayrağın çağıran tarafından sağlanan bir parametre değil sabit olduğunu doğrulamalıdır.

Bitcoin satın alıp elinde tutan biri için çıkarılacak ders kısadır: bununla karşılaşmayacaksınız, cüzdanınız bunu sunmayacak ve bununla imza atmanızı isteyen yazılımdan uzak durmalısınız.

SIGHASH_NONE vs SIGHASH_SINGLE

SIGHASH_NONE sıfır çıktıyı kapsar; SIGHASH_SINGLE tam olarak birini, imzalanan girdiyle aynı indekste yer alan çıktıyı kapsar. Kapsanan bu tek çıktı, imzanın karakterini tamamen değiştirir. SIGHASH_SINGLE ile imzacı kendi ödemesini garanti ederken işlemin geri kalanını açık bırakabilir; bu, takaslar ve pazar yerleri için kullanılabilir bir yapı taşıdır. SIGHASH_NONE imzacıya hiçbir şey garanti etmez; bu yüzden birinin gerçek uygulamaları varken diğeri çoğunlukla olay raporlarında görünür.

Karıştırılmaması gerekenler

Sık sorulan sorular

SIGHASH_NONE ile imzalanmış coinler çalınabilir mi?

Evet, eğer işlem herkese açık bir mempool'a ulaşırsa. İmza hiçbir çıktıyı kapsamadığı için onu gören herkes kendi adresini koyabilir ve işlemi yeniden yayınlayabilir. Hiçbir tüketici cüzdanının bu bayrağı sunmamasının nedeni budur.

Bitcoin neden kimsenin kullanmadığı bir bayrağı hâlâ destekliyor?

Çünkü kaldırmak bir hard fork olurdu. Bayrağın çalışmasını bekleyen script'lerde kilitli coinler harcanamaz hale gelirdi; bu yüzden imza hash algoritmasının sonraki iki yeniden yazımı da bayrağı atmak yerine yeniden uyguladı.

İlgili terimler

Daha fazlası: İşlemler ve ücretler

Bu sayfayı İngilizce okuyun