Ana içeriğe geç

key-derivation-tutorial

TARGET_LOCALE: tr


title: "Anahtar Türetme Aracı Eğitimi: BIP-44 Yol Gezgini" description: "SafeSeed'in Anahtar Türetme Aracı için derinlemesine eğitim. BIP-32/BIP-44 hiyerarşik deterministik cüzdan yollarını keşfedin, ana anahtarları, alt anahtarları, hardened türetimi anlayın ve cüzdan kurtarma sorunlarını ayıklayın." keywords: [anahtar türetme, BIP-44, BIP-32, türetim yolu, HD Wallet, hiyerarşik deterministik, xprv, xpub, ana anahtar, alt anahtar türetimi] sidebar_position: 5

Anahtar Türetme Aracı Eğitimi: BIP-44 Yol Gezgini

Hiyerarşik Deterministik (HD) cüzdanlar, modern kripto para anahtar yönetiminin bel kemiğidir. Tek bir seed'den, HD cüzdan çoklu blokzincirlerde milyarlarca benzersiz adres içeren tam bir anahtar ağacı türetir ve bunların tamamı orijinal seed ifadenizden kurtarılabilir. SafeSeed'in Anahtar Türetme Aracı, bu ağacı görselleştirip keşfetmenizi, türetim yollarının nasıl çalıştığını anlamanızı ve cüzdanlar beklediğiniz gibi davranmadığında sorunları teşhis etmenizi sağlar.

Hemen Deneyin

BIP-44 türetim yollarını safeseed.app/tools/key-derivation/ adresinde keşfedin — tamamen istemci tarafında çalışır, çevrimdışı da kullanılabilir.

Anahtar Türetme Nedir?

Anahtar türetme, mevcut bir anahtardan yeni kriptografik anahtarlar üretme sürecidir. Kripto paralarda bu süreç seed ifadenizle başlar ve BIP-32 (Hierarchical Deterministic Wallets) tarafından tanımlanan, BIP-44 (Multi-Account Hierarchy) ile düzenlenen deterministik algoritmayı izler.

Kritik özellik determinismtir: aynı seed her zaman aynı anahtar ağacını üretir. Bunun anlamı:

  • Tüm cüzdanınızı yalnızca seed ifadeyle kurtarabilirsiniz
  • Aynı seed'e sahip birden fazla cihaz aynı adresleri gösterir
  • İlk seed üretiminden sonra rastgele öğe kullanılmaz

Anahtar Ağacı

Anahtar türetmeyi bir ağaç gibi düşünün:

