Toto rozlišení je důležité, protože Midnight není jen aplikace nasazená uvnitř Cardana. Jde o partnerský řetězec zaměřený na soukromí s vlastním prostředím pro vykonávání, produkcí bloků a provozním softwarem, který zároveň čerpá z infrastruktury Cardana a z návrhu bridge určeného k propojení obou systémů. Důkaz o ochraně soukromí může být správný, zatímco nasazení, které tento důkaz vytváří, přenáší, ověřuje nebo podle něj jedná, může být z provozního hlediska křehké.
Decrypt informoval, že Input Output plánuje převést práci na jádrovém uzlu Cardana, Plutusu, peněžence a infrastruktuře pro škálování na specializované externí týmy. Jde o událost týkající se řízení vývoje. Pro Midnight z ní vyplývá nutnost zviditelnit závislosti na úrovni jednotlivých komponent, místo aby se na „Cardano“ nahlíželo jako na jediného dodavatele s jedním procesem vydávání verzí.
Hranice důvěry není jediná čára
Partnerský řetězec by měl být popsán jako soustava výslovně definovaných rozhraní. Midnight potřebuje vlastní pravidla konsensu a vykonávání, aby mohl rozhodovat, které transakce a důkazy jsou na Midnightu platné. Cardano poskytuje samostatný účetní systém a prostředí pro staking, stejně jako software a provozní nástroje, které se mohou podílet na produkci bloků, monitorování bridge nebo ověřování.
Klíčovou technickou otázkou je, kde přechází autorita z jednoho systému do druhého.
Zpráva Input Output Research o ověřování technologií v polovině roku popisuje navrhovaný bridge partnerských řetězců Cardana využívající rotující výbory, ověřování založené na Plutusu a důkazy SNARK, společně s předáváním specifikací, kódu a dokumentace. Tyto podrobnosti naznačují několik samostatných závislostí:
- Mechanismus výboru musí vybírat nebo střídat účastníky podle pravidel, která obě strany implementují konzistentně.
- Prover musí vytvořit SNARK, stručný neinteraktivní důkaz, vůči očekávanému tvrzení a ověřovacímu klíči.
- Kód Plutus na straně Cardana musí důkaz ověřit a vynucovat pravidla přechodu stavu bridge.
- Software mimo blockchain musí sledovat události, vytvářet transakce, spravovat klíče a koordinovat načasování.
Každá položka má jiný režim selhání. Chybný důkazový obvod představuje kryptografický problém a problém bezpečnosti aplikace. Nesoulad mezi relayerem bridge a změněným formátem transakce je problém kompatibility softwaru. Výbor, který se po aktualizaci nedokáže koordinovat, představuje problém provozní dostupnosti. Označovat všechny tři případy jako „bezpečnost bridge“ zakrývá vrstvu, která za ně odpovídá.
Zpráva je validačním dokumentem, nikoli důkazem, že každé rozhraní dosáhlo konečné produkční podoby. Tato výhrada je podstatná. Navrhovaný bridge může přesně specifikovat svůj model důvěry, přičemž praktické otázky vlastnictví vydání, testování kompatibility a pravomocí pro mimořádné situace mohou zůstat nevyřešené.
Skutečný provozní řetězec Midnightu zasahuje do Cardana
Průvodce pro producenty bloků na testnetu Midnightu činí řetězec závislostí mimořádně konkrétním. Nastavení provozovatele zahrnuje provoz stake poolu Cardana, cardano-db-sync, PostgreSQL, Kupo, Ogmios, CLI partnerského řetězce a uzel Midnightu.
Tento seznam znamená, že producent bloků Midnightu neprovozuje izolovaně jediný binární soubor. Provozuje řetězec služeb. Uzel Midnightu potřebuje data a příkazy, které mohou procházet službami napojenými na Cardano, lokálními databázemi a vrstvami API, než může producent bloků jednat správně. Dostupnost může selhat v kterémkoli bodě, i když konsensus Midnightu zůstává bezpečný.
Vlastní architektonická dokumentace Cardana odděluje účetní knihu, konsensus, síťovou vrstvu a skriptování a označuje cardano-node, Plutus, cardano-cli a cardano-db-sync za komponenty obklopující jádrový uzel. Vývojářská dokumentace Cardana vysvětluje, proč je toto oddělení důležité: účetní kniha vymezuje pravidla přechodu stavu, konsensus určuje výběr řetězce, síťová vrstva šíří data a skriptování poskytuje programovatelné ověřování.
Pro provozovatele Midnightu by se tato hranice mezi komponentami měla změnit v mapu vlastnictví. Otázkou není pouze to, zda je binární soubor open source. Důležité je, kdo spravuje rozhraní, které provozovatel skutečně používá, kdo vydává kompatibilní verzi a kdo prohlašuje starou verzi za nebezpečnou nebo nepodporovanou.
Bezpečnost protokolu není bezpečnost dodavatelského řetězce softwaru
Bezpečnost protokolu se ptá, zda útočník dokáže porušit pravidla systému. U bridge se SNARK sem patří správnost: zda lze nepravdivé tvrzení přijmout jako pravdivé. Patří sem také správná správa ověřovacích klíčů, předpoklady týkající se výboru, předpoklady konečnosti a stavový automat smart contractu bridge.
Bezpečnost dodavatelského řetězce softwaru pokládá jinou sadu otázek. Která revize zdrojového kódu vytvořila nasazený binární soubor? Kdo může slučovat kód? Jsou závislosti pevně určené a kontrolované? Může provozovatel z veřejného zdrojového kódu znovu vytvořit vydaný artefakt? Je sestavení podepsané? Jsou opravy kritických zranitelností koordinovány napříč uzlem, indexerem, API a softwarem bridge?
Předání specializovaným týmům může tuto situaci zlepšit, pokud přinese správce s jasně vymezenou odpovědností a transparentní postupy vydávání verzí. Může ji zhoršit, pokud má rozhraní více správců, ale žádného konečného vlastníka kompatibility. „Decentralizovaný vývoj“ automaticky neodpovídá ani na jednu z těchto otázek.
Nejzřetelnějším praktickým rizikem je nesoulad verzí. Představme si, že komponenta Cardana změní odpověď API, očekávání ohledně serializace nebo chování v načasování dostupné indexeru. Provozovatel Midnightu může dál provozovat platný uzel Midnightu, ale zásobovat jej zastaralými, neúplnými nebo nesprávně interpretovanými daty Cardana. Nebo si představme, že aktualizace bridge napojeného na Plutus změní očekávaný ověřovací klíč nebo veřejné vstupy důkazu, zatímco software proveru zůstane na předchozím vydání. Důkazový systém může fungovat přesně podle návrhu, ale transakce bridge nemusí ověřením projít.
Důležité je, že odmítnutí je často bezpečným výsledkem. Horší kategorií je sémantická divergence: dvě komponenty přijímají vstupy, ale neshodují se na tom, co tyto vstupy znamenají. Testování kompatibility se musí zaměřit na tuto kategorii, nikoli jen na zjevná selhání transakcí.
Co by mělo zveřejnit auditovatelné předání
Důvěryhodné předání závislostí by mělo externímu provozovateli umožnit sledovat funkci Midnightu až ke konkrétně pojmenované vrstvě, repozitáři, skupině správců a artefaktu vydání. Minimálně by mělo zveřejnit:
| Položka kontroly | Co by měla určit |
|---|---|
| Mapa repozitářů | Zdrojové repozitáře pro uzel Midnightu, nástroje proveru, software bridge, kontrakty Plutus a služby napojené na Cardano |
| Mapa správců | Tým odpovědný za slučování kódu, vydávání verzí, bezpečnostní opravy a rozhodování o rozhraních |
| Matice kompatibility | Otestované verze uzlu Cardana, cardano-db-sync, Kupo, Ogmios, CLI partnerského řetězce a uzlu Midnightu |
| Důkazy o sestavení | Revize zdrojového kódu, soubory lock pro závislosti, pokyny pro reprodukovatelné sestavení, podpisy a hashe artefaktů |
| Postup aktualizace | Podmínky aktivace, cesta pro návrat zpět, kroky výboru a provozovatelů a požadovaná koordinační okna |
| Postup pro mimořádné situace | Kanál pro zveřejňování zranitelností, pravomoc pozastavit nebo omezit provoz bridge a pravidla zveřejňování informací po incidentu |
Bridge vyžaduje zvláštní přístup, protože právě zde může lokální změna softwaru získat důsledky napříč řetězci. Pravomoc k aktualizaci by měla být uvedena odděleně pro konsensus Midnightu, vykonávání Midnightu, relayery bridge, důkazové obvody, ověřovací kontrakty a nástroje transakcí na straně Cardana. Jediné označení typu „tým bridge“ nestačí.
Nestačí ani zveřejnit kód až po incidentu. Provozovatelé potřebují předem oznámení, které jim sdělí, co aktualizovat, v jakém pořadí, do jakého termínu a co se stane, pokud neudělají nic. Koordinovaný proces aktualizace je součástí modelu provozní bezpečnosti protokolu, protože určuje, zda se poctiví účastníci sjednotí na kompatibilním softwaru.
Předání vývoje tak pro Midnight vytváří užitečný test. Projekt by měl být schopen odpovědět u každého neúspěšného důkazu, zablokovaného výběru, odmítnuté transakce bridge nebo nedostupného producenta bloků: která vrstva selhala, které rozhraní bylo zapojeno, kdo odpovídá za opravu a jak ji mohou provozovatelé nezávisle ověřit.
To je otázka závislostí, kterou stojí za to pokládat. Ne zda má vývoj Cardana jediný institucionální domov, ale zda mají pohyblivé části Midnightu jasně vymezené hranice, když se tento domov mění v několik specializovaných týmů.
Tento článek vytvořila umělá inteligence a byl publikován automaticky bez redakční kontroly před zveřejněním. Tento článek byl strojově přeložen z angličtiny a autorství uvedené v byline náleží autorovi původního textu.
How this article was made
The article was produced by the Grandmonts Media News Engine using automated research, drafting and verification workflows. No human editor reviewed the article before publication. Grandmonts Media remains responsible for the published content. Errors can be reported at office@grandmonts.cz.