1% Illustrative diagram (not generated from data): cryptographic dependency map of Bitcoin.2\begin{tikzpicture}[3 font=\small, >=Latex,4 prim/.style={draw, rounded corners=2pt, fill=blue!8, text width=3.6cm, minimum height=0.9cm, align=center},5 math/.style={draw, rounded corners=2pt, fill=orange!12, text width=3.6cm, minimum height=0.9cm, align=center},6 app/.style={draw, rounded corners=2pt, fill=green!10, text width=3.6cm, minimum height=0.9cm, align=center},7 assm/.style={draw, dashed, rounded corners=2pt, fill=red!6, text width=3.6cm, minimum height=0.9cm, align=center},8 every edge/.style={draw, ->, thick}]9 \node[assm] (ecdlp) at (0,0) {ECDLP on \secp{}\\ $\Theta(\sqrt{n})$ generic};10 \node[assm] (pre) at (5.4,0) {SHA-256 preimage\\ $\approx 2^{256}$};11 \node[assm] (col) at (10.8,0) {SHA-256 collision\\ $\approx 2^{128}$};12 \node[math] (field) at (0,1.7) {$\F_p$, $p=2^{256}-2^{32}-977$};13 \node[math] (curve) at (0,3.1) {$E:\ y^2=x^3+7$, $\#E=n$ prime};14 \node[math] (md) at (8.1,1.7) {Merkle--Damg\aa rd + 64-step compression $f$};15 \node[prim, text width=3.2cm] (ecdsa) at (-2.5,5.0) {ECDSA\\ (RFC 6979 nonces)};16 \node[prim, text width=3.2cm] (schnorr) at (2.5,5.0) {BIP340 Schnorr\\ (x-only keys, tagged hashes)};17 \node[prim] (hash) at (8.1,3.3) {SHA-256, SHA-256d, RIPEMD-160(SHA-256)};18 \node[prim] (tagged) at (8.1,5.4) {Tagged hashes, Merkle trees, HMAC/PBKDF2 (BIP32/39)};19 \node[app] (addr) at (0,7.3) {Addresses (P2PKH, P2WPKH, P2TR)};20 \node[app] (tx) at (5.4,7.3) {Transaction authorization (scriptSig / witness)};21 \node[app] (pow) at (10.8,7.3) {Proof of work (block header SHA-256d)};22 \node[app, text width=7cm] (cons) at (5.4,8.8) {Consensus: block chain, UTXO set, difficulty};23 \path (ecdlp) edge (field) (field) edge (curve) (curve) edge (ecdsa) (curve) edge (schnorr);24 \path (pre) edge (md) (col) edge (md) (md) edge (hash) (hash) edge (tagged);25 \path (hash.west) edge (schnorr.east) (hash.west) edge[bend right=12] (ecdsa.south east);26 \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);27 \path (addr) edge (cons) (tx) edge (cons) (pow) edge (cons);28 \begin{scope}[on background layer]29 \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)}] {};30 \end{scope}31\end{tikzpicture}32