Hədd imzanın iş prinsipi
Əsas səhifə
Məqalələr
Hədd imzanın iş prinsipi

Hədd imzanın iş prinsipi

İrəli
Dərc edilmişdir Jul 21, 2019Yenilənib Apr 29, 2021
12m

Müəllif: Ömər Şlomovits, ZenGo.

Hədd imza sxemi (TSS) paylanmış açarın yaradılması və imzalanması üçün kriptoqrafik üsuldur. Blokçeyn klientlərində TSS-nin istifadəsi, xüsusən də təhlükəsizlik baxımından bir çox üstünlüklər təklif edən yeni bir yanaşmadır. Daha geniş mənada TSS əsas idarəetmə sistemlərinin (məsələn, kriptovalyuta pul kisələri) dizaynına təsir göstərə bilər və DeFi istifadə hallarında lokal dəstək üçün yol aça bilər. Bununla belə, TSS hələ də yeni texnologiyadır, ona görə də onun riskləri və məhdudiyyətlərindən xəbərdar olmaq vacibdir.

Bu məqalədə biz TSS-nin nə olduğunu, onun blokçeyn məkanı üçün potensial üstünlüklərini, blokçeyn klientində necə həyata keçirilə biləcəyini, Şamir sxemi və Multi-imza ilə necə müqayisə edildiyini, paylanmış açarların idarə edilməsi üçün TSS-dən istifadənin müxtəlif yollarını və nəhayət, riskləri və məhdudiyyətləri müzakirə edəcəyik.


Kriptoqrafiyanın gücü

TSS-ni başa düşmək üçün əvvəlcə kriptoqrafiya haqqında bəzi əsas biliklərə ehtiyacımız var. 1970-ci illərdən bəri getdikcə daha çox İnternet sistemləri (məsələn, TLS və PGP) ictimai açar kriptoqrafiyası (PKC) kimi də tanınan asimmetrik kriptoqrafiyadan istifadə edir. PKC iki açardan istifadə edir: bir ictimai və bir şəxsi. İctimai açar sirr deyil, dərc edilə və hər kəs tərəfindən istifadə oluna bilər, şəxsi açar isə sistemi təhlükəsiz saxlayan gizli məlumatdır.

Şifrələmə və rəqəmsal imzalar PKC üçün ən çox yayılmış iki istifadə üsuludur. Həm şifrələmə, həm də rəqəmsal imza sxemləri üç alqoritm dəstinə əsaslanır. Birincisi, şəxsi və ictimai açar cütlərinin yaradılması, ikincisi, şifrəli mətnin/imzanın yaradılması, üçüncüsü isə deşifrələmə/doğrulama prosesidir. Rəqəmsal imzalara gəldikdə, imza alqoritmi unikal imza yaratmaq üçün yalnız sahibinə məlum olan şəxsi açarı tələb edir. İmza mesaja əlavə edilir ki, ictimai açarı olan hər kəs onun həqiqiliyini və düzgünlüyünü doğrulaya bilsin.


Blokçeyn

Blokçeynin çox güclü texnologiya olduğu aydındır. O, hadisələri təşkil edən və qeyd edən konsensus qatını təmin edir. Bu infrastruktur bizə, yəni istifadəçilərə mərkəzləşdirilməmiş iqtisadiyyatlar və hətta hökumətlər qurmaq potensialı verir. Təəccüblüdür ki, əsas blokçeyni idarə etmək üçün lazım olan kriptoqrafiya yalnız rəqəmsal imzalara əsaslana bilər. Blokçeyn kontekstində şəxsi açarlar istifadəçiləri təmsil edir, imza isə istifadəçi tərəfindən edilən ictimai bəyanat və ya iddiadır. Blokçeyn bəyanatları təşkil edəcək və imzaların həqiqiliyini və düzgünlüyünü təmin edən bir sıra qaydalara uyğun olaraq təsdiq edəcək.

Blokçeyndə istifadə olunan daha ənənəvi kriptoqrafiyadan fərqli olaraq, müasir kriptoqrafiya alət qutusuna bəzi inanılmaz vasitələr daxildir: bunlardan bir neçəsi sıfır məlumat sübutları, homomorfik şifrələmə və çoxtərəfli hesablamadır. Son onillikdə blokçeyn tədqiqatı tətbiqi kriptoqrafiyanı əhəmiyyətli dərəcədə inkişaf etdirib və yuxarıdakı sahələrin hamısında və onlardan kənarda böyük nailiyyətlərə səbəb olub. 

Bu məqalədə biz bu cür tək bir irəliləyişin üzərində dayanacağıq: effektiv, təhlükəsiz hədd imzaları (TSS).


MPC və hədd imza sxemi (TSS)

Çoxtərəfli hesablama (MPC) təxminən 40 il əvvəl Endryu Tsiçji Yaonun qabaqcıl işi ilə başlayan kriptoqrafiya sahəsidir. MPC-də bir-birinə etibar etməyən bir qrup tərəf öz daxiletmələri əsasında nəticəni hesablamaq üçün birlikdə işləyir və bu daxiletmələri heç kimə açıqlamırlar. 

Məsələn, bir şirkətdə kimin daha çox qazandığını öyrənmək istəyən, lakin faktiki maaşlarını bir-biri ilə bölüşməyən n sayda işçi olduğunu təsəvvür edin. Burada şəxsi daxiletmələr maaşlardır, nəticə isə ən yüksək maaş alan işçinin adı olacaq. MPC-dən istifadə edərək bu hesablamanı aparsaq, hesablama zamanı heç bir maaş məlumatı sızmaz. 

MPC-nin iki əsas xüsusiyyəti düzgünlük və məxfilikdir:

  • Düzgünlük: alqoritm tərəfindən əldə edilən nəticə düzgündür (gözlənildiyi kimi).

  • Məxfilik: bir tərəfin saxladığı məxfi daxiletmə məlumatları digər tərəflərə sızmayacaq.

Rəqəmsal imzanı paylanmış şəkildə hesablamaq üçün MPC-dən istifadə edəcəyik. Yuxarıdakı xüsusiyyətlərin imzalara necə tətbiq oluna biləcəyinə baxaq. Xatırladaq ki, imzalar üçün üç addım var: 

  • Açarın yaradılması: ilk, həm də ən mürəkkəb addım. Biz ictimai olacaq və gələcək imzaları doğrulamaq üçün istifadə ediləcək açar yaratmalıyıq. Ancaq biz həm də hər bir tərəf üçün şəxsi açarın fraqmenti kimi adlandırdığımız unikal bir fraqment yaratmalıyıq. Düzgünlük və məxfiliyi təmin etmək üçün funksiya hər bir tərəfə eyni ictimai açar, lakin fərqli şəxsi açar fraqmenti verəcək. Bu o deməkdir ki: (1) məxfilik: şəxsi açarın heç bir fraqmenti tərəflər arasında paylaşılmır və (2) düzgünlük: ictimai açar şəxsi açarın fraqmentindən əldə edilir.

  • İmzalama: bu addım imza yaratma funksiyasını ehtiva edir. Hər bir tərəfin daxiletməsi əvvəlki addımın (paylanmış açar yaratma prosesinin) nəticəsi kimi yaradılmış şəxsi açarın fraqmenti olacaq. Bir də ictimai daxiletmə var ki, bu da hamının bildiyi və imzalayacağı mesajdır. Nəticə rəqəmsal imza olacaq. Məxfilik xüsusiyyəti hesablama zamanı şəxsi açar fraqmentlərinin sızmasının qarşısını alır.

  • Doğrulama: doğrulama alqoritmi klassik parametrdə olduğu kimi qalır. Tək açar imzaları ilə uyğun olması üçün ictimai açarı bilən hər kəs imzaları doğrulaya və təsdiq edə bilməlidir. Blokçeyn doğrulama qovşaqlarının etdiyi tam olaraq budur.

Hədd imza sxemi (TSS) paylanmış açar yaratma (DKG) və hədd imza sxemində paylanmış imzalamanın kombinasiyası üçün istifadə edilən termindir.


TSS-nin blokçeynlərlə birləşdirilməsi

TSS-nin blokçeyndə istifadə oluna biləcəyi təbii yol TSS-dən istifadə edərək açarlar və imzalar yaratmaq üçün blokçeyn klientini dəyişdirməkdir. Burada tam qovşaq tərəfindən yerinə yetirilən əmrlər toplusuna istinad etmək üçün blokçeyn klienti terminindən istifadə edirik. Təcrübədə TSS texnologiyası bizə şəxsi açarla əlaqəli bütün əmrləri paylanmış hesablamalarla əvəz etməyə imkan verir.

Bunu daha ətraflı izah etmək üçün əvvəlcə klassik blokçeyn dizaynında yeni ünvanların necə yaradıldığını qısaca təsvir edək.  Sadə dillə desək, yeni bir ünvan şəxsi açar yaratmaqla və sonra həmin şəxsi açardan ictimai açar əldə etməklə yaradılır. Son olaraq isə ictimai açardan blokçeyn ünvanı yaradılır.

TSS ilə bir qrup n tərəf ictimai açarı müəyyən etmək üçün birlikdə işləyəcək, hər biri şəxsi açarın gizli fraqmentinə sahib olacaq (bu fərdi fraqmentlər digər tərəflərə açıqlanmayacaq). Ünvanı ənənəvi sistemdə olduğu kimi ictimai açardan əldə etmək olar ki, bu da blokçeyni ünvan yaratmaq üçün istifadə olunan üsula laqeyd edir. Üstünlük ondan ibarətdir ki, şəxsi açar artıq tək uğursuzluq nöqtəsi deyil, çünki hər bir tərəf onun yalnız bir hissəsini saxlayır. 

Eyni şey tranzaksiyaları imzalayarkən də edilə bilər. Bu halda, bir tərəf öz şəxsi açarı ilə imzalamaq əvəzinə, bir çox tərəf arasında paylanmış imza yaratma prosesi həyata keçirilir. Beləliklə, hər bir tərəf kifayət qədər vicdanlı davrandığı müddətcə etibarlı imza yarada bilər. Yenə lokal hesablamadan (tək uğursuzluq nöqtəsi) interaktiv hesablamaya keçdik.

Qeyd etmək vacibdir ki, paylanmış açar yaratma prosesi müxtəlif giriş strukturlarını dəstəkləmək üçün konfiqurasiya edilə bilər. Ümumi "t out of n" (n-dən t) konfiqurasiyası təhlükəsizliyə xələl gətirmədən şəxsi açar ilə əlaqəli əməliyyatlarda t-yə qədər ixtiyari uğursuzluğa davam gətirə bilər.


TSS ilə müqayisədə multi-imza

Bəzi blokçeynlər proqram təminatının daxili və ya proqramlaşdırıla bilən bir hissəsi kimi TSS funksionallığını təklif edir. Biz bu funksiyanı multi-imza adlandırırıq. Fərqləri daha yaxşı başa düşmək üçün multi-imzanı blokçeynin tətbiqi qatında həyata keçirilən TSS növü kimi nəzərdən keçirə bilərik.

Başqa sözlə, həm multi-imza, həm də TSS oxşar məqsədləri hədəfləyir, lakin TSS zəncirxarici kriptoqrafiyaya əsaslanır, multi-imza isə zəncir daxilində baş verir. Bununla belə, blokçeyn multi-imzanı kodlaşdırmaq üçün bir üsul tələb edir ki, bu da blokçeyndə giriş strukturunu (imzalayanların sayı) ifşa etməklə məxfiliyə xələl gətirə bilər. Multi-imza tranzaksiyaları daha baha başa gəlir, çünki fərqli imzalayanların təfərrüatları da blokçeyndə ötürülməlidir.

TSS-də imzalayanların təfərrüatları adi görünən tranzaksiyaya inteqrasiya olunur ki, bu da xərcləri azaldır və məxfiliyi qoruyur. Digər tərəfdən, multi-imza qeyri-interaktiv ola bilər ki, bu da müxtəlif imzalayanlar arasında mürəkkəb rabitə qatını idarə etmək problemini aradan qaldırır.

Əsas fərq ondan ibarətdir ki, multi-imza hər bir blokçeyn üçün spesifikdir və hər biri üçün yenidən həyata keçirilməlidir və bəzi hallarda hətta dəstəklənməyə də bilər. Bunun əksinə olaraq, TSS sırf kriptoqrafiyaya əsaslanır, ona görə də dəstək həmişə mümkündür. Burada fərqlər haqqında illüstrasiyaları göstərən əla bir məqalə tapa bilərsiniz.


TSS ilə müqayisədə Şamir sxemi

Şəxsi açarın paylaşılması üzrə Şamir sxemi (SSSS) şəxsi açarı hissələrə bölmək və həmin hissələri müxtəlif yerlərdə saxlamaq üsuludur. Bu yolla, şəxsi açar heç vaxt bir yerdə saxlanmır və əlavə təhlükəsizlik qatı təmin edilir. SSSS və TSS arasında iki fərq var:

  • Açar yaratma: SSSS-də "diler" kimi tanınan tək bir tərəf şəxsi açarın gizli fraqmentlərinin yaradılmasına cavabdehdir. Bu o deməkdir ki, açar yaratma zamanı şəxsi açar bir yerdə yaradılır və sonra diler tərəfindən müxtəlif yerlərə paylanır. TSS-də heç bir diler yoxdur; əvəzində onun rolu elə paylanır ki, tam şəxsi açar heç vaxt bir yerdə saxlanmasın.

  • İmzalama: SSSS-də tərəflər imzalamaq üçün tam şəxsi açarı yenidən qurmalıdırlar ki, bu da hər dəfə imza tələb olunduqda tək uğursuzluq nöqtəsi yaradır. TSS-də imza prosesi gizli fraqmentlərin yenidən qurulmasına ehtiyac olmadan paylanmış şəkildə həyata keçirilir.

