Obsah

  • Úvod

  • Co jsou důvěrné transakce?

  • Přehled zapojené kryptografie

  • Co umožňují důvěrné transakce?

  • Závěr


Úvod

Pro fungování blockchainu je často považováno za zásadní, aby byl systém transparentní. To znamená, že každý uzel v síti musí být schopen uložit kopii a ověřit, že nebyla porušena žádná pravidla. U mnoha distribuovaných účetních knih může kdokoli nahrát online průzkumník bloků, který mu umožní vyhledávat v blocích, transakcích a adresách.

Z hlediska soukromí to není ideální stav. V systému, jako je bitcoin, může být jakákoli transakce spojena s tou, která jí předchází. Mince nejsou technicky zaměnitelné, což znamená, že mohou být vázány na konkrétní transakce. Nikdo vám nemůže zabránit v odesílání bitcoinů, ale vaše transakce může být odmítnuta, pokud mince, které jsou v ní obsaženy, dříve prošly „adresou na černé listině“.

V nejhorším případě by nedostatek zastupitelnosti mohl hluboce ovlivnit samotné základy systému. „Čisté“ mince by mohly zvýšit svou hodnotu, zatímco staré mince by se kvůli své historii staly méně cennými.

V bitcoinech se soukromí často přeceňuje. Sledovat lze nejen coiny, ale i uživatele. Ty se těší „pseudonymitě“ (místo jmen jsou vidět veřejné adresy), která není bez vad. Sofistikované analytické techniky mohou s rostoucí úrovní přesnosti agregovat adresy ve snaze deanonymizovat entity v síti.

Jedním z návrhů aktualizace, jak učinit transakce skutečně soukromými, jsou důvěrné transakce.


Co jsou důvěrné transakce?

Confidential Transactions (CT) se poprvé zabýval v roce 2013 Adamem Backem, generálním ředitelem Blockstream; a později Gregory Maxwell - bitcoinový vývojář - rozšířil svou analýzu. Maxwell by upozornil na problémy uvedené v předchozí části (tj. zastupitelnost a slabou „pseudonymitu“) a navrhl řešení. Odeslané částky mohly být chráněny před zbytkem sítě, takže uvedená data mohly znát pouze strany zapojené do transakce.

Za normálních okolností (u veřejně viditelných transakcí) je pro uzel snadné ověřit, že přijatá částka nepřevyšuje částku odeslanou. Pokud chce Alice poslat Bobovi 0,3 BTC, vezme si nevyčerpaný výstup (řekněme 1 BTC) a rozdělí ho na dvě části: 0,3, které pošle Bobovi, a 0,69, které pošle zpět sobě (rozdíl Co chybí odpovídá srážce těžební provize).

Pro ostatní uzly je to jednoduchá algebra: 1 je větší než 0,3 + 0,69, všechny podpisy jsou správné a Aliciny vstupy ještě nebyly utraceny nikde jinde, takže transakce musí být platná. Když se však množství zatemní, věci už nejsou tak triviální. Jak vůbec můžete vyhodnotit, zda se neznámá veličina rovná nebo převyšuje součet dvou dalších neznámých veličin?


Přehled zapojené kryptografie

Pro skrytí dat je vyžadováno šifrování. Tradiční metody jsou však srovnatelné s ukládáním dokumentů do trezoru: jakmile jsou uzamčeny uvnitř, jsou nepoužitelné, dokud trezor neodstraníte. To, co potřebujeme, aby Důvěrné transakce fungovaly, je digitální trezor, který neprozrazuje svůj obsah, ale jehož vlastnosti může ověřit někdo zvenčí.

Odpověď na tuto otázku spočívá v homomorfním šifrování, konkrétně ve schématu zvaném „Pedersenův závazek“. Tento typ šifrování umožňuje nepovolaným osobám provádět operace se zašifrovanými daty (která nevidí) pro řadu účelů.

K potvrzení dat, která chcete později odhalit, lze použít běžný hash. Představte si, že chcete na sociálních sítích vyhlásit soutěž, ve které každý, kdo uhodne vaši oblíbenou burzu, vyhraje cenu 0,01 BTC. Účastníci mohou být skeptičtí, že budete moci vidět odpovědi po skončení soutěže a můžete si vybrat výměnu, která nebyla zmíněna.

