Ú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 může uložit kopii a ověřit, že nejsou porušena žádná pravidla. U mnoha distribuovaných účetních knih může kdokoli přejít do online průzkumníka bloků, který mu umožňuje vyhledávat bloky, transakce a adresy.

Z hlediska ochrany soukromí to není ideální. V systému, jako je bitcoin, může být každá transakce spojena s předchozí transakcí. Mince nejsou technicky zaměnitelné, což znamená, že každá může být spojena s konkrétními transakcemi. Nikdo vám nemůže zabránit v odesílání bitcoinů, ale příjemce může odmítnout přijmout vaši transakci, pokud tyto mince dříve prošly adresou na černé listině.

V nejhorším případě by nedostatek zastupitelnosti mohl mít hluboký dopad na samotné základy systému, čisté mince mohou být dražší, zatímco starší mince mohou být méně cenné kvůli své historii.

Ochrana soukromí v bitcoinové síti je často přeceňována. Sledovat lze nejen díly, ale také uživatele. Těží z pseudonymy (místo jmen jsou vidět veřejné adresy), ale ta není bez chybičky. Sofistikované analytické techniky mohou s rostoucí přesností agregovat adresy s cílem deanonymizovat síťové entity.

Navrhovaný upgrade, aby transakce byly skutečně soukromé, jsou důvěrné transakce.


Co jsou důvěrné transakce?

O důvěrných transakcích (CT) poprvé diskutoval Adam Back, generální ředitel společnosti Blockstream, v roce 2013 a později je vyvinul Gregory Maxwell, vývojář bitcoinu. Maxwell popsal problémy uvedené v první části (zastupitelnost a slabá pseudonymita) a navrhl řešení. Převáděné částky mohou být chráněny před sítí jako celkem, takže pouze transakční strany znají odeslané částky.


Comparaison des transactions normales et des transactions confidentielles


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 0,3 BTC Bobovi, vezme si nevyčerpaný výstup (řekněme 1 BTC) a rozdělí ho na polovinu: 0,3 k odeslání Bobovi a 0,69 k odeslání zpět jemu (se zbytkem ztraceným na poplatcích). ).

Toto je jednoduchá operace pro ostatní uzly: 1 přesahuje 0,3 + 0,69, všechny signatury jsou správné a Aliciny vstupy ještě nebyly jinde použity. Transakce tedy musí být platná. Když jsou však částky skryté, věci nejsou tak triviální. Jak můžeme posoudit, zda je neznámá částka rovna nebo větší než součet dvou dalších neznámých částek?


Přehled zapojené kryptografie

Pro skrytí dat je vyžadováno šifrování. Tradiční metody jsou však jako umístění dokumentů do trezoru: jakmile jsou uzamčeny uvnitř, stávají se nepoužitelnými, dokud nejsou vyjmuty ke kontrole. Aby důvěrné transakce fungovaly, potřebujeme digitální trezor, jehož obsah není odhalen, ale jehož vlastnosti může ověřit externí osoba.

Odpověď spočívá konkrétně v homomorfním šifrování, ve schématu zvaném Pedersenova zástava. Tento typ šifrování umožňuje externímu uživateli provádět operace se zašifrovanými daty (která nevidí) pro různé účely.

Běžný hash lze použít k potvrzení dat, která chcete zobrazit později. Řekněme, že chcete vyhlásit soutěž na sociálních sítích, kde každý, kdo uhodne vaši oblíbenou burzu, vyhraje cenu 0,01 BTC. Účastníci mohou být skeptičtí, protože se můžete po uzavření soutěže podívat na odpovědi a vybrat výměnu, která nebyla zmíněna.

Svým odběratelům můžete poskytnout hash: řetězec zdánlivě náhodných čísel a znaků, který odpovídá konkrétní položce. Odešlete název vaší burzy do funkce, abyste získali určitý výstup. Budeme to ilustrovat pomocí algoritmu SHA256:


f1624fcc63b615ac0e95daf9ab78434ec2e8ffe402144dc631b055f711225191


Při pohledu na tento řetězec nemůžete uhodnout zadání. 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 její hash odpovídá výše uvedenému. Vaši sledující tak mají jistotu, že svou odpověď na konci soutěže nezměníte, protože by to přineslo úplně jiný výstup.

Ale ve skutečnosti to není příliš jisté. Pokud vaši následovníci nedokážou provést zpětnou analýzu algoritmu, mohou vytvořit seznam možných výměn a každou 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 slepý faktor k datům, která budeme hašovat.

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

Pedersenův závazek nám umožňuje přidat komentáře za závazky. Jak ukazuje Maxwell:


équation de transaction confidentielle


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

Kde BF je faktor zmatku a D jsou data


K dosažení kryptografie eliptických křivek a intervalových důkazů je ještě třeba dodržet několik kroků, ale základní myšlenkou je, že uživatel má pro svou adresu závazek společnosti Pedersen. Když pošlete peníze, vytvoří se dva další závazky (jeden pro změnu adresy, která má být zaslána zpět uživateli, a jeden pro cílovou adresu).

Nikdo neví, kolik se posílá, ale můžeme ověřit, že závazky změny a místa určení (levá strana Maxwellovy rovnice) odpovídají původní adrese (pravá strana rovnice). Pokud je toto vyhodnoceno správně, je transakce uživatele platná, protože lze prokázat, že vstupy se rovnají výstupům.


Čeho mohou důvěrné transakce dosáhnout?

Pokud by byly v bitcoinové síti implementovány důvěrné transakce, měli bychom prospěch z mnohem důvěrnějšího systému. Vstupy a výstupy by byly skryty před větší sítí a položky hlavní knihy by byly skryté, ale uzly by stále mohly ověřit jejich pravost. S tímto masivním zvýšením soukromí mohou být bitcoiny zaměnitelné, protože analýza v řetězci již neodhaluje historii dané jednotky.

Pokud vás zajímá, zda budou do protokolu integrovány důvěrné transakce, v tuto chvíli se to nezdá pravděpodobné. Díky této doplňkové funkci jsou transakce mnohem větší než standardní transakce. Vzhledem k omezenému prostoru v bloku by to jen zvýšilo poptávku. To by také vyžadovalo, aby většina účastníků souhlasila s úpravou kódu, což je úkol, který se tradičně ukázal jako obtížný.


Abych to uzavřel

Některé iterace v jiných kryptoměnách a postranních řetězcích bitcoinů obsahovaly důvěrné transakce. Například společnost Monero je používá v kombinaci s konstrukcemi nazývanými kruhové podpisy k zajištění anonymity a zastupitelnosti. Liquid sidechain je implementuje pro zajištění většího soukromí a MimbleWimble je používá pro stejné účely.

Vzhledem k výhodám, které přinášejí, jsou důvěrné transakce na úkor větší stopy. Kryptoměny často bojují se škálovatelností a propustností na základní vrstvě a větší transakce neosloví každého. Zastánci soukromí se však domnívají, že skrytí částek transakcí a účastníků je nezbytné, aby kryptoměny mohly sloužit jako zastupitelné peníze.