
Bu seride multisig nedir'den beri buralardaysanız, protokolü biliyorsunuz: para hareket etmeden önce birden fazla özel anahtarın imzalaması gerekir. M-of-n seçicisini, BIP48 kablolamasını, Schnorr toplama ufkunu ve social-recovery karşılaştırmasını gördünüz. Bunların tümü makinedir. Bu yazı deneyim hakkındadır.
Multisig'in dürüst tarihsel eleştirisi, kullanım için düşmanca olmasıdır. Birden fazla cüzdan, manuel PSBT karıştırma, koordinatör yazılımı, imza partileri — protokol sağlamdı ama UX bir cezaydı. Single-signer multisig, bunu düzelten ürün fikri: zincirde tam bir multisig harcama kuralı kullanan, ancak — onu kullanan kişi için — bir düğmesi olan tek bir cüzdanmış gibi hissettiren bir cüzdan. SSP bu fikir etrafında inşa edildi.
TL;DR
- "Single-signer" bir anahtar demek değil. Protokolün hala
madetnanahtara sahip olduğu, ama imzalama UX'inin tek bir akışta toplandığı anlamına gelir. Kullanıcı tek bir yerde imzalar; cüzdan cihazlar arası koordinasyonu üstlenir. - SSP'nin spesifik biçimi: bir tarayıcı uzantısı, bir mobil uygulama (SSP Key), bir cüzdan kimliği. Send'a tıklarsınız, telefonda onaylarsınız, işlem yayınlanır. İki imza gerçekleşir; siz birini yaşarsınız.
- Kazanç şudur: eşik faydası (hırsızlık direnci, tek hata noktası yok) korunurken koordinasyon maliyeti single-sig UX'e yakın düşer.
- Maliyeti şudur: bu yalnızca her iki cihazınızın da erişilebilir olduğu sürece işler. UX'in multi-liği açığa çıkarması gerektiği an — kurtarma, cihaz değişimi, üçüncü tarafta geri yükleme — soyutlama kırılır, tasarım gereği.
- Bu desen, retail ölçekte solo self-custody için "uzlaşmasız" yanıta en yakın şeydir. SSP'nin bahsidir ve giderek her modern multisig ürününün bahsidir (Coinbase Wallet, Phantom'un evrilen custody hikayesi, Ethereum'da Safe'in smart-account akışı).
Single-signer ideali: kullanıcıların gerçekten ne istediği
Bir self-custody kullanıcısına ne istediğini sorarsanız, birbiriyle çelişen yanıtlar alırsınız:
- "Coin'lerimin güvende olmasını istiyorum." — Multisig, donanım, yedeklemeyi ima eder.
- "Bir işlemi beş saniyede imzalamak istiyorum." — Tek cihazı, tek dokunuşu ima eder.
- "Bir şey kaybedersem kurtarmak istiyorum." — Seed yedeklemelerini, yedeklemeyi ima eder.
- "Bir daha asla seed yazmak istemiyorum." — Platform yönetimli anahtar custody'sini ima eder.
- "Ucuz olsun." — Minimal zincir üstü ayak izini ima eder.
Bu hedefler hepsi hizalanmaz. Self-custody cüzdan tasarımının tarihi, hangi hedeflerin onurlandırılacağı ve hangilerinin nazikçe reddedileceğinin tarihidir. Donanım cüzdanları güvenliği ve kurtarmayı UX maliyetine onurlandırır. Smart-contract cüzdanları UX ve kurtarmayı cross-chain erişim maliyetine onurlandırır. Saf hot wallet'lar UX ve ucuzluğu güvenlik maliyetine onurlandırır.
Single-signer multisig, protokol semantiğini arayüz semantiğinden ayırarak beşi de — kısmen — onurlandırma girişimidir. Cüzdan, zincir üstünde tam multisig dansını hala yapar; kullanıcı sadece bu dansa işlem başına birden fazla kez katılmak zorunda değildir.
SSP bunu nasıl sunar
SSP'nin spesifik uygulaması, açıkça:
- Kurulumda, tarayıcı uzantısını ve mobil uygulamayı (SSP Key) yüklersiniz. Her biri kendi seed'ini üretir; bunları ayrı ayrı yedeklersiniz (bu, ilk 1000 kontrol listesi adımıdır). İki cihaz açık anahtarları takas eder; o noktadan itibaren protokol düzeyinde tek bir cüzdan kimliğini paylaşırlar.
- Günlük imzalamada, tarayıcı uzantısında Send'a tıklarsınız, işlemi inceler ve onaylarsınız. Uzantı kısmen imzalı bir işlem oluşturur ve telefonunuza bir bildirim gönderir. Mobil uygulama işlem ayrıntılarını gösterir, onayla'ya dokunursunuz, uygulama ikinci imzayı üretir. Uzantı iki imzayı birleştirip yayınlar. Toplam geçen süre: her iki cihaz da önünüzdeyken yaklaşık 8 saniye.
- Alımda, gösterilen adres iki xpubs'tan BIP48 türetilen multisig adresidir. Tarar veya kopyalarsınız; gönderici olağandışı bir şey görmez. Onun tarafından başka herhangi bir kripto adresi gibi görünür.
- Mutabakatta, cüzdan size bakiyeleri, geçmişi, ücretleri vb. tek imzalı bir cüzdanla aynı şekilde gösterir. Ayrı bir "multisig ekranı" yok. Protokol şekli normal kullanım sırasında görünmez.
Anahtar tasarım seçimi şudur: kullanıcının düşünmek zorunda olduğu tek multi-lik, ikinci imzadır. Kurulum iki cihazdır, imzalama bir ekstra dokunuştur ve kullanıcı bakış açısından multisig protokolünün tüm yüzeyi budur.
Küçük ama önemli bir ayrıntı: SSP tarayıcı uzantısı ve SSP Key birlikte konumlandırılmamıştır. Farklı OS'larda, farklı donanımda, farklı saldırı yüzeylerindeler. İki imzalı kurulumun yalnızca UX hız tümseği değil gerçek bir hırsızlık bariyeri olmasını sağlayan budur. (Bunu yedi arıza modu yazısında ve 2-of-2 multisig nedir içinde açıklarız.)
Kullanıcının asla görmediği şeyler
Kullanıcıyı multisig tesisatıyla uğraşmaktan uzak tutmak için bir sürü iş gider. Spesifik olarak:
- PSBT (Partially Signed Bitcoin Transactions), birlikte imzalayan cihazlar arasında dolanan iri veri yapılarıdır. Geleneksel bir multisig kurulumunda bunları manuel olarak kopyala-yapıştır yaparsınız. SSP bunları kendi koordinasyon kanalı üzerinden serileştirip iletir; kullanıcı bir bildirim görür, base64 dizesi değil.
- Cosigner xpub takası, tek seferlik bir kurulum olayıdır. Geleneksel multisig'te her cosigner'dan xpubs'ları açıkça içe aktarırsınız. SSP bunu kurulumdaki eşleştirme akışında sarar; bir QR kodu veya altı haneli bir kodu onaylarsınız ve alttaki materyale asla dokunmazsınız.
- Ücret tahmini, para üstü yönetimi ve adres rotasyonu, cüzdan tarafından tıpkı single-sig cüzdanların yaptığı gibi ele alınır — cüzdanın kendisi içeride multisig olmasına rağmen.
- Redeem script — multisig kuralını tanımlayan BIP48-kanonik script — cüzdan tarafından otomatik olarak oluşturulur. Kullanıcılar onu görmez, satır satır onaylamaz, var olduğunu bilmeleri gerekmez. (Eğer bakarlarsa block explorer'da görebilirler; bu, multisig cüzdanlarının en temiz "işini göster" özelliğidir.)
Bütün bu soyutlama gerekli bir iştir ama aynı zamanda risktir — protokol kullanıcıdan her gizlendiğinde, cüzdan gizli kısmı doğru yapma sorumluluğunu üstlenir. SSP'nin denetim çalışması (Halborn) büyük ölçüde tam da bu görünmez kod yolları üzerinedir.
Single-signer hissi ne zaman kaybolur
Soyutlama kusursuz değildir ve nerede kırıldığını bilmek önemlidir. Single-signer UX, her iki cihaz da kullanılabilir olduğu sürece tutar. Çatlaklar biri kullanılabilir olmadığında ortaya çıkar:
- Cihaz değişimi. Telefonunuzu değiştirdiğinizde, yeni cihazın yeniden eşleştirilmesi gerekir. Bu tek seferlik bir multisig koordinasyon adımıdır ve gerçekten görünür — cüzdan her iki cihazı birbirine yeniden göstererek size yol gösterir.
- Seed kurtarma. Bir cihaz tahrip olursa, onu seed phrase'inden yeni bir cihaza kurtarır ve yeniden eşleştirirsiniz. İki seed'inizin (cihaz başına bir tane) olduğu gerçeği bu anda normal kullanımda olmadığı bir biçimde görünür hale gelir.
- Cross-software kurtarma. Bir gün iki SSP seed'inizi üçüncü taraf bir multisig cüzdana (Sparrow, Electrum vb.) yüklerseniz, multisig tesisatının tümü görünür hale gelir — bu bir hata değil bir özelliktir, çünkü cüzdanınızın birlikte çalışabilir olduğunu kanıtlar — ancak SSP UX'i değildir.
- Bir cihaz çevrimdışıyken harcama. Cüzdan, iki cihaz olmadan birlikte imzalayamaz; o protokoldür. Diğer cihaz çevrimiçi olana kadar bir "ikinci imza bekleniyor" durumu görürsünüz.
İlk üçü, ortalama UX'i gerçekten kötüleştirmeyecek kadar nadirdir. Dördüncüsü en yaygın sürtünme noktası — ve doğru sürtünme noktasıdır. Cüzdan ikinci cihaz olmadan harcama yapmanıza izin verseydi, artık 2-of-2 cüzdan olmazdı. Bu sürtünme güvenliktir; bunu mühendislikle gideremezsiniz; ödediğiniz özelliği geri almadan.
Single-signer UX'i çevreleyen tasarım
SSP — ve diğer modern multisig ürünleri — bu soyutlamayı sıkı tutmak için izlediği üç tasarım ilkesi:
- İki cosigner farklı tehdit yüzeylerinde yaşamalıdır. Her iki cosign anahtarını aynı OS'ta tutan bir cüzdan gerçekten güvenlik faydasını sağlamıyordur; sadece tek bir saldırı yüzeyini iki kilide yaymıştır. SSP'nin tarayıcı uzantısı ile mobil uygulama arasındaki bölünmesi bunu doğal olarak dayatır.
- Koordinasyon kanalı taklit edilemez olmalıdır. Bir tarayıcı uzantısının mobil uygulamaya gönderdiği PSBT, doğru cüzdana ve doğru işleme kriptografik olarak bağlı olmalıdır; aksi takdirde soyutlama kendi başına bir saldırı yüzeyi olur. SSP bu materyali protokol katmanında imzalar ve doğrular.
- Kullanıcı sözleşmesi, neyin gizlendiği konusunda dürüst olmalıdır. "Tamamen trustless single-signer deneyimi" söyleyen ama kurtarmada ne olduğunu açıklamayan cüzdanlar kullanıcıları hoş olmayan bir sürprize hazırlar. SSP'nin onboarding'i her iki seed'i, her iki yedeklemeyi ve her iki kurtarma senaryosunu açıkça gezdirir — soyutlama kullanım sırasında gizlidir ama daha sonra sizi pusuya düşürmemek için onboarding'de açığa çıkarılır.
Ethereum'daki account abstraction cüzdanları dördüncü bir araca sahiptir: smart-contract katmanı. ERC-4337 ile bir cüzdan, gaz ücretlerini absorbe edebilir, işlemleri toplu işleyebilir ve daha da "single-signer benzeri" bir UX sunabilir ve altta multisig'i uygulayabilir. SSP'nin bu katmanı Bitcoin'de yoktur (smart contract yok), bu nedenle soyutlama zincir tarafı absorpsiyondan çok UX mühendisliğine dayanır. Her iki yol da geçerlidir; Ethereum yolu zincir özelliğine sahip olma pahasına daha esnektir, SSP yolu daha fazla UI işi pahasına daha taşınabilirdir.
Bu, sizin için ne anlama gelir
Üç çıkarım:
- "Tek cüzdan gibi hissettirme" deneyimi başlık özelliği, multisig'in kendisi değil. Arkadaşınız "SSP bir multisig cüzdanı mı?" diye sorarsa, teknik olarak doğru cevap evet ama yararlı cevap "telefonda bir dokunuşun bir harcamayı onayladığı 2 cihazlı bir cüzdan"dır. İnsanların gerçekten hissettiği şeyi yakalar.
- Gördüğünüz sürtünme gerçek bir iş yapıyor. SSP her telefonda onaylamanızı istediğinde, tehlikeye atılmış bir laptop'un fonlarınızı boşaltmasını durduran protokolü uyguluyor. Bu sürtünme öncelikle hot wallet yerine 2-of-2 cüzdan kullanmanızın ana nedenidir.
- Soyutlamayı sihir değil, bir sözleşme olarak ele alın. Bu serideki son yazı, Multisig arıza modları ve SSP onları nasıl azaltır, soyutlamanın her parçası kırıldığında ne olduğunu adım adım anlatır — cihaz kaybı, anahtar tehlikesi, imzalama sunucusu kesintisi. Bir kez okuyun. Soyutlama iyi tasarlanmıştır, ama arıza modlarını anlamak, bu tüm serinin yöneldiği self-custody kullanıcısı türü olmanızı sağlayan şeydir.


