Řízení Přístupu v Secret Network — Zobrazení Klíčů vs. Povolení

Secret Network přináší do smart smluv nativní ochranu soukromí. Díky zobrazovacím klíčům a povolením mají uživatelé možnost kontrolovat přístup ke svým datům, aktivům a NFT. Jaký je mezi nimi rozdíl?

Díky tomu, že Secret Network umožňuje vývojářům vytvářet aplikace chránící soukromí a uživatelům umožňuje převzít kontrolu nad svými daty, může nabídnout to, co nedokáže žádný veřejný výchozí blockchain: nativní řízení přístupu.

V současné době existují dvě technické implementace návrhu pro dosažení kontroly přístupu: prohlížecí klíče a povolení k dotazům. Podíváme se na tyto specifikace blíže a na to, jak se od sebe obě liší.

Klíče k prohlížení: Problémy, které řeší a vytvářejí

Secret Network ve výchozím nastavení šifruje uživatelská data. Když uživatel převede veřejná aktiva, jako jsou ETH, BNB a SCRT, na jejich soukromé ekvivalenty (sETH, sBNB, sSCRT), metadata, například zůstatky, se stanou skrytými pro všechny uživatele v síti, včetně uživatele, který tato aktiva vlastní. Navzdory přidanému přínosu pro bezpečnost tedy šifrování vytváří problém pro uživatele.

Jak mají naši uživatelé komunikovat s aplikacemi v síti, když nevidí množství tokenů ve svých peněženkách?

Secret tokeny (tzv. SNIP-compliant tokeny) jsou postaveny na stávajících standardech ekosystému Cosmos. Proto nelze kryptograficky ověřit identitu tazatele (někoho, kdo žádá o data). Jinými slovy, bez mechanismu pro ověření identity uživatele nelze dešifrovat základní informace o uživateli. K vyřešení tohoto problému byly jako součást specifikace SNIP-20 implementovány prohlížecí klíče.

Vytváření klíčů pro prohlížení (vlevo) a dotazování pomocí klíčů pro prohlížení (vpravo)

Při pohledu na výše uvedený diagram vidíme typický případ použití klíče pro prohlížení.

  1. Alice nemůže vidět svůj zůstatek, a proto si vytvoří klíč k prohlížení (heslo) pro konkrétní token SNIP.
  2. Chytrá smlouva odpovědná za správu tokenu SNIP uloží Alici a její heslo do stavu smlouvy.
  3. V jiném okamžiku může kdokoli, například Bob, požádat o zobrazení Alicina zůstatku. Pokud Bob získal oprávnění používat Alicin klíč k prohlížení, bude mu z chytré smlouvy úspěšně poskytnut zůstatek jejího účtu.

Zobrazovací klíče fungují jako šifrovaná hesla. Tím, že uživatelé mohou tato hesla vytvářet a sdílet s aplikacemi třetích stran, zvýrazňují zobrazovací klíče kvalitu řízení přístupu poskytovaného uživatelům v Secret Network. Alice je vlastníkem svých klíčů k prohlížení a bez nich ostatní nemohou přistupovat k jejím citlivým údajům.

Prohlížení klíčů bohužel přispívá ke značnému tření, pokud jde o celkovou uživatelskou zkušenost v síti, a vytváří prostor pro vznik technických problémů v době vysokého provozu. Skrytí klíčových údajů o účtu před uživateli bez zobrazovacích klíčů je funkce, která je pro nové uživatele v lepším případě dočasně matoucí a v horším případě odrazuje od přijetí sítě. Vzhledem k tomu, že zobrazovací klíče jsou uloženy ve stavu chytré smlouvy, musí uživatelé odeslat transakci a zaplatit malý poplatek na pokrytí nákladů na plyn, aby mohli tato šifrovaná hesla vytvořit. Při používání prohlížecích klíčů proto vznikají malým počátečním nákladům pro nové uživatele, kteří si třeba jen chtějí prohlédnout zůstatek na svém účtu. V případě překlenovacích veřejných aktiv, jako je BNB (Binance Coin), je tento problém UX umocněn skutečností, že noví uživatelé pravděpodobně nemají žádný SCRT, za který by mohli pokrýt náklady na plyn. Bez SCRT na zaplacení plynu nelze nikdy odeslat transakci, nelze vytvořit zobrazovací klíč a uživatel nemůže zobrazit svůj nově přemostěný, soukromý zůstatek sBNB.