Co můžete udělat, je poskytnout svým následovníkům hash: řetězec zdánlivě náhodných čísel a znaků, které se mapují na konkrétní položku. Svou výměnu projdete funkcí, abyste získali určitý výsledek. Budeme ilustrovat pomocí algoritmu SHA256:


f1624fcc63b615ac0e95daf9ab78434ec2e8ffe402144dc631b055f711225191


Když se na to podíváte, nemáte ponětí, jaký byl vstup. Funkci také nemůžete obrátit, abyste ji získali. Pokud však víte, že položka byla „Binance“, můžete snadno ověřit, že váš hash odpovídá výše uvedenému. Tímto způsobem mají vaši sledující jistotu, že svou odpověď na konci soutěže nezměníte, protože by to vedlo k úplně jinému výsledku.

Realisticky to však není příliš bezpečné. Vaši následovníci sice nemohou algoritmus zpětně analyzovat, ale mohou vytvořit seznam potenciálních obchodů a každý z nich hashovat, dokud nedosáhnou shody. Pravděpodobnost toho můžeme snížit přidáním náhodných dat nazývaných oslepující faktory k datům, která se chystáme hašovat.

Pokud zadáme „Binance je moje oblíbená burza, miluji ji víc než kteroukoli jinou burzu 2#43Wr“, bude pro soupeře mnohem těžší uhodnout (a za 0,01 BTC je jistě nepravděpodobné, že by to někdo zkusil).

Závazek Pedersen nám umožňuje přidat příspěvky za závazky. Jak ukazuje Maxwell:


C(BF1 + D1) + C(BF2 + D2) = C(BF1 + BF2, D1 + D2)

Kde BF je oslepující faktor a D jsou data.


Odtud je ještě několik kroků, které zahrnují kryptografii eliptické křivky a testování rozsahu, ale základní myšlenkou je, že uživatel má silný závazek vůči své adrese. Při odesílání prostředků jsou vytvořeny dva dodatečné závazky (jeden pro změnu adresy, která má být vrácena uživateli a jeden pro cílovou adresu).

Nikdo neví, kolik se posílá, ale mohou ověřit, že směnné a cílové závazky (levá strana Maxwellovy rovnice) se sčítají se zdrojovou adresou (pravá strana rovnice). Pokud se to vyhodnotí správně, transakce uživatele je platná, protože lze ukázat, že vstupy jsou stejné jako výstupy.


Co umožňují důvěrné transakce?

Pokud by byly v bitcoinech implementovány důvěrné transakce, užili bychom si mnohem soukromější systém. Vstupy i výstupy by byly maskovány před širší sítí a záznamy v hlavní knize by byly zatemněny, ale uzly by stále mohly ověřit jejich pravost. S tímto masivním zvýšením soukromí se bitcoiny mohou stát efektivně zastupitelnými, protože analýza v řetězci již neodhaluje historii dané jednotky.

Pokud jde o to, zda budou do protokolu integrovány důvěrné transakce, to se v tuto chvíli nezdá pravděpodobné. Díky této dodatečné funkcionalitě jsou transakce mnohem větší než standardní transakce: vzhledem k omezenému prostoru bloku by to jen zvýšilo poptávku. Vyžadovalo by to také, aby většina účastníků souhlasila se změnou kódu, což je úkol, který se tradičně ukázal jako obtížný.


Na závěr

Důvěrné transakce zaznamenaly určité iterace v jiných kryptoměnách a postranních řetězcích bitcoinů. Například společnost Monero je používá v kombinaci s konstrukcemi nazývanými kruhové podpisy k dosažení anonymity a zastupitelnosti. Liquid sidechain je implementuje pro větší soukromí a MimbleWimble je rozšiřuje na stejné koncové body.

Pro výhody, které přinášejí, důvěrné transakce přicházejí s kompromisem větší stopy. Kryptoměny často bojují se škálovatelností a výkonem na základní vrstvě a větší objemy transakcí nejsou atraktivní pro každého. Zastánci soukromí se však domnívají, že je nezbytné skrýt částky transakcí a aby účastníci skutečně umožnili, aby kryptoměna sloužila jako zastupitelné peníze.