k-of-n Eşiği Nedir? (Çoklu İmza ve Sosyal Kurtarma, Anlatıldı)

İki anahtar sahibi için yapılmış bir banka kasası, hangi ikisinin geldiğini umursamaz. Anahtarı olan üç kişiden herhangi ikisi onu açabilir; tek başına biri açamaz. Bu, k = 2 ve n = 3 olan bir k-of-n eşiğidir ve arkasındaki fikir, herhangi bir cüzdandan, herhangi bir blok zincirinden ve bugün onu kullanan herhangi bir şirketten daha eskidir.

Düz tanım

Bir k-of-n eşiği, bir sır üzerindeki ya da bir şeyi imzalama hakkı üzerindeki yetkiyi n katılımcı arasında öyle böler ki, onlardan herhangi k tanesi birlikte hareket ederek onu kullanabilir, herhangi k-1 tanesi birlikte hareket ederek hiçbir şey yapamaz. 3-of-5 seçin: beş kişiden herhangi üçü yeter ve gizli anlaşma yapan ya da ele geçirilmiş iki katılımcı hiçbir yere varamaz. 2-of-2 seçin, iki anahtarlı kasayı ya da bir bankanın büyük bir havalede çift imza şartını tarif etmiş olursunuz.

Asıl önemli olan sayı tek başına k ya da n değildir: aradaki farktır, çünkü bir saldırganın aşması gereken şey o farktır. Bir k-of-n düzeni, "bu kırılabilir mi?" sorusunu tek bir kilidin yanıtladığı gibi yanıtlamaz. "Kırılmadan önce kaç tarafın gizli anlaşma yapması gerekir?" sorusunu yanıtlar. k'yı n'ye göre yüksek tutun, gizli anlaşma zorlaşır, ama katılımcılar ulaşılmaz olursa sıradan kullanım da zorlaşır. k'yı düşük tutun, tersi doğru olur. Bu fikrin her gerçek uygulaması, somutlaşmış hâliyle o takastır.

Nereden geliyor

İki kişi bu problemi aynı yıl, iki farklı matematik türüyle ve birbirinin çalışmasından habersiz çözdü. Adi Shamir'in 1979 tarihli "How to Share a Secret" makalesi (Communications of the ACM, Vol. 22, No. 11), bir sırrı k-1 dereceli rastgele bir polinomun sabit terimi olarak kodlar ve her katılımcıya o eğri üzerinde bir nokta verir. Herhangi k nokta polinomu, dolayısıyla sırrı, tek biçimde belirler; herhangi k-1 nokta hiçbir şey belirlemez, yalnızca pratikte değil matematiksel olarak. G. R. Blakley aynı yıl geometrik uzayda kesişen hiperdüzlemleri kullanan bağımsız bir kuruluş yayımladı: sır bir noktadır, her pay o noktadan geçen bir hiperdüzlemdir ve herhangi k hiperdüzlem tam olarak o noktada kesişirken k-1 tanesi bütün bir olasılıklar doğrusunu açık bırakır.

Çoklu imza cüzdanları, aynı fikrin sır bölmeye değil imzalamaya uygulanmış hâlidir: Bitcoin'in P2SH biçimi, "harcamak için n imzadan k tanesini iste"yi, çoğu yazılım cüzdanı var olmadan yıllar önce yerel bir betik ilkeli yaptı. Bu, onlarca yıllık, hakem denetimli, açıkça belgelenmiş kriptografi ve mühendislik pratiğidir. Tek bir şirket tasarlamadı ve hiçbir şirket örüntüyü icat ettiğini iddia edemez; onu aşağıda tek bir özgül, daha dar probleme uygulayan Solidus dahil.

k-of-n neyi garanti eder, neyi etmez

