Özet fonksiyonları: kriptodaki her şeyin altındaki sessiz makine

·4 dk okuma·Yazar: SSP Editorial Team
SSP Academy kapağı: kriptoda özet fonksiyonları nasıl çalışır

Özet fonksiyonları: kriptodaki her şeyin altındaki sessiz makine

Bir blok zincirini temel parçalarına ayırırsanız, işin neredeyse tamamını yapan iki tür kriptografi bulursunuz. Dijital imzalar kimin harcayabileceğine karar verir. Özet fonksiyonları ise geri kalan her şeyi bir arada tutar — bloklar, adresler, madencilik, işlem kimlikleri, hatta bir cüzdanın imzalamak üzere olduğunuz şeyi nasıl çözdüğü bile.

Özet fonksiyonları nadiren anlatılır, çünkü nadiren fark edilir. On dakikayı hak ederler; onları anladığınızda kriptonun şaşırtıcı bir kısmı sihir gibi görünmeyi bırakır.

Bir özet fonksiyonu ne yapar

Bir özet fonksiyonu herhangi bir girdiyi — bir sözcük, bir dosya, bütün bir işlem bloğu — alır ve sabit boyutlu bir parmak izi üretir. Bitcoin’in kullandığı SHA-256, ona tek bir harf de verseniz bir gigabayt da verseniz, her zaman 256 bit üretir; genellikle 64 onaltılık karakter olarak yazılır.

Onu yararlı kılan üç özellik vardır:

Belirlenimci. Aynı girdi her zaman aynı çıktıyı verir. Herkes, her yerde yeniden hesaplayıp denetleyebilir.

Tek yönlü. Bir parmak izinden girdiye geri gitmenin pratik bir yolu yoktur. Tek yöntem, biri eşleşene dek girdi tahmin etmektir ve iyi bir özet için bu umutsuzdur.

Çakışmaya dayanıklı. Aynı parmak izine sahip iki farklı girdi bulmak olanaksızdır. Tek bir karakteri değiştirin, çıktı tamamen ve öngörülemez biçimde değişir.

Özet bundan ibarettir: daha büyük bir şeyin kısa, doğrulanabilir ve taklit edilemez parmak izi.

Özetlerle farkında olmadan karşılaştığınız yerler

İşlem kimlikleri. Bir txid, bir işlemin özetinden ibarettir. Bu yüzden benzersizdir ve bu yüzden bir blok gezginine yapıştırdığınız şey odur — tam olarak tek bir işlemi tanımlar ve kimse aynı kimlikle farklı bir işlem üretemez.

Zincirin kendisi. Her blok kendinden önceki bloğun özetini içerir. Eski bir blokta herhangi bir şeyi değiştirin, özeti değişir ve bu, ondan sonraki her blokla bağlantıyı koparır. Geçmişi kurcalamayı belli eden, bu parmak izi zinciridir.

Madencilik. İş ispatı bir özet piyangosudur: madenciler blok başlıklarını tekrar tekrar özetler, her seferinde bir sayıyı değiştirerek, ta ki bir hedefin altında sonuç bulana dek. Özetler öngörülemez olduğundan kestirme yoktur — yalnızca daha çok deneme vardır; iş ispatının gerçek enerji harcamasının ve bu maliyetin güvenlik satın almasının nedeni budur.

Adresler. Adreslerin çoğu bir şeyin özetidir. Klasik bir Bitcoin adresi bir açık anahtarın özetidir. SSP’nin Bitcoin adresleri P2WSH’dir: 2-of-2 harcama kuralını tanımlayan tanık betiğinin SHA-256 özeti. Siz harcamadan önce zincirde duran, anahtarların kendisi değil, o parmak izidir.

Cüzdanın içindeki özetler

Özetleme yalnızca zincir düzeyinde bir kavram değildir. İmzaladığınız yazılımda da karşınıza çıkar.

SSP Key bir Ethereum işlemini siz onaylamadan önce çözerken, çağrının ne yaptığını işlev seçicileriyle tanır — işlev imzasının Keccak-256 özetinin ilk dört baytı. transfer(address,uint256) a9059cbb ile başlayan bir değer verir; approve(address,uint256) ise 095ea7b3 ile başlayan. Çözücü bir işlemin başında bu dört baytı gördüğünde hangi işlevin çağrıldığını bilir ve size sade dille jeton gönderdiğinizi ya da bir onay verdiğinizi gösterebilir.

Bu, özetlerin ne işe yaradığının güzel bir örneğidir: daha uzun bir şeyin kısa, tek anlamlı parmak izi. Aynı zamanda sınırlarının da hatırlatmasıdır; çünkü dört bayt o kadar kısadır ki iki farklı işlev aynı seçiciyi paylaşabilir. Çözücünün bilerek kapalı biçimde başarısız olmasının nedenlerinden biri budur — beklenmedik her şey, kendinden emin bir tahmine değil ham veriye geri döner.

Özetlerin yapamadıkları

Küçük girdileri gizlemezler. Özet tek yönlüdür, ama girdi küçük bir olasılıklar kümesinden geliyorsa saldırgan her birini özetleyip karşılaştırabilir. Özetlenmiş bir PIN’in ya da kısa bir parolanın çok az koruma sağlamasının ve kurtarma ifadelerinin akılda kalıcı bir şey yerine uzun, rastgele sözcüklerden oluşmasının nedeni budur.

Anlam hakkında hiçbir şey kanıtlamazlar. Bir özet iki şeyin aynı olduğunu kanıtlar. İkisinin dürüst olup olmadığı hakkında hiçbir şey söylemez. Kötü niyetli bir işlemin kusursuzca doğrulanmış özeti, yine kötü niyetli bir işlemdir.

Şifreleme değildirler. Bir özeti “çözerek” özgünü geri alamazsınız. Bir özeti tersine çevirdiğini iddia eden şey tahmin yürütüyordur.

Bu sizi neden ilgilendiriyor

Nadiren elle bir özet hesaplarsınız. Ama onları anlamak, aksi hâlde ezberlenecek kurallar gibi duran birkaç şeyi açıklar:

Bir txid’in bir ödemenin var olduğunu neden kanıtladığını. Onaylanmış bir işlemi neden düzenleyemediğinizi. Madenciliğin neden enerji tükettiğini. Harcanmamış bir adresin neden anahtarlarınızı değil bir parmak izini açığa çıkardığını. Uzun ve rastgele bir ifadenin neden güvenli, kısa ve zekice olanın neden güvensiz olduğunu.

Özet fonksiyonları, kriptonun sessizce, günde milyarlarca kez, düpedüz çalışan kısmıdır. Neyi garanti ettiklerini — ve neyi etmediklerini — bilmek, paranızı emanet ettiğiniz sistemi anlamanın en ucuz yollarından biridir.

Bu makaleyi paylaş

İlgili makaleler