0
 0,00 0 items

No products in the cart.

23.1.21 Treshold podpisy

[vc_row type="in_container" full_screen_row_position="middle" column_margin="default" scene_position="center" text_color="dark" text_align="left" overlay_strength="0.3" shape_divider_position="bottom" bg_image_animation="none"][vc_column column_padding="no-extra-padding" column_padding_position="all" background_color_opacity="1" background_hover_color_opacity="1" column_link_target="_self" column_shadow="none" column_border_radius="none" width="1/1" tablet_width_inherit="default" tablet_text_alignment="default" phone_text_alignment="default" overlay_strength="0.3" column_border_width="none" column_border_style="solid" bg_image_animation="none"][vc_column_text]Threshold Signature Scheme (TSS) je kryptografický primitív na generovanie a podpisovanie distribuovaného kľúča. Používanie TSS v blockchainových klientoch je novou paradigmou, ktorá môže poskytnúť množstvo výhod, najmä z hľadiska bezpečnosti. V širšom zmysle, môže TSS ovplyvňovať dizajn systémov správy kľúčov (napríklad krypto peňaženiek) a viesť k natívnej podpore v prípadoch použitia DeFi. TSS je však stále nová technológia, a preto by sa mali brať do úvahy aj riziká a obmedzenia.

Sila kryptografie

Aby sme porozumeli TSS, najskôr potrebujeme základné znalosti kryptografie. Z našich článkov už máte nejaké základy, ale poďme trošku preopakovať. Od 70. rokov 20. storočia čoraz viac internetových systémov (ako TLS a PGP) využívalo asymetrickú kryptografiu, ktorá je tiež známa ako kryptografia s verejným kľúčom (PKC). PKC využíva dva kľúče: jeden verejný a jeden súkromný. Aj keď verejný kľúč nie je žiadnym tajomstvom a môžete ho zverejniť a používať ktokoľvek, súkromný kľúč je tajnou informáciou, ktorá predstavuje bezpečnosť systému.

Šifrovanie a digitálne podpisy sú dva najbežnejšie spôsoby použitia PKC. Schémy šifrovania aj digitálnych podpisov sa spoliehajú na sady troch algoritmov. Prvým je generovanie dvojice súkromných a verejných kľúčov, druhým je generovanie šifrovacieho textu / podpisu a tretím je proces dešifrovania - overenia. Pokiaľ ide o digitálne podpisy, podpisový algoritmus vyžaduje, aby súkromný kľúč, ktorý je známy iba jeho vlastníkovi, vytvoril jedinečný podpis. Podpis je pripojený k danej správe tak, aby ktokoľvek kto je držiteľom verejného kľúča, mohol overiť jeho autenticitu a správnosť.

Blockchain

Nie je pochýb o tom, že blockchain je veľmi silná technológia. Poskytuje konsenzuálnu vrstvu, ktorá organizuje a zaznamenáva udalosti. Takáto infraštruktúra dáva nám používateľom potenciálnu moc budovať decentralizované ekonomiky a dokonca aj vlády. Je prekvapujúce, že kryptografia potrebná na spustenie základného blockchainu, môže byť založená výlučne na digitálnych podpisoch. V kontexte blockchainu predstavujú súkromné kľúče identity, zatiaľ čo podpis je verejné vyhlásenie alebo deklarácia identity. Blockchain usporiada vyhlásenia a overí ich podľa súboru pravidiel, ktoré okrem iného zabezpečujú neodpustiteľnosť a správnosť podpisov.

Na rozdiel od klasickejšej kryptografie používanej v blockchaine, moderný kryptografický balík nástrojov obsahuje niekoľko trikov: dôkazy nulových znalostí, homomorfné šifrovanie a výpočty viacerých strán. Ako sme videli za posledné desaťročie, výskum blockchainu ohromne tlačil aplikovanú kryptografiu s nedávnymi prielomami vo všetkých vyššie uvedených nástrojoch a oveľa viac.

MPC a schéma treshold podpisov (TSS)

Multi-party computation (MPC) je odvetvie kryptografie, ktoré sa začalo významným podielom Andrewa C. Yaa pred takmer 40 rokmi. V MPC sa skupina strán, ktoré si navzájom nedôverujú, snaží spoločne vypočítať funkciu svojich vstupov, pričom tieto vstupy ponecháva súkromné.

Ako príklad uvedieme, že n zamestnancov spoločnosti chce vedieť, kto dostáva najviac miezd, ale bez toho, aby si navzájom prezradili svoj skutočný plat. Tu sú súkromnými vstupmi platy a výstupom bude meno zamestnanca s najvyšším platom. Ak urobíme tento výpočet pomocou MPC dostaneme, že počas výpočtu neunikne ani jeden plat.

Dve hlavné vlastnosti MPC sú správnosť a súkromie:

Správnosť: výstup produkovaný algoritmom je správny (podľa očakávania).

Súkromie: tajné vstupné údaje, ktoré má strana k dispozícii, by sa k ďalším stranám nedostali.

Na výpočet digitálneho podpisu distribuovaným spôsobom použijeme MPC. Pozrime sa, ako je možné vyššie uvedené vlastnosti použiť na podpisy. Pripomeňme, že pri podpisoch máme tri kroky:

1) Generovanie kľúčov: prvý krok je tiež najkomplexnejší. Musíme vygenerovať kľúč, ktorý bude verejný a bude sa používať na overenie budúcich podpisov. Potrebujeme však tiež vygenerovať individuálne tajomstvo pre každú stranu, ktoré budeme nazývať tajné zdieľanie. Pokiaľ ide o správnosť a súkromie hovoríme, že z tejto funkcie bude mať výstup rovnaký verejný kľúč pre všetky strany a pre každú inú tajnú zdieľanú zložku, ktorá bude obsahovať tieto informácie: (1) súkromie: medzi stranami nedôjde k žiadnemu úniku zdieľaných údajov a (2) správnosť: verejný kľúč je funkciou tajných zdieľaní.

2) Podpisovanie: tento krok zahŕňa funkciu generovania podpisu. Vstupom každej strany bude jej tajná zdieľaná položka vytvorená ako výstup z predchádzajúceho kroku (generovanie distribuovaného kľúča). Všetkým je tiež známy verejný vstup, ktorým je podpísaná správa. Výstupom bude digitálny podpis a vlastnosť ochrany súkromia zabezpečí, aby počas výpočtu nedošlo k úniku tajných zdieľaní.

3) Verifikácia: verifikačný algoritmus zostáva taký, aký je v klasickom prostredí. Aby bol kompatibilný s podpismi jedného kľúča každý, kto má znalosti o verejnom kľúči, by mal byť schopný overiť podpisy. Presne to robia uzly overujúce blockchain.

Kombinácia TSS s blockchainmi

Prirodzeným spôsobom ako sa dá TSS použiť v blockchaine, je zmena klienta blockchainu na generovanie kľúčov a podpisov pomocou TSS. Tu používame výraz blockchain klient na označenie množiny príkazov vykonávaných celým uzlom. V praxi nám technológia TSS umožňuje nahradiť všetky príkazy súvisiace so súkromným kľúčom distribuovanými výpočtami.

Aby sme to podrobnejšie vysvetlili začneme krátkym popisom toho, ako sa vytvárajú nové adresy na klasickom dizajne blockchainu. Jednoducho povedané, novú adresu môžeme vytvoriť vygenerovaním súkromného kľúča a následným výpočtom verejného kľúča zo súkromného kľúča. Nakoniec je adresa blockchainu odvodená z verejného kľúča.

Teraz pomocou TSS by sme mali súbor n strán, ktoré by spoločne počítali verejný kľúč z ktorých by každá mala tajný podiel na súkromnom kľúči (jednotlivé podiely sa ostatným stranám neprezrádzajú). Z verejného kľúča môžeme adresu odvodiť rovnakým spôsobom ako v tradičnom systéme, vďaka čomu bude blockchain agnostický voči spôsobu generovania adresy. Výhodou je, že súkromný kľúč už nie je jediným bodom zlyhania, pretože každá strana vlastní iba jednu jeho časť.

To isté sa dá urobiť pri podpisovaní transakcií. V tomto prípade namiesto podpisu jednej strany pomocou ich súkromného kľúča spustíme generovanie distribuovaného podpisu medzi viac strán. Takže každá strana môže predložiť platný podpis, pokiaľ bude dostatok z nich konať čestne. Opäť sme prešli z lokálneho výpočtu (jedného bodu zlyhania) na interaktívny.

Je dôležité spomenúť, že generovanie distribuovaného kľúča je možné vykonať spôsobom, ktorý umožňuje rôzne typy prístupových štruktúr: všeobecné nastavenie „t z n“ bude schopné vydržať až k svojvoľných zlyhaní v operáciách súvisiacich so súkromným kľúčom bez toho, aby nastalo ohrozenie bezpečnosti.

TSS vs. Multisig

Niektoré blockchainy ponúkajú funkcionalitu TSS ako zabudovanú alebo programovateľnú súčasť softvéru. Túto funkcionalitu nazývame multisig alebo multi-signature. Pre lepšie pochopenie rozdielov sa môžeme pozrieť na multisig ako TSS v aplikačnej vrstve blockchainu.

