% Illustrative diagram (not generated from data): cryptographic dependency map of Bitcoin. \begin{tikzpicture}[ font=\small, >=Latex, prim/.style={draw, rounded corners=2pt, fill=blue!8, text width=3.6cm, minimum height=0.9cm, align=center}, math/.style={draw, rounded corners=2pt, fill=orange!12, text width=3.6cm, minimum height=0.9cm, align=center}, app/.style={draw, rounded corners=2pt, fill=green!10, text width=3.6cm, minimum height=0.9cm, align=center}, assm/.style={draw, dashed, rounded corners=2pt, fill=red!6, text width=3.6cm, minimum height=0.9cm, align=center}, every edge/.style={draw, ->, thick}] \node[assm] (ecdlp) at (0,0) {ECDLP on \secp{}\\ $\Theta(\sqrt{n})$ generic}; \node[assm] (pre) at (5.4,0) {SHA-256 preimage\\ $\approx 2^{256}$}; \node[assm] (col) at (10.8,0) {SHA-256 collision\\ $\approx 2^{128}$}; \node[math] (field) at (0,1.7) {$\F_p$, $p=2^{256}-2^{32}-977$}; \node[math] (curve) at (0,3.1) {$E:\ y^2=x^3+7$, $\#E=n$ prime}; \node[math] (md) at (8.1,1.7) {Merkle--Damg\aa rd + 64-step compression $f$}; \node[prim, text width=3.2cm] (ecdsa) at (-2.5,5.0) {ECDSA\\ (RFC 6979 nonces)}; \node[prim, text width=3.2cm] (schnorr) at (2.5,5.0) {BIP340 Schnorr\\ (x-only keys, tagged hashes)}; \node[prim] (hash) at (8.1,3.3) {SHA-256, SHA-256d, RIPEMD-160(SHA-256)}; \node[prim] (tagged) at (8.1,5.4) {Tagged hashes, Merkle trees, HMAC/PBKDF2 (BIP32/39)}; \node[app] (addr) at (0,7.3) {Addresses (P2PKH, P2WPKH, P2TR)}; \node[app] (tx) at (5.4,7.3) {Transaction authorization (scriptSig / witness)}; \node[app] (pow) at (10.8,7.3) {Proof of work (block header SHA-256d)}; \node[app, text width=7cm] (cons) at (5.4,8.8) {Consensus: block chain, UTXO set, difficulty}; \path (ecdlp) edge (field) (field) edge (curve) (curve) edge (ecdsa) (curve) edge (schnorr); \path (pre) edge (md) (col) edge (md) (md) edge (hash) (hash) edge (tagged); \path (hash.west) edge (schnorr.east) (hash.west) edge[bend right=12] (ecdsa.south east); \path (ecdsa) edge (addr) (schnorr) edge (addr) (ecdsa) edge (tx) (schnorr) edge (tx) (tagged) edge (tx) (hash.east) edge[bend right=20] (pow.south) (tagged) edge (addr); \path (addr) edge (cons) (tx) edge (cons) (pow) edge (cons); \begin{scope}[on background layer] \node[fit=(ecdlp)(col), draw=red!50, dashed, rounded corners, inner sep=5pt, label={[red!60!black,font=\footnotesize]below:hardness assumptions studied in this paper (Axes A--C)}] {}; \end{scope} \end{tikzpicture}