Compare commits
6 Commits
blog/what-
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 93bd945007 | |||
| 649087adc9 | |||
| c3fe8db0e4 | |||
| 0a19fb9d8f | |||
| 8c3df1516a | |||
| 1023b2efd7 |
32
blog.html
32
blog.html
@@ -206,6 +206,38 @@ footer .built{font-size:13px;color:var(--muted);margin-top:8px}
|
|||||||
Article entries are added here newest-first. Each entry needs: thumbnail,
|
Article entries are added here newest-first. Each entry needs: thumbnail,
|
||||||
date (machine-readable in the datetime attribute), title, standfirst.
|
date (machine-readable in the datetime attribute), title, standfirst.
|
||||||
-->
|
-->
|
||||||
|
<article class="post-card">
|
||||||
|
<a href="blog/the-quietest-day.html" aria-hidden="true" tabindex="-1">
|
||||||
|
<img src="blog/img/the-quietest-day-cover.webp" width="1600" height="900" loading="lazy"
|
||||||
|
alt="">
|
||||||
|
</a>
|
||||||
|
<div class="body">
|
||||||
|
<time class="date" datetime="2026-09-19">19 September 2026</time>
|
||||||
|
<h2><a href="blog/the-quietest-day.html">The quietest day: what really happens when your Bitcoin inheritance arrives</a></h2>
|
||||||
|
<p>A well-designed inheritance should be a non-event on the day it
|
||||||
|
arrives: a block, a confirmation, a balance appearing. What the heir
|
||||||
|
actually does, what to leave them years in advance, and why an address
|
||||||
|
without a key is a tomb.</p>
|
||||||
|
<a class="more" href="blog/the-quietest-day.html">Read the article →</a>
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
<article class="post-card">
|
||||||
|
<a href="blog/liquid-network-and-why-we-trust-only-bedrock.html" aria-hidden="true" tabindex="-1">
|
||||||
|
<img src="blog/img/liquid-network-bedrock-cover.webp" width="1600" height="900" loading="lazy"
|
||||||
|
alt="">
|
||||||
|
</a>
|
||||||
|
<div class="body">
|
||||||
|
<time class="date" datetime="2026-09-12">12 September 2026</time>
|
||||||
|
<h2><a href="blog/liquid-network-and-why-we-trust-only-bedrock.html">Liquid Network's $320M lesson: why BAL only builds on bedrock</a></h2>
|
||||||
|
<p>A $320 million bug on Liquid Network is a reminder of a rule BAL
|
||||||
|
follows without exception: no sidechains, no Layer-2s, no experimental
|
||||||
|
scripts — only Bitcoin's most tested primitives. What actually broke,
|
||||||
|
and why our whole design refuses to depend on anything less proven.</p>
|
||||||
|
<a class="more" href="blog/liquid-network-and-why-we-trust-only-bedrock.html">Read the article →</a>
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
|
||||||
<article class="post-card">
|
<article class="post-card">
|
||||||
<a href="blog/what-a-will-executor-can-see.html" aria-hidden="true" tabindex="-1">
|
<a href="blog/what-a-will-executor-can-see.html" aria-hidden="true" tabindex="-1">
|
||||||
<img src="blog/img/what-a-will-executor-can-see-cover.webp" width="1600" height="900" loading="lazy"
|
<img src="blog/img/what-a-will-executor-can-see-cover.webp" width="1600" height="900" loading="lazy"
|
||||||
|
|||||||
BIN
blog/img/liquid-network-bedrock-cover.webp
Normal file
BIN
blog/img/liquid-network-bedrock-cover.webp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 75 KiB |
BIN
blog/img/the-quietest-day-cover.webp
Normal file
BIN
blog/img/the-quietest-day-cover.webp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 19 KiB |
353
blog/liquid-network-and-why-we-trust-only-bedrock.html
Normal file
353
blog/liquid-network-and-why-we-trust-only-bedrock.html
Normal file
@@ -0,0 +1,353 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en" class="nojs">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Liquid Network's $320M Lesson: Why BAL Only Builds on Bedrock — Bitcoin After Life</title>
|
||||||
|
<meta name="description" content="A $320 million bug on Liquid Network is a reminder of a rule Bitcoin After Life follows without exception: no sidechains, no Layer-2s, no experimental scripts — only Bitcoin's most tested primitives.">
|
||||||
|
<meta property="og:type" content="article">
|
||||||
|
<meta property="og:site_name" content="Bitcoin After Life">
|
||||||
|
<meta property="og:title" content="Liquid Network's $320M Lesson: Why BAL Only Builds on Bedrock — Bitcoin After Life">
|
||||||
|
<meta property="og:description" content="A $320 million bug on Liquid Network is a reminder of a rule Bitcoin After Life follows without exception: no sidechains, no Layer-2s, no experimental scripts — only Bitcoin's most tested primitives.">
|
||||||
|
<meta property="og:url" content="https://bitcoin-after.life/blog/liquid-network-and-why-we-trust-only-bedrock.html">
|
||||||
|
<meta property="og:image" content="https://bitcoin-after.life/pitura/og-default.png">
|
||||||
|
<meta property="og:image:width" content="1200">
|
||||||
|
<meta property="og:image:height" content="630">
|
||||||
|
<meta name="twitter:card" content="summary_large_image">
|
||||||
|
<meta name="twitter:site" content="@BitcoinAfterLif">
|
||||||
|
<meta name="twitter:title" content="Liquid Network's $320M Lesson: Why BAL Only Builds on Bedrock — Bitcoin After Life">
|
||||||
|
<meta name="twitter:description" content="A $320 million bug on Liquid Network is a reminder of a rule Bitcoin After Life follows without exception: no sidechains, no Layer-2s, no experimental scripts — only Bitcoin's most tested primitives.">
|
||||||
|
<meta name="twitter:image" content="https://bitcoin-after.life/pitura/og-default.png">
|
||||||
|
<meta name="theme-color" content="#2d6cdf">
|
||||||
|
<link rel="canonical" href="https://bitcoin-after.life/blog/liquid-network-and-why-we-trust-only-bedrock.html">
|
||||||
|
<link rel="icon" type="image/x-icon" href="/pitura/ico/Logo_nero.ico">
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="/pitura/ico/favicon-32.png">
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="/pitura/ico/favicon-16.png">
|
||||||
|
<script>
|
||||||
|
/* Runs before first paint: removes the `nojs` class set on <html>, so the
|
||||||
|
mobile menu button is only shown when it can actually work. */
|
||||||
|
document.documentElement.classList.remove('nojs');
|
||||||
|
</script>
|
||||||
|
<style>
|
||||||
|
:root{
|
||||||
|
--maxw:1120px;
|
||||||
|
--radius:10px;
|
||||||
|
--bg:#eef1f4;
|
||||||
|
--panel:#ffffff;
|
||||||
|
--ink:#1a2027;
|
||||||
|
--muted:#5b6672;
|
||||||
|
--line:#dfe4ea;
|
||||||
|
--line-strong:#cbd2da;
|
||||||
|
--accent:#2d6cdf;
|
||||||
|
--accent-soft:#e6eefc;
|
||||||
|
--display:"Inter","Segoe UI",system-ui,-apple-system,sans-serif;
|
||||||
|
--body:"Inter","Segoe UI",system-ui,-apple-system,sans-serif;
|
||||||
|
--mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
|
||||||
|
--shadow:0 1px 2px rgba(20,30,50,.05);
|
||||||
|
--shadow-lg:0 6px 20px rgba(20,30,50,.08);
|
||||||
|
}
|
||||||
|
*{box-sizing:border-box}
|
||||||
|
html{scroll-behavior:smooth}
|
||||||
|
html,body{margin:0}
|
||||||
|
body{background:var(--bg);color:var(--ink);font-family:var(--body);
|
||||||
|
line-height:1.55;-webkit-font-smoothing:antialiased}
|
||||||
|
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}
|
||||||
|
a{color:var(--accent);text-decoration:none}
|
||||||
|
a:hover{text-decoration:underline}
|
||||||
|
|
||||||
|
/* ---------- Top bar (shared with home and manifesto) ---------- */
|
||||||
|
.topbar{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.86);
|
||||||
|
backdrop-filter:saturate(150%) blur(8px);border-bottom:1px solid var(--line)}
|
||||||
|
.topbar .wrap{display:flex;align-items:center;gap:18px;height:60px}
|
||||||
|
.topbar .logo{display:flex;align-items:center;gap:10px;font-family:var(--display);
|
||||||
|
font-weight:600;color:var(--ink)}
|
||||||
|
.topbar .logo img{width:30px;height:30px;display:block}
|
||||||
|
.topbar .logo span{font-size:15px;letter-spacing:-.01em}
|
||||||
|
.topbar nav{margin-left:auto;display:flex;gap:4px;flex-wrap:wrap}
|
||||||
|
.topbar nav a{color:var(--muted);font-size:13px;padding:7px 11px;border-radius:7px}
|
||||||
|
.topbar nav a:hover{color:var(--ink);background:var(--accent-soft);text-decoration:none}
|
||||||
|
.topbar nav a.active{color:var(--accent);font-weight:600;border:1px solid #cfe0fb;
|
||||||
|
background:var(--accent-soft)}
|
||||||
|
.topbar .x{color:var(--ink);font-weight:600}
|
||||||
|
|
||||||
|
.navtoggle{
|
||||||
|
display:none;margin-left:auto;width:44px;height:44px;flex:none;
|
||||||
|
align-items:center;justify-content:center;
|
||||||
|
background:var(--panel);border:1px solid var(--line-strong);border-radius:9px;
|
||||||
|
color:var(--ink);cursor:pointer;padding:0;
|
||||||
|
}
|
||||||
|
.navtoggle:hover{border-color:var(--accent);color:var(--accent)}
|
||||||
|
.navtoggle .bars{display:block;width:18px;height:2px;background:currentColor;position:relative}
|
||||||
|
.navtoggle .bars::before,.navtoggle .bars::after{
|
||||||
|
content:"";position:absolute;left:0;width:18px;height:2px;background:currentColor}
|
||||||
|
.navtoggle .bars::before{top:-6px}
|
||||||
|
.navtoggle .bars::after{top:6px}
|
||||||
|
.navtoggle[aria-expanded="true"] .bars{background:transparent}
|
||||||
|
.navtoggle[aria-expanded="true"] .bars::before{top:0;transform:rotate(45deg)}
|
||||||
|
.navtoggle[aria-expanded="true"] .bars::after{top:0;transform:rotate(-45deg)}
|
||||||
|
|
||||||
|
/* ---------- Footer (shared) ---------- */
|
||||||
|
footer{border-top:1px solid var(--line);margin-top:56px;padding:34px 0 40px;
|
||||||
|
color:var(--muted);font-size:14px;background:var(--panel)}
|
||||||
|
footer .sig{font-family:var(--display);font-weight:600;color:var(--ink);font-size:16px}
|
||||||
|
footer .links{display:flex;gap:16px;flex-wrap:wrap;margin:14px 0}
|
||||||
|
footer .built{font-size:13px;color:var(--muted);margin-top:8px}
|
||||||
|
|
||||||
|
@media (max-width:900px){
|
||||||
|
.navtoggle{display:inline-flex}
|
||||||
|
.topbar nav{
|
||||||
|
position:absolute;top:100%;left:0;right:0;
|
||||||
|
margin-left:0;display:none;flex-direction:column;gap:2px;flex-wrap:nowrap;
|
||||||
|
background:var(--panel);border-bottom:1px solid var(--line);
|
||||||
|
box-shadow:var(--shadow-lg);padding:10px 20px 16px;
|
||||||
|
}
|
||||||
|
.topbar nav.open{display:flex}
|
||||||
|
.topbar nav a{font-size:15.5px;padding:0 12px;min-height:44px;
|
||||||
|
display:flex;align-items:center;border-radius:8px}
|
||||||
|
}
|
||||||
|
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
|
||||||
|
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
|
||||||
|
|
||||||
|
/*
|
||||||
|
Without JavaScript the panel cannot be toggled, so the links are shown
|
||||||
|
inline. On narrow screens they wrap under the logo and the bar is allowed
|
||||||
|
to grow, instead of being clipped by the fixed 60px height.
|
||||||
|
*/
|
||||||
|
.nojs .navtoggle{display:none}
|
||||||
|
.nojs .topbar nav{position:static;display:flex;flex-direction:row;flex-wrap:wrap;
|
||||||
|
box-shadow:none;border-bottom:0;padding:0;margin-left:auto;background:transparent}
|
||||||
|
@media (max-width:900px){
|
||||||
|
.nojs .topbar .wrap{height:auto;min-height:56px;flex-wrap:wrap;padding-bottom:8px;gap:10px}
|
||||||
|
.nojs .topbar nav{margin-left:0;width:100%;gap:4px 6px}
|
||||||
|
.nojs .topbar nav a{font-size:14.5px;min-height:40px;padding:0 10px;
|
||||||
|
display:flex;align-items:center;border:1px solid var(--line);border-radius:8px}
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-head{padding:44px 0 30px;border-bottom:1px solid var(--line);
|
||||||
|
background:radial-gradient(820px 280px at 50% -40%,var(--accent-soft),transparent 70%)}
|
||||||
|
.post-head .wrap{max-width:760px}
|
||||||
|
.post-head .eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.14em;
|
||||||
|
text-transform:uppercase;color:var(--accent);display:block;margin-bottom:14px}
|
||||||
|
.post-head h1{font-family:var(--display);font-weight:600;font-size:40px;
|
||||||
|
letter-spacing:-.02em;line-height:1.12;margin:0 0 14px}
|
||||||
|
.post-meta{display:flex;gap:14px;align-items:center;flex-wrap:wrap;
|
||||||
|
font-size:13px;color:var(--muted)}
|
||||||
|
.post-meta .dot{width:4px;height:4px;border-radius:50%;background:var(--line-strong)}
|
||||||
|
|
||||||
|
.article{max-width:760px;margin:0 auto;padding:34px 20px 8px}
|
||||||
|
.article p{font-size:17px;line-height:1.8;color:#36404b;margin:0 0 20px}
|
||||||
|
.article p strong{color:var(--ink);font-weight:600}
|
||||||
|
.article h2{font-family:var(--display);font-weight:600;font-size:25px;
|
||||||
|
letter-spacing:-.01em;margin:38px 0 14px;padding-bottom:10px;
|
||||||
|
border-bottom:1px solid var(--line-strong)}
|
||||||
|
.article ol{padding-left:22px;margin:0 0 20px}
|
||||||
|
.article li{font-size:17px;line-height:1.8;color:#36404b;margin-bottom:14px}
|
||||||
|
.article li strong{color:var(--ink);font-weight:600}
|
||||||
|
.article figure{margin:30px 0}
|
||||||
|
.article figure img{width:100%;height:auto;display:block;border-radius:var(--radius);
|
||||||
|
border:1px solid var(--line);box-shadow:var(--shadow)}
|
||||||
|
.article figcaption{font-size:13px;color:var(--muted);text-align:center;margin-top:10px}
|
||||||
|
.article hr{border:0;border-top:1px solid var(--line-strong);margin:34px 0 22px}
|
||||||
|
.article .disclaimer{font-size:14px;color:var(--muted);font-style:italic;line-height:1.7}
|
||||||
|
.article code{font-family:var(--mono);font-size:.9em;background:var(--accent-soft);
|
||||||
|
color:var(--ink);padding:2px 6px;border-radius:5px}
|
||||||
|
|
||||||
|
/*
|
||||||
|
Blockquote and pull-quote: this post is the first to need them. Both
|
||||||
|
reuse the existing palette tokens so nothing new is introduced visually.
|
||||||
|
*/
|
||||||
|
.article blockquote{margin:26px 0;padding:16px 20px;border-left:3px solid var(--accent);
|
||||||
|
background:var(--accent-soft);border-radius:0 var(--radius) var(--radius) 0;
|
||||||
|
font-style:italic;color:#2a3542}
|
||||||
|
.article blockquote p{margin:0;font-size:16.5px;line-height:1.7;color:inherit}
|
||||||
|
.article .pull{font-family:var(--display);font-size:20px;font-weight:600;
|
||||||
|
line-height:1.45;color:var(--ink);border-top:1px solid var(--line-strong);
|
||||||
|
border-bottom:1px solid var(--line-strong);padding:22px 0;margin:30px 0}
|
||||||
|
|
||||||
|
.back{max-width:760px;margin:26px auto 0;padding:0 20px 8px}
|
||||||
|
.back a{font-size:14px;font-weight:600}
|
||||||
|
|
||||||
|
@media (max-width:700px){
|
||||||
|
.post-head{padding:30px 0 24px}
|
||||||
|
.post-head h1{font-size:29px}
|
||||||
|
.article{padding:28px 18px 8px}
|
||||||
|
.article h2{font-size:22px;margin-top:32px}
|
||||||
|
.article figure{margin:24px -18px}
|
||||||
|
.article figure img{border-radius:0;border-left:0;border-right:0}
|
||||||
|
.article .pull{font-size:18px}
|
||||||
|
}
|
||||||
|
@media (max-width:400px){
|
||||||
|
.post-head h1{font-size:25px}
|
||||||
|
.wrap{padding:0 15px}
|
||||||
|
.article{padding:24px 16px 8px}
|
||||||
|
.article figure{margin:22px -16px}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div class="topbar">
|
||||||
|
<div class="wrap">
|
||||||
|
<a class="logo" href="../index.html"><img src="../pitura/logo/Logo_nero.svg" alt="Bitcoin After Life logo"><span translate="no">Bitcoin After Life</span></a>
|
||||||
|
<button class="navtoggle" id="navToggle" type="button"
|
||||||
|
aria-expanded="false" aria-controls="mainNav" aria-label="Open menu">
|
||||||
|
<span class="bars"></span>
|
||||||
|
</button>
|
||||||
|
<nav id="mainNav">
|
||||||
|
<a href="../index.html#features">Features</a>
|
||||||
|
<a href="../index.html#how">How it works</a>
|
||||||
|
<a href="../index.html#plugin">Plugin</a>
|
||||||
|
<a href="../index.html#faq">FAQ</a>
|
||||||
|
<a class="active" href="../blog.html">Blog</a>
|
||||||
|
<a href="../manifesto.html">Manifesto</a>
|
||||||
|
<a class="x" href="https://x.com/BitcoinAfterLif" title="@BitcoinAfterLif on X">@X</a>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<main>
|
||||||
|
<header class="post-head">
|
||||||
|
<div class="wrap">
|
||||||
|
<span class="eyebrow">Blog</span>
|
||||||
|
<h1>Liquid Network's $320M Lesson: Why BAL Only Builds on Bedrock</h1>
|
||||||
|
<div class="post-meta">
|
||||||
|
<time datetime="2026-09-12">12 September 2026</time>
|
||||||
|
<span class="dot"></span>
|
||||||
|
<span translate="no">Bitcoin After Life</span>
|
||||||
|
<span class="dot"></span>
|
||||||
|
<span>7 min read</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<article class="article">
|
||||||
|
<figure>
|
||||||
|
<img src="img/liquid-network-bedrock-cover.webp" width="1600" height="900" loading="lazy" alt="On the left, a fragile scaffolding of gears and pipes cracks and falls apart. On the right, a single unbreakable black monolith engraved with the Bitcoin symbol. A thin blue line separates them.">
|
||||||
|
<figcaption>The base layer, and everything built on top of it, do not carry the same weight.</figcaption>
|
||||||
|
</figure>
|
||||||
|
|
||||||
|
<p>On <strong>6 September 2026</strong>, a group of attackers — who later called themselves white-hats — walked away with roughly <strong>4,000 BTC, worth about $320 million</strong>, from the Liquid Network. They did it in a few hours, from their laptops, by exploiting a bug in the software that Liquid's nodes use to validate transactions. Most of the funds were later returned, but around <strong>$47 million</strong> remained under the attackers' control at the time of writing. <a href="https://www.chainalysis.com/blog/320m-exploit-liquid-network/" target="_blank" rel="noopener">(Chainalysis analysis)</a></p>
|
||||||
|
|
||||||
|
<p>Liquid is not a scam project. It is built by <strong>Blockstream</strong>, one of the most respected engineering teams in Bitcoin. Its code is open source. Its federation includes serious exchanges and custodians. If a network of that caliber can lose $320 million in an afternoon, it is worth asking a very calm, very serious question:</p>
|
||||||
|
|
||||||
|
<p class="pull">If even the best-engineered Bitcoin sidechain can break, what should an inheritance protocol — a plan that must survive for decades — be allowed to depend on?</p>
|
||||||
|
|
||||||
|
<p>Our answer, from day one, has been the same. And this incident is not a surprise to us. It is a confirmation.</p>
|
||||||
|
|
||||||
|
<h2>What actually broke on Liquid</h2>
|
||||||
|
<p>The short version: Liquid's software caches the results of expensive cryptographic checks, so it does not have to re-verify the same data twice. A flaw in how those cached results were identified meant that <strong>new, invalid data could be mistaken for old, valid data</strong>. The attackers used this to create <strong>L-BTC that was never backed by real Bitcoin</strong>, then swapped that fake L-BTC for real BTC held in the network's reserves.</p>
|
||||||
|
<p>It is worth reading that twice. Bitcoin itself was not broken. The Bitcoin base layer, once again, did exactly what it was supposed to do. What broke was <strong>a layer built on top of Bitcoin</strong> — a sidechain with its own nodes, its own consensus rules, its own new code, and therefore its own new attack surface.</p>
|
||||||
|
<p>This is the pattern every serious builder in this space has learned to expect: <strong>every new layer adds new bugs</strong>. Not "might". <em>Will</em>. The only real question is when they are discovered, and by whom.</p>
|
||||||
|
|
||||||
|
<h2>Why we refuse to build on new things</h2>
|
||||||
|
<p><span translate="no">Bitcoin After Life</span> is an inheritance protocol. That single sentence forces a very specific design philosophy on us.</p>
|
||||||
|
<p>An inheritance plan is not a trade. You do not close it at the end of the week. You set it up, and then you ask it to <strong>keep working for twenty, thirty, forty years</strong> — through software updates, through market cycles, through your own absence. Whatever we build on has to survive all of that.</p>
|
||||||
|
<p>So we made a promise to our users, and to ourselves: <strong><span translate="no">BAL</span> will only use tools that have already survived the test of time on Bitcoin's base layer.</strong> Concretely, that means:</p>
|
||||||
|
<ul style="padding-left:22px">
|
||||||
|
<li><strong>No sidechains.</strong> Not Liquid, not any other. A sidechain is a separate network with its own rules and its own bugs, as this month proved.</li>
|
||||||
|
<li><strong>No Layer-2s.</strong> Lightning is wonderful for payments; it is not a place to park an inheritance.</li>
|
||||||
|
<li><strong>No exotic scripts.</strong> No fresh Miniscript contraptions, no vaults still being debated in mailing lists, no covenants that only exist on testnet.</li>
|
||||||
|
<li><strong>No new wallet built by us.</strong> Signing keys are sacred. We will not ask anyone to trust code we wrote last year with the coins their family will need.</li>
|
||||||
|
</ul>
|
||||||
|
<p>What we <em>do</em> use is the boring, uninteresting, deeply tested core of Bitcoin — the parts that have been attacked by the entire world for fifteen years and have not moved.</p>
|
||||||
|
|
||||||
|
<h2>The two pillars we allow ourselves</h2>
|
||||||
|
<p><strong>Electrum.</strong> Signing has been done in Electrum since 2011. It is one of the most audited pieces of Bitcoin software on Earth. Its seed generation draws <strong>132 bits of entropy</strong> from the operating system's cryptographic RNG — one of the most reviewed pieces of code in any industry. The BAL plugin never signs anything on its own; it builds the transaction, shows it to you, and lets Electrum, with your keys and your hardware wallet, decide. Our attack surface for signing is therefore <em>Electrum's</em> attack surface — and that surface has held for a decade and a half. <a href="https://bitcoin-after.life/blog/why-electrum-and-timelocks.html">(Why Electrum, in detail)</a></p>
|
||||||
|
<p><strong>nLockTime.</strong> This is not a clever script. It is not a smart contract. It is a <strong>consensus rule</strong> that has been part of Bitcoin since the very first version — a field that tells the network "do not accept this transaction before this date". Every full node on the planet enforces it. It cannot be bypassed by a compromised server, an impatient heir, or a bug in some intermediate layer. It is, quite literally, the same category of guarantee that stops people from double-spending.</p>
|
||||||
|
<p>That is it. That is the entire cryptographic surface of <span translate="no">Bitcoin After Life</span>: <strong>a signature made by Electrum, and a delay enforced by Bitcoin consensus.</strong> Nothing else stands between your heirs and the coins you want them to receive.</p>
|
||||||
|
|
||||||
|
<h2>Will-Executors: nothing to hack</h2>
|
||||||
|
<p>People often ask us next: <em>"But what about the Will-Executor servers? Aren't they the weak link?"</em> This is where the design gets almost anticlimactic — on purpose.</p>
|
||||||
|
<p>A Will-Executor is not a custodian. It does not hold your keys. It cannot modify the transaction it was given. It cannot redirect the funds. All it can do is <strong>store one already-signed, time-locked transaction, and broadcast it when the date arrives</strong>. It is closer to an automated mailbox than to a bank.</p>
|
||||||
|
<p>Its incentive to do its job is purely on-chain: <strong>every inheritance transaction includes a small Bitcoin fee for the executor</strong>, and that fee is only paid when the transaction actually confirms. Not when the server "promises". When the Bitcoin network says so. No confirmation, no fee.</p>
|
||||||
|
<p>On top of that, the network is <strong>decentralized and redundant</strong>. When you set up your inheritance, the plugin creates one copy of the transaction for each Will-Executor you chose from the public WeList directory. Only one of them needs to still be online at the delivery date. If ten servers hold a copy and nine disappear, the tenth still executes your will and collects the fee.</p>
|
||||||
|
<p>Now imagine an attacker who wants to hurt BAL. What is the target?</p>
|
||||||
|
<ul style="padding-left:22px">
|
||||||
|
<li>They cannot steal from the executor — the executor has no keys.</li>
|
||||||
|
<li>They cannot alter the transactions — they are already signed.</li>
|
||||||
|
<li>They cannot execute early — Bitcoin consensus rejects the transaction before the locktime.</li>
|
||||||
|
<li>They cannot bribe the executor to "hold" your will — someone else's redundant copy will broadcast anyway, and take the fee.</li>
|
||||||
|
</ul>
|
||||||
|
<p>There is almost nothing to attack. And that, again, is the point.</p>
|
||||||
|
|
||||||
|
<h2>Contrast with Liquid</h2>
|
||||||
|
<p>Compare that with what the Liquid attackers had to work with: a novel network, a novel token (L-BTC), novel Confidential Transactions, novel range-proof caching, and a federation of nodes that mint and redeem representations of Bitcoin. Every one of those "novels" is a place where a bug can live. This month, one of them did.</p>
|
||||||
|
<p>None of this is a criticism of Blockstream. They responded with transparency, they patched quickly, they coordinated the return of funds. That is exactly how a mature team should behave. But the incident makes the underlying trade-off unmistakable: <strong>more features on top of Bitcoin means more code, more code means more bugs, more bugs means more risk over time</strong>. For a trading layer that risk may be acceptable. For an inheritance plan measured in decades, it simply is not.</p>
|
||||||
|
|
||||||
|
<h2>Built for atomic bombs, hackers, and coming AIs</h2>
|
||||||
|
<p>We say this only half-jokingly: the <span translate="no">Bitcoin After Life</span> protocol is designed to be <strong>hacker-proof, AI-proof, and — in the very long run — as close to "atomic-bomb-proof" as software allows</strong>.</p>
|
||||||
|
<p>What we mean, concretely:</p>
|
||||||
|
<ul style="padding-left:22px">
|
||||||
|
<li><strong>No single server can be attacked into failing the user.</strong> The Will-Executor network is decentralized, redundant, and incentivized by on-chain fees. Kill a server; another one takes over.</li>
|
||||||
|
<li><strong>No novel cryptography is on the critical path.</strong> The security of your inheritance comes from Bitcoin signatures and nLockTime — primitives that have survived a decade and a half of adversarial review. No custom scripts to be broken by an unknown class of attack.</li>
|
||||||
|
<li><strong>No secret code to reverse-engineer.</strong> The plugin and the executor are open source, MIT-licensed, and small enough to be audited by a serious reader — human or AI.</li>
|
||||||
|
<li><strong>AI cuts both ways, and we welcome it.</strong> As we wrote in <a href="https://bitcoin-after.life/blog/it-all-starts-with-the-seed.html">"It all starts with the seed"</a>, the Coldcard seed flaw was likely found by an AI reading old public code. That capability is now in every user's hands: you can hand our code to a capable model tomorrow and ask, in plain English, <em>where can this break?</em> An inheritance protocol should welcome that scrutiny, not fear it. Ours does.</li>
|
||||||
|
<li><strong>The plan renews itself.</strong> BAL is designed for periodic refresh every two to three years, so lessons like Liquid's are absorbed before they become tomorrow's crisis.</li>
|
||||||
|
</ul>
|
||||||
|
<blockquote><p>The Liquid hack did not shake our design. It reinforced it. Every place BAL <em>could</em> have added a shortcut — a sidechain for cheaper fees, a new script for cleverer conditions, a proprietary wallet for a nicer UX — is a place where, in 2026, someone else lost $320 million.</p></blockquote>
|
||||||
|
|
||||||
|
<h2>What this means for you</h2>
|
||||||
|
<p>If you are planning a Bitcoin inheritance, the practical takeaways from this month are simple:</p>
|
||||||
|
<ul style="padding-left:22px">
|
||||||
|
<li><strong>Do not park inheritance funds on a sidechain or an L2.</strong> Not on Liquid, not on Lightning channels, not on any bridge or wrapper. Keep the coins on the Bitcoin base layer.</li>
|
||||||
|
<li><strong>Distrust anything shiny.</strong> "New" is a feature for traders and a liability for heirs. Prefer the software that has been publicly attacked for the longest.</li>
|
||||||
|
<li><strong>Ask where the trust is.</strong> If any part of an inheritance plan says "trust our server / trust our custodian / trust our federation", that part is where it will eventually fail. Replace it with something a consensus rule enforces.</li>
|
||||||
|
<li><strong>Verify.</strong> Read the code, or ask an AI to read it for you, and do it again after every update. This is now a habit anyone can afford.</li>
|
||||||
|
</ul>
|
||||||
|
<p><span translate="no">Bitcoin After Life</span> is deliberately narrow. We do exactly one thing — a time-locked, redundantly-executed inheritance transaction — and we do it on top of the two most tested primitives in Bitcoin. We refuse features that would force us onto experimental ground. That refusal is not conservatism for its own sake. It is the only honest posture for a protocol whose promises must outlive its authors.</p>
|
||||||
|
<p>The Liquid attackers wrote a $320 million reminder into the blockchain this month. Our reading of it is the same one we started with:</p>
|
||||||
|
|
||||||
|
<p class="pull">Don't trust. Verify. Then, and only then, plan — on bedrock.</p>
|
||||||
|
|
||||||
|
<p>The plugin, the executor, and the full protocol walkthrough are open source and available at <a href="https://bitcoin-after.life/">bitcoin-after.life</a>. Start on testnet. Read the code. Bring an AI. Break it if you can — that is exactly what we want.</p>
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
<p class="disclaimer">This article is for informational purposes only and does not constitute legal, tax, or security advice. Facts about the September 2026 Liquid Network incident reflect public reporting and Blockstream's advisories at the time of writing; consult the vendor's official communications for up-to-date guidance.</p>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
<div class="back">
|
||||||
|
<a href="../blog.html">← Back to the blog</a>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<footer>
|
||||||
|
<div class="wrap">
|
||||||
|
<div class="sig">Svātantrya</div>
|
||||||
|
<div>Signed — <span translate="no">Bitcoin After Life</span> Protocol</div>
|
||||||
|
<div class="links">
|
||||||
|
<a href="https://bitcoin-after.life">bitcoin-after.life</a>
|
||||||
|
<a href="mailto:info@bitcoin-after.life">info@bitcoin-after.life</a>
|
||||||
|
<a href="https://x.com/BitcoinAfterLif">@BitcoinAfterLif</a>
|
||||||
|
<a href="https://bitcoin-after.life/pgp">PGP Key</a>
|
||||||
|
<a href="https://bitcoin-after.life/gitea/bitcoinafterlife">Source Code</a>
|
||||||
|
</div>
|
||||||
|
<div class="built">Built with ₿itcoin. No FIAT was used in the making of this protocol.</div>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
/* Mobile menu toggle -- identical behaviour across all pages. */
|
||||||
|
(function () {
|
||||||
|
const toggle = document.getElementById('navToggle');
|
||||||
|
const nav = document.getElementById('mainNav');
|
||||||
|
if (!toggle || !nav) return;
|
||||||
|
|
||||||
|
function setOpen(open) {
|
||||||
|
nav.classList.toggle('open', open);
|
||||||
|
toggle.setAttribute('aria-expanded', open ? 'true' : 'false');
|
||||||
|
toggle.setAttribute('aria-label', open ? 'Close menu' : 'Open menu');
|
||||||
|
}
|
||||||
|
|
||||||
|
toggle.addEventListener('click', function () {
|
||||||
|
setOpen(!nav.classList.contains('open'));
|
||||||
|
});
|
||||||
|
nav.addEventListener('click', function (e) {
|
||||||
|
if (e.target.tagName === 'A') setOpen(false);
|
||||||
|
});
|
||||||
|
document.addEventListener('keydown', function (e) {
|
||||||
|
if (e.key === 'Escape') setOpen(false);
|
||||||
|
});
|
||||||
|
})();
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
334
blog/the-quietest-day.html
Normal file
334
blog/the-quietest-day.html
Normal file
@@ -0,0 +1,334 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en" class="nojs">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>The Quietest Day: What Really Happens When Your Bitcoin Inheritance Arrives — Bitcoin After Life</title>
|
||||||
|
<meta name="description" content="A well-designed Bitcoin inheritance should be a non-event on the day it arrives. What the heir actually does, what to leave them years in advance, and why an address without a key is a tomb.">
|
||||||
|
<meta property="og:type" content="article">
|
||||||
|
<meta property="og:site_name" content="Bitcoin After Life">
|
||||||
|
<meta property="og:title" content="The Quietest Day: What Really Happens When Your Bitcoin Inheritance Arrives — Bitcoin After Life">
|
||||||
|
<meta property="og:description" content="A well-designed Bitcoin inheritance should be a non-event on the day it arrives. What the heir actually does, what to leave them years in advance, and why an address without a key is a tomb.">
|
||||||
|
<meta property="og:url" content="https://bitcoin-after.life/blog/the-quietest-day.html">
|
||||||
|
<meta property="og:image" content="https://bitcoin-after.life/pitura/og-default.png">
|
||||||
|
<meta property="og:image:width" content="1200">
|
||||||
|
<meta property="og:image:height" content="630">
|
||||||
|
<meta name="twitter:card" content="summary_large_image">
|
||||||
|
<meta name="twitter:site" content="@BitcoinAfterLif">
|
||||||
|
<meta name="twitter:title" content="The Quietest Day: What Really Happens When Your Bitcoin Inheritance Arrives — Bitcoin After Life">
|
||||||
|
<meta name="twitter:description" content="A well-designed Bitcoin inheritance should be a non-event on the day it arrives. What the heir actually does, what to leave them years in advance, and why an address without a key is a tomb.">
|
||||||
|
<meta name="twitter:image" content="https://bitcoin-after.life/pitura/og-default.png">
|
||||||
|
<meta name="theme-color" content="#2d6cdf">
|
||||||
|
<link rel="canonical" href="https://bitcoin-after.life/blog/the-quietest-day.html">
|
||||||
|
<link rel="icon" type="image/x-icon" href="/pitura/ico/Logo_nero.ico">
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="/pitura/ico/favicon-32.png">
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="/pitura/ico/favicon-16.png">
|
||||||
|
<script>
|
||||||
|
/* Runs before first paint: removes the `nojs` class set on <html>, so the
|
||||||
|
mobile menu button is only shown when it can actually work. */
|
||||||
|
document.documentElement.classList.remove('nojs');
|
||||||
|
</script>
|
||||||
|
<style>
|
||||||
|
:root{
|
||||||
|
--maxw:1120px;
|
||||||
|
--radius:10px;
|
||||||
|
--bg:#eef1f4;
|
||||||
|
--panel:#ffffff;
|
||||||
|
--ink:#1a2027;
|
||||||
|
--muted:#5b6672;
|
||||||
|
--line:#dfe4ea;
|
||||||
|
--line-strong:#cbd2da;
|
||||||
|
--accent:#2d6cdf;
|
||||||
|
--accent-soft:#e6eefc;
|
||||||
|
--display:"Inter","Segoe UI",system-ui,-apple-system,sans-serif;
|
||||||
|
--body:"Inter","Segoe UI",system-ui,-apple-system,sans-serif;
|
||||||
|
--mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
|
||||||
|
--shadow:0 1px 2px rgba(20,30,50,.05);
|
||||||
|
--shadow-lg:0 6px 20px rgba(20,30,50,.08);
|
||||||
|
}
|
||||||
|
*{box-sizing:border-box}
|
||||||
|
html{scroll-behavior:smooth}
|
||||||
|
html,body{margin:0}
|
||||||
|
body{background:var(--bg);color:var(--ink);font-family:var(--body);
|
||||||
|
line-height:1.55;-webkit-font-smoothing:antialiased}
|
||||||
|
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}
|
||||||
|
a{color:var(--accent);text-decoration:none}
|
||||||
|
a:hover{text-decoration:underline}
|
||||||
|
|
||||||
|
/* ---------- Top bar (shared with home and manifesto) ---------- */
|
||||||
|
.topbar{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.86);
|
||||||
|
backdrop-filter:saturate(150%) blur(8px);border-bottom:1px solid var(--line)}
|
||||||
|
.topbar .wrap{display:flex;align-items:center;gap:18px;height:60px}
|
||||||
|
.topbar .logo{display:flex;align-items:center;gap:10px;font-family:var(--display);
|
||||||
|
font-weight:600;color:var(--ink)}
|
||||||
|
.topbar .logo img{width:30px;height:30px;display:block}
|
||||||
|
.topbar .logo span{font-size:15px;letter-spacing:-.01em}
|
||||||
|
.topbar nav{margin-left:auto;display:flex;gap:4px;flex-wrap:wrap}
|
||||||
|
.topbar nav a{color:var(--muted);font-size:13px;padding:7px 11px;border-radius:7px}
|
||||||
|
.topbar nav a:hover{color:var(--ink);background:var(--accent-soft);text-decoration:none}
|
||||||
|
.topbar nav a.active{color:var(--accent);font-weight:600;border:1px solid #cfe0fb;
|
||||||
|
background:var(--accent-soft)}
|
||||||
|
.topbar .x{color:var(--ink);font-weight:600}
|
||||||
|
|
||||||
|
.navtoggle{
|
||||||
|
display:none;margin-left:auto;width:44px;height:44px;flex:none;
|
||||||
|
align-items:center;justify-content:center;
|
||||||
|
background:var(--panel);border:1px solid var(--line-strong);border-radius:9px;
|
||||||
|
color:var(--ink);cursor:pointer;padding:0;
|
||||||
|
}
|
||||||
|
.navtoggle:hover{border-color:var(--accent);color:var(--accent)}
|
||||||
|
.navtoggle .bars{display:block;width:18px;height:2px;background:currentColor;position:relative}
|
||||||
|
.navtoggle .bars::before,.navtoggle .bars::after{
|
||||||
|
content:"";position:absolute;left:0;width:18px;height:2px;background:currentColor}
|
||||||
|
.navtoggle .bars::before{top:-6px}
|
||||||
|
.navtoggle .bars::after{top:6px}
|
||||||
|
.navtoggle[aria-expanded="true"] .bars{background:transparent}
|
||||||
|
.navtoggle[aria-expanded="true"] .bars::before{top:0;transform:rotate(45deg)}
|
||||||
|
.navtoggle[aria-expanded="true"] .bars::after{top:0;transform:rotate(-45deg)}
|
||||||
|
|
||||||
|
/* ---------- Footer (shared) ---------- */
|
||||||
|
footer{border-top:1px solid var(--line);margin-top:56px;padding:34px 0 40px;
|
||||||
|
color:var(--muted);font-size:14px;background:var(--panel)}
|
||||||
|
footer .sig{font-family:var(--display);font-weight:600;color:var(--ink);font-size:16px}
|
||||||
|
footer .links{display:flex;gap:16px;flex-wrap:wrap;margin:14px 0}
|
||||||
|
footer .built{font-size:13px;color:var(--muted);margin-top:8px}
|
||||||
|
|
||||||
|
@media (max-width:900px){
|
||||||
|
.navtoggle{display:inline-flex}
|
||||||
|
.topbar nav{
|
||||||
|
position:absolute;top:100%;left:0;right:0;
|
||||||
|
margin-left:0;display:none;flex-direction:column;gap:2px;flex-wrap:nowrap;
|
||||||
|
background:var(--panel);border-bottom:1px solid var(--line);
|
||||||
|
box-shadow:var(--shadow-lg);padding:10px 20px 16px;
|
||||||
|
}
|
||||||
|
.topbar nav.open{display:flex}
|
||||||
|
.topbar nav a{font-size:15.5px;padding:0 12px;min-height:44px;
|
||||||
|
display:flex;align-items:center;border-radius:8px}
|
||||||
|
}
|
||||||
|
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
|
||||||
|
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
|
||||||
|
|
||||||
|
/*
|
||||||
|
Without JavaScript the panel cannot be toggled, so the links are shown
|
||||||
|
inline. On narrow screens they wrap under the logo and the bar is allowed
|
||||||
|
to grow, instead of being clipped by the fixed 60px height.
|
||||||
|
*/
|
||||||
|
.nojs .navtoggle{display:none}
|
||||||
|
.nojs .topbar nav{position:static;display:flex;flex-direction:row;flex-wrap:wrap;
|
||||||
|
box-shadow:none;border-bottom:0;padding:0;margin-left:auto;background:transparent}
|
||||||
|
@media (max-width:900px){
|
||||||
|
.nojs .topbar .wrap{height:auto;min-height:56px;flex-wrap:wrap;padding-bottom:8px;gap:10px}
|
||||||
|
.nojs .topbar nav{margin-left:0;width:100%;gap:4px 6px}
|
||||||
|
.nojs .topbar nav a{font-size:14.5px;min-height:40px;padding:0 10px;
|
||||||
|
display:flex;align-items:center;border:1px solid var(--line);border-radius:8px}
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-head{padding:44px 0 30px;border-bottom:1px solid var(--line);
|
||||||
|
background:radial-gradient(820px 280px at 50% -40%,var(--accent-soft),transparent 70%)}
|
||||||
|
.post-head .wrap{max-width:760px}
|
||||||
|
.post-head .eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.14em;
|
||||||
|
text-transform:uppercase;color:var(--accent);display:block;margin-bottom:14px}
|
||||||
|
.post-head h1{font-family:var(--display);font-weight:600;font-size:40px;
|
||||||
|
letter-spacing:-.02em;line-height:1.12;margin:0 0 14px}
|
||||||
|
.post-meta{display:flex;gap:14px;align-items:center;flex-wrap:wrap;
|
||||||
|
font-size:13px;color:var(--muted)}
|
||||||
|
.post-meta .dot{width:4px;height:4px;border-radius:50%;background:var(--line-strong)}
|
||||||
|
|
||||||
|
.article{max-width:760px;margin:0 auto;padding:34px 20px 8px}
|
||||||
|
.article p{font-size:17px;line-height:1.8;color:#36404b;margin:0 0 20px}
|
||||||
|
.article p strong{color:var(--ink);font-weight:600}
|
||||||
|
.article h2{font-family:var(--display);font-weight:600;font-size:25px;
|
||||||
|
letter-spacing:-.01em;margin:38px 0 14px;padding-bottom:10px;
|
||||||
|
border-bottom:1px solid var(--line-strong)}
|
||||||
|
.article ol{padding-left:22px;margin:0 0 20px}
|
||||||
|
.article li{font-size:17px;line-height:1.8;color:#36404b;margin-bottom:14px}
|
||||||
|
.article li strong{color:var(--ink);font-weight:600}
|
||||||
|
.article figure{margin:30px 0}
|
||||||
|
.article figure img{width:100%;height:auto;display:block;border-radius:var(--radius);
|
||||||
|
border:1px solid var(--line);box-shadow:var(--shadow)}
|
||||||
|
.article hr{border:0;border-top:1px solid var(--line-strong);margin:34px 0 22px}
|
||||||
|
.article .disclaimer{font-size:14px;color:var(--muted);font-style:italic;line-height:1.7}
|
||||||
|
|
||||||
|
.back{max-width:760px;margin:26px auto 0;padding:0 20px 8px}
|
||||||
|
.back a{font-size:14px;font-weight:600}
|
||||||
|
|
||||||
|
@media (max-width:700px){
|
||||||
|
.post-head{padding:30px 0 24px}
|
||||||
|
.post-head h1{font-size:29px}
|
||||||
|
.article{padding:28px 18px 8px}
|
||||||
|
.article h2{font-size:22px;margin-top:32px}
|
||||||
|
.article figure{margin:24px -18px}
|
||||||
|
.article figure img{border-radius:0;border-left:0;border-right:0}
|
||||||
|
}
|
||||||
|
@media (max-width:400px){
|
||||||
|
.post-head h1{font-size:25px}
|
||||||
|
.wrap{padding:0 15px}
|
||||||
|
.article{padding:24px 16px 8px}
|
||||||
|
.article figure{margin:22px -16px}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div class="topbar">
|
||||||
|
<div class="wrap">
|
||||||
|
<a class="logo" href="../index.html"><img src="../pitura/logo/Logo_nero.svg" alt="Bitcoin After Life logo"><span translate="no">Bitcoin After Life</span></a>
|
||||||
|
<button class="navtoggle" id="navToggle" type="button"
|
||||||
|
aria-expanded="false" aria-controls="mainNav" aria-label="Open menu">
|
||||||
|
<span class="bars"></span>
|
||||||
|
</button>
|
||||||
|
<nav id="mainNav">
|
||||||
|
<a href="../index.html#features">Features</a>
|
||||||
|
<a href="../index.html#how">How it works</a>
|
||||||
|
<a href="../index.html#plugin">Plugin</a>
|
||||||
|
<a href="../index.html#faq">FAQ</a>
|
||||||
|
<a class="active" href="../blog.html">Blog</a>
|
||||||
|
<a href="../manifesto.html">Manifesto</a>
|
||||||
|
<a class="x" href="https://x.com/BitcoinAfterLif" title="@BitcoinAfterLif on X">@X</a>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<main>
|
||||||
|
<header class="post-head">
|
||||||
|
<div class="wrap">
|
||||||
|
<span class="eyebrow">Blog</span>
|
||||||
|
<h1>The Quietest Day: What Really Happens When Your Bitcoin Inheritance Arrives</h1>
|
||||||
|
<div class="post-meta">
|
||||||
|
<time datetime="2026-09-19">19 September 2026</time>
|
||||||
|
<span class="dot"></span>
|
||||||
|
<span translate="no">Bitcoin After Life</span>
|
||||||
|
<span class="dot"></span>
|
||||||
|
<span>8 min read</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<article class="article">
|
||||||
|
<figure>
|
||||||
|
<img src="img/the-quietest-day-cover.webp" width="1600" height="900" loading="lazy" alt="A calendar with one date circled, an envelope marked with the Bitcoin symbol, and a wallet showing a notification">
|
||||||
|
</figure>
|
||||||
|
|
||||||
|
<p>There is a paradox at the heart of a well-designed Bitcoin inheritance: <strong>the day it actually arrives should be the most boring day of the whole story.</strong></p>
|
||||||
|
<p>No lawyer to call. No court to petition. No hidden safe to open. No cryptic seed to decipher under a lamp at 2 a.m. Somewhere, a signed transaction that has been waiting patiently on a handful of independent Will-Executor servers reaches its locktime, gets broadcast, confirms in a block — and your heir's wallet shows a new balance.</p>
|
||||||
|
<p>That is it. That is the whole event.</p>
|
||||||
|
<p>If we have done our job — if you have done yours — delivery day is a non-event. And that is precisely the point of this article: <strong>the difficulty of a Bitcoin inheritance is not on delivery day. It is in getting there prepared.</strong></p>
|
||||||
|
|
||||||
|
<h2>Delivery day, hour by hour</h2>
|
||||||
|
<p>Let us watch it happen. Imagine your inheritance transaction is time-locked to a block height expected around 10:00 on a given morning.</p>
|
||||||
|
<ul style="padding-left:22px">
|
||||||
|
<li><strong>08:47.</strong> The chain approaches the target height. Nothing happens. Nothing is supposed to happen. Somewhere in the world, a handful of Will-Executor servers you selected years ago quietly keep watching the block height, as they have every ten minutes for however long the will has existed.</li>
|
||||||
|
<li><strong>09:52.</strong> The block before the target is mined. Each Will-Executor now knows the transaction becomes valid on the next block. Behind the scenes, each one prepares to broadcast the moment the timelock releases — because the fee output is theirs only if their broadcast is the one that confirms.</li>
|
||||||
|
<li><strong>10:03.</strong> The target block is found. The transaction is now valid Bitcoin. Each executor races to submit it to their peers. Only one broadcast will actually reach miners first; the others will be discarded as duplicates.</li>
|
||||||
|
<li><strong>10:14.</strong> A miner includes the transaction in the following block. It has one confirmation. Your heir's wallet, if open, notices an incoming payment. If it is closed, it will notice the next time it opens.</li>
|
||||||
|
<li><strong>11:30.</strong> Six confirmations. The inheritance is settled by every standard used on the network.</li>
|
||||||
|
</ul>
|
||||||
|
<p>That is the entire ceremony. It is, by design, indistinguishable from any other Bitcoin transaction — because that is what it is. Anyone with a block explorer can watch it, verify it, timestamp it. There are no papers to sign, no keys to hand over, no offices to visit. The heir has to do exactly one thing: <strong>be the person who controls the address the coins arrived at.</strong></p>
|
||||||
|
<p>Which brings us to the hard part.</p>
|
||||||
|
|
||||||
|
<h2>An address without a key is a tomb</h2>
|
||||||
|
<p>Here is a sentence that ought to be pinned above every inheritance planner's desk: <strong>a Bitcoin address is worthless to whoever does not hold the private key that controls it.</strong></p>
|
||||||
|
<p>The BAL protocol delivers coins on time, to the exact addresses you specified, with cryptographic certainty. What it cannot do — what nothing on-chain can do — is make sure that whoever you named as your heir actually holds the seed phrase that controls those addresses.</p>
|
||||||
|
<p>If you generate a fresh address in your own wallet and put it in your will as your daughter's inheritance, the transaction will execute perfectly. Your daughter will inherit a string of characters she cannot spend. The Bitcoin will not be lost in the technical sense — it will simply be entombed, as visible and as inaccessible as any of the many "lost" coins in on-chain analyses.</p>
|
||||||
|
<p>The heir must control the seed of the wallet that owns the destination address. There are only two honest ways to arrange that:</p>
|
||||||
|
<ol>
|
||||||
|
<li><strong>The heir already has her own wallet.</strong> She generates a fresh address in it and sends it to you. You put that address in your will. You never see her seed, she never sees yours. This is the clean case.</li>
|
||||||
|
<li><strong>You prepare a wallet on her behalf.</strong> You generate a new seed dedicated to the inheritance, take a receiving address from it, and put the seed somewhere she can find it after — a sealed envelope with a trusted person, a safety deposit box with clear instructions, a paper carefully hidden with a note. This is the fragile case, because now a single piece of paper stands between the coins and oblivion.</li>
|
||||||
|
</ol>
|
||||||
|
<p>Most non-technical heirs need option 2. Most Bitcoin inheritances that fail, fail on option 2. Not because of the protocol — because of the paper.</p>
|
||||||
|
|
||||||
|
<h2>Before: what to leave your heir</h2>
|
||||||
|
<p>The bulk of the work happens years before delivery day. It is undramatic, mostly analog, and it is the entire game.</p>
|
||||||
|
<p>A good letter to your heir should contain, at minimum:</p>
|
||||||
|
<ul style="padding-left:22px">
|
||||||
|
<li><strong>A plain-language explanation of what is coming.</strong> Not "you will receive an inheritance transaction from a time-locked UTXO." Something like: <em>"On or around [date], a certain amount of Bitcoin will arrive at the address below. This is your inheritance. It comes from a protocol I set up years ago; nobody had to sign anything for it to happen."</em></li>
|
||||||
|
<li><strong>The receiving address</strong>, so the heir can verify it on a block explorer before and after delivery.</li>
|
||||||
|
<li><strong>The seed phrase of her own wallet</strong> — if you prepared it for her — with clear instructions: what it is, what it looks like, how to type it into a wallet application, and, most importantly, <strong>who should never see it</strong>.</li>
|
||||||
|
<li><strong>A short list of trusted software.</strong> Name specific, reputable wallets. Otherwise the first search after delivery day will lead her to whichever fake wallet is topping the ads that week.</li>
|
||||||
|
<li><strong>A "do not do this" list.</strong> Do not photograph the seed. Do not type it into a website. Do not accept help from anyone who contacts you first, no matter how legitimate they sound.</li>
|
||||||
|
<li><strong>One trusted human to call</strong> who understands Bitcoin and has agreed in advance to help without ever touching the coins.</li>
|
||||||
|
</ul>
|
||||||
|
<p>Notice what is <em>not</em> in that letter: your own seed. The whole point of the protocol is that your heir never needs it. If you write your seed into the letter, you have quietly rebuilt the exact custody problem BAL was designed to eliminate — and left it in a drawer.</p>
|
||||||
|
|
||||||
|
<h2>After: the first days</h2>
|
||||||
|
<p>The days immediately after an inheritance arrives are the most dangerous in its lifetime. Not because of the technology — the coins are already sitting at the right address — but because attackers are perfectly aware that inheritances happen, and they know exactly what a freshly-inheriting heir looks like: someone who suddenly holds Bitcoin and does not know what she is doing.</p>
|
||||||
|
<p>The rules, in the order the heir will need them:</p>
|
||||||
|
<ol>
|
||||||
|
<li><strong>Do not be in a hurry.</strong> The coins are not going anywhere. There is no deadline. Any pressure to "move them immediately for safety" is a scam.</li>
|
||||||
|
<li><strong>Do not share the seed with anyone.</strong> Not with a wallet's support chat. Not with a friend of a friend who "does crypto." Not with anyone who arrives, unsolicited, offering to help. A genuine helper never needs to see the seed.</li>
|
||||||
|
<li><strong>Verify the incoming transaction on a block explorer</strong> — the receiving address, the amount, the block it was confirmed in. This is a two-minute exercise in checking that reality matches the letter.</li>
|
||||||
|
<li><strong>When ready — days or weeks later, not hours — move the funds to a fresh wallet</strong> on hardware the heir controls, generated with a new seed she wrote down herself. This closes any residual risk that the original setup was ever compromised.</li>
|
||||||
|
</ol>
|
||||||
|
<p>The phishing that follows an inheritance is not opportunistic. It is targeted. Obituaries, social media announcements, small-town gossip — all of it becomes signal for a certain class of scammer. An heir who was warned about this in advance, in writing, in the same letter she keeps with the seed, will recognize the pattern the moment it appears.</p>
|
||||||
|
|
||||||
|
<h2>A non-technical heir, told as a story</h2>
|
||||||
|
<p>Consider Anna, 74, whose son set up his BAL inheritance five years before he died. Anna uses a smartphone for messaging and little else. On delivery day she notices nothing: no email, no alert. Nothing on her phone was configured to watch a Bitcoin address.</p>
|
||||||
|
<p>Two weeks later, her son's friend — the one named in the letter — visits and helps her open the envelope her son left with the family notary. Inside: a sheet of paper with twelve words, a QR code, an address, and a short letter in her son's handwriting.</p>
|
||||||
|
<p>The friend installs a reputable wallet on Anna's phone, in front of her, and helps her type the twelve words. The wallet shows a balance. He shows her the address on a block explorer and points out the transaction her son's protocol executed exactly two weeks earlier, unattended, on schedule.</p>
|
||||||
|
<p>Anna does not need to understand any of it. She needs the paper, and one trusted person who will not touch the coins. Both were arranged by her son years earlier.</p>
|
||||||
|
<p>That is what "the heir does almost nothing" looks like from the heir's side. Everything that made it possible was decided long before.</p>
|
||||||
|
|
||||||
|
<h2>Honest limits</h2>
|
||||||
|
<p>A protocol that promises to be honest owes you a list of the things it cannot do.</p>
|
||||||
|
<ul style="padding-left:22px">
|
||||||
|
<li><strong>If the heir loses the paper, the coins are gone.</strong> The protocol delivers to the address; it cannot recover the key. This is the same risk any self-custody user runs, transferred to the heir.</li>
|
||||||
|
<li><strong>If the heir never learns that a delivery is coming, she may miss it entirely.</strong> The transaction confirms on-chain whether or not anyone is watching. Coins sitting quietly at a correct address that nobody knows about are indistinguishable from lost coins.</li>
|
||||||
|
<li><strong>The protocol cannot judge circumstances.</strong> If the address you named turns out to belong to someone who has grown estranged, changed situation, or become a poor steward, the coins arrive regardless. Human factors remain human.</li>
|
||||||
|
</ul>
|
||||||
|
<p>None of these limits are new problems the protocol invented. They are the old problems of inheritance, moved to a place where at least they can be seen clearly and planned for.</p>
|
||||||
|
|
||||||
|
<h2>The takeaway</h2>
|
||||||
|
<p>The best delivery day is the most boring one: a block, a confirmation, a balance appearing. Nothing dramatic. Nothing to solve. Nothing to fear.</p>
|
||||||
|
<p>The interesting work — the letter, the wallet, the trusted person, the "do not do this" list — happens years earlier, at a desk, in silence, while you still can.</p>
|
||||||
|
<p>Your protocol will keep its promise on the day. Your job is to make sure that on that day, there is someone ready, holding the key, who knows exactly what has just arrived.</p>
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
<p class="disclaimer">Bitcoin After Life is open source and Bitcoin-only. Explore the plugin and the server on <a href="https://bitcoin-after.life/gitea/bitcoinafterlife" target="_blank" rel="noopener">Gitea</a> and read the full manual at <a href="https://bitcoin-after.life/docs/" target="_blank" rel="noopener">bitcoin-after.life/docs</a>.</p>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
<div class="back">
|
||||||
|
<a href="../blog.html">← Back to the blog</a>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<footer>
|
||||||
|
<div class="wrap">
|
||||||
|
<div class="sig">Svātantrya</div>
|
||||||
|
<div>Signed — <span translate="no">Bitcoin After Life</span> Protocol</div>
|
||||||
|
<div class="links">
|
||||||
|
<a href="https://bitcoin-after.life">bitcoin-after.life</a>
|
||||||
|
<a href="mailto:info@bitcoin-after.life">info@bitcoin-after.life</a>
|
||||||
|
<a href="https://x.com/BitcoinAfterLif">@BitcoinAfterLif</a>
|
||||||
|
<a href="https://bitcoin-after.life/pgp">PGP Key</a>
|
||||||
|
<a href="https://bitcoin-after.life/gitea/bitcoinafterlife">Source Code</a>
|
||||||
|
</div>
|
||||||
|
<div class="built">Built with ₿itcoin. No FIAT was used in the making of this protocol.</div>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
/* Mobile menu toggle -- identical behaviour across all pages. */
|
||||||
|
(function () {
|
||||||
|
const toggle = document.getElementById('navToggle');
|
||||||
|
const nav = document.getElementById('mainNav');
|
||||||
|
if (!toggle || !nav) return;
|
||||||
|
|
||||||
|
function setOpen(open) {
|
||||||
|
nav.classList.toggle('open', open);
|
||||||
|
toggle.setAttribute('aria-expanded', open ? 'true' : 'false');
|
||||||
|
toggle.setAttribute('aria-label', open ? 'Close menu' : 'Open menu');
|
||||||
|
}
|
||||||
|
|
||||||
|
toggle.addEventListener('click', function () {
|
||||||
|
setOpen(!nav.classList.contains('open'));
|
||||||
|
});
|
||||||
|
nav.addEventListener('click', function (e) {
|
||||||
|
if (e.target.tagName === 'A') setOpen(false);
|
||||||
|
});
|
||||||
|
document.addEventListener('keydown', function (e) {
|
||||||
|
if (e.key === 'Escape') setOpen(false);
|
||||||
|
});
|
||||||
|
})();
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
71
index.html
71
index.html
@@ -99,7 +99,8 @@ section{scroll-margin-top:72px}
|
|||||||
/* ---------- Hero ---------- */
|
/* ---------- Hero ---------- */
|
||||||
header.hero{padding:56px 0 40px;border-bottom:1px solid var(--line);background:
|
header.hero{padding:56px 0 40px;border-bottom:1px solid var(--line);background:
|
||||||
radial-gradient(900px 300px at 80% -40%,var(--accent-soft),transparent 70%);}
|
radial-gradient(900px 300px at 80% -40%,var(--accent-soft),transparent 70%);}
|
||||||
.hero .wrap{display:grid;grid-template-columns:1.4fr .9fr;gap:40px;align-items:center}
|
/* stretch (not center) so the card's lower edge lines up with the text column */
|
||||||
|
.hero .wrap{display:grid;grid-template-columns:1.4fr .9fr;gap:40px;align-items:stretch}
|
||||||
.hero .badge{
|
.hero .badge{
|
||||||
display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;
|
display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;
|
||||||
color:var(--accent);background:var(--accent-soft);border:1px solid #cfe0fb;
|
color:var(--accent);background:var(--accent-soft);border:1px solid #cfe0fb;
|
||||||
@@ -133,15 +134,25 @@ header.hero{padding:56px 0 40px;border-bottom:1px solid var(--line);background:
|
|||||||
.fiat-bar .t{font-size:13.5px;line-height:1.6;color:var(--ink)}
|
.fiat-bar .t{font-size:13.5px;line-height:1.6;color:var(--ink)}
|
||||||
.fiat-bar .t strong{font-weight:600}
|
.fiat-bar .t strong{font-weight:600}
|
||||||
.fiat-bar .t .m{color:var(--muted)}
|
.fiat-bar .t .m{color:var(--muted)}
|
||||||
|
/* Latest-post pointer: same bar, accent icon instead of the Bitcoin glyph. */
|
||||||
|
.fiat-bar.latest-post{margin-top:11px}
|
||||||
|
.fiat-bar.latest-post .btc{font-size:17px;color:var(--accent)}
|
||||||
|
|
||||||
|
/*
|
||||||
|
Flex column so the stats pin to the bottom (margin-top:auto), keeping the
|
||||||
|
card's lower edge level with the text column whatever height the art takes.
|
||||||
|
*/
|
||||||
.hero-card{
|
.hero-card{
|
||||||
background:var(--panel);border:1px solid var(--line);border-radius:14px;
|
background:var(--panel);border:1px solid var(--line);border-radius:14px;
|
||||||
box-shadow:var(--shadow-lg);padding:30px 28px;text-align:center;
|
box-shadow:var(--shadow-lg);padding:28px;text-align:center;
|
||||||
|
display:flex;flex-direction:column;
|
||||||
|
}
|
||||||
|
.hero-card .hero-art{
|
||||||
|
width:100%;height:auto;margin:0 auto 16px;display:block;border-radius:12px;
|
||||||
}
|
}
|
||||||
.hero-card img{width:138px;height:138px;margin:0 auto 14px;display:block}
|
|
||||||
.hero-card .name{font-family:var(--display);font-weight:600;font-size:18px}
|
.hero-card .name{font-family:var(--display);font-weight:600;font-size:18px}
|
||||||
.hero-card .tag{color:var(--muted);font-size:13px;margin-top:2px}
|
.hero-card .tag{color:var(--muted);font-size:13px;margin-top:2px}
|
||||||
.hero-card .stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}
|
.hero-card .stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:auto;padding-top:20px}
|
||||||
.hero-card .stat{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:12px 8px}
|
.hero-card .stat{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:12px 8px}
|
||||||
.hero-card .stat .n{font-family:var(--display);font-weight:600;font-size:20px;line-height:1}
|
.hero-card .stat .n{font-family:var(--display);font-weight:600;font-size:20px;line-height:1}
|
||||||
.hero-card .stat .l{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:6px}
|
.hero-card .stat .l{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:6px}
|
||||||
@@ -180,6 +191,9 @@ header.hero{padding:56px 0 40px;border-bottom:1px solid var(--line);background:
|
|||||||
border:1px solid var(--line-strong);border-radius:5px;padding:3px 7px;
|
border:1px solid var(--line-strong);border-radius:5px;padding:3px 7px;
|
||||||
}
|
}
|
||||||
.card .more{font-size:13px;font-weight:600;color:var(--accent)}
|
.card .more{font-size:13px;font-weight:600;color:var(--accent)}
|
||||||
|
/* Blog cards: titles read as headings, like on blog.html, not as links. */
|
||||||
|
.card h3 a{color:var(--ink)}
|
||||||
|
.card h3 a:hover{color:var(--accent);text-decoration:none}
|
||||||
|
|
||||||
/* ---------- Steps ---------- */
|
/* ---------- Steps ---------- */
|
||||||
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
|
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
|
||||||
@@ -513,10 +527,20 @@ footer .built{font-size:13px;color:var(--muted);margin-top:8px}
|
|||||||
<span class="btc">₿</span>
|
<span class="btc">₿</span>
|
||||||
<span class="t"><strong>Open-source project.</strong> <span class="m">The BAL Protocol is built and funded exclusively with Bitcoin — no FIAT currencies were used.</span></span>
|
<span class="t"><strong>Open-source project.</strong> <span class="m">The BAL Protocol is built and funded exclusively with Bitcoin — no FIAT currencies were used.</span></span>
|
||||||
</div>
|
</div>
|
||||||
|
<!--
|
||||||
|
Latest post pointer. When a new article goes live, update the title and
|
||||||
|
href here AND the three cards in the #blog section further down.
|
||||||
|
-->
|
||||||
|
<div class="fiat-bar latest-post">
|
||||||
|
<span class="btc">📄</span>
|
||||||
|
<span class="t"><strong>New on the blog:</strong>
|
||||||
|
<a href="blog/the-quietest-day.html">The Quietest Day — what really happens when your Bitcoin inheritance arrives</a></span>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<aside class="hero-card">
|
<aside class="hero-card">
|
||||||
<img src="/pitura/logo/Logo_nero.svg" alt="Bitcoin After Life Protocol logo" width="138" height="138">
|
<img class="hero-art" src="/pitura/bal-hero-tree.webp" width="981" height="688"
|
||||||
|
alt="A tree of circuit branches growing from the Bitcoin After Life logo, with padlocks and an envelope at its tips and a clock behind it">
|
||||||
<div class="name">BAL Protocol</div>
|
<div class="name">BAL Protocol</div>
|
||||||
<div class="tag">Electrum plugin + Will-Executor</div>
|
<div class="tag">Electrum plugin + Will-Executor</div>
|
||||||
<div class="stats">
|
<div class="stats">
|
||||||
@@ -757,6 +781,43 @@ footer .built{font-size:13px;color:var(--muted);margin-top:8px}
|
|||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
<!-- ===== From the blog =====
|
||||||
|
The three most recent posts, newest first. When a new article goes live,
|
||||||
|
add it at the top here, drop the oldest, and update the latest-post
|
||||||
|
pointer in the hero. -->
|
||||||
|
<section class="section" id="blog">
|
||||||
|
<div class="wrap">
|
||||||
|
<span class="eyebrow">From the blog</span>
|
||||||
|
<h2>Notes on inheritance, Bitcoin and sovereignty</h2>
|
||||||
|
<p class="sub">Essays and practical notes from the project — on why inheritance breaks down, and on what mathematics can guarantee that paperwork cannot.</p>
|
||||||
|
<div class="grid cols-3">
|
||||||
|
|
||||||
|
<article class="card">
|
||||||
|
<div class="chips"><span class="chip">19 September 2026</span></div>
|
||||||
|
<h3 style="margin-top:12px"><a href="blog/the-quietest-day.html">The quietest day: what really happens when your Bitcoin inheritance arrives</a></h3>
|
||||||
|
<p>A well-designed inheritance should be a non-event on the day it arrives. What the heir actually does, what to leave them years in advance, and why an address without a key is a tomb.</p>
|
||||||
|
<a class="more" href="blog/the-quietest-day.html">Read the article →</a>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
<article class="card">
|
||||||
|
<div class="chips"><span class="chip">12 September 2026</span></div>
|
||||||
|
<h3 style="margin-top:12px"><a href="blog/liquid-network-and-why-we-trust-only-bedrock.html">Liquid Network's $320M lesson: why BAL only builds on bedrock</a></h3>
|
||||||
|
<p>A $320 million bug on a Bitcoin sidechain is a reminder of a rule we follow without exception: no sidechains, no Layer-2s, no experimental scripts — only Bitcoin's most tested primitives.</p>
|
||||||
|
<a class="more" href="blog/liquid-network-and-why-we-trust-only-bedrock.html">Read the article →</a>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
<article class="card">
|
||||||
|
<div class="chips"><span class="chip">6 September 2026</span></div>
|
||||||
|
<h3 style="margin-top:12px"><a href="blog/what-a-will-executor-can-see.html">What can a Will-Executor actually see? Privacy in the BAL protocol</a></h3>
|
||||||
|
<p>A Will-Executor holds one signed, time-locked transaction — and nothing else. What it can see, what it cannot, and why that protection comes from architecture rather than from a privacy policy.</p>
|
||||||
|
<a class="more" href="blog/what-a-will-executor-can-see.html">Read the article →</a>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<p style="margin-top:22px"><a class="more" href="blog.html">All articles on the blog →</a></p>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
<!-- ===== Footer ===== -->
|
<!-- ===== Footer ===== -->
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
BIN
pitura/bal-hero-tree.webp
Normal file
BIN
pitura/bal-hero-tree.webp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 30 KiB |
Reference in New Issue
Block a user