Garanti kesindir, düzenin güvenilir olmasının sebebi de budur: k'dan az katılımcı, birlikte hareket ederek yetkiyi kullanamaz; "zordur" değil, hangi k-1 oldukları fark etmeksizin yapısal olarak yapamaz. k ya da daha fazla katılımcı, hangi k oldukları fark etmeksizin kullanabilir; düzen kimliği değil yalnızca sayıyı umursar.

Garanti etmediği şey, katılımcıların kendileri hakkındaki her şeydir. Bir k-of-n eşiği, gelen k kişinin güvenilir mi, zorlama altında mı, yoksa kasten gizli anlaşma içinde mi olduğu hakkında hiçbir şey söylemez. Bütün kuruluşun güvenliği tümüyle k ile n'yi ve arkalarındaki gerçek insanları ya da cihazları iyi seçmeye dayanır. Eşiği çok düşük tutun, küçük ve makul bir komplo onu aşar. Çok yüksek tutun, katılımcıların çevrimdışı olması ya da ulaşılmaz hâle gelmesinin gündelik riski, meşru sahibi kendi yetkisinden kilitlemeye yeter. Basitçe "güvenli" olan bir k-of-n yapılandırması yoktur; yalnızca belirli bir tehdit modeline uyan ya da uymayan yapılandırmalar vardır.

Solidus'un koruyucu kurtarması, tanım değil işlenmiş bir örnek

Solidus'un cüzdanı bu örüntüyü özgül bir probleme uyguluyor: kaybolmuş ya da ele geçirilmiş bir anahtarı, bir tohum ifadesi olmadan ve geçersiz kılma yetkisi tutan bir şirket olmadan kurtarmak. Bir kullanıcı bir koruyucu kümesi ve bir eşik adlandırır, n içinden k, ve o koruyuculardan herhangi k tanesinin ortak imzalaması cüzdanın kimliğini yeni bir anahtara döndürmeye yeter. Zincirin kendi yürütücüsü, döndürmeyi kabul etmeden önce eşiğin gerçekten karşılandığını kontrol eder; hiçbir destek masası ya da arka uç işletmecisi onu kendi sözüyle onaylayamaz.

Bu, genel örüntünün işlenmiş bir örneğidir; genel olarak çoklu imza cüzdanlarının ve Argent'ınki gibi diğer sosyal kurtarma uygulamalarının yanında, fikrin kaynağı değil ve onu uygulamanın tek yolu da değil. Tamamlanmış bir kurtarmanın neye mal olduğu dahil tam mekanizma Sosyal Kurtarma ve Tohum İfadeleri sayfasında ele alınır; bu sayfa onu yeniden anlatmayacak.

Herhangi bir cüzdanı değerlendiriyorsanız bu neden önemli

Bir cüzdanın koruyucu kurulum ekranı bir dahaki sefere bir eşik sayısı istediğinde ya da bir hizmet kendine "çoklu imza" dediğinde, sorulmaya değer soru altta yatan matematiğin çalışıp çalışmadığı değildir: Shamir'in ve Blakley'in kuruluşları 46 yıldır ayakta. Soru, seçilen k ve n'nin işin içindeki gerçek insanlara uyup uymadığı ve onlardan n-k+1 tanesine erişimi kaybetmenin rahat olduğunuz bir risk olup olmadığıdır. Düzen, yalnızca yapılandırıldığı tehdit modeline karşı korur.

Genel tek kavram sürümü için Lexicon'daki k-of-n Eşiği girdisine bakın. Kurtarmanın özel olarak Solidus'ta neye mal olduğu için bkz. Sosyal Kurtarma ve Tohum İfadeleri. Bir tohum ifadesinin gerçekten gittiği gün ne olduğu, yani bu örüntünün yanıtlamak için kurulduğu daha eski problem için bkz. Bir Tohum İfadesini Kaybettiğinizde Ne Olur.

Okumaya devam edin

k-of-n Eşiği Nedir? (Çoklu İmza ve Sosyal Kurtarma, Anlatıldı) · Solidus