From ebe2ac3ce64b1e115d8a3f6a6dfa680c4f14dc83 Mon Sep 17 00:00:00 2001 From: Jean Do <117163651+jdlcdl@users.noreply.github.com> Date: Wed, 1 Jan 2025 15:03:59 -0400 Subject: [PATCH 1/3] Update mint-005.md Changes reflect my understanding of the rest of this document's statements, tables, miniscript policy and output descriptor. --- mint-005.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mint-005.md b/mint-005.md index 9882d5e..9ddaa6d 100644 --- a/mint-005.md +++ b/mint-005.md @@ -6,11 +6,11 @@ To provide a custody arrangement in which an owner of bitcoin (Principal) is able to secure bitcoin by working with an Agent. Unlike existing collaborative custody models up to this point, **where bitcoin keys WITHIN a multisig threshold are shared between Principals and agents**, a joint custody model by default requires a threshold of keys by both the Agent & Principal for movement of funds. -This introduces a concept of "Negative Control" where, by default, funds are not able to be moved unless both the Principal and Agent sign the transaction. +This introduces a concept of "Negative Control" where, by default, funds are not able to be moved unless both the Principal and Primary Agent sign the transaction. -In the event the Principal loses access to all of their keys, a secondary agent is available to work with the Primary Agent such that funds can be recovered after a set period of time. +In the unlikely event the Principal has lost 2 of their 3 keys, a timelock enabled threshold allows only 1 of 3 keys from the Principal to be signed with the Primary Agent. -In the unlikely event the Primary Agent has lost 2 of their 3 keys, a timelock enabled threshold allows only 1 of 3 keys from the Primary Agent to be signed with the secondary agent. +In the event the Principal loses access to all of their keys, a secondary agent is available to work with the Primary Agent such that funds can be recovered after a set period of time. Finally, in the event the Principal no longer wishes to work with the agent, say after a contract expires, the custody defers to a set of recovery keys, which can be held either by the Principal, or their own delegated managers of the recovery keys. As a result, when enough time has passed, the Principal is able to move bitcoin unilaterally without having the Agent sign key material. @@ -231,4 +231,4 @@ Transaction](https://mempool.space/signet/tx/bc75e9c7bd62168134a6283a56c2a0bf3c8 Signed by: $RK_1$, $RK_2$ [Reference Testnet -Transaction](https://mempool.space/signet/tx/1d35568360a3a11309c77c893142a0c0cf58ed9cfce981c5492c66fb795f1872) \ No newline at end of file +Transaction](https://mempool.space/signet/tx/1d35568360a3a11309c77c893142a0c0cf58ed9cfce981c5492c66fb795f1872) From 397a983b436d275dac9452f2bc2ada1a8c13af79 Mon Sep 17 00:00:00 2001 From: Jean Do Date: Tue, 7 Jan 2025 18:24:05 -0400 Subject: [PATCH 2/3] commented out sample txs. Todo: find replacements --- mint-005.md | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/mint-005.md b/mint-005.md index 9ddaa6d..e16667a 100644 --- a/mint-005.md +++ b/mint-005.md @@ -214,21 +214,34 @@ For this example, the `smallest_epoch_timestamp` is: 1672531200 (Jan 1 2023, mid Signed by: $PK_1$, $PK_2$, $PAK_1$, $PAK_2$ -[Reference Testnet + From 86367c6ded57c0f231736cb03b435d83fa4b24cf Mon Sep 17 00:00:00 2001 From: Jean Do Date: Thu, 9 Jan 2025 12:27:42 -0400 Subject: [PATCH 3/3] commented Source Policy: until "sln:" vs "snl:" understood --- mint-005.md | 50 ++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 46 insertions(+), 4 deletions(-) diff --git a/mint-005.md b/mint-005.md index e16667a..d819543 100644 --- a/mint-005.md +++ b/mint-005.md @@ -207,8 +207,50 @@ For this example, the `smallest_epoch_timestamp` is: 1672531200 (Jan 1 2023, mid - MINT-005 Output Descriptor: wsh(andor(multi(2,$PAK_1$,$PAK_2$,$PAK_3$),or_i(and_v(v:pkh($SAK$),after(`between_epoch_timestamp`)),thresh(2,pk($PK_1$),s:pk($PK_2$),s:pk($PK_3$),snl:after(`smallest_epoch_timestamp`))),and_v(v:thresh(2,pkh($RK_1$),a:pkh($RK_2$),a:pkh($RK_3$)),after(`larget_epoch_timestamp`)))) + ## Layer 1 Example Spend @@ -217,13 +259,13 @@ Signed by: $PK_1$, $PK_2$, $PAK_1$, $PAK_2$