Cüzdanınızı Hangi Özet İşlevi Koruyor? İki Tane Var, Farklı Katmanlarda

Soru tek bir yanıt varsayıyor. İki tane var, ve hangisinin geçerli olduğu, zinciri mi yoksa bir kimlik bilgisini mi sorduğunuza bağlı.

Her birinin nerede kullanıldığı

Zincir BLAKE3 kullanıyor. İşleminizin imzalama özeti, açık anahtar, tek kullanımlık sayaç ve yük üzerinden alınan BLAKE3'tür. Adresiniz, açık anahtarınızın bir BLAKE3 özetinin ilk yirmi baytıdır. Zincir sandıklarının on sekiz dosyasında görünüyor.

Kimlik bilgisi katmanı SHA-256 kullanıyor. Kimlik bilgisi paketindeki özet yardımcısı o algoritmayı kabul ediyor ve başka her şeyde hata fırlatıyor, ki sessizce öntanımlıya düşmekten daha güçlü bir konumdur.

Bir kontrol, ayrımı içe aktarmaların bir kazası değil gerçek kılıyor: ikisi farklı paketlerde yaşıyor ve hiçbiri diğerinin rolünde görünmüyor. Bu, ikisini birden içe aktaran bir kod tabanı değil, katmana göre bir ayrımdır.

Kimlik bilgisi katmanının neden seçeneği olmadığı

Çünkü biçim onu belirtiyor. Seçici açıklamalı bir kimlik bilgisinin özetleri belirtim tarafından tanımlanıyor, ve farklı bir özet kullanan bir gerçekleştirim, başka hiçbir gerçekleştirimin doğrulayamayacağı bir şey üretirdi.

Bir standart biçimin içinde özet seçme hakkınız yoktur, ve o kısıt, kimlik bilgisi katmanının hiç birlikte çalışabilir olmasının bütün sebebidir.

Zincirin neden seçebildiği, ve ne seçtiği

Bir zincir kendi işlem biçimini tanımlıyor, dolayısıyla seçiyor. Bizimki BLAKE3 seçti.

Bunun ne satın aldığı: iyi çalışılmış ilkeller üzerine kurulmuş modern bir tasarım, paralelleşen bir ağaç yapısıyla, ve bir varyantlar ailesi yerine tek bir işlev.

Neye mal olduğu, ve bu genellikle dışarıda bırakılan kısım: bu ikisinden biri, arkasında onlarca yıllık kamuya açık çözümleme olan, uzun süredir yayımlanmış bir standarttır, ve diğeri değildir. BLAKE3 devlet tarafından yayımlanmış bir standart değildir, ve düzenlemeye tabi ortamlarda kullanılmayı uman bir sistem için bu, kuramsal değil gerçek bir husustur.

Zayıf olduğunu söylemiyoruz. "Geniş biçimde çözümlenmiş" ile "biçimsel olarak standartlaştırılmış" farklı özelliklerdir diyoruz, ve bir satın alma süreci sıklıkla ikincisini soruyor.

Size söylemeyeceğimiz şey

Hız rakamı yok. BLAKE3 yaygın olarak hızlı diye tarif ediliyor, ve onu bu sistemde hiç ölçmedik, dolayısıyla buradaki herhangi bir sayı başkasının donanımındaki başkasının kıyaslamasından ödünç alınmış olurdu.

Zaten kurulmuş olan şey, çünkü yalnızca yokluklar bizi yanlış tarif ederdi

Her iki seçim de tutarlı ve zorunlu kılınmış. Kimlik bilgisi yardımcısı varsaymak yerine beklenmeyen bir algoritmayı reddediyor, ve zincirin düzeni, Rust gerçekleştirimiyle bayt eşliğini öne süren testlerle sabitleniyor. Hiçbiri doğaçlama değildir, ve iki katmanın farklı olması, kimsenin karar vermemesinin değil birinin bir belirtimi izlemesinin sonucudur.

Ve kırılganlık özette değil

Belirtmeye değer çünkü dikkatin gitmesi gereken yer orası: imzalama özeti, yükün bir JSON serileştirmesini kapsıyor, ve JSON anahtar sırası ve boşluk serbesttir.

Doğru iki serileştirici baytlar konusunda anlaşmazlığa düşebilir, ve özet, anlaşmazlığa düştüklerini sadakatle bildiriyor. Özet işlevi işini kusursuz yapıyor; kırılgan kısım girdinin kurulmasıdır. O azaltım diller arası eşlik testleri olarak mevcut, ve algoritma seçimi yerine izlenecek şey odur.

Okumaya devam edin

Cüzdanınızı Hangi Özet İşlevi Koruyor? İki Tane Var, Farklı Katmanlarda · Solidus