Hackathon odpovědně

Hackathony v krypto/web3: jak připravit odpovědný projekt bez zkratkovitosti

Hackathon je tlaková zkouška, ve které se ukáže technický talent, rozhodování pod stresem i schopnost týmu dodat minimum viable výsledek. V prostředí krypto, tradingu a web3 to však nestačí: odpovědný projekt musí kromě funkční ukázky respektovat bezpečnost, soukromí, právní rámce, etiku a dlouhodobou udržitelnost. Tento text je praktický manuál, který vám pomůže připravit projekt tak, aby obstál nejen před porotou, ale také před reálným světem.

Definice problému a přístup „impact first“

  • Problémová věta: jednou–dvěma větami přesně definujte, kterou bolest řešíte (například bezpečné mikroplatby bez KYC pro hry, auditovatelné PoR pro malé custody, levný on-chain settlement pro RFQ trhy).
  • Hypotéza hodnoty: proč je řešení lepší než stávající stav? Kvantifikujte úsporu nákladů, latenci, riziko, UX kroky.
  • Omezení: regulatorní (sankce, licence), technická (finalita, poplatky), tržní (likvidita, oracles), etická (soukromí, zneužití).

Rozsah, milníky a „MVP bez podvádění“

  • Definice MVP: ne „figma + video“, ale e2e tok na testnetu/mainnetu s reálnou transakcí/událostí a ověřitelným důkazem.
  • Milníky: M1 – kostra kontraktu + unit testy; M2 – první volání přes UI/CLI; M3 – observabilita (logy, eventy); M4 – dokumentace a demo skript.
  • Co záměrně vynechat: pokročilé optimalizace a „nice-to-have“ UI. Raději dodat bezpečné minimum pokryté testy.

Týmové role a odpovědnosti

  • Tech lead: architektura, průřezová rozhodnutí, „no-go“ veto v otázkách bezpečnosti.
  • Smart contract engineer: model stavu, kontrola oprávnění, testy a formální vlastnosti.
  • Frontend/UX: stavové chyby, flow podepisování, vysvětlení rizik, „undo“ a revokace.
  • DevOps/infra: testnety, klíče, CI, monitoring, spolehlivost RPC.
  • Risk & compliance: hrozby, limity, jurisdikce, licence, otevřené zdroje (licence kódu a dat).

Architektura: jednoduchá, auditovatelná, rozšiřitelná

  • Modularita: jádro + plug-in moduly (policy, přístup, oracles). Usnadní to testování a omezí „blast radius“ chyb.
  • Minimální oprávnění: princip least privilege na úrovni kontraktů, proxy a podpisů (session klíče, limity výdajů).
  • Deterministické nasazení: verzování, adresy, migrace; zachovejte reprodukovatelnost (commit hash, build).

Výběr stacku a infrastruktury

  • Řetězec a L2: podle finality, poplatků, nástrojů a dostupnosti testnetu. Zvažte modularitu a dostupnost oraclů/mostů.
  • Oracly a data: definujte zdroje, latenci a fallback politiku; počítejte s výpadky feedů.
  • RPC a indexace: redundantní poskytovatelé, plány rate-limitů, lokální cache a backoff strategie.

Hrozebný model: co se může pokazit

  • Kontrakty: reentrancy, nedostatečná validace vstupů, nesprávné výpočty poplatků, overflow/underflow v custom matematice.
  • Schvalování a přístup: neomezené approvals, chybějící limity, slabé role/guardy, neoprávněný delegatecall.
  • Ekonomika: manipulace oracle, MEV (sandwich, backrun), likvidační smyčky, cenové disparity.
  • UX útoky: phishingové domény, slepé podepisování, matoucí oprávnění.

Bezpečnostní zásady pro smart kontrakty

  • Checks-Effects-Interactions, reentrancy guard, „pull over push“ u výplat.
  • Oprávnění: onlyOwner/onlyRole nahraďte moduly a časovými zámky; kritické funkce pod multisig + timelock.
  • Upgrade pattern: pokud používáte proxy, definujte upgrade governance a „kill-switch“. Pokud ne, připravte migraci a deprecation.
  • Bezpečné matematické operace a saturace limitů; explicitní jednotky (decimály, bps, wei).

Testování: od unit po property-based

  • Unit testy: pokrývají běžné scénáře, chybové stavy, parametrové hranice.
  • Property-based: invariance (např. zachování hodnoty), monotónnost, limity.
  • Fork testy: simulace reálných dat (pooly, oracles, mempool scénáře).
  • Fuzzing: náhodné vstupy, mutace calldata, nestandardní pořadí volání.

UX a bezpečné podepisování

  • Transparentní karta oprávnění: srozumitelně „Kdo/Co/Kolik/Kdy“. Zvýrazněte expiraci a limity.
  • Výchozí limity: nikdy „unlimited“; denní/per-transakční stropy, doménové vázání (EIP-712).
  • Revokace jedním klikem: pro session i approvals, s uživatelským návodem.
  • Chybové stavy: předvídatelné, s návrhem řešení (navýšit limit, obnovit oracle, zkusit jinou cestu).

Data, soukromí a minimalismus

  • Neveřejné informace neukládejte on-chain; používejte hashované závazky a odkazujte na off-chain úložiště (s expirací).
  • Telemetrie: sbírejte pouze anonymizované metriky; vysvětlete, co a proč logujete.
  • Přístup k údajům: jasná SLA, retence a mazání; otevřené API s rate-limity a klíči.

Licencování, IP a „open-core“ strategie

  • Licence kódu: zvolte OSI-kompatibilní licenci (MIT/Apache-2.0) nebo recipročně omezující podle cíle. Uveďte ji v hlavičce souborů.
  • Právní rizika: nepoužívejte cizí aktiva/data bez práv; respektujte ochranné známky a názvy tokenů.
  • Open-core: jádro otevřené, provozní moduly a infrastruktura mohou být „source-available“ pro hackathon demo.

Etika a odpovědnost

  • Možnosti zneužití: identifikujte potenciální zneužití (wash trading, obcházení sankcí, phishing) a navrhněte mitigace (limity, allowlist, monitoring).
  • Inkluze a přístupnost: jednoduché texty, kontrasty, ovládání klávesnicí; vícejazyčná oznámení rizik.
  • Udržitelnost: odhad nákladů (gas, infra), aby produkt nebyl neudržitelný mimo hackathon.

Observabilita, logy a metriky

  • On-chain eventy: emitujte důležité události s identifikátory (policyId, requestId, verze).
  • Off-chain logy: korelační ID napříč frontendem, backendem a relayerem.
  • Metriky: úspěšnost transakcí, čas do finality, reject rate policy, využití limitů, incidenty MEV.

Demo, skript a „story“

  • Demo skript: tři kroky – (1) problém, (2) e2e ukázka, (3) bezpečnostní pojistky. Žádné „magické“ proklikávání.
  • Fallbacky: ukažte, co se stane, když oracle/RPC vypadne (smysluplná hláška, pauza, retry).
  • Měřitelný výsledek: čísla před/po (poplatky, latence, dopad) a odkazy na block explorer/testnet.

Dokumentace a reprodukovatelnost

  • README: co projekt dělá, architektura, jak spustit (jeden příkaz), jak testovat (příklady), adresy kontraktů.
  • Architektonický přehled: diagram, sekvenční kroky, rizika a rozhodnutí s alternativami.
  • Bezpečnostní příloha: threat model, známá omezení, doporučení pro produkční nasazení.

Cross-chain a interoperabilita bez zkratkovitosti

  • Model důvěry: jasně uveďte, zda používáte custodial wrapping, light klienta, optimistický důkaz nebo IBC-like kanál.
  • Limity objemů: denní stropy přes mosty, alarmy při odchylce parity wrapped aktiv.
  • Bezpečné UX: varování při přechodu sítí, přesné popisy rizik a čas finality.

Ekonomika protokolu: poplatky, incentivy, riziko

  • Model poplatků: vysvětlete, kdo platí (uživatel, dApp, sponzor) a proč je to udržitelné.
  • Incentivy: odměňování relayerů/validatorů; předcházejte „sybil“ útokům a toxickým strategickým chováním.
  • Rizikový fond: pokud je vhodné, naznačte pojišťovací mechanismus (treasury, slashing, cap na expozici).

Checklist před odevzdáním projektu

  • Má MVP reálný on-chain tok s prokazatelným výsledkem?
  • Jsou kritické funkce pod role/guardem a pokryty testy (včetně chybových stavů)?
  • Existuje „kill-switch“, limity a revokace pro případ incidentu?
  • Je dokumentace dostatečná na spuštění cizím člověkem do 10 minut?
  • Máte metriky, chybové hlášení a odkazy na explorer/logy v README?
  • Jsou jasně uvedeny licence a právní omezení použití?

Po hackathonu: cesta k produkci

  • Audit-ready roadmap: refaktor, coverage > 90 %, odstranění zbytečných privilegovaných cest.
  • Bezpečnostní politika: bug bounty, zveřejnění zranitelností, postup při incidentu.
  • Komunitní zpětná vazba: RFC, issue tracker, otevřené milestone a priorita drobných oprav („papercuts“).

Odpovědnost je konkurenční výhoda

Odpovědný hackathonový projekt není nejdelší pitch ani nejbarevnější UI. Je to funkční, auditovatelný, reprodukovatelný a bezpečný kus softwaru s jasnou hodnotou a vědomým respektem k vlastním limitům. Když postavíte MVP na pevných zásadách – minimální oprávnění, testy, transparentní architektura, etika a soukromí – vyhráváte dvakrát: u poroty dnes a u uživatelů zítra.