Inými slovami, multisig aj TSS sa v zásade snažia dosiahnuť podobné ciele, ale TSS využíva kryptografiu mimo reťazca, zatiaľ čo pri viacnásobnom riadení sa deje on-chain. Blockchain však potrebuje spôsob kódovania multisig, čo by mohlo poškodiť súkromie, pretože na blockchaine je vystavená štruktúra prístupu (počet signatárov). Cena multisig transakcie je vyššia, pretože na blockchaine je potrebné komunikovať aj informácie o rôznych podpisujúcich.

V TSS sú podrobnosti podpisujúcich osôb zahrnuté do pravidelne vyzerajúcej transakcie, čo znižuje náklady a zachováva súkromie. Na druhej strane, multisig môže byť neinteraktívny, čo šetrí problémy s prevádzkou zložitej komunikačnej vrstvy medzi rôznymi signatármi.

Hlavný rozdiel spočíva v tom, že multisig je špecifický pre blockchain a je potrebné ho znovu implementovať pre každý blockchain a v niektorých prípadoch nie je vôbec podporovaný. Naopak, TSS sa spolieha na čistú kryptografiu, takže podpora je vždy možná.

TSS vs. Shamir schéma spoločného zdieľania

Schéma zdieľania tajných informácií Shamir (SSSS) poskytuje spôsob ukladania súkromného kľúča distribuovaným spôsobom, takže zatiaľ čo je súkromný kľúč v pokoji, je uložený na viacerých miestach. Medzi SSSS a TSS sú dva rozdiely:

  • Generovanie kľúča: v SSSS existuje jedna strana nazývaná „dealer“, ktorá je zodpovedná za generovanie tajných akcií súkromného kľúča. To znamená, že v čase generovania kľúča je súkromný kľúč generovaný na jednom mieste a potom distribuovaný predajcom na rôzne miesta. V TSS neexistuje žiadny predajca, pretože jeho úloha je distribuovaná tak, že plný súkromný kľúč nikdy nie je na jednom mieste
  • Podpisovanie: V SSSS musia strany rekonštruovať celý súkromný kľúč aby mohli podpísať, čo má za následok opäť jediný bod zlyhania zakaždým, keď je podpis potrebný. V TSS sa podpisovanie vykonáva distribuovaným spôsobom bez nutnosti akejkoľvek rekonštrukcie tajných zdieľaní.

Ako vidíme, v TSS sa súkromný kľúč ,(ktorý predstavuje bezpečnosť systému) sa počas celej svojej životnosti nikdy nenachádza na jednom mieste.

Treshold peňaženky

Peňaženka založená na technológii TSS je trochu iná ako tradičné peňaženky na kryptomeny. Bežná peňaženka zvyčajne generuje počiatočnú frázu a používa ju na deterministické odvodenie adries. Používateľ môže neskôr použiť túto hierarchickú deterministickú štruktúru (HD) na dosiahnutie súkromných kľúčov, ktoré zodpovedajú adresám peňaženky a podpisovanie transakcií s nimi. A rovnako aj na získanie všetkých kľúčov peňaženky pomocou počiatočnej frázy.

V treshold peňaženke sú veci zložitejšie. Aj ,keď je možné vygenerovať štruktúru HD jej generovanie musí byť vypočítané distribuovaným spôsobom ako ďalší protokol MPC. Strany musia spoločne rozhodnúť, aký ďalší kľúč sa použije. Inými slovami, každá strana bude mať vlastnú počiatočnú frázu. Počiatočné frázy sa generujú osobitne a nikdy sa nekombinujú, aby jedna strana sama nemohla odvodiť súkromné kľúče.

Peňaženky na báze TSS majú tiež peknú bezpečnostnú funkciu, ktorá umožňuje rotáciu súkromného kľúča bez zmeny zodpovedajúceho verejného kľúča a adresy blockchainu. Rotácia súkromného kľúča, známa tiež ako proaktívne zdieľanie tajomstiev, je ďalším protokolom MPC, ktorý berie tajné zdieľania ako vstup a vydáva novú sadu tajných zdieľaní. Staré tajné zdieľania je možné vymazať a nové rovnako používať.

Takáto štruktúra dodáva zabezpečeniu časovú dimenziu, čo znamená, že útočník musí byť na viacerých miestach súčasne, aby mohol zaútočiť na prahovú peňaženku. Kombinácia tajných zdieľaní pred rotáciou a po rotácii neposkytne útočníkovi žiadnu ďalšiu moc, ak chce vytvoriť podpis.

Nevýhodou tohto typu peňaženky je, že nedostatok úvodnej frázy ju robí nekompatibilnou s peňaženkovými systémami s jedným kľúčom. Je preto dôležité zvážiť, ktoré strany budú držať zdieľané tajomstvá.

