Son zamanlarda Jackie Chan'in yeni çıkan ve beğenilen filmi "Rüzgarı Yakalamak"ı izledim, içinde oldukça ilginç bir sahne var - yüz milyar Hong Kong Doları değerinde kripto varlık, 12 kelimeden oluşan bir kurtarma cüzdanında kilitlenmiş durumda ve sonunda sadece son bir kelime bilinmiyor.
Denemek için gittim, sonuçta 10. ve 12. sıradaki kelimelerin standart mnemonik kelime listesinde olmadığını fark ettim. Açıkça senarist bunu bilerek yazmış, insanların senaryoya göre cüzdanı geri oluşturarak dolandırıcılık yapmalarını önlemek için. Sonuçta zincir üzerinde benzer dolandırıcılık vakaları nadir değil:
Dolandırıcılar, insanların Gas yatırmasını teşvik etmek için kasıtlı olarak "bakiye bulunan" bir cüzdan adresini (genellikle Tron zincirinde, Owner mekanizmasını kullanarak) sızdırır, bekleyerek fırsat kollayacaklardır. Fonlar bir kez yatırıldığında, geri alınamaz.
Ama burada ilginç bir nokta var ki, filmde sadece son kelimenin bilinmediği söyleniyor. Ancak gerçek dünyada, kurtarıcı kelimeleri BIP39 standardını takip ediyor ve toplamda 2048 kelime var, yani son birimi zorla kırmanın en fazla 2048 olasılığı var. Eğer aralığı daha da daraltırsak, örneğin filmde bilinen ilk harf "es" ise, olasılık daha da azalır ve bir dakikada denemek mümkün olur.
Ancak, filmin ötesinde yeniden gözden geçirilmesi gereken daha önemli bir soru var: Mnemonic kelimeler, özel anahtar, genel anahtar; bunlar arasındaki ilişki nedir? Neden mnemonic kelimeleri kaybetmek tüm varlıkları kaybetmekle eşdeğerdir?
Bir, Mnemonik: Özel Anahtar: Genel Anahtar/Adres = "Anahtar Zinciri": "Anahtar": "Kapı Numarası"
Mnemonic kelimeler, 2048 İngilizce kelimeden oluşan bir kelime hazinesinden rastgele seçilerek ve bir araya getirilerek oluşturulan 12, 18 veya 24 kelimeden oluşan BIP39 standardına uygun bir yedekleme yöntemidir.
Bu grup mnemonic kelimeleri PBKDF2 algoritması ile işlendiğinde bir tohum (Seed) oluşturur, ardından bu Seed BIP32/BIP44 gibi yol standartlarına göre bir dizi özel anahtar türetir, bu da bir dizi genel anahtar/adrese karşılık gelir.
Bir grup hatırlatıcı kelime → Bir dizi özel anahtar oluştur → Bir dizi genel anahtar oluştur → Bir dizi adres ile eşleşir
Başka bir deyişle:
Hafıza kelimeleri = Anahtar zinciri, genellikle özel anahtarlarla birden fazla ilişkiye sahiptir, teorik olarak bir grup hafıza kelimesi binlerce özel anahtar türetebilir;
Özel anahtar = Anahtar, her bir özel anahtar bir adresin kullanım hakkına karşılık gelir;
Açık anahtar/Adres = Kapı numarası, kamuya açıktır, başkaları bunu kullanarak sana para transferi yapabilir;
Bu nedenle, mnemonik kelimeleri "anahtar zinciriniz" olarak düşünebilirsiniz ve her özel anahtar, bir kapıyı açan bir anahtar gibidir; bu anahtar, belirli bir cüzdan adresine olan kontrolünüzü imzalamak ve kanıtlamak için kullanılır - bir işlem başlattığınızda, bunu imzalamak için özel anahtarı kullanarak tüm ağa "Bu transferi ben yetkilendirdim" dersiniz.
İki, kendi hafıza kelimelerini seçebilir miyim?
O zaman arkadaşlar şöyle düşünebilir: Kendi başıma 12 kelime toplayabilir miyim? Mesela doğum günü, en sevdiğim İngilizce kelime, idolümün ismi gibi, bu şekilde daha kişisel olur.
Cevap: Evet, ama son derece tehlikeli.
Çünkü bilgisayar tarafından üretilen rastgele sayılar gerçek rastgeleliktir, ancak insanların kelime seçimi neredeyse her zaman bir model içerir (yaygın kelimeler, alışkanlık kelimeleri, sıralama tercihleri), bu da arama alanını büyük ölçüde daraltır ve yardımcı kelimelerinizin tahmin edilmesini kolaylaştırır.
Daha önce "sahte rastgele cüzdan" ile ilgili güvenlik olayları yaşanmıştı. Bazı cüzdanlar, anahtar kelimeleri oluştururken sahte rastgele algoritmalar kullandı ve sonuç olarak entropi yeterince yüksek olmadı; hackerlar, doğrudan kaba kuvvet yöntemiyle bu cüzdanları çözdü. 2015 yılında Blockchain Bandit adlı hacker grubu, arızalı rastgele sayı üreteci ve program hatalarından yararlanarak zayıf güvenlikli özel anahtarları sistematik olarak aradı ve 700.000'den fazla savunmasız cüzdan adresini başarıyla tespit edip, bunlardan 50.000'den fazla ETH çaldı.
Tabii ki bazı meraklılar, rastgele sayı elde etmek için zar kullanacaklar (zarların yeterince düzgün olduğunu garanti etmelisiniz) ve ardından bunu BIP39 kelime hazinesine haritalayacaklar, bu ancak elle güvenli sayılır, ancak çoğu insan için bu kadar karmaşık hale getirmek gereksizdir, aksine hata yapmayı kolaylaştırır.
Üç, V Tanrısı veya diğer balinaların cüzdanlarını zorla çıkarmak mümkün mü?
Bu soruyu o zamanlar ben de hayal etmiştim, bir gün bir cüzdan adresi oluşturduğumu hayal ettim, sonuçta içinde birden fazla yüz bin ETH olduğunu gördüm ve anında zengin oldum, doğrudan bir balinanın evini soydum.
Söylemeden geçemeyeceğim, sadece düşünmek bile oldukça çekici. Ama gerçek şu ki: olasılık neredeyse sıfır.
Neden? Çünkü kurtarma kelimelerinin olası kombinasyon sayısı insan hayal gücünü aşacak kadar abartılıdır:
12 kelime: Geçerli kombinasyon sayısı yaklaşık 2¹²⁸ ≈ 3.4 × 10³⁸
24 kelime: Geçerli kombinasyon sayısı yaklaşık 2²⁵⁶ ≈ 1.16 × 10⁷⁷
Bu büyüklük ne anlama geliyor?
Hepimiz dünyadaki kumun sayısının hesaplanamayacak kadar fazla olduğunu biliyoruz, ancak bilim insanları yaklaşık bir değer tahmin etti. Dünyadaki tüm plajlar ve çöl kumlarının toplam sayısının yaklaşık 7.5×10¹⁸ tane olduğu varsayıldığında, bu da demektir ki:
12 kelimelik geçerli kombinasyon sayısı, Dünya üzerindeki tüm kum taneciklerinin toplam sayısının 4.5 × 10¹⁹ katıdır.
24 kelimenin geçerli kombinasyon sayısı, Dünya üzerindeki toplam kum miktarının 1.5 × 10⁵⁸ katıdır.
Başka bir deyişle, Dünya'daki her bir kum tanesi, bir "Yeni Dünya" haline geliyor ve her Yeni Dünya'da plajlar ve kumlar var; ardından bu kumların hepsinin içinde, önceden işaretlediğin o kum tanesini tek seferde rastgele bulman gerekiyor.
Bu, insanlığın hayal edebileceğinden çok daha büyük bir ölçekte.
Bu nedenle, cüzdanın şifrelerini kırma olasılığı "çok düşük" değil, bilinen fizik ve hesaplama gücü altında sıfıra eşdeğerdir. "Şanslı bir şekilde kırmakla" zengin olmaya çalışmak, piyango oynamaktan daha iyi değildir, piyango kazanma olasılığı çok daha yüksektir.
Filmin o ayarına geri dönersek: Eğer gerçekten birinin yalnızca bir kurtarma kelimesi eksikse, o zaman zorla deneme yoluyla denemek mümkün olabilir.
Son olarak, cüzdanlar/hatırlatıcı kelimeler/özel anahtarlar hakkında birkaç güvenlik ipucu:
Öncelikle zaman ve piyasa tarafından test edilmiş, açık kaynak kodlu denetimden geçmiş, merkeziyetsiz cüzdanlar kullanın; örneğin MetaMask, Trust Wallet, SafePal gibi; şartlar sağlandığında donanım cüzdanlarını doğrudan kullanın;
Kurtarma kelimeleri ve özel anahtar, asla ekran görüntüsü almayın, bulut depolama alanında saklamayın, kopyalayıp yapıştırmayın, başkalarına göndermeyin;
En iyisi kağıt kalemle yazmak (paslanmaz çelik hatırlatıcı kelime tahtası kullanmayı düşünebilirsiniz, nem geçirmez, ateşe dayanıklı, korozyona dayanıklı), güvenli bir yerde saklayın ve 2~3 yerde yedekleyin;
Genel anahtar/adres güvenle paylaşılabilir, bu senin kapı numaran, ancak oltalama bağlantılarına dikkat etmelisin;
Cüzdanı yönetmek için temiz bir cihaz kullanmanızı öneririz, bilinmeyen eklentileri veya uygulamaları rastgele yüklemeyin;
Bir sözü aklında tut: Senden herhangi biri kurtarma kelimelerini istiyorsa, %100 dolandırıcıdır.
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
"Rüzgarın Peşinde" ile başlamak: Trilyonlarca şifreleme varlığını belirleyen 2048 kelime
Yazar: Tyler
Son zamanlarda Jackie Chan'in yeni çıkan ve beğenilen filmi "Rüzgarı Yakalamak"ı izledim, içinde oldukça ilginç bir sahne var - yüz milyar Hong Kong Doları değerinde kripto varlık, 12 kelimeden oluşan bir kurtarma cüzdanında kilitlenmiş durumda ve sonunda sadece son bir kelime bilinmiyor.
Denemek için gittim, sonuçta 10. ve 12. sıradaki kelimelerin standart mnemonik kelime listesinde olmadığını fark ettim. Açıkça senarist bunu bilerek yazmış, insanların senaryoya göre cüzdanı geri oluşturarak dolandırıcılık yapmalarını önlemek için. Sonuçta zincir üzerinde benzer dolandırıcılık vakaları nadir değil:
Dolandırıcılar, insanların Gas yatırmasını teşvik etmek için kasıtlı olarak "bakiye bulunan" bir cüzdan adresini (genellikle Tron zincirinde, Owner mekanizmasını kullanarak) sızdırır, bekleyerek fırsat kollayacaklardır. Fonlar bir kez yatırıldığında, geri alınamaz.
Ama burada ilginç bir nokta var ki, filmde sadece son kelimenin bilinmediği söyleniyor. Ancak gerçek dünyada, kurtarıcı kelimeleri BIP39 standardını takip ediyor ve toplamda 2048 kelime var, yani son birimi zorla kırmanın en fazla 2048 olasılığı var. Eğer aralığı daha da daraltırsak, örneğin filmde bilinen ilk harf "es" ise, olasılık daha da azalır ve bir dakikada denemek mümkün olur.
Ancak, filmin ötesinde yeniden gözden geçirilmesi gereken daha önemli bir soru var: Mnemonic kelimeler, özel anahtar, genel anahtar; bunlar arasındaki ilişki nedir? Neden mnemonic kelimeleri kaybetmek tüm varlıkları kaybetmekle eşdeğerdir?
Bir, Mnemonik: Özel Anahtar: Genel Anahtar/Adres = "Anahtar Zinciri": "Anahtar": "Kapı Numarası"
Mnemonic kelimeler, 2048 İngilizce kelimeden oluşan bir kelime hazinesinden rastgele seçilerek ve bir araya getirilerek oluşturulan 12, 18 veya 24 kelimeden oluşan BIP39 standardına uygun bir yedekleme yöntemidir.
Bu grup mnemonic kelimeleri PBKDF2 algoritması ile işlendiğinde bir tohum (Seed) oluşturur, ardından bu Seed BIP32/BIP44 gibi yol standartlarına göre bir dizi özel anahtar türetir, bu da bir dizi genel anahtar/adrese karşılık gelir.
Bir grup hatırlatıcı kelime → Bir dizi özel anahtar oluştur → Bir dizi genel anahtar oluştur → Bir dizi adres ile eşleşir
Başka bir deyişle:
Bu nedenle, mnemonik kelimeleri "anahtar zinciriniz" olarak düşünebilirsiniz ve her özel anahtar, bir kapıyı açan bir anahtar gibidir; bu anahtar, belirli bir cüzdan adresine olan kontrolünüzü imzalamak ve kanıtlamak için kullanılır - bir işlem başlattığınızda, bunu imzalamak için özel anahtarı kullanarak tüm ağa "Bu transferi ben yetkilendirdim" dersiniz.
İki, kendi hafıza kelimelerini seçebilir miyim?
O zaman arkadaşlar şöyle düşünebilir: Kendi başıma 12 kelime toplayabilir miyim? Mesela doğum günü, en sevdiğim İngilizce kelime, idolümün ismi gibi, bu şekilde daha kişisel olur.
Cevap: Evet, ama son derece tehlikeli.
Çünkü bilgisayar tarafından üretilen rastgele sayılar gerçek rastgeleliktir, ancak insanların kelime seçimi neredeyse her zaman bir model içerir (yaygın kelimeler, alışkanlık kelimeleri, sıralama tercihleri), bu da arama alanını büyük ölçüde daraltır ve yardımcı kelimelerinizin tahmin edilmesini kolaylaştırır.
Daha önce "sahte rastgele cüzdan" ile ilgili güvenlik olayları yaşanmıştı. Bazı cüzdanlar, anahtar kelimeleri oluştururken sahte rastgele algoritmalar kullandı ve sonuç olarak entropi yeterince yüksek olmadı; hackerlar, doğrudan kaba kuvvet yöntemiyle bu cüzdanları çözdü. 2015 yılında Blockchain Bandit adlı hacker grubu, arızalı rastgele sayı üreteci ve program hatalarından yararlanarak zayıf güvenlikli özel anahtarları sistematik olarak aradı ve 700.000'den fazla savunmasız cüzdan adresini başarıyla tespit edip, bunlardan 50.000'den fazla ETH çaldı.
Tabii ki bazı meraklılar, rastgele sayı elde etmek için zar kullanacaklar (zarların yeterince düzgün olduğunu garanti etmelisiniz) ve ardından bunu BIP39 kelime hazinesine haritalayacaklar, bu ancak elle güvenli sayılır, ancak çoğu insan için bu kadar karmaşık hale getirmek gereksizdir, aksine hata yapmayı kolaylaştırır.
Üç, V Tanrısı veya diğer balinaların cüzdanlarını zorla çıkarmak mümkün mü?
Bu soruyu o zamanlar ben de hayal etmiştim, bir gün bir cüzdan adresi oluşturduğumu hayal ettim, sonuçta içinde birden fazla yüz bin ETH olduğunu gördüm ve anında zengin oldum, doğrudan bir balinanın evini soydum.
Söylemeden geçemeyeceğim, sadece düşünmek bile oldukça çekici. Ama gerçek şu ki: olasılık neredeyse sıfır.
Neden? Çünkü kurtarma kelimelerinin olası kombinasyon sayısı insan hayal gücünü aşacak kadar abartılıdır:
Bu büyüklük ne anlama geliyor?
Hepimiz dünyadaki kumun sayısının hesaplanamayacak kadar fazla olduğunu biliyoruz, ancak bilim insanları yaklaşık bir değer tahmin etti. Dünyadaki tüm plajlar ve çöl kumlarının toplam sayısının yaklaşık 7.5×10¹⁸ tane olduğu varsayıldığında, bu da demektir ki:
Başka bir deyişle, Dünya'daki her bir kum tanesi, bir "Yeni Dünya" haline geliyor ve her Yeni Dünya'da plajlar ve kumlar var; ardından bu kumların hepsinin içinde, önceden işaretlediğin o kum tanesini tek seferde rastgele bulman gerekiyor.
Bu, insanlığın hayal edebileceğinden çok daha büyük bir ölçekte.
Bu nedenle, cüzdanın şifrelerini kırma olasılığı "çok düşük" değil, bilinen fizik ve hesaplama gücü altında sıfıra eşdeğerdir. "Şanslı bir şekilde kırmakla" zengin olmaya çalışmak, piyango oynamaktan daha iyi değildir, piyango kazanma olasılığı çok daha yüksektir.
Filmin o ayarına geri dönersek: Eğer gerçekten birinin yalnızca bir kurtarma kelimesi eksikse, o zaman zorla deneme yoluyla denemek mümkün olabilir.
Son olarak, cüzdanlar/hatırlatıcı kelimeler/özel anahtarlar hakkında birkaç güvenlik ipucu: