Interoperability design patterns that reduce trust assumptions in cross‑chain messaging