Síť Lightning je nejlépe známá pro své rychlé a levné platby. Protokol vrstvy 2 by však také mohl nabídnout více soukromí než platby v řetězci, protože transakce nejsou zveřejňovány na blockchainu bitcoinu, analýza blockchainu je do značné míry nemožná.
Síť Lightning však představuje svá vlastní rizika pro ochranu soukromí. Platby jsou směrovány přes síť uživatelů a nic nezastaví špiony v účasti na tomto procesu předávání transakcí při sledování toku finančních prostředků. V Lightning Network lze analýzu sítě nahradit analýzou blockchainu.
Existuje několik řešení, jak tato rizika omezit, například směrování cibule ve stylu Tor. Pomáhají, ale v závislosti na topologii sítě a typech plateb mohou zůstat slabiny. Vývojář bitcoinů a blesků pod pseudonymem ZmnSCPxj zveřejnil v posledních týdnech rozsáhlou analýzu přetrvávajících rizik na Seznam adres Lightning-dev (1, 2, 3).
Na základě jeho analýzy společnost ZmnSCPxj také nabídla řešení. Podobně jako Payswap – jeho návrh na ochranu soukromí v řetězci, který před dvěma týdny kryl časopis Bitcoin Magazine – si vývojář myslí, že „samoplatby“ mohou být důležitou součástí skládačky soukromí.
Porozumění Vlastní platba
V předchozím článku jsme diskutovali o Payswap, návrhu ZmnSCPxj na zlepšení soukromí v řetězci zdánlivým převrácením vztahu mezi plátcem a příjemcem. ZmnSCPxj vlastně původně přišel s touto myšlenkou v kontextu Lightning Network. Ve skutečnosti by to v Lightning Network bylo pravděpodobně ještě lepší: Některé kompromisy vložené v alternativě on-chain se na protokol Layer 2 nevztahují.
Stručně řečeno, pro Lightning verzi Payswap je samoplatba součástí stejné platební cesty.
Abychom vysvětlili, jak to funguje, podívejme se na extrémně zjednodušenou verzi Lightning Network. A (vši) má platební kanály s B (ob) a C (arol). Bob má kanály s Alice a D (ave). Carol má kanály s Alice a Davem. A Dave má kanály s Bobem a Carol.
A – – B
| |
| |
C – – D
Pokud chce Alice zaplatit Daveovi 3 bitcoiny, obvykle platbu nasměruje buď přes Boba nebo Carol. Bob nebo Carol by si za službu účtovali malý poplatek, ale pro zjednodušení budeme v tomto příkladu ignorovat poplatky. Skutečnost, že ve skutečnosti jsou poplatky placeny, však bude relevantní o několik odstavců níže, takže na to pamatujte.
Prozatím si řekneme, že Alice zvolila pro provedení platby Bobovu cestu. Pošle 3 mince Bobovi a Bob pokračuje v předávání 3 mincí Daveovi. Platba je úspěšná.
Bohužel v tomto příkladu by pro Bob bylo snadné správně předpokládat, že Alice zaplatila Daveovi 3 mince. Ten částku zná, protože ji přeposlal, zatímco kdyby Alice chtěla zaplatit Carol nebo Carol chtěla zaplatit Daveovi, mohli by to udělat přímo, aniž by se spoléhali na Boba jako prostředníka. Pokud je Bob špión sledující síťový provoz, jeho správný předpoklad poškozuje soukromí Alice i Davea.
ZmnSCPxj proto navrhuje alternativu. Alice mohla platbu směrovat celou cestu zpět k sobě … „samoplátce“, přičemž Dave si vzal velmi velký „poplatek“. Poplatek by ve skutečnosti byl skutečnou platbou.
Aby zaplatila Daveovi jako předtím, Alice tentokrát například nasměruje 5 mincí. Nejprve poslala 5 mincí Bobovi, který by 5 mincí předal Daveovi. Pak – to je trik – Dave by pokračoval v předávání platby, Carol … ale on předal pouze 2 mince! Nakonec Carol předá 2 mince zpět Alici. Nakonec je Alice o 3 mince chudší a Dave o 3 mince bohatší. Proto Alice zaplatila Daveovi 3 mince.
Tato samoplatba by zmátla Boba i Carol. Bob předal 5 mincí a může logicky, ale nesprávně předpokládat, že Alice zaplatila Daveovi 5 mincí. Carol by mezitím byla na tom ještě hůře: myslela by si, že Dave zaplatil Alici 2 mince. Z pohledu Carol je směr platby obrácen.
Pokud by Bob nebo Carol tajně špehovali aktivitu v síti, byli by uvedeni v omyl ohledně velikosti a / nebo směru platby, což by prospělo soukromí Alice a Davea. Pokud jsou špioni dost často zaváděni, mohlo by to dokonce způsobit, že taková špionážní aktivita bude úplně k ničemu.
PTLC, standardní částky a další
Vše o výše uvedeném příkladu je zjednodušené, od síťového grafu po částky transakce, zatímco jemnější rizika pro soukromí, jako jsou částky poplatků a časové zámky, jsou zcela ignorována. Mezitím se předpokládá, že i když Bob i Carol jsou špióni, nespolupracují, nebo ještě hůře: Jsou to jeden špión, který předstírá, že jsou dva uživatelé.
Ve skutečnosti jsou jak rizika pro soukromí, tak výhody směrování pro soukromí větší a jemnější současně. Řešení všech těchto jemností přesahuje rámec tohoto článku; Příspěvky ZmnSCPxj do seznamu adres Lightning-dev jsou lepším zdrojem pro podrobnější analýzu. A obecněji probíhá výzkum v oblasti ochrany soukromí Lightning.
Přesto stojí za to zdůraznit, že návrhy společnosti ZmnSCPxj na zlepšení ochrany před bleskem jdou nad rámec samoplátců – v některých scénářích by ve skutečnosti byly další změny protokolu ve skutečnosti víceméně nutné, aby samy platby byly účinným vylepšením ochrany soukromí. Dvě nejdůležitější změny jsou přechod z hashovaných kontraktů timelocku (HTLC) na veřejné klíče kontraktů timelocku (PTLC) a přijetí standardních částek. Podívejme se tedy na tyto dva ve zkratce.
Právě teď jsou platby Lightning směrovány pomocí HTLC. Všichni uživatelé na trase v zásadě předávají kód, který zaručuje, že mohou požadovat prostředky od jedné protistrany, pokud druhá protistrana požaduje prostředky od nich (Takto jsou prostředky předávány po síti). Bohužel, pokud jsou spolupracující špioni součástí stejné trasy, mohou pomocí HTLC zjistit, že různé chmele jsou ve skutečnosti součástí stejné platby, a to v rozsahu, který ruší výhodu směrování cibule. PTLC by využily kryptografické triky, aby zabránily špionům v propojení různých chmelů na stejnou trasu.
ZmnSCPxj také navrhuje, aby uživatelé Lightning přijali standardní částky. Peněženky by byly podporovány, aby rozdělovaly platby na menší (ale vzájemně propojené) platby, kde každá menší platba sestává ze standardních částek. Pokud jsou standardní částky například 1, 2 a 5 mincí, Alice ve výše uvedeném příkladu provede dvě platby po 1 minci a 2 mincích, namísto jedné platby ve výši 3 (Nebo pokud provede samoplatbu, může poslat 5 a cesta 2 zpět k sobě).
Pokud by dostatek uživatelů omezil své (zlomky) plateb na standardní částky, špioni se nemohou spoléhat na částky, které by spojily různé chmele se stejnou platbou. V rámci samoplátců by uživatelé mohli dokonce směrovat nestandardní částky od příjemce zpět k sobě, což by vypadalo ještě více jako běžné platby.
Nevýhody samoplátce
Řetězcová verze návrhu ZmnSCPxj, Payswap, přichází s významnými kompromisy. Ve srovnání s běžnou platbou je zapotřebí více transakcí, což se promítá do vyšších poplatků. Navíc transakce Payswap vyžadují interakci mezi uživateli mimo bitcoinový protokol; běžné bitcoinové transakce ne.
V Lightning Network tyto nevýhody neobstojí – nebo se drží v menší míře. Platby bleskem vyžadují interakci v obou případech, takže samoplatba by situaci ještě nezhoršila. A i když jsou k provedení vlastní platby nutné některé další transakční chmele, tyto chmele se odehrávají mimo řetězec, takže nevyžadují další blokový prostor.
To znamená, že samoplatby stále mají určité nevýhody, dokonce i u Lightningu. I když jsou levnější než poplatky v řetězci, poplatky za směrování stojí o něco více. Navíc, jak se k platbě přidává více chmele, zvyšuje se riziko neúspěšné platby a zvyšuje se také riziko, že špión bude součástí trasy (Pokud by byla Carol ve výše uvedeném příkladu jen špiónkou, dali jí více informací, než by měla jednoduchá trasa Bobem).
Nakonec samozřejmě mohou existovat i další (dosud nepředvídané) kompromisy; samoplatby jsou relativně novým návrhem. Jak ZmnSCPxj uzavřel ve svých e-mailech, „další analýza používání kruhových plateb při placení může být v pořádku.“