Kdyby se dělal žebříček nejohroženějších míst celého ekosystému, mosty mezi sítěmi by byly na prvním. Odcizené částky jdou do miliard a příčina je pokaždé podobná.
Tahle kapitola vysvětluje, proč je most z principu slabší než sítě, které spojuje.
Proč jsou mosty nutné a proč jsou těžké
Blockchainy o sobě navzájem nevědí. Síť A neumí ověřit, co se stalo v síti B, protože by k tomu musela zpracovávat její bloky.
Most tenhle problém řeší nejčastěji takhle:
A přesně v tom prostředním kroku je celý problém. Někdo musí potvrdit, že se v druhé síti něco stalo. Ať je to skupina podepisujících, kontrakt s validátory nebo lehký klient druhého řetězu, vždycky je to slabší záruka než konsensus samotné sítě.
Proč je to horší než u běžného kontraktu
Tři důvody, které se sčítají:
- Na mostě leží všechno zamčené na jednom místě. Zatímco běžný protokol drží prostředky rozdělené, most je hromada, u které stačí prolomit jeden mechanismus.
- Bezpečnost je dána tím nejslabším z obou konců plus samotným mostem. Přidáváš články, z nichž každý může selhat.
- Ověření událostí z cizí sítě je složité. Čím složitější kód, tím víc místa na chybu, a bývá to kód, který má míň očí než jádro protokolu.
Opakující se příčiny
Bez návodů, jen jako to, na co se ptát při posuzování:
| Příčina | Na co se ptát |
|---|---|
| Kompromitace klíčů podepisujících | kolik podpisů je potřeba a kdo je drží? |
| Chyba v ověření důkazu | dá se podvrhnout zpráva o události v druhé síti? |
| Špatná kontrola oprávnění u výběru | kdo smí volat funkci na odemčení? |
| Neošetřený případ při aktualizaci | kdo a jak rychle může vyměnit logiku? |
Nejčastější z nich je ta první a je nejméně technická: prostředky za miliardy hlídalo pár klíčů, někdy s prahem, který stačilo překonat kompromitací několika strojů.
Praktický závěr
Když převádíš prostředky mezi sítěmi, počítej s tím, že jsi po dobu převodu vystavený riziku, které je řádově vyšší než držení v kterékoli z těch sítí. Z toho plyne pár rozumných návyků:
- Nedržet prostředky na mostě déle, než je nutné.
- Zajímat se, kolik podpisů a od koho most vyžaduje, než se použije.
- U velkých částek raději víc menších převodů než jeden velký.
- Vědět, že zastupující token je pohledávka za mostem, ne původní aktivum.
Ten poslední bod se často přehlíží. Zabalený token má hodnotu jen do té doby, dokud je most schopen ho vyměnit zpět.
Cvičení
- Proč nemůže síť A ověřit sama, co se stalo v síti B?
- Most vyžaduje pět podpisů z devíti. Co to znamená pro bezpečnost a jak by ses ptal dál?
- Proč je zastupující token něco jiného než původní aktivum?
Náčrt řešení: rozbal, až si cvičení zkusíš sám
- Protože by k tomu musela zpracovávat a ověřovat bloky té druhé sítě. To znamená znát její pravidla konsensu, držet její hlavičky a ověřovat práci nebo podpisy validátorů, což je uvnitř kontraktu drahé a složité. Mosty proto obvykle spoléhají na to, že jim událost potvrdí nějaká skupina, čímž se do systému vrací důvěra. Řešení, která skutečně ověřují druhý řetěz, existují, ale jsou technicky náročná a nákladná na provoz.
- Znamená to, že bezpečnost stojí na tom, aby útočník nezískal pět klíčů. Ptát se dál by se mělo na to, kdo je drží, jestli jsou to nezávislé subjekty nebo jedna firma, jestli klíče leží na oddělených zařízeních a jestli je práh vůbec vynucený kontraktem. Práh pět z devíti zní bezpečně, ale pokud všech devět klíčů spravuje jeden tým na podobné infrastruktuře, je to fakticky jeden bod selhání.
- Protože je to pohledávka za mostem, ne původní aktivum. Zabalený token má hodnotu jen potud, pokud je most schopný a ochotný vyměnit ho zpět za zamčený originál. Když je most vykraden nebo přestane fungovat, zůstane token, který nemá krytí, a jeho cena spadne, i když kontrakt dál funguje normálně. Je to stejná logika jako u stablecoinu krytého rezervami.
Shrnutí
- Sítě o sobě navzájem nevědí, takže někdo musí potvrdit událost z druhé sítě.
- Ten potvrzující článek je vždy slabší záruka než konsensus samotných sítí.
- Na mostě leží prostředky soustředěné na jednom místě, což z něj dělá výhodný cíl.
- Nejčastější příčinou incidentů je kompromitace klíčů, ne exotická chyba v matematice.
- Zabalený token je pohledávka za mostem, ne původní aktivum.
Proč jsou mosty mezi sítěmi slabším místem než sítě samotné?
Protože žádná síť neumí přímo ověřit, co se stalo v jiné, takže událost musí potvrdit nějaký další mechanismus, typicky skupina podepisujících. Ta je slabší zárukou než konsensus celé sítě. Navíc jsou na mostě prostředky soustředěné na jednom místě, což zvyšuje hodnotu úspěšného útoku.
Co je nejčastější příčinou velkých ztrát na mostech?
Kompromitace klíčů, které potvrzují převody. Není to obvykle exotická chyba v kryptografii, ale to, že prostředky v hodnotě miliard hlídá několik klíčů spravovaných jedním týmem na podobné infrastruktuře. Práh typu pět z devíti pak chrání méně, než vypadá.
Čím se liší zabalený token od původního aktiva?
Je to pohledávka za mostem, která má hodnotu jen dokud most dokáže vyměnit token zpět za zamčený originál. Pokud je most vykraden nebo přestane fungovat, zůstane token bez krytí a jeho cena spadne, přestože kontrakt sám pracuje dál správně.
