[bitcoin-dev] MyCitadel wallet v1.3 advances time-locked multi-sigs further

Dr Olga Ukolova ukolova at mycitadel.io
Wed Apr 26 18:37:59 UTC 2023


Dear community,


MyCitadel [1] by Pandora Prime SA is a Bitcoin wallet that was first to support
account-based multi-sigs with time-locks and complex miniscript descriptors.
Today an updated version 1.3 is released, extending this support, allowing the 
same signer to participate in multiple spending conditions in SegWit v0
contexts. This enables creation of complex time-locked conditions involving 
the same signers in different spending policies (for instance having 2-of-4 
multi-sig which in 1 year becomes 1-of-2).


Details
=======

A year ago we created desktop version of MyCitadel: it was the first bitcoin 
wallet fully written in Rust (using GDK3 framework) and also the first 
with a support for both branched tapscripts and gracefully degrading 
time-locked multi-sigs (with the later working for both Taproot and SegWit v0).

Today we are happy to inform you about new release v1.3, with two main 
improvements:

* Creation of degrading time locked multi-sigs in SegWit v0 context, where 
  same device/signer can participate multiple conditions with different 
  timelocks and multisig thresholds. 

  NB: Previously, miniscript was preventing from creating SegWit policies 
  re-using the same extended key, while in Taproot it was possible [2]. 
  We have mitigated the problem by introducing account-based spending policies, 
  using different account from the same signer in different script branches.

* Support for exporting Bitcoin Core/BIP380-compatible wallet descriptors, 
  which include Taproot script tree and miniscript fragments.


More about MyCitadel
====================

MyCitadel was designed with approach that avoids touching private keys and 
seeds. Unlike many other wallets, it is based not on BDK but on an
alternative stack of rust libraries called "descriptor wallet library" [3], 
created by the LNP/BP Standards Association [4]. This library provides 
compile-time type-level guarantees avoiding usage of private keys in wallet 
descriptors, and miniscript fragments. The wallet works with hardware 
signers, and also can produce and export PSBT files, which may be signed 
elsewhere (including air gaped devices, or even command-line hot-wallet 
signers, if needed).


Accessing release
=================

If you want to check it out, play with it or leave feedback, please feel
free to go to the release GutHub discussion [5], which also links to the 
released binaries [6].


Acknowledgements
================

This release was made possible because with the help we received from 
the NYM project team, which had provided both valuable ideas and financial 
support for continued MyCitadel development.


Thank you.

Regards,
Olga Ukolova
CEO Pandora Prime SA, Switzerland
https://mycitadel.io
Twitter: @mycitadel_io

[1]: https://mycitadel.io
[2]: https://github.com/rust-bitcoin/rust-miniscript/issues/338#issuecomment-1137750428
[3]: https://github.com/BP-WG/descriptor-wallet
[4]: https://www.lnp-bp.org
[5]: https://github.com/mycitadel/mycitadel-desktop/discussions/90
[6]: https://github.com/mycitadel/mycitadel-desktop/releases/tag/v1.3.0


More information about the bitcoin-dev mailing list