8.1 KiB
Executable File
DRAFT — Design choices and comparison with other approaches
STATUS: NOT PUBLISHED. NOT VALIDATED BY THE DEVELOPERS.
This page contains technical positioning material that must be reviewed before it becomes an official project statement. It is kept here, out of the published site, so it is ready when that review happens.
Source: internal drafts (July 2026), corrected version of 24/07/2026. Tone rule: factual, no disparagement — these are design trade-offs, not mistakes.
Three different approaches
| Liana (Wizardsardine) | Timelock Recovery (Electrum plugin) | BAL | |
|---|---|---|---|
| Mechanism | Script-based wallet (Miniscript): the timelock lives in the script locking the UTXOs | Pre-signed transactions: an Alert + Recovery pair | Pre-signed transactions with absolute nLockTime |
| Timelock type | Relative (CSV / BIP 68), per UTXO | Relative (nSequence / BIP 68) on the second transaction | Absolute (nLockTime) |
| What the BIP 68 cap limits | Maximum inactivity before the recovery key becomes usable | Only the cancellation window (2–388 days), not the inheritance horizon | — (does not use relative timelocks) |
| Distribution | None: on-chain | User/heir keeps the plan; monitoring services exist | Decentralized Will-Executor network |
Liana: where the ~15 month limit comes from
Liana uses relative timelocks (CSV/BIP 68) inside the script: the countdown starts when each individual UTXO is received. The field is 2 bytes, so it cannot exceed 65,535 — a Bitcoin consensus limit, not a wallet limitation. In blocks: 65,535 blocks ≈ 455 theoretical days (~15 months). In the time variant (512-second units) the cap is equivalent to ~388 days.
Documented consequence, acknowledged by its own developers: the user must periodically "rotate" coins (send them to a new address of their own) to reset the timer — paying fees each time — otherwise the recovery path opens. The project itself notes this fits poorly with cold wallets that are never touched, and that a non-technical heir may struggle, since not all UTXOs unlock at the same block height.
The DCA example (valid for Liana, NOT for Timelock Recovery): someone buying monthly for a year accumulates twelve UTXOs with twelve distinct countdowns. If they die after the last purchase, the heirs do not find a single inheritance but unlocks staggered over more than a year, with several recovery transactions to execute at different moments — unless the user had manually consolidated the UTXOs (which is the same periodic rotation already required).
Timelock Recovery: NOT like Liana — closer to BAL
Timelock Recovery is not a script wallet and does not cap the inheritance horizon at ~1 year. It uses a pair of pre-signed transactions:
- Alert Transaction — consolidates funds to a new address of the user's own wallet (plus small anchor outputs for CPFP). The heir broadcasts it when needed, and its appearance on-chain acts as an alert to the user.
- Recovery Transaction — spends the Alert's output to the heirs' wallets, with a relative nSequence imposing a waiting period.
The 388 figure belongs here: it is the maximum cancellation window (whole days, 2 to 388), not the duration of the inheritance. Beyond 388 days you overflow BIP 68's bits. The logic is the opposite of Liana's: that window gives a still-living user time to cancel everything (by spending the funds) if the plan is triggered by mistake or under duress.
Positioning note: the author of Timelock Recovery has filed BIP 128 (draft, assigned 5 February 2026) to standardise the JSON format of such plans, with a reference implementation in the plugin officially included in Electrum's repository. This is a competitor on a standardisation trajectory — to be treated with respect and precision.
BIP 128's critique of BAL's approach — have the answer ready
The Motivation section of BIP 128 explicitly criticises the scheme BAL uses: the single
pre-signed transaction with a future nLockTime. The argument: in the "all is well"
scenario (user alive, seed not lost), as the date approaches the user must access the
wallet and spend a UTXO to revoke the transaction, otherwise it becomes valid and moves
the funds with no cancellation period. There is no window for second thoughts: on the
date, the transaction is valid and the Will-Executors broadcast it.
This is the most serious technical objection BAL will face from a competent audience. It should be met head-on, not avoided. Elements of a reply (to be validated by the devs):
- The 2–3 year renewal policy with a rolling deadline is precisely the safeguard: someone who renews never gets close to the date.
- The user always retains control: spending a single UTXO invalidates the inheritance. Revocation is always in their hands and requires nobody's permission.
- The plugin allows setting a reminder in the system calendar.
- Declared trade-off: BAL chooses simplicity for the heir (one date, one transaction, nothing to execute) at the price of requiring renewal discipline from the owner. Timelock Recovery chooses the opposite: no looming deadline for the owner, but the heir must execute two transactions in sequence and wait out the cancellation period.
- Possible future improvement (issue for [DEV]): an alert / cancellation-window mechanism in BAL as well.
BAL's real advantage, stated precisely
Not "the others are limited to one year" — that is imprecise and easy to attack. The correct positioning rests on three points:
- Nothing required of the heirs. With Timelock Recovery someone must broadcast the Alert, wait days or months, then broadcast the Recovery — knowing what they are doing and having kept the plan. With BAL the Will-Executor network broadcasts on its own: the heir may not even know in advance.
- No consensus-forced rotation (vs Liana), and no problem of UTXOs unlocking at different times: a single date for the whole wallet.
- Distributed redundancy. The plan does not depend on a file someone must keep and find: one Will-Executor out of N still operating is enough. (The USB file remains as an extra backup.)
Technical points not to get wrong in public
- The 65,535 limit is a Bitcoin consensus limit (BIP 68) and applies only to relative
timelocks. Absolute
nLockTimehas no such cap: in practice it can set dates decades away (with 32-bit Unix timestamps the practical limit is the year 2106). - Do not say "Timelock Recovery only allows one year of inheritance" — it is false, and anyone familiar with the project would dismantle it instantly. The 388 is the maximum cancellation window.
- Do not say "Liana is limited to 388 days" without qualification: in the block variant it is 65,535 blocks (~455 theoretical days, ~15 months); 388 days is the time variant.
- Remember that transactions with a future
nLockTimeare not accepted by the mempool until the date is reached — this is why someone (the Will-Executors) must broadcast them at the right moment. - Balance note: any very long timelock carries a theoretical risk tied to the future evolution of the Bitcoin network — a further argument for periodic renewal.
Editorial rules carried over from the source drafts
- Never use, in any public version: "investment", "return", "yield", "pension", "passive income", or any projection of future sat or fee prices.
- Always keep the risk disclaimer when publishing Will-Executor recruitment material.
- Correct formula for Electrum: "listed in Electrum's third-party plugin directory" — never "approved by Electrum".
Open actions
- Have the devs validate the technical FAQ answers (what a Will-Executor can actually see, CPFP) and above all the reply to the BIP 128 critique — the most exposed point of BAL's design.
- Evaluate as a [DEV] issue a possible alert / cancellation mechanism in BAL.
- Turn the Will-Executor recruitment article into a blog post (the remaining
[to complete]fields need dev input: current fee range, minimum system requirements).