Kromě toho se ukázalo, že v době silného provozu je vytváření mnoha, někdy i zbytečných klíčů pro prohlížení v rychlém sledu za sebou zatěžující pro síť. Například první soukromá výchozí sbírka NFT v Secret Network, Anons, generovala značné využití sítě. Uživatelé, kteří se obávali, že přijdou o veřejnou mincovnu, spěchali na webové stránky Anons, aby si zajistili své NFT. Proces ražby Anons vedl uživatele cestou UX, která vyžadovala, aby si uživatelé před ražbou vytvořili klíče pro prohlížení. Vzhledem k povaze mincovny NFT, kde je čas citlivý a tokeny jsou vzácné, hromada uživatelů interagovala s chytrým kontraktem Anons, aby vytvořila prohlížecí klíče, vznikla záplava transakcí, což následně vedlo k zastavení sítě a zpožděnému spuštění projektu Anons.

Velmi žádaní Anonové uvedení na Stassh Marketplace

Když je síť zahlcena požadavky, uzly se začnou vyřazovat ze synchronizace a transakce začnou selhávat. Uživatelé, kteří obdrží neúspěšné požadavky, pravděpodobně zareagují odesláním dalších požadavků, čímž problém ještě prohloubí. Proto byla k vyřešení těchto technických a UX problémů implementována nová metoda dotazování na soukromá data uživatelů.

Souhrnně lze říci, že hlavní problémy spojené s prohlížením klíčů jsou:

  1. Prohlížení klíčů vyžaduje, aby noví uživatelé zaplatili jednorázový poplatek předem za základní informace o účtu, jako jsou zůstatky, historie transakcí atd.
  2. V době vysokého provozu může UI/UX postavené na prohlížení klíčů vést k vytváření mnoha zbytečných transakcí, které mohou snížit výkonnost uzlu, což může mít za následek kaskádovité problémy pro síť.

Dotaz umožňuje: Alternativní metoda dotazování

Povolení k dotazování byla zavedena ve specifikaci návrhu SNIP-24. Dokumentace popisuje povolení jako lepší metodu dotazování ve srovnání s klíči pro prohlížení. Na předchozím příkladu Alice, uživatelky, která chce zkontrolovat zůstatek na svém soukromém účtu, můžeme lépe pochopit, jak povolení fungují a proč jsou pro uživatele Secret Network drastickým vylepšením.

Povolení k dotazování používají kryptografickou techniku známou jako šifrování s veřejným klíčem ve spojení s digitálními podpisy. Povolení je formátovaná zpráva. Uvádí několik argumentů, například na jaké tokeny se povolení vztahuje a jaká oprávnění by mělo povolit (např. zda by mělo povolení umožnit dotazovateli zobrazit historii transakcí uživatele, zůstatek atd.). Tuto zprávu podepisuje Alice pomocí soukromého klíče svého účtu. Při zadávání dotazu Alice odešle podepsané povolení jako argument smart kontraktu. Po přijetí může smart contract pomocí Alicina veřejného klíče ověřit její identitu na základě poskytnutého podpisu. Pokud je Alicina identita potvrzena, smart contract vrátí její data podle požadavku.

Všimněte si, že na rozdíl od prohlížecích klíčů smart kontrakt nikdy nemění svůj stav, aby zachoval identitu Alice. S použitím povolení k dotazování tedy není spojena žádná transakce a za vyžádání základních informací o uživateli se neplatí žádný poplatek. To je pro koncové uživatele zásadní zlepšení uživatelské přívětivosti. Protože s povoleními k dotazům není spojena žádná transakce, nehrozí ani riziko, že by povolení v době vysokého provozu omezovala výkon sítě.

