Projev: Gavin Wood

Gavin nedávno věnoval pozornost otázce útoků na čarodějnice (občanský odpor) PolkaWorld přezkoumal hlavní projev Dr. Gavina Wooda na Polkadot Decoded 2024 a chtěl prozkoumat některé Gavinovy ​​poznatky o tom, jak útokům čarodějnic předcházet.

Co je to útok čarodějnic?

Jak možná víte, pracoval jsem na několika projektech, píšu šedou knihu, zaměřuji se na projekt JAM, a také jsem v tomto směru udělal nějakou kódovou práci. Ve skutečnosti jsem v posledních dvou letech přemýšlel o velmi kritické otázce, která je v této oblasti velmi důležitá, a to jak předcházet občanskému odporu. Tento problém je všude. Blockchainové systémy jsou založeny na teorii her a při analýze her obvykle potřebujeme omezit počet účastníků nebo řídit libovůli, kterou mohou účastníci vykazovat.

Když navrhujeme digitální systémy, velmi chceme být schopni určit, zda konkrétní koncový bod – tedy digitální koncový bod – obsluhuje člověk. Hned na začátku chci mít jasno, že zde nemluvím o identitě. Otázka identity je jistě důležitá, ale zde nejde o to určit konkrétní identitu koncového bodu v reálném světě, ale rozlišit rozdíl mezi tímto zařízením a zařízeními, která v současnosti obsluhují lidé. Kromě toho další otázka zní: pokud je zařízení skutečně obsluhováno člověkem, můžeme této osobě přidělit pseudonym, aby ji bylo možné identifikovat v konkrétním kontextu, a pokud s námi bude v budoucnu znovu komunikovat pomocí tohoto zařízení, bude moci znovu identifikovat.

Jak se způsob naší interakce postupně posouvá od primární komunikace s ostatními lidmi (jako v 80. letech, kdy jsem se narodil) k interakci se systémy, tyto typy digitálních systémů, zejména decentralizované systémy Web3, nabývají na důležitosti. V 80. letech 20. století lidé komunikovali primárně přímo mezi sebou, v 90. letech jsme začali komunikovat se službami po telefonu, jako je telefonní bankovnictví. Byla to pro nás velká změna, a zatímco původně telefonní bankovnictví sestávalo ze spousty ručně ovládaných call center, kde jsme mluvili s lidmi po telefonu, nakonec se tyto systémy vyvinuly v automatizované hlasové systémy, které mají dnes. S rozvojem internetu je tento druh lidské interakce stále méně a méně a téměř již nekomunikujeme přímo s lidmi v každodenních službách. Tento trend se samozřejmě stal ještě výraznějším s rozmachem elektronického obchodování Web2. A Web3 to ještě více upevňuje – ve Web3 už téměř nekomunikujete s lidmi. Základní myšlenkou Web3 je umožnit vám interakci se stroji a dokonce umožnit strojům vzájemnou interakci.

Jaký má smysl studovat útoky čarodějnic?

Takže, co to přesně znamená? To je základní prvek každé skutečné společnosti a je jádrem mnoha našich sociálních systémů, včetně podnikání, správy věcí veřejných, hlasování, integrace názorů a dalších. Všechny tyto spoléhají do značné míry na schopnost zabránit útokům Sybil za účelem budování komunity. Mnoho mechanismů, které v podniku považujeme za samozřejmé, je ve skutečnosti založeno na předpokladu prevence útoků Sybil. Ať už se jedná o spravedlivé a rozumné použití, kontrolu hluku nebo správu komunity, všechny jsou založeny na této obranné schopnosti. Mnoho věcí vyžaduje, abychom potvrdili, zda je entita skutečnou lidskou bytostí. Pokud se někdo chová nevhodně, můžeme ho dočasně vyloučit z komunity. Tento fenomén můžete vidět v digitálních službách a samozřejmě i v reálném světě.

Tím, že zabráníme útokům Sybil, můžeme zavést některé mechanismy k omezení chování, aniž bychom vyžadovali překážky vstupu nebo obětovali dostupnost systému. Existují například dva základní způsoby, jak motivovat chování. Jedním z nich je strategie „mrkev a bič“ (tj. mechanismus odměny a trestu). Velká palice (trest) je požadovat, abyste zaplatili zálohu, pokud se chováte nevhodně, bude vám zabavena záloha. Přístup mrkve (odměny) spočívá v předpokladu, že podáte dobrý výkon, a pokud nesplníte očekávání, odebereme vám některá práva. To je vlastně základní způsob fungování většiny občanských společností.

Tento přístup však nelze skutečně implementovat bez mechanismu odolného vůči Sybil na blockchainu. V občanské společnosti mechanismy jako tento fungují, protože jakmile je někdo uvězněn, nemůže znovu spáchat stejný zločin, alespoň ne, dokud je uvězněn. Svoboda je neodmyslitelná a v zásadě ji mohou vlády odebrat. Nemluvím o uvěznění někoho na řetězu, ale říkám, že podobná omezující opatření nejsou v současné době na řetězu možná. To ztěžuje poskytování bezplatných služeb, které odrazují od špatného chování, spíše než jen povzbuzují k dobrému chování. Obchodní a propagační aktivity hodně spoléhají na to, že jsou schopni potvrdit, že obchodníci jsou skuteční lidé.

Toto je snímek obrazovky z webu, který občas používám. Jedná se o velmi dobrou whisky, kterou má mnoho lidí opravdu rádo a je těžké ji najít v zemi jejího původu. V Evropě se dá sehnat relativně levněji, ale vypadá to, že cenu drží nízko tím, že omezují jednotlivé nákupy. Tuto operaci je však téměř nemožné implementovat ve skutečném systému Web3.

Existují také značné potíže při budování komunity, výsadcích a identifikaci a distribuci členů komunity. Celkově jsou výsadky velmi neefektivní v kapitálových výdajích, protože cílem výsadků je oslovit co nejvíce lidí. Při provádění výsadků, aby bylo efektivně dosaženo spravedlivé distribuce, je třeba nejprve identifikovat jednotlivce a poté dát stejnou částku všem. Ve skutečném provozu se však vyskytnou různé problémy, jako jsou různé zůstatky v peněžence. Můžete se dostat do situace, kdy se distribuční křivka stane velmi nevyváženou a vykazuje obrovské rozdíly. Výsledkem je, že většina lidí je sotva dostatečně motivovaná.

Pokud jde o problém „spravedlivého a rozumného využití“, ačkoli je dopad nyní menší, pokud používáte příliš mnoho síťových zdrojů, systém vás obvykle jen zpomalí, i když stále můžete síť používat.

Kdysi, asi před 10 až 15 lety, pokud jste používali příliš mnoho internetových zdrojů, váš ISP si mohl myslet, že nevyužíváte neomezenou síťovou službu správně. Takže v podstatě úplně zastaví vaši službu, místo aby pouze zpomalili rychlost vašeho internetu, jako je tomu nyní. Tento přístup jim umožňuje poskytovat téměř neomezené internetové služby většině uživatelů, protože mohou identifikovat uživatele a rozlišit, kdo vhodně využívá zdroje.

Základem Web2 je pokročilý model služeb, který do značné míry spoléhá na schopnost identifikovat uživatele. Před více než 20 lety mohly být mechanismy identifikace uživatelů méně sofistikované, ale nyní jsou věci velmi odlišné. Pokud si chcete založit účet, obvykle existují více než tři mechanismy, jak potvrdit, zda jste skutečný jedinec a zda jste uživatel, kterého ještě neviděli. Pokud se například pokusíte zaregistrovat si účet Apple, aniž byste si koupili iPhone, je to skoro jako skákání přes obruče a společnosti vám v podstatě nejsou ochotny účet poskytnout. Jistě, inzerují, že můžete získat účet zdarma, ale nemám ponětí, co dělá AI v zákulisí, a mně samotnému trvalo 10 pokusů, než jsem to konečně zprovoznil. V důsledku toho jsem si musel koupit iPhone.

