İçeriğe geçin
buybitcoinsmart

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

Dijital imza

Diğer adları: İmza, ECDSA imzası, Schnorr imzası.

Dijital imza nedir?
Dijital imza, bir Bitcoin işlemini yetkilendiren kişinin, o işlemin bitcoinlerinin bağlı olduğu anahtarı kontrol ettiğinin ve işlem ayrıntılarının değiştirilmediğinin, özel anahtarla üretilen kanıtıdır.

Bitcoin artık yalnızca ECDSA kullanmıyor. 1, 3 veya bc1q ile başlayan adreslerdeki bitcoinler 71 veya 72 baytlık ECDSA imzalarıyla açılır; bc1p adreslerindeki bitcoinler ise Kasım 2021'den beri kullanımda olan 64 baytlık Schnorr imzaları kullanır. Her iki durumda da imza bir anahtarın kontrolünü kanıtlar ve asla kişinin kim olduğunu kanıtlamaz.

Nasıl çalışır

Bir imza üretmek üç bileşen gerektirir: bir özel anahtar, nonce adı verilen tek kullanımlık bir rastgele sayı ve o girdi için seçilen bayrağa göre kırpılmış işlemin bir özeti.

Sonuç, Bitcoin'in ilk sürümünden beri kullandığı eliptik eğri olan secp256k1 üzerinde hesaplanan bir sayı çiftidir. Doğrulama, aynı aritmetiği genel anahtarla tersine çalıştırır ve bir düğüm bunu OP_CHECKSIG script işlem kodu içinde yapar. Hiçbir aşamada bir şey şifrelenmez ve imza, arkasındaki özel anahtar hakkında hiçbir şey açığa çıkarmaz.

Kullanımdaki iki şema bu çifti farklı biçimde paketler. Bir ECDSA imzası DER içine sarılır, bu yüzden sabit bir uzunluk yerine 71 veya 72 bayt tutar ve son bayt imzanın hiçbir parçası değildir: işlemin hangi bölümlerinin kapsandığını belirten bayraktır. BIP340 kapsamındaki bir Schnorr imzası, sarmalayıcısı olmayan düz 64 bayttır ve varsayılan geçerli olduğunda bayrak baytı tamamen dışarıda bırakılır, bu nedenle 65 bayt yalnızca imzalayan olağan dışı bir şey istediğinde görünür.

Yanlış giden kısım nonce'tur. Aynı nonce'u aynı anahtarla iki kez kullanın, özel anahtar okul cebiriyle ortaya çıkar ve bu teorik bir endişe değildir: 11 Ağustos 2013'te Bitcoin.org, etkilenen telefonlardaki cüzdan uygulamalarının tekrarlayan değerler üretmesine yol açan bir Android hatası hakkında bir uyarı yayımladı ve bunun sonucunda bitcoinler çalındı. Cüzdanlar artık nonce'u anahtardan ve mesajdan deterministik olarak türetir; ECDSA için RFC 6979'u ve BIP340 içinde eşdeğer bir kuralı izler.

Nerede görürsünüz

Yaptığınız her harcama en az bir tane içerir. Bir blok gezgininde bu, bir segwit girdisinin tanığındaki veya eski tip bir girdinin kilidini açan script içindeki uzun onaltılık dizidir ve ECDSA imzalarındaki sondaki 01, matematiğin parçası değil, bayraktır.

İmzalar işlemlerin dışında da işe yarar. Bir adresin arkasındaki anahtarla düz bir mesajı imzalamak, tek bir satoshi bile hareket ettirmeden o adresi kontrol ettiğinizi kanıtlar; borsalar para çekme hedefini böyle doğrular, rezerv kanıtı beyanları böyle oluşturulur ve eşler arası bir pazaryerindeki satıcı bir adresin gerçekten kendisine ait olduğunu böyle gösterir. Özgün biçim yalnızca 1 ile başlayan adreslerde çalışıyordu; BIP322 mesaj imzalamayı bugün kullanılan her adres türüne genişletir.

Bu ayrım, birisi sizden bir şey imzalamanızı istediğinde önemlidir. İmzalanmış bir mesaj bitcoinleri hareket ettiremez. Bir işlem üzerindeki imza hepsini hareket ettirebilir ve sizden hangisinin istendiğini anlamanın tek güvenilir yolu, web sitesinin ekranı yerine donanım cüzdanınızın ekranını okumaktır.

Dijital imza vs imza özeti

İmza özeti girdidir; imza çıktıdır. Cüzdanınız önce işlemin belirli bir alt kümesini kapsayan bir özet oluşturur, sonra o özeti imzalar; bu yüzden imza, özetin dışarıda bıraktığı kısımlar hakkında hiçbir şey söylemez. Bu bir teknik ayrıntı değildir. Sighash bayraklarının var olmasının tüm nedeni budur ve tek bir işlemdeki iki imzanın nasıl tamamen farklı şeyleri koruyabildiğini açıklar.

Karıştırılmaması gerekenler

Sık sorulan sorular

Bir Bitcoin imzası birinin kim olduğunu kanıtlar mı?

Hayır. İmzayı üreten kişinin o anda belirli bir özel anahtara sahip olduğunu kanıtlar. Anahtarlar paylaşılır, çalınır ve miras yoluyla devredilir, bu yüzden geçerli bir imza bir anahtar hakkında kanıttır ve asla bir kişi hakkında değildir.

Birinin bana gönderdiği mesajı imzalamak güvenli mi?

Düz metin bir mesajı imzalamak bitcoinlerinizi hareket ettiremez, ancak bir işlemi imzalamak hepsini hareket ettirebilir. Yalnızca bir mesaj imzaladığınız söylendiğinde, donanım cüzdanı ekranında tutarlar veya adresler gösteren hiçbir şeyi onaylamayın.

Bitcoin hâlâ ECDSA kullanıyor mu?

Evet, 1, 3 veya bc1q ile başlayan her adres için. Dolaşımdaki bitcoinlerin çoğu bu adreslerdedir. bc1p ile başlayan Taproot adresleri bunun yerine Schnorr imzaları kullanır, bu yüzden iki şema yan yana çalışır ve birçok cüzdan ikisini de üretir.

Sıradaki okuma

İlgili terimler

Daha fazlası: İşlemler ve ücretler

Bu sayfayı İngilizce okuyun