Existuje niekoľko možných architektúr:

  • Outsourcing TSS: používateľ umožní serverom „n“ spustiť výpočet v jeho mene. Účinný outsourcing generovania správy a podpisovania kľúčov pre poskytovateľov služieb, ktorí nie sú vlastníkmi aktív, ale poskytujú bezpečnostnú vrstvu na oplátku za určité stimuly.
  • Používanie viacerých zariadení: Používateľ spustí TSS medzi zariadeniami, ktoré vlastní. Napríklad, jednou stranou bude nejaké zariadenie IoT, ďalšou stranou bude mobil, ďalšou bude laptop atď.
  • Hybrid: TSS bude fungovať tak, že niektoré strany budú riadené externými poskytovateľmi služieb a niektoré strany budú prevádzkované na zariadeniach vlastnených používateľom.

Prvá metóda odľahčuje ťažké výpočty TSS zo strany klienta používateľa. Na druhej strane, poskytovatelia služieb sa môžu dohodnúť (predpokladáme, že na dostatok z nich nie je súčasne zaútočených, ale v praxi by k tomu mohlo dôjsť) a ukradnúť aktíva používateľa.

Druhá metóda poskytuje používateľovi úplnú kontrolu, ale sťažuje vykonávanie transakcií, pretože na pripojenie online a prácu s výpočtom TSS potrebujete viac zariadení.

Tretia možnosť sa považuje za najlepšiu z obidvoch svetov, pretože poskytuje používateľovi ľahký a rýchly spôsob vykonávania transakcií, ale bez kompromisov v uskutočňovaní transakcií bez autorizácie používateľa.

Prečítajte si aj : Čo je multisignature technológia?

TSS a smart kontrakty

V priebehu rokov našli vedci mnoho využití pre digitálne podpisy a niektoré sú prekvapivo nepodstatné. Ako už bolo spomenuté, TSS je kryptografický primitív, ktorý môže výrazne zvýšiť bezpečnosť. V súvislosti s blockchainmi môžeme povedať, že mnohé funkcionality je možné nahradiť kryptografiou založenou na TSS. Decentralizované aplikácie, riešenia škálovania druhej vrstvy, atómové výmeny, miešanie, dedenie a oveľa viac je možné postaviť na vrchole rámca TSS. To by nakoniec umožnilo nahradiť nákladné a riskantné operácie smart kontraktu na reťazci lacnejšími a spoľahlivejšími alternatívami.

Uveďme niekoľko konkrétnych príkladov: Multi-Hop Locks šikovným spôsobom využíva podpisy dvoch strán a možno ho použiť ako alternatívu k bitcoinovej lighting network s bezpečnejšou a súkromnejšou sieťou platobných kanálov. ShareLock je pravdepodobne najlacnejšie on-chain mixovacie riešenie pre Ethereum, založené na overení podpisu jednej prahovej hodnoty.

Riziká

Za posledných pár rokov došlo k významnému nárastu implementácií TSS. Ako relatívne nová technológia však stále má určité obmedzenia. V porovnaní s klasickou kryptografiou s verejným kľúčom môžu byť protokoly TSS veľmi zložité a ešte ich treba „otestovať“. TSS zvyčajne vyžaduje ďalšie kryptografické predpoklady v porovnaní s jednoduchými digitálnymi podpismi. Vďaka tomu sa teraz objavujú kryptografické vektory útoku, ktoré neexistovali v tradičných nastaveniach (pozri túto prezentáciu z konferencie Breaking Bitcoin Conference 2019). Bezpečnostní inžinieri a aplikovaní kryptografi, môžu pomôcť pri bezpečnom nasadení TSS vo vašom systéme.

Pozitívne je, že súčasné aj nové implementácie sa stávajú silnejšími v dôsledku zvýšenia kvality príspevkov, vzájomných hodnotení, auditov a zlepšenia výkonu algoritmov.

Zdroje: arpa.medium.com, academy.binance.com, em.wikipedia.com, unboundtech.com, sepior.com

Disclaimer

Až 13 kryptomien aktualizovaných každý deň, mince so zápalnou šnúrou, fundamenty, vzdelávanie, VIP chat pre všetkých a LIVE ROOM, kde naživo obchodujeme. Kryptomeny jednoducho a zrozumiteľne s Trader2.0

Tento článok patrí firme JKralo s.r.o a je chránený copyrightom. Akéhokoľvek zneužitie (napr. kopírovanie) je trestné! Uverejnené informácie sú autorským dielom a bez súhlasu nie je ďalšie šírenie tohto materiálu povolené.

Kontakt : 
Telegram : https://t.me/jtrader20
Facebook : https://www.facebook.com/kralovanskyjakub
Instagram : https://www.instagram.com/bitcoin_trader2.0/
Web : https://trader20.sk/
E-mail : info@trader20.sk
Youtube kanál : https://www.youtube.com/channel/UCLf520Y_L1DQKURva4npXUA?view_as=subscriber

75486051_1455104544666141_6829501680044736512_n[/vc_column_text][/vc_column][/vc_row]

Mohlo by ťa zaujímať

cart