
Hiç kripto para sahibi olduysanız, neredeyse kesinlikle aynı uyarıyı duymuşsunuzdur: "tohum kelimelerini koru." Kâğıda yazılmış on iki ya da yirmi dört kelime; onları bulan herkes, dünyanın herhangi bir yerinden cüzdanınızı boşaltmak için kullanabilir. Bu tek kelime dizisi, çoğu öz-saklama (self-custody) cüzdanının ardındaki bütün güvenlik modelidir ve sorun da tam burada. Kaybedin, paralarınız gider. Birinin kopyalamasına izin verin, paralarınız gider. Bir hata, bir anlık dalgınlık, ikna edici bir oltalama sitesi; sonuç hep aynı.
2-of-2 çoklu imza, bu kırılganlığa verilen en erişilebilir yanıttır. Cüzdanınızın anahtarlarını iki cihaza böler; böylece tek başına hiçbir tohum, ekran veya imza paralarınızı hareket ettiremez. Bu yazı, bunun nasıl işlediğini, neden önemli olduğunu ve hangi saldırıları durdurup hangilerini durduramadığını açıklıyor.
Tek tohumlu hata modu
Çoğu kripto para cüzdanı — telefonunuzda, bir tarayıcı eklentisinde veya bir donanım cihazında yaşıyor olsun — tek bir sırrın etrafında inşa edilmiştir. Bu sır bir tohum kelime dizisidir: cüzdanı ilk kurduğunuzda üretilen ve o cüzdandaki her özel anahtarın matematiksel olarak türetildiği bir kelime dizisi. Tohum kelimelere sahip olan herkes, o cüzdandaki her madeni para üzerinde, desteklediği her blockchain'de tam ve geri alınamaz kontrole sahiptir.
Bu olağanüstü kullanışlıdır. Aynı zamanda tek bir hata noktasıdır.
Paralarınızı tutmayı düşündüğünüz yıllar boyunca bu sırrın nelere dayanması gerektiğini bir düşünün. Evinize giren bir hırsıza ve çekmecedeki kâğıt parçasının bulunmasına dayanması gerekir. Yangına, sele ya da meraklı bir çocuğa dayanması gerekir. Pano ve ekran görüntülerini tarayan zararlı yazılım bulaşan dizüstü bilgisayarınıza dayanması gerekir. Her oltalama e-postasına, her sahte tarayıcı açılır penceresine, kelimeleri bir "doğrulama" formuna yazmanızı isteyen her "destek" çağrısına dayanması gerekir. Bugün öngöremediğiniz, kendi gelecekteki hatalarınıza dayanması gerekir.
2022'de FBI, yalnızca ABD'li tüketicilerin kripto parayla ilgili hırsızlık ve dolandırıcılık nedeniyle 2,5 milyar doların üzerinde kayba uğradığını tahmin etti ve bu kayıpların büyük çoğunluğu ele geçirilmiş tek bir sırra dayanıyordu. Mt. Gox, Bitfinex, Ronin köprüsü — herkesin adını duyduğu her kripto felaketinin biçimi aynı: tek bir sır, tek bir ihlal, geri alınamayan tek bir transfer.
2-of-2 kurulumu şunu söylemenin bir yoludur: paralarım, çalınmış tek bir post-it kadar yokluğa yakın olmamalı.
M-of-N çoklu imza, kısaca
Çoklu imza ("multi-signature"ın kısaltması), bir işlem göndermek için birden fazla imza gerektiren bir cüzdandır. Genel biçime M-of-N denir: toplamda N anahtar vardır ve paraların hareket edebilmesi için bunlardan herhangi M tanesinin imzalaması gerekir.
<span id="signer"></span>İmzalayıcı, bu N anahtardan birini elinde tutan bir cihaz ya da taraftır. Pratikte imzalayıcı genellikle ayrı bir donanım ya da yazılım parçasıdır: telefonunuz, masanızdaki bir donanım cüzdanı, bir dizüstü bilgisayar, bir ortak imzalama hizmeti ya da güvendiğiniz bir arkadaş bile olabilir. Önemli özellik, imzalayıcıların bağımsız olmasıdır — birini ele geçirmek, saldırgana diğerlerinden herhangi birine erişim vermemelidir.
<span id="threshold"></span>Eşik (M), harcama için gereken imza sayısıdır. Eşik 2 ise, blockchain işlemi geçerli kabul etmeden önce N imzalayıcıdan ikisinin onaylaması ve kriptografik olarak imzalaması gerekir. 2-of-3 cüzdanın üç imzalayıcısı vardır ve herhangi ikisi gerekir. 3-of-5 cüzdanın beş imzalayıcısı vardır ve herhangi üçü gerekir. Eşik, cüzdanı oluşturduğunuzda sabitlenir ve onu uygulayan herhangi bir şirket değil, blockchain'in kendisidir.
Eşik ve imzalayıcı sayısı birlikte bir cüzdanın güvenlik modelini tanımlar: sizin harcayabilmeniz için kaç şeyin doğru gitmesi gerekir ve bir hırsızın harcayabilmesi için aynı anda kaç şeyin yanlış gitmesi gerekir.
2-of-2'nin kendine özgü modeli
<span id="2-of-2"></span>2-of-2 çoklu imzada eşik, toplam imzalayıcı sayısına eşittir: tam olarak iki anahtar vardır ve her harcamayı her ikisinin de imzalaması gerekir. Yedek yok, yedek imzalayıcı yok, başvurulacak bir çoğunluk yok. Ya iki cihaz da bir işlemi onaylar ya da işlem gerçekleşmez.
Bu, hâlâ anlamlı koruma sağlayan en basit çoklu imza yapılandırmasıdır. 2-of-3 ile karşılaştırıldığında kurulumu daha kolaydır — üç değil, yalnızca iki imzalayıcı yönetirsiniz — ve yedek anahtarı tutacak üçüncü bir taraf ya da konum seçmenizi gerektirmez. Bunun bedeli, 2-of-2'nin yerleşik bir kurtarma yolunun olmamasıdır: iki imzalayıcıdan biri kalıcı olarak kaybolur ya da imha olursa, artık o adresten para harcayamazsınız. 2-of-2'de kurtarma, her imzalayıcının tohumunun ayrı ayrı yedeklenmesiyle, genellikle cihazın kendisinden farklı bir yerde saklanan mühürlü kâğıt ya da çelik yedekler kullanılarak sağlanır.
Öz-saklama kullanıcısı için en yaygın 2-of-2 eşleşmesi "telefon artı donanım anahtarı" ya da "telefon artı ikinci, mühürlü bir cihaz"dır. Kullanıcı her seferinde ikisinde de imzalar.
Cüzdan adresini nasıl bulur: BIP48
<span id="bip48"></span>BIP48 — Bitcoin Improvement Proposal 48 — çoklu imza cüzdanlarına, her imzalayıcının tohum kelimelerinden açık anahtarlarını ve adreslerini yazılım sağlayıcıları arasında taşınabilir bir biçimde nasıl türeteceklerini anlatan teknik standarttır. Bir uygulamada oluşturulmuş bir 2-of-2 cüzdanın yıllar sonra farklı bir uyumlu uygulamada yeniden açılabilmesinin, denetlenebilmesinin veya kurtarılabilmesinin nedeni budur.
Basitleştirilmiş hâli: her imzalayıcının tohum kelimeleri, deterministik bir yol izleyerek bir anahtar hiyerarşisine dönüştürülür. BIP48, çoklu imza cüzdanları için tam yolu belirler — cüzdanın legacy adresleri mi, SegWit mi, yoksa native SegWit mi kullandığını kaydeden bir alan dahil — ve tohumun içinde hangi "hesabın" kullanıldığını belirten bir alan içerir. İki imzalayıcı aynı BIP48 yolu boyunca kendi açık anahtarlarını türettiğinde, cüzdan bu iki açık anahtarı tek bir çoklu imza adresinde birleştirir. Bu adrese gönderilen paralar yalnızca her iki orijinal tohumun imzalarıyla açılabilir.
Standart neden önemli? Çünkü o olmadan bir çoklu imza cüzdanı bir kara kutudan ibaret olurdu. Sağlayıcı ortadan kaybolsaydı, iki tohum kelime dizisine sahip olur ama bunların koruduğu adresi yeniden inşa etmenin taşınabilir bir yolunu bulamazdınız. BIP48, adresi yalnızca tohumların ve yolun bir fonksiyonu hâline getirir — standarda ve tohumlara sahip herkes cüzdanı, hiçbir şirkete güvenmeden, sonsuza kadar yeniden inşa edebilir.
Ethereum ve EVM zincirleri farklı bir mekanizma kullanır (akıllı sözleşme cüzdanları ve ERC-4337), ama kullanıcının görünür modeli aynıdır: iki imzalayıcı, bir adres, her ikisi de gerekli.
2-of-2 gerçekte neyi durdurur
2-of-2'nin değerini görmenin en net yolu, belirli saldırıları gözden geçirip şunu sormaktır: saldırganın birini değil, iki bağımsız cihazı ele geçirmesi gerektiğinde ne değişir?
Oltalama (phishing). Bir kullanıcı, ikna edici bir "cüzdan göçü" bağlantısına tıklar ve tohum kelimelerinden birini sahte bir sayfaya yazar. Tek tohumlu cüzdanda paralar dakikalar içinde gider — saldırgan tohumu içe aktarır ve bir transferi yayınlar. 2-of-2'de saldırgan artık cüzdanın yarısına sahiptir. Kullanıcının oltalama sayfasına asla yazmadığı, farklı bir cihazda yaşayan ikinci tohumu da çalmadan tek bir madeni para bile hareket ettiremez. Oltalama girişimi felakettan yalnızca tedirgin edici olmaya doğru iner.
Telefonda veya dizüstüde zararlı yazılım. Pano ele geçiren bir zararlı yazılım ya da bir bilgi hırsızı bir imzalama cihazını ele geçirir. Tek anahtarlı cüzdanda, o cihaz herhangi bir işlem yapmaya kalktığı anda, zararlı yazılım hedef adresi değiştirebilir ve kullanıcı işlemi kendi eliyle imzalar. 2-of-2'de ikinci cihaz, zararlı yazılımın kontrol etmediği bir ekranda kullanıcıya gerçek, değiştirilmemiş işlem ayrıntılarını gösterir. Kullanıcı tutarsızlığı görür ve ortak imzalamayı reddeder.
Kaybolan cihaz. Bir kullanıcının telefonu trende çalınır. Yalnızca PIN ile korunan tek imzalı bir sıcak cüzdanda, kararlı bir saldırgan birkaç saat içinde tohumu çıkarabilir. 2-of-2'de kaybolan telefon, iki imzalayıcıdan biridir — tek başına işe yaramaz. Kullanıcının, hayatta kalan imzalayıcı artı telefonun tohum yedeğini kullanarak parayı yeni bir adrese taşımak için zamanı vardır.
Zorlama ("5 dolarlık İngiliz anahtarı saldırısı"). Fiziksel erişime sahip biri kullanıcıdan tohum kelimelerini ister. Tek tohumla boyun eğmek tam kayıp anlamına gelir. İki imzalayıcının farklı fiziksel yerlerde — örneğin biri evde, biri banka kasasında veya biri güvenilen bir ortak imzalama hizmetinde — yaşadığı 2-of-2'de kullanıcı, gerçekten bir transferi yerinde tamamlayamaz. Saldırgan, böyle saldırıları en başta cazip kılan anlık ödülden mahrum kalır.
Her durumda altta yatan ilke aynıdır: aynı kısa zaman penceresinde iki bağımsız ihlal, birinden çok daha zor bir sorundur.
2-of-2'nin koruma sağlamadığı şeyler
Çoklu imza sihir değildir. Kötü niyetli bir işlemi bilerek imzalamaya karşı korumaz: iki cihazınız da aynı yanlış hedef adresi gösteriyorsa ve siz yine de onaylıyorsanız, blockchain'in bunu bilmesinin bir yolu yoktur. İki yedeği de aynı yangında veya selde kaybetmeye karşı korumaz, bu yüzden iki yedek fiziksel olarak ayrı yerlerde durmalıdır. Cüzdan yazılımının kendisindeki hatalara karşı korumaz; gerçi bu cüzdanların açık kaynak ve BIP48 ile taşınabilir doğası, bu tür hataların kapalı bir saklama sisteminin asla izin vermeyeceği biçimde denetlenip aşılabileceği anlamına gelir. Ve yeterince ikna edici bir dolandırıcılığa karşı kullanıcının kendisinin, iki cihazda da gönüllü olarak paralarını imzalayıp teslim etmesine karşı korumaz. Eşik çıtayı yükseltir; kullanıcıyı sürecin dışına çıkarmaz.
Kendiniz deneyin
2-of-2 çoklu imzayı içselleştirmenin en yararlı yolu, birini kurup gerçek bir işlemin yayınlanmadan önce iki onay gerektirdiğini izlemektir. SSP Wallet, tam olarak bu modelin etrafında, kutudan çıkar çıkmaz tasarlanmıştır — telefonunuz ve tarayıcınız iki imzalayıcı olarak hareket eder ve perde arkasında saklanan tek tohumlu bir kip yoktur.
İlk SSP cüzdanınızı kurma sayfası eşleşmeyi, yedeklemeyi ve ilk imzalı işlemi adım adım anlatır.


