Vývojáři Samourai Wallet zveřejnili veřejnou beta verzi Whirlpool, implementaci Chaumian CoinJoin, která se skládá z rámce podporovaného různými softwarovými nástroji zvyšujícími soukromí.
Co je Chaumian CoinJoin?
CoinJoin je anonymizační technika, kterou poprvé navrhl Gregory Maxwell v roce 2013. „Chaumian CoinJoin“ integruje chaumové slepé podpisy – schéma, které poskytuje kryptograficky zaslepenou verzi přijímací adresy. Tak jako popsáno od ZeroLink, rámce zastupitelnosti bitcoinů:
“Uživatelé se připojují a poskytují vstupy (a mění adresy) a kryptograficky zaslepenou verzi adresy, na kterou chtějí, aby jejich soukromé mince šly; server podepíše tokeny a vrátí je. Uživatelé se anonymně znovu připojí, odblokují své výstupní adresy a vrátí je na server. Server vidí, že všechny výstupy byly podepsány, takže všechny výstupy musely pocházet od platných účastníků. Později se lidé znovu připojí a podepíší. “
To je považováno za relativně rychlý a levný způsob, jak přidat anonymitu k transakcím CoinJoin. Když Samourai přidá tuto funkci do své peněženky, může to poskytnout významnou a snadno použitelnou vrstvu soukromí pro běžné uživatele bitcoinů.
Jak podrobně uvedli jeho vývojáři, rámec Whirlpool je plně modulární implementace CoinJoin, která byla vyvinuta prostřednictvím „silně modifikované“ vidlice teorie ZeroLink.
Podle jeho úředníka Github Na stránce je software Whirlpool s otevřeným zdrojovým kódem schopen „matematicky oddělit“ vlastnictví vstupů („odesílající adresy“) od výstupů („přijímající adresy“), které jsou součástí bitcoinové transakce. Disociace mezi danou sadou vstupů a jejich odpovídajícími výstupy umožňuje větší finanční soukromí při provádění bitcoinových transakcí. Jinými slovy, převody bitcoinů se stávají obtížně sledovatelnými, protože původ (nebo odesílatele) transakce a jejích příjemců nelze vysledovat kvůli disociaci.
Celkově vylepšují také funkce ochrany soukromí společnosti Whirlpool zastupitelnost bitcoinové sítě. Fungibility označuje atribut tokenu (v tomto případě BTC), jehož jednotlivé jednotky jsou zaměnitelné, zatímco každá jednotka je nerozeznatelná od ostatních. Bezpečnostní analytici tvrdí, že sledovatelnost bitcoinových transakcí (převodů viditelných prostřednictvím průzkumníků veřejných bloků) může snížit zastupitelnost kryptoměny. To by se mohlo stát, kdyby obchodníci odmítli přijmout „zkažené“ bitcoiny, které by mohly být použity k financování nezákonných činností, jako je obchodování s drogami nebo praní špinavých peněz.
Není okamžitě jasné, jak tato funkce získá potřebné účastníky k rychlému provedení transakcí CoinJoin. Povolení okamžitých plateb by vyžadovalo okamžitou dostupnost desítek účastníků. Například s peněženkou Wasabi Wallet s CoinJoin může shromáždění potřebných 50 až 100 účastníků trvat hodiny..
Dostupná dokumentace také ponechává nejasné, jak by Samourai zacházel s párováním částek – potřeba propojit odpovídající vstupy a výstupy, aby se správně maskovaly.
Sada teoretické anonymity společnosti Whirlpool
Whirlpool zahrnuje implementaci teoretické sady anonymity, která má potenciál narůst exponenciálně „během několika minut“ namísto několika hodin. Zjednodušeně řečeno, teorie spočívá v tom, že všechny odesílající a přijímající adresy jsou smíchány dohromady v sadě, jejíž velikost se neustále zvyšuje. Pokud to v praxi funguje, myšlenka spočívá v tom, že se tato sada při použití Whirlpoolu zvětší rychleji a je prakticky nemožné určit odesílatele a příjemce bitcoinových převodů. Vývojáři Samourai Wallet ve své technické dokumentaci uvedli, že toho bude dosaženo zaměřením na relativně menší cykly CoinJoin na rozdíl od práce s jediným velkým cyklem, vysvětlili vývojáři Samourai Wallet. Pravděpodobně je jednodušší pracovat s několika menšími a jednoduššími CoinJoin cykly, než se soustředit na jeden velký a složitý CoinJoin cyklus.
Tým Samourai také poznamenal, že Whirlpool’s modulární architektura – oddělení kódu do menších sekcí, které umožňuje každému kusu kódu provádět jednoduché úkoly – mělo by umožnit začlenění jeho rámce do téměř jakéhokoli typu vývojového prostředí, včetně rámce používaného ve smartphonech a stolních počítačích.
Obecně lze říci, že nejlepší programovací praxí je psaní modulárního kódu, což znamená, že zdrojový kód by měl být rozdělen na logické funkce, které lze podle potřeby vyvolat k provedení konkrétních úkolů v počítačových programech. Například modulární program může sestávat z modulů kódu pro různé úkoly, jako je modul pro mazání transakcí z paměti a další modul pro zápis transakcí do paměti.
Kromě toho byl vyvinut software Whirlpool s otevřeným zdrojovým kódem, aby vytvořil systém, který může fungovat v rámci „omezení mobilního prostředí“. Většina smartphonů má omezené hardwarové a softwarové zdroje (ve srovnání se stolními počítači), takže Whirlpool byl optimalizován tak, aby fungoval efektivně, i když pracuje v těchto typech omezení.
Tento přístup k návrhu softwaru pomohl vytvořit robustní protokol, který lze implementovat „za většiny podmínek“, což znamená, že protokol bude fungovat tak, jak bylo zamýšleno ve většině operačních systémů, včetně systémů Windows, Linux a Android..
Vyvinuto na „Silném matematickém základu“
Tým společnosti Samourai dodal, že dalším významným aspektem designu pro Whirlpool je použitelnost. Za tímto účelem se „zaměřila [na] výdaje“ a zajistila, že dodržovaly osvědčené postupy, aby se automaticky vyhnuly akcím, které by ohrozily soukromí uživatelů. Rámec Whirlpool navíc nabízí intuitivní UX, se kterým by většina uživatelů už měla být spokojená.
Jak poznamenal jeho vývojový tým, protokol zaměřený na ochranu soukromí je založen na „silném matematickém základu“. Každý Whirlpoolův cyklus maximalizuje náhodnost pomocí různých matematických funkcí a technik. Rámec Whirlpool navíc zajišťuje, že uživatelé nikdy nebudou sami sebou.
Protokol také neumožňuje deterministické vazby mezi vstupy a jejich přidruženými výstupy. Zabráněním vytváření deterministických vazeb je prakticky nemožné určit zdroj nebo původ finančních prostředků a místo, kde by mohly být převedeny (tj. Adresy příjemců spojené s transakcí).
Whirlpool cykly byly také implementovány způsobem, který jim brání v jízdě na kole mince nalezené v předchozím cyklu.
Pomocí „zaslepeného“ serveru koordinátora
Jak je uvedeno výše, rámec Whirlpool používá k přenosu zpráv mezi klienty „zaslepený“ koordinační server provozovaný Samourai. I když je koordinátorový server schopen usnadnit komunikaci mezi různými klienty, „zásadně“ nemůže vědět, co se přenáší prostřednictvím zpráv, které jsou sdíleny mezi účastníky sítě. To znamená, že server Samourai nemůže číst obsah zpráv – důležitá funkce pro uživatele, kteří upřednostňují soukromí a nechtějí, aby server Samourai mohl propojovat vstupy a výstupy.
Klienti Windows, OSX, Linux, Android
Vývojáři Peněženky Samourai zejména vybudovali několik klientů s otevřeným zdrojovým kódem, kteří údajně poskytují neomezený přístup k serveru koordinátora.
V současné době existuje klient k dispozici pro uživatele operačních systémů Windows, OS X a Linux. Jak poznamenal tým Samourai, nově vyvinutý software se skládá z desktopového klienta elektronického / reakčního GUI, který je kompatibilní s většinou operačních systémů Linux a může také běžet na standardních systémech Windows a OS X. Uživatelé systému Android mohou také využívat funkce rámce Whirlpool.
Je však třeba poznamenat, že software Peněženka Samourai pro stolní počítače je ve veřejné beta verzi a verzi pro mobilní, pohybliví je v současné době ve vývoji, takže obě verze mohou být nestabilní. Pro vývojáře existuje REST API které lze použít k zavedení dalších aplikací nad rámec Whirlpool. V úložišti klienta Whirlpool jsou k dispozici také softwarové knihovny Android a Java a klient příkazového řádku (CLI).