--- Log opened Sun May 29 00:00:37 2022 01:05 < kanishk779[m]> I don't understand this point about malleability mentioned [here](https://bitcoin.sipa.be/miniscript/) :- 01:05 < kanishk779[m]> `The honest users pick a solution that contains a satisfaction which can be turned into a dissatisfaction without invalidating the overall witness. Those are called overcomplete solutions.` 01:05 < kanishk779[m]> This is the last paragraph of `Malleability` section. 01:05 < kanishk779[m]> can someone give an example for this. 05:02 <@sipa> What do you not understand about it? 05:30 <@sipa> Ah, I didn't read further. 05:32 <@sipa> An example of an overcomplete solution is say a thresh(2,A,B,C) which is not being satisfied, but contains a satisfaction for one of the subexpression. 05:32 <@sipa> A third party could turn that satisfaction into a dissatisfaction without invalidating the solution. 05:36 <@sipa> Another example is e.g. an `or_b` that is satisfied by having both branches satisfied. A third party can turn one of them into a dissatisfaction without invalidating the solution. 05:53 < kanishk779[m]> "Another example is e.g. an `or_b..." <- Or_b is satisfied when at least one of the sub-expression is satisfied right? 05:54 <@sipa> Right, at least one. 05:54 <@sipa> But it's not illegal to satisfy both. 05:56 < kanishk779[m]> Also when you say solution what exactly does it mean? solution == satisfaction of the whole fragment ? 05:56 <@sipa> i'm using the term loosely 05:57 <@sipa> by solution i just mean part of the actually valid witness, for a given fragment 05:57 <@sipa> which may mean a satisfaction or dissatisfaction 05:58 <@sipa> e.g. if the top-level miniscript is or_b(pk(A),pk(B)), then a solution would include e.g. a satisfaction for pk(A) and a dissatisfaction for pk(B) 05:58 < kanishk779[m]> Ok got it now !! --- Log closed Mon May 30 00:00:38 2022