Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions blog/2026-06-17-public-verifiability/convert_all.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
#!/bin/bash

FORMAT="svg"

SOURCE_DIR=$(dirname "$0")
TARGET_DIR=$(realpath "$(dirname "$0")/")

OS=$(uname)
case "$OS" in
"Darwin") # Mac
DRAW_IO="/Applications/draw.io.app/Contents/MacOS/draw.io"
;;
"Linux") # Linux
DRAW_IO="drawio"
;;
esac

# Unset Electron env vars that interfere with draw.io when running from VSCode
unset ELECTRON_RUN_AS_NODE ELECTRON_NO_ATTACH_CONSOLE

if ! command -v "$DRAW_IO" &>/dev/null; then
echo "Error: draw.io executable not found. Please install draw.io and make sure it's in your PATH."
exit 1
fi

for SOURCE in "$SOURCE_DIR"/*.drawio; do
BASENAME=$(basename "$SOURCE" .drawio)

for theme in "dark" "light"; do
mkdir -p "${TARGET_DIR}/${theme}"
TARGET="${TARGET_DIR}/${theme}/${BASENAME}.${FORMAT}"
if [[ "$SOURCE" -nt "${TARGET}" ]]; then
echo "Exporting ${BASENAME} -> $theme/${BASENAME}.$FORMAT"
"$DRAW_IO" --export --format ${FORMAT} --scale 2.5 --svg-theme "${theme}" --no-sandbox -o "${TARGET}" "$SOURCE"
# Remove DOCTYPE to prevent SVGO entity count errors during build
sed -i '/<!DOCTYPE/d' "${TARGET}"
fi
done
done
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions blog/2026-06-17-public-verifiability/dark/self_verify.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions blog/2026-06-17-public-verifiability/dark/witness_needed.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
70 changes: 70 additions & 0 deletions blog/2026-06-17-public-verifiability/delegated_verifier.drawio
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
<mxfile host="tlsn">
<diagram id="delegated-verifier" name="Delegated verifier">
<mxGraphModel dx="872" dy="862" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="0" pageScale="1" pageWidth="700" pageHeight="600" math="0" shadow="0">
<root>
<mxCell id="0"/>
<mxCell id="1" parent="0"/>
<mxCell id="title_live" value="&lt;b&gt;LIVE&lt;/b&gt; — must be online during the session" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=12;fontColor=#333333;" parent="1" vertex="1">
<mxGeometry x="30" y="18" width="360" height="20" as="geometry"/>
</mxCell>
<mxCell id="title_later" value="&lt;b&gt;LATER&lt;/b&gt; — anyone, anytime" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=12;fontColor=#333333;" parent="1" vertex="1">
<mxGeometry x="490" y="18" width="200" height="20" as="geometry"/>
</mxCell>
<mxCell id="prover" value="Prover" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;shadow=1;fontStyle=1;fillColor=#DBEAFE;" parent="1" vertex="1">
<mxGeometry x="70" y="85" width="80" height="80" as="geometry"/>
</mxCell>
<mxCell id="notary" value="Notary" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;shadow=1;fontStyle=1;fillColor=#FEF3C7;" parent="1" vertex="1">
<mxGeometry x="70" y="300" width="80" height="80" as="geometry"/>
</mxCell>
<mxCell id="server" value="Server" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;shadow=1;fontStyle=1;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" parent="1" vertex="1">
<mxGeometry x="295" y="175" width="80" height="80" as="geometry"/>
</mxCell>
<mxCell id="pv" value="MPC / proxy" style="endArrow=classic;startArrow=classic;html=1;rounded=0;fontSize=10;labelBackgroundColor=#ffffff;" parent="1" source="prover" target="notary" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry"/>
</mxCell>
<mxCell id="tls_mpc" value="TLS (MPC mode)" style="endArrow=classic;startArrow=classic;html=1;rounded=0;fontSize=10;labelBackgroundColor=#ffffff;" parent="1" source="prover" target="server" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry"/>
</mxCell>
<mxCell id="tls_proxy" value="TLS (proxy mode)" style="endArrow=classic;startArrow=classic;html=1;rounded=0;fontSize=10;dashed=1;strokeColor=#999999;labelBackgroundColor=#ffffff;" parent="1" source="notary" target="server" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry"/>
</mxCell>
<mxCell id="note_notary" value="a delegated verifier · verifies the &lt;b&gt;session&lt;/b&gt; · blind to your data" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=top;whiteSpace=wrap;fontSize=10;fontColor=#666666;" parent="1" vertex="1">
<mxGeometry x="5" y="388" width="215" height="40" as="geometry"/>
</mxCell>
<mxCell id="attestation" value="Attestation&lt;br&gt;&lt;font style=&quot;font-size:9px&quot; color=&quot;#666666&quot;&gt;signed by the notary&lt;/font&gt;" style="shape=document;whiteSpace=wrap;html=1;boundedLbl=1;fillColor=#f5f5f5;strokeColor=#666666;fontColor=#333333;shadow=1;fontStyle=1;" parent="1" vertex="1">
<mxGeometry x="280" y="320" width="130" height="75" as="geometry"/>
</mxCell>
<mxCell id="signs" value="signs" style="endArrow=classic;html=1;rounded=0;fontSize=10;labelBackgroundColor=#ffffff;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="notary" target="attestation" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry"/>
</mxCell>
<mxCell id="divider" value="" style="endArrow=none;startArrow=none;dashed=1;strokeColor=#999999;html=1;" parent="1" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="445" y="70" as="sourcePoint"/>
<mxPoint x="445" y="560" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="av1" value="Attestation verifier" style="ellipse;whiteSpace=wrap;html=1;shadow=1;fillColor=#D5E8D4;strokeColor=#82B366;" parent="1" vertex="1">
<mxGeometry x="500" y="150" width="150" height="56" as="geometry"/>
</mxCell>
<mxCell id="av2" value="Attestation verifier" style="ellipse;whiteSpace=wrap;html=1;shadow=1;fillColor=#D5E8D4;strokeColor=#82B366;" parent="1" vertex="1">
<mxGeometry x="500" y="312" width="150" height="56" as="geometry"/>
</mxCell>
<mxCell id="av3" value="Attestation verifier" style="ellipse;whiteSpace=wrap;html=1;shadow=1;fillColor=#D5E8D4;strokeColor=#82B366;" parent="1" vertex="1">
<mxGeometry x="500" y="472" width="150" height="56" as="geometry"/>
</mxCell>
<mxCell id="a2v1" value="" style="endArrow=classic;html=1;rounded=1;strokeColor=#666666;exitX=1;exitY=0.25;exitDx=0;exitDy=0;" parent="1" source="attestation" target="av1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry"/>
</mxCell>
<mxCell id="a2v2" value="" style="endArrow=classic;html=1;rounded=1;strokeColor=#666666;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="attestation" target="av2" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry"/>
</mxCell>
<mxCell id="a2v3" value="" style="endArrow=classic;html=1;rounded=1;strokeColor=#666666;exitX=1;exitY=0.75;exitDx=0;exitDy=0;" parent="1" source="attestation" target="av3" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry"/>
</mxCell>
<mxCell id="note_av" value="verify the &lt;b&gt;attestation&lt;/b&gt; · trust the notary" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=top;whiteSpace=wrap;fontSize=10;fontColor=#666666;" parent="1" vertex="1">
<mxGeometry x="490" y="536" width="180" height="30" as="geometry"/>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>
Loading
Loading