Mám pocit, že pokud dokážeme lépe identifikovat jednotlivce, mnohé procesy jako „Oracleization“ (ověření informací) se zjednoduší.

Typickým příkladem použití „humanity proof“ k předcházení útokům čarodějnic ve společnosti k ověřování informací je systém poroty. Když potřebujeme nestranného soudce (tedy Oracle), aby rozhodl, zda je někdo vinen nebo ne, systém náhodně vybere lichý počet obyčejných lidí ze společnosti a nechá je vyslechnout si důkazy a vynést verdikt. Podobně i v jiných oblastech společenského života, jako je zastupování a shromažďování názorů, je zastupování důležitou součástí společnosti a zastupování řídíme prostředky odolnými vůči Sybil. Samozřejmě, protože současná občanská infrastruktura je nedokonalá, tento přístup řízení často není ideální, zvláště když je reprezentace zaměňována s identitou. Mnohokrát, když chcete volit, musíte prokázat svou skutečnou totožnost, například řidičským průkazem nebo pasem. Ve skutečnosti však hlasování představuje část vašich hlasovacích práv, spíše než přímé spojení tohoto hlasování s vaší osobní identitou.

Jak se bránit útokům čarodějnic? Jaké je aktuální řešení?

Takže, jak by se to mělo udělat?

Ve Webu 2 a před Webem 2 bylo mnoho způsobů, jak implementovat autentizaci. V dnešních systémech Web 2 se tyto metody často používají v kombinaci. Pokud si například chcete vytvořit nový účet Google, možná budete muset předat ověřovací kód a ověřit pomocí e-mailu a SMS. Někdy může ověření pomocí textové zprávy nahradit telefonní hovor se skutečnou osobou. Pokud jste někdy byli uzamčeni ze svého účtu Amazon, víte, o čem mluvím. V podstatě je to složitá bludiště, dokud nenajdete ta správná tlačítka a možnosti telefonu a nakonec nebudete schopni mluvit s živým agentem zákaznického servisu. Pro sofistikovanější prevenci Sybil můžeme použít informace, jako je ID nebo kreditní karta.

Když jsme však vstoupili do světa Webu 3, můj výzkum nenašel nic, co by mě skutečně uspokojovalo jako dokonalé řešení. Existuje několik kandidátů, ale velmi se liší ve třech oblastech: zda jsou decentralizovaní, zda chrání soukromí a zda jsou skutečně odolní (tj. odolní vůči útokům).

Odolnost se stává stále větším problémem. Ve skutečnosti většina systémů čelí oběma problémům.

Existuje systém, kterému říkám „společný zpovědní systém“, kde odhalíte své soukromí konkrétní autoritě a tato autorita o vás bude mít nějaké informace, které možná nebudete chtít sdílet s ostatními. Můžete například naskenovat svůj pas a odeslat ho agentuře, která pak má informace o pasech všech a je v silné pozici, protože mají všechny tyto informace. Běžné zpovědní systémy nejsou pro Web3 vhodné.

Kromě toho se někdy setkáte s některými personalizačními systémy, jako je Web3, které spoléhají na „společné autority pro správu klíčů“. Existuje mocná organizace, která držením klíče určuje, kdo je právnická osoba. Jinými slovy, tato organizace má právo rozhodnout, kdo může být v systému považován za „skutečného uživatele“. Někdy tyto organizace dokonce drží klíče pro uživatele, ale častěji si jednoduše ponechávají pravomoc rozhodnout, kdo je legitimní jednotlivec.

Tito všichni spoléhají na centralizované úřady při kontrole soukromí nebo informací o identitě uživatelů, což je v rozporu s koncepty decentralizace Web 3 a autonomie uživatelů.

To, že něco napojíte, neznamená, že je to Web3. Můžete jednoduše přesunout zásady Web2 nebo zásady, které se spoléhají na centralizovanou autoritu v řetězci, ale samotné zásady nezmění. Znamená to pouze, že politika může být odolnější vůči provedení, ale samotná politika stále není Web3. To, že je jméno dlouhý hexadecimální řetězec, ještě neznamená, že je nutně soukromé. Pokud nebudou přijata žádná konkrétní opatření, mohou být takové řetězce stále spojeny s informacemi o identitě v reálném světě.

