İçeriğe geçin
buybitcoinsmart

Sözlük / Madencilik ve konsensüs

SHA-256

Diğer adları: SHA256.

SHA-256 nedir?
SHA-256 herhangi bir uzunluktaki girdiyi alır ve her seferinde aynı olan, önceden tahmin edilemeyen ve geriye doğru çalışılamayan 32 baytlık bir parmak izi döndürür.

Bitcoin bu tek işleve neredeyse her yerde dayanır: blok hash'leri, işlem kimlikleri, merkle ağaçları, adres sağlama toplamları ve kurtarma ifadenizdeki sağlama toplamı. Çıktı 256 bit, yani yaklaşık 1,2 çarpı 10 üzeri 77 değerlik bir uzaydan gelen 64 onaltılık karakter olarak yazılır. Yanlış yazılmış bir adresi, bitcoinleriniz herhangi bir yere gitmeden önce yakalayan aritmetik budur.

Nasıl çalışır

SHA-256 girdisini 512 bitlik parçalara böler ve her birini 64 tur kaydırma, döndürme ve toplama işleminden geçirir.

Karıştırılan durum, ilk sekiz asal sayının kareköklerinin kesirli kısımlarından alınan sabitlerle tohumlanmış sekiz adet 32 bitlik kelimedir; 64 tur sabiti ise ilk 64 asal sayının küp köklerinden gelir. Bu kökenler işin özüdür: kimsenin gizli bir nedenle seçemeyeceği sayılardır ve tasarımın arka kapısı olmadığını savunması bu sayede olur. Algoritma United States National Security Agency tarafından geliştirilmiş ve NIST tarafından 2001 yılında yayımlanmıştır; geçerli şartname FIPS 180-4'tür.

Bitcoin'in gerçekte satın aldığı şey üç özelliktir. İşlev belirlenimlidir, yani herhangi bir yerdeki her makine aynı baytlardan aynı özeti çıkarır. Çığ etkisi vardır, yani girdinin bir bitini değiştirmek çıktı bitlerinin yaklaşık yarısını değiştirir ve ikisi arasında bir örüntü yoktur. Ve tersine çalıştırılmaya direnir: kimse bir özetten girdiyi geri bulmanın ya da aynı özeti paylaşan iki girdi üretmenin, kaba kuvvetten daha hızlı bir yolunu bulmamıştır. SHA-1 Şubat 2017'de pratik bir çakışmaya yenildi; bu, araştırmacılara muazzam bir hesaplama maliyeti yükledi ve SHA-2'ye hiç yansımadı.

Bitcoin onu nadiren tek sefer çağırır. Blok başlıkları, işlem kimlikleri, merkle düğümleri ve eşler arası bir mesajdaki sağlama toplamı, özeti ikinci kez özetleyen çift geçiş kullanır. Adres hash'leri başka bir yol izler: bir SHA-256 özetine uygulanan RIPEMD-160; eski tip (legacy) bir adresin 20 baytlık yükü buradan gelir. Taproot örüntüyü yeniden bozdu: BIP340, SHA-256'yı bir kez çağıran ve alan ayırıcı bir önek taşıyan etiketli hash'ler tanımlar; böylece bir amaç için üretilen imzalar başka bir amaç için tekrar oynatılamaz.

Nerede görürsünüz

Bir blok gezginindeki her 64 karakterlik onaltılık dize bir SHA-256 çıktısıdır. Buna destek taleplerine yapıştırdığınız işlem kimliği ve uzun bir sıfır dizisiyle başlayan blok hash'i de dahildir; hedefi geçen bir başlık böyle görünür.

Bitcoin tuttuğunuzda doğrudan önem taşıyan iki yer vardır. Bir kurtarma ifadesi bu işlevden kurulan bir sağlama toplamı taşır: 12 kelime, 128 bit rastgelelik ile o rastgeleliğin SHA-256 özetinden alınan 4 sağlama bitini kodlar; böylece tek kelimesi yanlış bir ifade, sessizce boş bir cüzdan açmak yerine 16 seferin yaklaşık 15 tanesinde reddedilir. Eski tip bir adres benzer bir koruma taşır: çift SHA-256 geçişinden alınan 4 baytlık bir sağlama toplamı; bu, rastgele bir yazım hatasının geçerli bir adres üretme olasılığını yaklaşık 4,3 milyarda 1 yapar.

Madencilik donanımı başka hiçbir şey için var olmaz. ASIC, yalnızca bu tek işlevi ve başka hiçbirini hesaplayan bir çiptir; Bitcoin madencilik cihazlarının farklı bir algoritma üzerine kurulu zincirler için yeniden kullanılamamasının ve SHA-256 coin ifadesinin bütün bir fork ailesini tanımlamasının nedeni budur. Bütün bunların sınırına dikkat edin: bir sağlama toplamı yanlış yazdığınız bir adresi yakalar, ama kötü amaçlı yazılımın tamamen geçerli ve size ait olmayan bir adresle değiştirdiği bir adresi asla yakalamaz.

Karıştırılmaması gerekenler

Sık sorulan sorular

Kuantum bilgisayarlar SHA-256'yı kırabilir mi?

İnsanların genellikle kastettiği anlamda değil. Bilinen kuantum algoritmaları hash aramasını, genel anahtar kriptografisini zayıflattığından çok daha az zayıflatır; bu yüzden Bitcoin'in maruz kalan kısmının hash işlevi değil, imza şeması olduğu kabul edilir.

Bitcoin verileri neden iki kez hash'ler?

Çift hash, Satoshi Nakamoto'nun uzunluk uzatmasına karşı bir önlemiydi; bu, tek geçişin yalnızca özeti bilen biri tarafından sürdürülebilmesine yol açan bir zayıflıktır. Neredeyse hiçbir maliyeti yoktur ve bu saldırı sınıfını tamamen ortadan kaldırır.

Sıradaki okuma

İlgili terimler

Daha fazlası: Madencilik ve konsensüs

Bu sayfayı İngilizce okuyun