Vícenásobný podpis

Multisignature ( anglicky  multisignature ) je schéma pro implementaci elektronického podpisu , které pro svou spolehlivost vyžaduje T klíčů od skupiny N členů [1] ( T < N ). V jádru se jedná o variantu prahového podpisu , ale není implementován jako jeden objekt, ale jako kontrola zadaných podmínek, kterou provádí základní systém kryptoměnových skriptů [2] .

Vícenásobný podpis v bitcoinech

Charakteristickým rysem bitcoinu a mnoha dalších kryptoměn je nevratnost transakcí – neexistuje žádný mechanismus pro zrušení transakce, která vstoupila do blockchainu , a neexistuje ani možnost jiné akce, která by ignorovala vůli současného vlastníka. Ale bitcoin má vestavěný skriptovací jazyk , který vám umožňuje specifikovat různé další podmínky pro transakce. Jednou z možných podmínek implementovaných prostřednictvím skriptů je vytvoření bitcoinové adresy, která pro její správu vyžaduje zadaný počet podpisů z daného seznamu ( princip T -of - N ) [2] .

První znak bitcoinových adres generovaných pomocí multisig je 3 (běžné bitcoinové adresy začínají jedničkou).

V srpnu 2013 BitGo jako první implementovalo rozhraní, ve kterém mohli zákazníci společnosti vytvářet a používat multi-sig adresy bez přímého přístupu ke skriptům [3] .

Vícenásobný podpis v bitcoinu je soubor podpisů různých uživatelů, nikoli jedné entity. Multisignature je v jiných kryptoměnách implementován různými způsoby [4] [5] . Inteligentní smluvní jazyk Etherea je mnohem výkonnější než skriptovací jazyk Bitcoinu.

Adresy jsou široce používané, pro operace, u kterých jsou potřeba dva libovolné klíče z dohodnutých tří. Nejčastěji se to myslí pod pojmem „Multi-signature“. Umožňují realizaci vratných transakcí .

Vratné transakce v bitcoinech

Nevratnost transakcí se stává významným problémem, pokud si strany příliš nedůvěřují nebo hrozí další nesplnění smlouvy. Podobné situace často nastávají při nákupu v internetových obchodech . V případě nepřevzetí zboží nebo jiné reklamace není záruka vrácení peněz. Při platbě kartou VISA nebo MasterCard může klient využít postup chargeback .

V systému Bitcoin je podobný postup implementován následovně.

Smluvní strany se dohodly na použití vícenásobného podpisu se zapojením třetí osoby – rozhodce. Pomocí veřejných klíčů všech tří stran se vygeneruje nová adresa, která je spojena se skriptem podmínek [1] , kde je napsáno, že k vytvoření nové transakce stačí dva podpisy. Pravidla (podmínky pro skripty) se specifikují při vytváření adresy, stávají se její nedílnou součástí a nelze je měnit bez změny adresy samotné. Kupující provede převod na vytvořenou adresu, která plně nepatří žádné ze stran a je adresou tranzitní. Prodejce vidí účtenku, odešle zboží a vytvoří transakci pro převod finančních prostředků z tranzitní adresy na svou vlastní. Prostředky ale „visí“, protože žádná ze stran, včetně rozhodce, s nimi nemůže samostatně disponovat [6] . Kupující převezme zboží. Pokud je vše v pořádku, kupující vloží svůj podpis na transakci vygenerovanou prodávajícím, čímž splní podmínky pro odeslání peněžních prostředků prodávajícímu. Pokud zboží nedorazilo nebo jej kupující vrátil, pak kupující vytvoří novou transakci z tranzitní adresy na svou, podepíše ji a nabídne k podpisu prodávajícímu. Se souhlasem prodávajícího budou finanční prostředky vráceny kupujícímu. Pokud nedojde k dohodě, bude mít poslední slovo rozhodce. Rozhodce po zvážení situace rozhodne o převodu peněžních prostředků prodávajícímu (a uvalí svůj podpis na transakci připravenou prodávajícím) nebo o vrácení peněžních prostředků kupujícímu (a vloží svůj podpis na transakci připravenou kupujícím). Smlouva může stanovit odměnu pro rozhodce. Rozhodce poté vytvoří další transakci s rozdělením platby jak ve prospěch jedné ze stran, tak ve svůj vlastní, a poté vyzve příslušnou stranu, aby uložila svůj podpis. Nepodepsané „extra“ transakce ztratí po odeslání prostředků svou relevanci a nepovedou ke dvojímu utrácení.

Další použití vícenásobného podpisu

Princip vícenásobného podpisu lze využít ke zvýšení úrovně bezpečnosti při platbách kryptoměnami. Vzorec 2-z-3 umožňuje vytvořit firemní adresu na základě podpisů majitele, ředitele a účetního [1] .

S multipodpisem složeným z rodinných příslušníků s malým počtem požadovaných podpisů se ztráta tajného klíče nestává katastrofálním problémem. I když se klíč dostane do nesprávných rukou, je nepravděpodobné, že by se útočníkovi podařilo přesvědčit příbuzné oběti, aby transakci podepsali.

Vícenásobný podpis, který vyžaduje více než polovinu správní rady nadace, bude automaticky fungovat jako hlasování při rozhodování o tom, jak budou prostředky použity. Vyplaceny budou pouze ty projekty, které získají většinu hlasů v podobě podpisů pod transakci.

Narozeninový útok

Bitcoinové multisig adresy používají P2SH a jsou zabezpečeny pomocí HASH160 (160bitová hashovací funkce ). Pokud útočník vlastní alespoň 1 klíč ze seznamu více podpisů, pak s přihlédnutím ke kolizi hash pro padělání cizího podpisu může snížit počet možností vyhledávání na 280 , což je již možné pro moderní výpočetní systémy [7 ] .

Viz také

Poznámky

  1. 1 2 3 Zabezpečení bitcoinů není jen více podpisů Archivováno 20. června 2018 na Wayback Machine // coinspot.io 30.8.2016
  2. 1 2 Bitcoin je finanční platforma s řadou API // Bit•News . Staženo 30. listopadu 2017. Archivováno z originálu 4. března 2014.
  3. Jak se rok 2014 stal rokem Multisig . Získáno 17. července 2015. Archivováno z originálu dne 26. července 2015.
  4. Bytecoin (BCN) je nyní vyzbrojen Multisig . Coinbrief.com . Datum přístupu: 16. září 2015. Archivováno z originálu 28. února 2015.
  5. NXT láká systém hlasování, „dvoufázové transakce“ a nadaci . Cointelegraph . Staženo 30. listopadu 2017. Archivováno z originálu 20. září 2015.
  6. Vratné transakce v bitcoinech . Staženo 30. listopadu 2017. Archivováno z originálu 7. února 2014.
  7. Výhody oddělených svědků . Získáno 26. prosince 2017. Archivováno z originálu dne 26. dubna 2018.