Pokud se systém opírá o běžné „mechanismy přiznání“, není to řešení na ochranu soukromí. Viděli jsme dostatek úniků dat, abychom pochopili, že data nelze udržet v bezpečí pouhým umístěním za podnikovou souborovou zeď nebo na nějaký důvěryhodný hardware. Personalizované řešení vhodné pro Web3 nevyžaduje lokální individuální identitu nebo členství v místní komunitě, ale globální individuální identitu, což jsou zcela odlišné koncepty.

Existují některé systémy, které se snaží tento problém vyřešit, ale spoléhají na jeden kus hardwaru a společný mechanismus správy klíčů, takže ve skutečnosti nejde o řešení Web3. Například projekt Worldcoin se snaží tento problém vyřešit prostřednictvím důvěryhodného hardwaru, ale používá jednotnou organizaci správy klíčů a centralizovaný zdroj dat, takže to není v souladu s decentralizačním konceptem Web3.

Dalším příkladem je Gitcoin Passport, který je široce používán v komunitě Ethereum a je komplexní platformou pro další řešení identity a personalizace. Při identifikaci osob se spoléhá na federální orgán pro správu klíčů, ale tyto zdroje dat jsou často založeny na centralizovaných orgánech, včetně centralizovaných orgánů (CC), jako je CoinBase.

Idena, zajímavé řešení Web3 bez obvyklé správy klíčů nebo centralizované autority. Je to však pouze jediný mechanismus a není jasné, zda je dostatečně odolný vůči rozvíjejícímu se odvětví umělé inteligence. Zatím se mu to docela daří, ale uživatelská základna je stále relativně malá, má jen asi tisíc uživatelů.

Obecně v současné době neexistuje žádná metoda, která by tento problém mohla zcela vyřešit.

Gavinovy ​​myšlenky na řešení útoků čarodějnic

Existují dva způsoby uvažování o individuální identitě: jeden je vzdálený a druhý je lokální. Stroje přirozeně nerozumí "individuální identitě" a je nepravděpodobné, že bychom viděli nějaký druh šifrovací technologie, který by tento problém náhle vyřešil. Někdo by mohl namítnout, že otisky prstů nebo biometrie dělají člověka jedinečným a že stroje je dokážou změřit, ale čistě digitálním systémem by se to těžko prokazovalo. Pravděpodobně nejblíže tomuto cíli je Worldcoin, ale to je pouze stroj schopný ověření způsobem, který nelze snadno hacknout.

Proto musíme pochopit, že individuální identita je více o autentizaci. Zahrnuje, jak prvky v digitálním systému ověřují, že ostatní prvky jsou skutečné entity. Otázkou tedy je, co je základem této certifikace? Jde o fyzický kontakt nebo jiné podezření? Věříme, že účet je skutečnou osobou, protože jsme se s danou osobou setkali a v době schůzky předpokládáme, že nebyla v kontaktu s jinými lidmi, a proto můžeme odvodit, zda je jedinou osobou v určitém prostředí nebo jednoduše proto, jsme na obrazovce Viděli jsme něco a měli další důkazy na podporu jeho identity jako jednotlivce?

Když mluvíme o vzdálené autentizaci (tedy autentizaci, která není přímým, nefyzickým důkazem), AI (umělá inteligence) může způsobit určité problémy. A pokud se budeme spoléhat na fyzické důkazy, může se stát problémem praktičnost. Takže jsme uvízli mezi těmito dvěma omezeními. Myslím si však, že prostřednictvím inovací a představivosti můžeme stále najít nějaká funkční řešení.

Co tedy musíme udělat?

Takže, co potřebujeme? Jaký je náš plán?