Gördüyümüz kimi, TSS-də şəxsi açar (sistemin təhlükəsizliyini təmin edir) bütün ömrü boyu heç vaxt bir yerdə saxlanmır.


Hədd pul kisələri

TSS texnologiyasına əsaslanan pul kisəsi ənənəvi kriptovalyuta pul kisələrindən bir qədər fərqlidir. Tipik olaraq, adi pul kisəsi toxum frazası yaradır və ondan ünvanları müəyyən etmək üçün istifadə edir. İstifadəçi daha sonra bu iyerarxik deterministik (HD) strukturdan 1) pul kisəsi ünvanlarına uyğun gələn şəxsi açarlara daxil olmaq və onlarla tranzaksiyaları imzalamaq, habelə 2) toxum frazasından istifadə edərək bütün pul kisəsi açarlarını bərpa etmək üçün istifadə edə bilər.

Hədd pul kisəsində işlər daha mürəkkəbdir. HD strukturunu yaratmaq mümkün olsa da, onun yaradılması başqa bir MPC protokolundan istifadə etməklə paylanmış şəkildə aparılmalıdır. Tərəflər istifadə olunacaq növbəti açarın nə olacağına birgə qərar verməlidirlər. Başqa sözlə, hər bir tərəfin öz toxum frazası olacaq. Toxum frazaları ayrı-ayrılıqda yaradılır və heç vaxt birləşdirilmir, beləliklə, heç bir tərəf tək öz toxumundan istifadə edərək şəxsi açarları əldə edə bilməz.

TSS əsaslı pul kisələri həm də müvafiq ictimai açarı və ya blokçeyn ünvanını dəyişdirmədən şəxsi açarın rotasiyasına imkan verən əla təhlükəsizlik funksiyası təklif edir. Aktiv gizli paylaşım kimi də tanınan şəxsi açarın rotasiyası daxiletmə kimi şəxsi açarın mövcud gizli fraqmentlərindən istifadə edən və nəticə kimi yeni gizli fraqmentlər dəsti yaradan MPC protokoludur. Köhnə gizli fraqmentlər silinə, yeniləri isə eyni şəkildə istifadə edilə bilər.

Belə struktur təhlükəsizliyə vaxt ölçüsü əlavə edir, yəni hücumçu hədd pul kisəsinə hücum etmək üçün eyni anda bir neçə yerdə olmalıdır. Rotasiyadan əvvəl və rotasiyadan sonra gizli fraqmentlərin birləşdirilməsi hücumçuya artıq imza saxtalaşdırmaq imkanı verməyəcək. 

Bu pul kisəsinin mənfi tərəfi ondan ibarətdir ki, toxum frazası olmadan o, təkaçarlı pul kisəsi sistemləri ilə işləyə bilməz. Odur ki şəxsi açarın gizli fraqmentlərinə hansı tərəflərin sahib olacağına qərar vermək çox vacibdir.

Bir neçə struktur variantı mövcuddur:

  • TSS-nin xarici serverə həvalə edilməsi: istifadəçi "n" sayda serverə onun adından hesablamalar aparmağa icazə verir. Aktivlərə sahib olmayan, lakin müəyyən mükafat müqabilində təhlükəsizlik qatı təklif edən xidmət təminatçılarına açarın yaradılmasını, idarə edilməsini və imzalamanı effektiv şəkildə həvalə etmək.

  • Birdən çox cihazdan istifadə: istifadəçi TSS-ni sahib olduğu cihazlar arasında icra edəcək. Məsələn, bir tərəf hər hansı IoT cihazı, digər tərəf mobil telefon, başqa bir tərəf noutbuk və s. olacaq.

  • Hibrid: TSS xarici xidmət təminatçıları tərəfindən idarə olunan bəzi tərəflərlə, digərləri isə istifadəçiyə məxsus cihazlarda işləyir.

Birinci üsul istifadəçi klient tərəfində TSS hesablama yükünü azaldır. Digər tərəfdən, xidmət təminatçıları sövdələşməyə girə (onların kifayət qədərinin bir anda hücuma məruz qalmadığını fərz etsək (lakin praktikada bu mümkündür)) və istifadəçinin aktivlərini oğurlaya bilər.