Ačkoli povolení výrazně zlepšují uživatelský komfort, jsou spojena s určitým kompromisem. Povolení k dotazům jsou náročnější na zdroje uzlů provozujících síť. Protože identita uživatele není nikdy uložena, musí být povolení vždy ověřeno při každém požadavku na dotaz. Tento proces je nákladnější z hlediska výpočetního výkonu ve srovnání s klíči pro prohlížení, které vyžadují pouze základní kontrolu oproti údajům uloženým ve stavu smart kontraktu. Celkové zlepšení uživatelského komfortu a stability sítě však stojí za zvýšený tlak kladený na uzly při ověřování povolení.

Navrhování pro uživatelskou zkušenost

Vzhledem k novosti dotazovacích povolení je decentralizované aplikace postavené na Secret Network využívají s různou mírou úspěchu. Při nevhodném použití mohou povolení vytvářet větší třecí plochu UX než klíče k prohlížení, proto je nezbytné, aby vývojáři zvážili dopad povolení k dotazům na design UI i UX. Cílem této části je poskytnout vývojářům stručný soubor doporučení, kterými by se měli řídit při používání povolení k dotazům.

Povolení k dotazům by měla být uložena
Povolení jsou efemérní zprávy, které musí být předány chytré smlouvě při každém dotazu. Nutit uživatele, aby při každém dotazu vygeneroval povolení, je pravděpodobně horší uživatelský zážitek než zaplatit jednorázový poplatek za vytvoření prohlížecího klíče. Po vytvoření povolení by proto mělo být uloženo v prohlížeči (např. v localStorage), aby mohlo být později znovu použito. Pokud jsou povolení uložena, mohou vývojáři zajistit uživatelům bezproblémový zážitek při zadávání budoucích dotazů, aniž by si koncový uživatel vůbec všiml, že byl nějaký požadavek zadán.

Uložená povolení by měla být používána navždy nebo do jejich zrušení.
Zopakujme, že jednou vygenerované povolení není třeba znovu vytvářet. Poskytnutí jednoduchého způsobu odvolání povolení uživatelům by mělo být integrováno do uživatelského rozhraní aplikace. Povolení lze odvolat odesláním zprávy o odvolání, jejímž jediným parametrem je název odvolávaného povolení.

Povolení k dotazu se může vztahovat na více secret tokenů
Než nutit uživatele vytvářet nové povolení pro každý secret token, který může aplikace používat, je lepší umožnit použití více tokenů v rámci jednoho povolení. Více tokenů lze zadat v poli allowed_tokens zprávy o povolení. Vývojáři by měli zvážit doménu své aplikace a podle toho povolit více tokenů.

Dodržováním těchto jednoduchých pokynů pro povolení dotazů mohou vývojáři zajistit definitivně lepší uživatelské prostředí pro své aplikace v Secret Network. Další podrobnosti týkající se povolení a jejich implementace naleznete v dokumentaci SNIP-24, kterou najdete na GitHubu nadace Secret Foundation.

Závěr

Secret Network je blockchainové řešení první vrstvy, které kombinuje odolnost soukromí a revolučnost škálovatelných chytrých smluv. Bezpečnostní řešení jsou často na úkor uživatelského komfortu. Vývojáři Secret Network zaujímají aktivní postoj k nezatěžování nových uživatelů, aby každý mohl snadno přistupovat k soukromým decentralizovaným financím. Prohlížecí klíče byly první implementací řízení přístupu pro koncové uživatele, ale přišly s cenou, a to jak na uživatelský zážitek, tak na stabilitu sítě. Povolení k dotazům jsou vylepšením tokenů Secret Network, které zachovávají soukromí. Až budou vývojáři vytvářet nové aplikace a refaktorovat stávající nástroje podle tohoto nového standardu, budou moci koncoví uživatelé prozkoumávat ekosystém stejně snadno jako v případě veřejného řetězce. Zabezpečením uživatelských dat a poskytnutím uživatelům jednoduchých nástrojů pro řízení přístupu, jako jsou klíče pro prohlížení a povolení, se Secret Network posouvá o další krok do budoucnosti, kde je soukromí v popředí hnutí Web3.

--

--