Myslím, že klíčem k tomu, aby byl Polkadot užitečnější v reálném světě (a nejen ve světě DeFi, NFT a virtuálních blockchainů), je najít jednoduchý způsob, jak identifikovat jednotlivce. Identifikace zde neznamená určit, kdo je tato osoba, například neříkat „já vím, že tohle je Gavin Wood“, ale identifikovat „toto je jedinečný jedinec“. Nemyslím si, že bude existovat jediné řešení, takže potřebujeme modulární a rozšiřitelný rámec.

Prvním krokem je integrace stávajících rozumných řešení, jako je Idena. Za druhé, systém by neměl být omezován nápady jedné osoby a neměl by spoléhat pouze na představivost jedné osoby o tom, jaké mechanismy by mohly fungovat. To by mělo být do určité míry otevřené a umožnit každému přispět řešením.

Za druhé, potřebujeme silnou kontextovou pseudonymitu. Vlastně jsem původně psal o anonymitě a do jisté míry jsem měl na mysli anonymitu, anonymitu z vaší skutečné identity. Zároveň ale chceme mít také pseudonymitu, abyste v jakémkoli daném kontextu mohli nejen prokázat, že jste jedinečná osoba, ale také, že když systém znovu použijete ve stejném kontextu, můžete prokázat, že jste jsou stejná osoba jako předtím.

Nakonec potřebujeme robustní SDK a API, aby bylo použití této funkce stejně snadné jako jakékoli jiné funkce v inteligentních smlouvách Substrate nebo Polkadot nebo v nadcházejícím ekosystému JAM. Musí být snadno použitelný. Například, abych byl konkrétní, nevím, kolik lidí zde napsalo Frame kód, ale při psaní nového blockchainu často uvidíte řádek kódu let account = secure_signed (origin). Účelem tohoto řádku kódu je získat zdroj transakce a potvrdit, zda zdroj pochází z účtu, a pokud ano, řekněte mi, o jaký účet jde. Účet však není totéž jako jednotlivec. Osoba může používat jeden nebo více účtů a podobně může jeden nebo více účtů používat i skript. Účet sám o sobě nemůže poskytnout žádné informace o identitě jednotlivce, alespoň ne sám o sobě. Pokud tedy chceme zajistit, aby transakce pocházela od skutečné osoby a ne od jednoho z milionu účtů, musíme být schopni nahradit tento řádek kódu jiným řádkem kódu nechť alias = secure_person (origin, &b「Můj kontext ").

Za zmínku stojí dvě výhody.

Za prvé, neptáme se pouze, zda je to účet, který transakci podepisuje, ale zda je to osoba, která transakci podepisuje. To znamenalo obrovský rozdíl v tom, čeho jsme byli schopni dosáhnout.

Za druhé, je důležité, aby různé operace měly různé kontexty a abychom v těchto kontextech zavedli anonymitu a ochranu pseudonymů. Když se změní kontext, změní se i pseudonymy a neexistuje způsob, jak pseudonymy v různých kontextech vzájemně propojit nebo spojit pseudonym s osobou, která za ním stojí. Jedná se o zcela anonymní pseudonymní systémy, které se stávají velmi důležitým nástrojem ve vývoji blockchainu, zejména při vývoji systémů, které jsou užitečné v reálném světě.

Jaká omezení tedy můžeme klást na mechanismy, kterými skutečně identifikujeme jednotlivce? Za prvé, mechanismus musí být široce přístupný. Nebude to příliš užitečné, pokud umožní účast pouze podskupině populace. Nemělo by vyžadovat majetek a nemělo by vyžadovat drahé poplatky, alespoň ne přemrštěné poplatky.

Nevyhnutelně dojde ke kompromisům mezi různými mechanismy. Nemyslím si, že existuje univerzální řešení. Ale některé kompromisy jsou přijatelné a některé ne. S odolností, decentralizace a suverenita by se nemělo zacházet kompromisem, ale některé mechanismy mohou vyžadovat méně úsilí, ale více odhodlání, zatímco jiné mohou vyžadovat více úsilí, ale méně závazku. Měli bychom rozumně očekávat, že za jednotlivcem ověřeným systémem (tj. propojeným s účtem nebo pseudonymem) skutečně stojí jedinečný jedinec ze skutečného světa.

V decentralizovaných systémech Web3 může docházet k překrývání různých mechanismů pro měření individuální identity odolným způsobem, který není založen na autoritách. To znamená, že ve skutečnosti nemůžeme dosáhnout dokonalosti, ale neměla by existovat řádová chyba a rozdíl by měl být výrazně menší než řádová velikost. Kromě toho musí být systém extrémně odolný vůči zneužití identity, aby zabránil malému počtu jednotlivců nebo organizací ve snaze získat velké množství individuálních identit.

Zásadní je, že systém musí mít bezpečnostní opatření, která tomu zabrání. Mohou existovat mechanismy schopné poskytovat relativně nízké skóre spolehlivosti individuálních identit, což je vyšší cíl. Některé mechanismy toho mohou dosáhnout, některé ne a některé mohou být binární, buď se domníváme, že účet je jedinečná osoba, nebo ne. Existují také mechanismy, které mohou říci, že jsme si 50% jisti, ale je také možné, že tato osoba má dva účty a my jsme si 50% jisti oběma účty.

To vše samozřejmě musí být bez povolení a musí být snadné to implementovat. Nemusím to zdůrazňovat, ale v systému by neměl existovat společný mechanismus přiznání nebo společná autorita správy klíčů.

Jaké jsou výhody tohoto provedení?

Tak proč to dělat? Jaké jsou výhody?

Diskutovali jsme o některých způsobech, kterými společnosti využívají individuální identity nebo na ně spoléhají. Ale jak jsou tyto implementovány v řetězci? Můžeme si začít představovat systém Polkadot, kde se neplatí žádné transakční poplatky, tedy zdarma za rozumné použití. Představte si „Plaza“, pokud ho neznáte, je to v podstatě vylepšená verze Asset Hub s funkcí inteligentních kontraktů a možností využívat výhod systému sázek.

Pokud si představíme takový řetězec Plaza, dokážeme si představit scénář, kdy poplatky za plyn nejsou vyžadovány. Plyn je zdarma, pokud jej používáte v rozumných mezích. Samozřejmě, pokud píšete skripty nebo hodně obchodujete, budete muset zaplatit poplatek, protože to přesahuje rozsah užívacích práv průměrného jednotlivce. Představte si, že se tyto systémy stanou svobodnými a otevřenými pro veřejnost a my můžeme cíleně a efektivně spustit komunitu pomocí airdrops a dalších metod. Zároveň si můžeme představit pokročilejší metody řízení Polkadot.

Nyní mě myšlenka „jedna osoba, jeden hlas“ nijak zvlášť nepřesvědčila. V některých případech je nutné zajistit zákonnost, ale obvykle to nevede k zvlášť dobrým výsledkům. Můžeme však zvážit některé další způsoby hlasování, jako je kvadratické hlasování nebo regionální hlasování. Jedna osoba, jeden hlas může být v některých prvcích reprezentace velmi poučný.

Mohli bychom si také představit systém orákula podobný porotě, kde by parachainy a smart kontrakty mohly využívat lokální sekundární orákula, možná pro cenová orákula, třeba k řešení sporů mezi uživateli. Mohou však také říci, že v případě potřeby použijeme systém „velké poroty“ nebo „Nejvyššího soudu“ k výběru členů ze známých náhodných jednotlivců, kteří budou rozhodovat, pomáhat řešit spory a poskytovat nějakou malou částku odměny. Vzhledem k tomu, že tito členové jsou náhodně vybíráni z velké, nestranné skupiny, můžeme očekávat, že tento přístup poskytne odolnou a spolehlivou metodu řešení sporů.

Dokážete si představit, že systémy omezující hluk, zejména decentralizované integrace sociálních médií v integracích sociálních médií, mohou pomoci zvládnout spam a špatné chování. V DeFi bychom si mohli představit systém s omezenou pověstí podobný kreditnímu skóre, ale možná více zaměřený na to, zda jste někdy nebyli přistiženi při nesplácení půjčky včas, aby systém mohl poskytovat službu podobnou freemium modelu.

Dobře, to je první část této přednášky, doufám, že to pomůže.