İkinci üsul istifadəçiyə tam nəzarət imkanı verir, lakin tranzaksiyaların aparılmasını çətinləşdirir, çünki onlayn olmaq və TSS hesablamaları ilə məşğul olmaq üçün çoxlu cihazlara ehtiyacınız var.

Üçüncü üsul ən sərfəlisi hesab olunur, çünki o, istifadəçiyə tranzaksiyaların aparılmasını güzəştə getməkdə istifadəçi icazəsi tələbini pozmadan tranzaksiyaları asan və tez həyata keçirməyə imkan verir.


TSS və smart müqavilələr 

Bu illər ərzində tədqiqatçılar rəqəmsal imza üçün bir çox istifadə halları tapıb və bəziləri təəccüblü dərəcədə əhəmiyyətsizdir. Qeyd edildiyi kimi TSS təhlükəsizliyi əhəmiyyətli dərəcədə artıra bilən kriptoqrafik bir texnikadır. Blokçeynlər kontekstində deyə bilərik ki, bir çox funksiyalar TSS əsaslı kriptoqrafiya ilə əvəz edilə bilər. Mərkəzləşdirilməmiş tətbiqlər (Dapp), qat 2 miqyaslılıq həlləri, atomik svoplar, qarışdırma, miras alma və bir çox digər istifadə halları TSS çərçivəsindən istifadə etməklə hazırlana bilər. Bu, nəticədə bahalı və riskli zəncirdaxili smart müqavilə əməliyyatlarını daha əlverişli və etibarlı alternativlərlə əvəz etməyə imkan verəcək.

Bir neçə konkret misal gətirək: Multi-hop locks texnologiyası ikitərəfli imzalardan ağıllı şəkildə istifadə edir və daha təhlükəsiz və özəl ödəniş kanalı şəbəkəsi ilə Bitcoin Lightning Network üçün alternativ olaraq istifadə edilə bilər. ShareLock texnologiyası, yəqin ki, Ethereum üçün tək hədd imzasının doğrulanmasına əsaslanan ən ucuz zəncirdaxili qarışdırma həllidir.


Risklər

Son bir neçə ildə TSS tətbiqlərində əhəmiyyətli artım olmuşdur. Bununla belə, nisbətən yeni texnologiya kimi o, hələ də özü ilə birgə bəzi məhdudiyyətlər və narahatlıqlar gətirir. Ənənəvi ictimai açar kriptoqrafiyası ilə müqayisədə TSS protokolları olduqca mürəkkəb ola bilər və hələ "mübarizə sınaqlarından" tam keçməyiblər. Adətən, TSS sadə rəqəmsal imzalarla müqayisədə əlavə, daha zəif, kriptoqrafik fərziyyələr tələb edir. Nəticədə, ənənəvi quraşdırmalarda mövcud olmayan kriptoqrafik hücum vektorları indi aşkar edilir (2019-cu il Breaking Bitcoin konfrasından olan bu təqdimata baxın). Təhlükəsizlik mühəndisləri və tətbiqi kriptoqraflar sisteminizdə TSS-ni təhlükəsiz yerləşdirməyə kömək edə bilərlər.

Müsbət cəhət odur ki, həm mövcud, həm də yeni sistemlər artan keyfiyyət töhfələri, eynisəviyyəli mütəxəssislərin rəyləri, auditlər və alqoritmik performansda təkmilləşdirmələr sayəsində daha da güclənir.


Yekun qeydlər

Bu məqalədə biz blokçeyndən istifadə tərzimizi əhəmiyyətli dərəcədə dəyişdirmək potensialına malik olan heyrətamiz kriptoqrafik üsul olan hədd imza sxeminin (TSS) əsaslarını təqdim etdik.

Bu məqalədə Binance Chain və Bitcoin-də istifadə edilə bilən ECDSA həddi müzakirə edilmədiyi üçün maraqlı şəxslər aşağıdakı ən son məqalələr siyahısına istinad edə bilər. Bundan əlavə, bəzi TSS tətbiqlərini sınaqdan keçirmək istəyirsinizsə, burada ikitərəfli Binance Chain pul kisəsi üçün kod tapa və ya qeyri-saxlanc ikitərəfli Binance Chain pul kisəsini təmin etmək üçün hibrid metoddan istifadə edən ZenGo pul kisəsini sınaya bilərsiniz.


Tövsiyə olunan ədəbiyyat: