Hackathony v krypto/web3: jak připravit zodpovědný projekt bez zkratek
Hackathon je tlaková nádoba, ve které se ukáže technický talent, rozhodování pod stresem i schopnost týmu doručit minimum viable výsledek. V prostředí krypto, tradingu a web3 to však nestačí: zodpově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 i před reálným světem.
Definice problému a „impact first“ přístup
- Problémová věta: jednou až dvěma větami přesně definujte, jaký problém řešíte (např. 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í: regulační (sankce, licence), technické (finalita, poplatky), tržní (likvidita, oracly), etické (soukrví, zneužití).
Rozsah, milníky a „MVP bez podvádění“
- Definice MVP: ne „figma + video“, ale end-to-end tok na testnetu/mainnetu s reálnou transakcí/událostí a verifikovatelným důkazem.
- Milníky: M1 – základ kontraktu + unit testy; M2 – první volání přes UI/CLI; M3 – observabilita (logy, eventy); M4 – dokumentace a demo skript.
- Co vědomě vynechat: pokročilé optimalizace a „nice-to-have“ UI. Raději dodat bezpečné minimum s pokrytím testy.
Týmové role a odpovědnosti
- Tech lead: architektura, průřezová rozhodnutí, „no-go“ veto při bezpečnosti.
- Smart contract inženýr: model stavu, kontrola oprávnění, testy a formální vlastnosti.
- Frontend/UX: chybové stavy, podpisové flow, vysvětlení rizik, „undo“ a revokace.
- DevOps/infrastruktura: 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, oracly). Usnadní testování a omezí „blast radius“ chyb.
- Minimální oprávnění: princip least privilege na úrovni kontraktů, proxy a podpisů (session klíče, spending limity).
- 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ánování rate-limitů, lokální cache a backoff strategie.
Model hrozeb: co se může pokazit
- Kontrakty: reentrancy, nedostatečná kontrola vstupů, nesprávné výpočty poplatků, overflow/underflow v custom math.
- Schvalování a přístup: neomezené approvaly, chybějící limity, slabé role/guardy, neoprávněné delegatecall.
- Ekonomika: manipulace oracle, MEV (sandwich, backrun), likvidační smyčky, cenové mezery.
- 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“ pro výplaty.
- 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, počítejte s migrací a deprecation.
- Bezpečné matematické operace a saturace limitů; explicitní jednotky (desetinné čárky, bps, wei).
Testování: od unit po property-based
- Unit testy: pokrývají běžné cesty, chybové stavy, hranice parametrů.
- Property-based: invariance (např. zachování hodnoty), monotónnost, limity.
- Fork testy: simulace na reálných datech (pooly, oracly, 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.
- Přednastavené limity: nikdy „unlimited“; denní/per transakce stropy, doménové vázání (EIP-712).
- Revokace jedním kliknutím: pro sessions i approvaly, s návodem pro uživatele.
- Chybové stavy: předvídatelné s návrhem řešení (zvýšit limit, obnovit oracle, zkusit jinou cestu).
Data, soukromí a minimalismus
- Neverejné informace nedávejte 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 by mělo mít rate limit a klíče.
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í assety/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 zodpovědnost
- Misuse-cases: identifikujte možná zneužití (wash trading, obcházení sankcí, phishing) a navrhněte mitigace (limity, allowlist, monitoring).
- Inkluze a přístupnost: jednoduché texty, kontrast, klávesnice; vícejazyčná oznámení rizik.
- Udržitelnost: odhad nákladů (gas, infrastruktura), aby byl produkt udržitelný i po hackathonu.
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) end-to-end ukázka, (3) bezpečnostní pojistky. Žádné „magické“ překlíká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 zkratek
- 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 odchýlce parity wrapped aktiv.
- Bezpečné UX: varování při přechodu sítí, přesné popisy rizik a doby 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ů; zabraňte „sybil“ útokům a toxickým strategickým chováním.
- Risk fond: pokud je vhodné, naznačte pojistný mechanismus (treasury, slashing, limit expozice).
Checklist před odevzdáním projektu
- Má MVP reálný on-chain tok s prokazatelným výsledkem?
- Jsou kritické funkce pod rolemi/guardy a testy (včetně chyb)?
- Existuje „kill-switch“, limity a revokace pro případ incidentu?
- Je dokumentace dostatečná pro spuštění cizím člověkem do 10 minut?
- Máte metriky, chybové hlášky 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é milníky a priorita „papercuts“.
Zodpovědnost je konkurenční výhoda
Zodpovědný hackathon projekt není nejdelší pitch ani nejbarevnější UI. Je to funkční, auditovatelný, reprodukovatelný a bezpečný kus softwaru s jasnou hodnotou a znalostí vlastních limitů. Když postavíte MVP na pevných základech – 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.