Master Key (root)
├── Purpose 44' (Legacy)
│ ├── Bitcoin (0')
│ │ ├── Account 0'
│ │ │ ├── External (0)
│ │ │ │ ├── Address 0
│ │ │ │ ├── Address 1
│ │ │ │ └── Address 2 ...
│ │ │ └── Internal/Change (1)
│ │ │ ├── Address 0
│ │ │ └── Address 1 ...
│ │ └── Account 1'
│ │ └── ...
│ ├── Ethereum (60')
│ │ └── Account 0'
│ │ └── ...
│ └── Litecoin (2')
│ └── ...
├── Purpose 49' (SegWit)
│ └── ...
├── Purpose 84' (Native SegWit)
│ └── ...
└── Purpose 86' (Taproot)
└── ...

Bu ağaçtaki her düğümün hem özel anahtarı hem açık anahtarı vardır. Adres Üretici, yaprak düğümleri (tekil adresler) türetirken Anahtar Türetme Aracı tüm ağaçtaki herhangi bir düğümü incelemenize olanak tanır.

Türetim Yollarını Anlamak

Türetim yolu, ana anahtardan belirli bir alt anahtara nasıl gidileceğini tanımlayan indeks dizisidir. Standart gösterim şöyledir:

m / 84' / 0' / 0' / 0 / 0

Bunu tam olarak parçalayalım.

Yol Bileşenleri

BileşenAnlamıÖrnek Değerler
mAna (kök) anahtarHer zaman m
purpose'Hangi BIP standardı44', 49', 84', 86'
coin_type'Hangi kripto para0' (BTC), 60' (ETH), 2' (LTC)
account'Hesap ayrımı0', 1', 2'
changeDış/iç0 (alım), 1 (para üstü)
address_indexAdres numarası0, 1, 2, ...

Hardened ve Normal Türetim

Kesme işareti (') hardened türetimi gösterir. Bu, HD cüzdanlarda temel bir güvenlik kavramıdır.

Normal (non-hardened) türetim (m/0/1/2):

  • Üst açık anahtar, tüm alt açık anahtarları türetebilir
  • Bir alt özel anahtar ve üst açık anahtar birlikte ele geçirilirse, üst özel anahtar hesaplanabilir
  • change ve address_index seviyelerinde kullanılır

Hardened türetim (m/0'/1'/2'):

  • Yalnızca üst özel anahtar alt anahtarları türetebilir
  • Alt anahtarın ele geçirilmesi üst anahtarı açığa çıkarmaz
  • purpose, coin_type ve account seviyelerinde kullanılır

Güvenlik gerekçesi: ilk üç seviye (purpose', coin_type', account') hardened türetim kullanarak bir güvenlik duvarı oluşturur. Saldırgan adres seviyesinde bir alt özel anahtar elde etse bile, ana anahtarınızı veya diğer hesap/kripto para anahtarlarını bulmak için hardened sınırın gerisine doğru ilerleyemez.

Cüzdana Göre Standart Türetim Yolları

Farklı cüzdan yazılımları farklı türetim yolları kullanabilir. Yaygın cüzdanlar için referans:

CüzdanBitcoin YoluEthereum YoluNot
Ledger Livem/84'/0'/0'/0/xm/44'/60'/0'/0/xNative SegWit varsayılanı
Trezor Suitem/84'/0'/0'/0/xm/44'/60'/0'/0/xNative SegWit varsayılanı
Electrumm/84'/0'/0'/0/xN/ANative SegWit varsayılanı
MetaMaskN/Am/44'/60'/0'/0/xYalnızca Ethereum
BlueWalletm/84'/0'/0'/0/xN/ANative SegWit varsayılanı
Exodusm/84'/0'/0'/0/xm/44'/60'/0'/0/xÇoklu zincir
Trust Walletm/84'/0'/0'/0/xm/44'/60'/0'/0/xÇoklu zincir
Coinbase Walletm/44'/0'/0'/0/xm/44'/60'/0'/0/xBTC için Legacy
Myceliumm/84'/0'/0'/0/xN/AYalnızca Bitcoin
Wasabim/84'/0'/0'/0/xN/AGizlilik odaklı

Fon kurtarırken, orijinal cüzdanınızın hangi yolu kullandığını bilmek kritiktir. Anahtar Türetme Aracı, anahtarlarınızın nerede olduğunu bulmak için yolları sistematik olarak keşfetmenize yardımcı olur.

Adım Adım: Anahtar Türetme Aracını Kullanma

Adım 1: Aracı Açın

safeseed.app/tools/key-derivation/ adresine gidin. Tüm SafeSeed araçlarında olduğu gibi işlemler tamamen tarayıcınızda yürütülür.

Güvenlik hatırlatması: Gerçek fonlar için seed ifade girecekseniz air-gapped bir makine kullanın. Bkz. Offline Usage Guide.

Adım 2: Seed İfadenizi Girin

12 veya 24 kelimelik BIP-39 mnemonic ifadenizi girin. İsteğe bağlı olarak bir passphrase girin. Araç ifadeyi doğrular ve PBKDF2 ile türetilen ana seed'i (512-bit hex) gösterir.

Adım 3: Ana Anahtarı Görüntüleyin

Geçerli bir seed ifade girdikten sonra araç ana anahtar bilgilerini gösterir:

  • Master Private Key (xprv): Diğer tüm anahtarların türetildiği kök özel anahtar. Tüm anahtar hiyerarşisindeki en hassas veri budur.
  • Master Public Key (xpub): Karşılık gelen açık anahtar. Bu anahtardan (non-hardened yollar için) tüm alt açık anahtarlar türetilebilir.
  • Master Chain Code: Türetim fonksiyonunda anahtarla birlikte kullanılan 256-bit değer. Chain code, alt anahtar türetimine ek bir öngörülemezlik katmanı ekler.

Adım 4: Türetim Ağacında Gezin

Anahtar Türetme Aracı, anahtar hiyerarşisini etkileşimli bir ağaç olarak sunar. Şunları yapabilirsiniz:

  1. Ağaç düğümlerine tıklayarak genişletip alt anahtarları görün
  2. Yol giriş alanına özel bir yol girin (örn. m/84'/0'/0'/0/0)
  3. Özel anahtar ve açık anahtar gösterimi arasında geçiş yapın
  4. Başka araçlarda veya cüzdanlarda kullanmak için herhangi bir anahtarı ya da yolu kopyalayın

Adım 5: Belirli Bir Anahtarı İnceleyin

Ağaçta bir düğüm seçtiğinizde, araç o anahtar için tam bilgiyi gösterir:

  • Derivation Path: Ana anahtardan bu anahtara kadar tam yol
  • Private Key: Bu seviyedeki anahtar (extended formatta ve uygun olduğunda WIF)
  • Public Key: Karşılık gelen açık anahtar (sıkıştırılmış)
  • Chain Code: Bu seviyedeki chain code
  • Fingerprint: Bu anahtar için 4-byte tanımlayıcı (extended key serileştirmesinde kullanılır)
  • Derived Address: Kripto para adresi (yaprak seviye anahtarlar için)

Adım 6: Farklı Purpose Değerlerini Keşfedin

Aynı seed'in farklı adres türlerini nasıl ürettiğini anlamak için farklı BIP standartlarında gezinin:

BIP-44 (Legacy): m/44'/0'/0'/0/0

  • 1 ile başlayan Legacy adresler üretir
  • En yüksek işlem ücretleri
  • Eski sistemlerle en yüksek uyumluluk

BIP-49 (SegWit): m/49'/0'/0'/0/0

  • 3 ile başlayan SegWit adresler üretir
  • Orta düzey işlem ücretleri
  • İyi uyumluluk

BIP-84 (Native SegWit): m/84'/0'/0'/0/0

  • bc1q ile başlayan Native SegWit adresler üretir
  • Düşük işlem ücretleri
  • Modern cüzdanlar için standart

BIP-86 (Taproot): m/86'/0'/0'/0/0

  • bc1p ile başlayan Taproot adresler üretir
  • En düşük işlem ücretleri
  • En yeni standart, gelişmiş scripting desteği

Derinlemesine: BIP-32 Türetimi Nasıl Çalışır

Aracı kullanmak için anahtar türetmenin arkasındaki matematiği anlamak şart değildir, ancak cüzdan güvenliğini gerçekten anlamak isteyen herkes için değerli içgörüler sunar.

HMAC-SHA512 Alt Anahtar Türetimi

BIP-32, alt anahtar türetmek için HMAC-SHA512 kullanır. Süreç hardened ve normal türetimde farklıdır:

Normal alt anahtar türetimi:

HMAC-SHA512(
key = parent_chain_code,
data = parent_public_key || child_index
) → (child_key_data, child_chain_code)

child_private_key = parent_private_key + child_key_data (mod n)

Hardened alt anahtar türetimi:

HMAC-SHA512(
key = parent_chain_code,
data = 0x00 || parent_private_key || child_index
) → (child_key_data, child_chain_code)

child_private_key = parent_private_key + child_key_data (mod n)

Kritik fark: hardened türetim girdide özel anahtar kullanırken normal türetim açık anahtar kullanır. Bu nedenle hardened alt anahtarlar yalnızca üst açık anahtardan türetilemez.

Extended Key Serileştirmesi

Extended key'ler (xprv/xpub) birden çok bilgi parçasını kodlar:

AlanBoyutAçıklama
Version4 bytesAğ ve anahtar türü (0488ADE4 xprv için, 0488B21E xpub için)
Depth1 byteAna anahtardan kaç seviye uzakta olduğu
Parent fingerprint4 bytesÜst anahtar hash'inin ilk 4 byte'ı
Child index4 bytesBunun hangi alt anahtar olduğu (hardened bit ile)
Chain code32 bytesChain code
Key data33 bytesÖzel veya açık anahtar

Tüm yapı, tanıdık xprv... veya xpub... dizgesini üretmek için Base58Check ile kodlanır. Farklı version byte değerleri, sırasıyla SegWit ve Native SegWit için ypub/zpub üretir.

Pratik Uygulamalar

Uygulama 1: Cüzdan Kurtarma Hatalarını Ayıklama

Senaryo: Seed ifadenizi yeni bir cüzdanda kurtardınız ama Bitcoin bakiyeniz sıfır görünüyor.

Anahtar Türetme Aracı ile Teşhis:

  1. Seed ifadenizi Anahtar Türetme Aracı'na girin
  2. m/84'/0'/0'/0/0 yoluna gidin (Native SegWit, en yaygın modern yol)
  3. Adresi not alın ve mempool.space üzerinde kontrol edin
  4. Bakiye yoksa m/44'/0'/0'/0/0 (Legacy) deneyin
  5. m/49'/0'/0'/0/0 (SegWit) deneyin
  6. m/86'/0'/0'/0/0 (Taproot) deneyin
  7. Hâlâ bakiye yoksa hesap 1' deneyin: m/84'/0'/1'/0/0
  8. Hem external (change=0) hem internal (change=1) zincirleri kontrol edin

Bu sistematik keşif, fonlarınızın türetim ağacında tam olarak nerede bulunduğunu ortaya çıkarır.

Uygulama 2: Watch-Only Cüzdanları Anlamak

Senaryo: Özel anahtarları açığa çıkarmadan Bitcoin bakiyenizi izlemek için watch-only bir cüzdan kurmak istiyorsunuz.

Anahtar Türetme Aracını Kullanma:

  1. Seed ifadenizi girin (air-gapped bir makinede)
  2. Hesap seviyesine gidin: m/84'/0'/0'
  3. Bu seviyedeki extended public key (zpub) değerini kopyalayın
  4. Bu zpub'u watch-only cüzdan yazılımınıza içe aktarın (örn. Electrum, BlueWallet)
  5. Watch-only cüzdan, bu seviyenin altındaki tüm alım ve para üstü adreslerini türetebilir
  6. Özel anahtar türetemez veya işlem imzalayamaz

Anahtar Türetme Aracı, ağacın tam olarak hangi seviyesini dışa aktarmanız gerektiğini ve extended public key içinde hangi bilgilerin bulunduğunu gösterir.

Uygulama 3: Çoklu Hesap Organizasyonu

Senaryo: Tek bir seed ifade kullanarak Bitcoin varlıklarınızı ayrı hesaplara (örn. birikim, al-sat, iş) ayırmak istiyorsunuz.

Anahtar Türetme Aracını Kullanma:

  1. Hesap 0: m/84'/0'/0' — Kişisel birikim
  2. Hesap 1: m/84'/0'/1' — Al-sat
  3. Hesap 2: m/84'/0'/2' — İş

Her hesabın kendi adres ve extended key seti vardır. Hesap seviyesindeki hardened türetim, bir hesabın anahtarlarının ele geçirilmesinin diğerlerini etkilememesini sağlar.

Uygulama 4: Zincirler Arası Anahtar Keşfi

Senaryo: Tek bir seed ifadenin hem Bitcoin hem Ethereum için nasıl adres ürettiğini anlamak istiyorsunuz.

Anahtar Türetme Aracını Kullanma:

  1. Seed ifadenizi girin
  2. m/44'/0'/0'/0/0 yoluna gidin — bu Bitcoin anahtarıdır
  3. m/44'/60'/0'/0/0 yoluna gidin — bu Ethereum anahtarıdır
  4. Gözlemleyin: aynı seed'den gelseler de anahtarlar tamamen farklıdır
  5. Ağaçların ayrıldığı seviye coin_type seviyesidir (0' ve 60')

Bu, BIP-44 hiyerarşisinin tek seed ile kurtarılabilirliği korurken zincirler arasında çakışmayı nasıl engellediğini gösterir.

Uygulama 5: Donanım Cüzdan Davranışını Doğrulama

Senaryo: Donanım cüzdanınızın kontrol ettiği adresler hakkında yanlış bilgi verip vermediğini doğrulamak istiyorsunuz.

Anahtar Türetme Aracını Kullanma:

  1. Air-gapped bir makinede, donanım cüzdanınızı başlatırken kullandığınız seed ifadeyi girin
  2. Donanım cüzdanınızın kullandığı aynı yolda ilk 10 adresi türetin
  3. Her adresi donanım cüzdanın gösterdiğiyle karşılaştırın
  4. Hepsi eşleşiyorsa donanım cüzdan BIP-32/44 türetimini doğru uyguluyordur
  5. Farklıysa firmware sorunu, farklı passphrase veya türetim yolu uyuşmazlığı olabilir

Change Adreslerini Anlamak

HD cüzdanlarda yeni kullanıcılar için en kafa karıştırıcı konulardan biri change address kavramıdır. Anahtar Türetme Aracı bunu anlaşılır hale getirir.

Change Adresleri Nedir?

Bitcoin'de (ve benzer UTXO tabanlı zincirlerde), bir adresten harcama yaptığınızda genellikle o adresteki tüm "unspent transaction output" (UTXO) tüketilir. 0.5 BTC göndermek istiyor ama UTXO 1.0 BTC ise işlem iki çıktı oluşturur:

  1. Alıcının adresine 0.5 BTC
  2. Sizin kontrol ettiğiniz bir change addresse 0.5 BTC (ücretler düşülmüş)

Bu change address, türetim yolunuzdaki internal chainden (change = 1) gelir:

  • Alım adresleri: m/84'/0'/0'/0/x
  • Change adresleri: m/84'/0'/0'/1/x

Anahtar Türetme Aracında Change Adreslerini Görüntüleme

Change bileşenini 1 yaparak change chain'e gidin:

YolTürAmaç
m/84'/0'/0'/0/0Externalİlk alım adresi
m/84'/0'/0'/0/1Externalİkinci alım adresi
m/84'/0'/0'/1/0Internalİlk change adresi
m/84'/0'/0'/1/1Internalİkinci change adresi

Change adreslerini anlamak cüzdan kurtarma için kritiktir. Yalnızca external adresleri tararsanız change adreslerindeki fonları kaçırabilirsiniz. Anahtar Türetme Aracı iki zinciri de gösterir.

SLIP-44 Coin Type Değerleri

BIP-44 yollarındaki coin_type seviyesi, SLIP-44'te kayıtlı değerleri kullanır. En yaygın olanlar:

CoinSLIP-44 TürüYol Öneki
Bitcoin0'm/84'/0'/...
Bitcoin Testnet1'm/84'/1'/...
Litecoin2'm/84'/2'/...
Dogecoin3'm/44'/3'/...
Ethereum60'm/44'/60'/...
Ethereum Classic61'm/44'/61'/...
Bitcoin Cash145'm/44'/145'/...
Stellar148'm/44'/148'/...
Ripple (XRP)144'm/44'/144'/...
Cardano1815'm/1852'/1815'/...
Solana501'm/44'/501'/...
Polkadot354'm/44'/354'/...
Cosmos118'm/44'/118'/...
Tron195'm/44'/195'/...
Avalanche9000'm/44'/9000'/...

Bir kripto para seçtiğinizde Anahtar Türetme Aracı bu kayıtlı değerleri kullanır; ancak özel yolları manuel olarak da girebilirsiniz.

Tam liste için bkz. Supported Blockchains.

İleri Seviye: Gap Limit ve Adres Keşfi

Bir cüzdan seed ifadeden kurtarma yaparken hangi adreslerin kullanıldığını bulmalıdır. Bunu, indeks 0'dan başlayarak adresleri sıralı şekilde tarayıp blokzincirde işlem geçmişini kontrol ederek yapar.

Gap limit, cüzdanın durmadan önce taradığı ardışık kullanılmamış adres sayısıdır. BIP-44 standardı 20 gap limit önerir. Bu, 0-15 adresleri kullanılmış ama 16-35 kullanılmamışsa cüzdanın 35'e kadar tarayıp (16 + 20 gap) daha fazla kullanılmış adres olmadığını varsayması anlamına gelir.

Etkileri:

  • SafeSeed'in Adres Üretici aracında 20'den fazla ardışık adres üretip sıralı olmayanları kullanırsanız (örn. indeks 5'ten 30'a atlamak), bazı cüzdanlar kurtarma sırasında sonraki adresleri bulamayabilir
  • Çoğu cüzdan ayarlarda gap limit artırmaya izin verir
  • Anahtar Türetme Aracı hangi indekslerin türetildiğini ve potansiyel olarak kullanıldığını tam olarak anlamanıza yardımcı olur

SSS

BIP-32, BIP-44, BIP-49, BIP-84 ve BIP-86 arasındaki ilişki nedir?

BIP-32, hiyerarşik deterministik anahtar türetiminin çekirdek algoritmasını tanımlar; yani üst anahtardan alt anahtara nasıl gidileceğini. BIP-44, ortaya çıkan anahtar ağacının standart organizasyonunu tanımlar (purpose/coin/account/change/index). BIP-49, BIP-84 ve BIP-86 ise aynı BIP-32 algoritmasını ve BIP-44 yapısını kullanan, ancak farklı purpose değerleri (49, 84, 86) ve adres kodlama formatları (sırasıyla SegWit, Native SegWit, Taproot) belirleyen genişletmelerdir.

Anahtar Türetme Aracını kayıp kripto parayı bulmak için kullanabilir miyim?

Doğru seed ifade sizdeyse ama hangi türetim yolunun kullanıldığını bilmiyorsanız Anahtar Türetme Aracı tüm standart yolları sistematik biçimde keşfetmenize yardımcı olabilir. Her yol kombinasyonu için adres türetip bir blokzincir gezgininde kontrol edin. Bu, cüzdan kurtarma ayıklamasında en yaygın kullanım senaryosudur.

Pratikte "hardened" türetim ne demek?

Hardened türetim, alt anahtarın yalnızca üst özel anahtar kullanılarak türetilebilmesi demektir. Pratikte bu bir güvenlik sınırı oluşturur: biri hardened bir düğümün altındaki alt anahtarı elde etse bile geriye doğru gidip üst özel anahtarı bulamaz. Bu nedenle BIP-44 yollarının ilk üç seviyesi (purpose, coin_type, account) hardened'dır; adres seviyesindeki bir ihlalin ana anahtarınızı açığa çıkarmasını engeller.

Cüzdanım neden xpub yerine zpub gösteriyor?

Önek (xpub, ypub, zpub), extended public key'in hangi adres formatı için olduğunu gösterir. xpub Legacy (BIP-44), ypub SegWit (BIP-49), zpub Native SegWit (BIP-84) içindir. Hepsi aynı tür veriyi içerir (chain code ile extended public key), ancak beklenen adres formatını belirtmek için version byte farklıdır. Anahtar Türetme Aracı her seviyede hangi formatın geçerli olduğunu gösterir.

Ethereum anahtarlarını BIP-84 yollarıyla türetebilir miyim?

Teknik olarak anahtarları herhangi bir yolda türetebilirsiniz, ancak Ethereum geleneksel olarak BIP-44 (m/44'/60'/...) kullanır. BIP-84, Native SegWit adresleri için Bitcoin'e özgü bir standarttır. Anahtar Türetme Aracı standart Ethereum yolunu kullandığınızda Ethereum adreslerini doğru şekilde türetir. Standart dışı yollar geçerli anahtarlar üretse de hiçbir cüzdan yazılımı onları tanımaz.

Yanlış hesap indeksini kullanırsam ne olur?

Adresleri hesap 0'dan türettiyseniz ama fonlarınız hesap 1'deyse standart cüzdan taramasında görünmezler. Anahtar Türetme Aracı farklı hesap indekslerine gidip fonlarınızı hangi hesabın tuttuğunu keşfetmenizi sağlar. Çoğu cüzdan varsayılan olarak hesap 0' kullanır, ancak bazıları ek hesap oluşturmaya izin verir.

Anahtar Türetme Aracı passphrase'i nasıl ele alır?

Passphrase (25. kelime), herhangi bir BIP-32 anahtar türetimi başlamadan önce ilk seed türetim adımında (BIP-39) uygulanır. Farklı passphrase tamamen farklı bir ana seed üretir, bu da tamamen farklı bir anahtar ağacı üretir. Anahtar Türetme Aracı passphrase uygulandıktan sonraki ana seed'i gösterir; böylece doğru seed ile çalıştığınızı doğrulayabilirsiniz.

Anahtar türetimi için maksimum derinlik var mı?

BIP-32 teorik olarak keyfi derinliğe kadar türetimi destekler, ancak BIP-44 bunu beş seviyede standartlaştırır (purpose/coin/account/change/index). Beş seviyeden daha derine gitmek standart dışıdır ve yaygın cüzdan yazılımları tarafından desteklenmez. Anahtar Türetme Aracı standart beş seviyeyi destekler ve ileri seviye keşif için özel yolları kabul eder.

İlgili Rehberler