Hi Lloyd,
thanks for taking a look.

> I think your view of the uselessness of single signer adaptors is too 
> pessimistic. The claim you make is that they "don't provide a way to create 
> enforcement that the publication of signature on a pre-defined message will 
> reveal a secret'' and so are useless. I think this is wrong. If I hold a 
> secret key for X and create a signature adaptor with some encryption key Y 
> with message m and do not create any further signatures (adaptor or 
> otherwise) on m, then any signature on m that is published necessarily 
> reveals the secret on Y to me. This is very useful and has already been used 
> for years by DLCs in production.

I'm struggling with this one - say I hold privkey x for pubkey X. And I publish 
adaptor for a point Y (DL y) for message m, like: s' = k - y + H(R|X|m)x with k 
the nonce and R the nonce point.

And to get the basics clear first, if I publish s = k + H(R|X|m)x then of 
course the secret y is revealed.

What do you mean in saying "any signature on m that is published reveals y"? 
Clearly you don't mean any signature on any key (i.e. not the key X). But I 
also can't parse it if you mean "any signature on m using key X", because if I 
go ahead and publish s = k_2 + H(R_2|X|m)x, it has no algebraic relationship to 
the adaptor s' as defined above, right?

I think the point of confusion is maybe about the DLC construct? I referenced 
that in Section 4.2, parenthetically, because it's analogous in one sense - in 
MuSig(2) you're fixing R via a negotiation, whereas in Dryja's construct you're 
fixing R "by definition". When I was talking about single key Schnorr, I was 
saying that's what's missing, and thereby making them useless.

I think I must have missed some implicit concept in your argument otherwise?

> I haven't read the proofs in detail but I am optimistic about your approach

Appreciate it, but I fear the optimism is misplaced; as you can see from some 
notes I made in Issue 1, I think I had a pretty substantially invalid line of 
reasoning in those proof. Probably I need to revert to the forking lemma style 
arguments that you and Aumayr et al (and some others) took. I also am 
revisiting a clearer definition of what security threats need to be addressed. 
It all seems very nuanced.

But hey, that's why I published it and asked for feedback - if nothing else it 
made *me* think more carefully :)

> One thing I was considering while reading is that you could make a general 
> proof against all secure Schnorr signing scheme in the ROM by simply 
> extending the ROM forwarding approach from Aumayer et al to all "tweak" 
> operations on the elements that go into the Schnorr challenge hash i.e. the 
> public key and the nonce. After all whether it's MuSig2, MuSig, FROST they 
> all must call some RO. I think we can prove that if we apply any bijective 
> map to the (X,R) tuple before they go into the challenge hash function then 
> any Schnorr-like scheme that was secure before will be secure when bip32/TR 
> tweaking (i.e. tweaking X) and adaptor tweaking (tweaking R) is applied to 
> it. This would be cool because then we could prove all these variants secure 
> for all schemes past and present in one go. I haven't got a concrete approach 
> but the proofs I've looked at all seem to share this structure.
Appreciate these thoughts. In particular your point about "generalization of 
tweaking" is clearly important, I bet other people have thought about it before 
me. Btw are there any papers on tweaking in general? I'm suddenly reminded of 
Poelstra's paper on taproot itself, which istr was an entirely different 
approach.

Sent with [Proton Mail](https://proton.me/) secure email.

------- Original Message -------
On Sunday, April 30th, 2023 at 22:23, Lloyd Fournier via bitcoin-dev 
<bitcoin-dev@lists.linuxfoundation.org> wrote:

> Hi waxwing,
>
> I think your view of the uselessness of single signer adaptors is too 
> pessimistic. The claim you make is that they "don't provide a way to create 
> enforcement that the publication of signature on a pre-defined message will 
> reveal a secret'' and so are useless. I think this is wrong. If I hold a 
> secret key for X and create a signature adaptor with some encryption key Y 
> with message m and do not create any further signatures (adaptor or 
> otherwise) on m, then any signature on m that is published necessarily 
> reveals the secret on Y to me. This is very useful and has already been used 
> for years by DLCs in production.
>
> I haven't read the proofs in detail but I am optimistic about your approach. 
> One thing I was considering while reading is that you could make a general 
> proof against all secure Schnorr signing scheme in the ROM by simply 
> extending the ROM forwarding approach from Aumayer et al to all "tweak" 
> operations on the elements that go into the Schnorr challenge hash i.e. the 
> public key and the nonce. After all whether it's MuSig2, MuSig, FROST they 
> all must call some RO. I think we can prove that if we apply any bijective 
> map to the (X,R) tuple before they go into the challenge hash function then 
> any Schnorr-like scheme that was secure before will be secure when bip32/TR 
> tweaking (i.e. tweaking X) and adaptor tweaking (tweaking R) is applied to 
> it. This would be cool because then we could prove all these variants secure 
> for all schemes past and present in one go. I haven't got a concrete approach 
> but the proofs I've looked at all seem to share this structure.
>
> Cheers,
>
> LL
>
> On Sun, 30 Apr 2023 at 00:20, AdamISZ via bitcoin-dev 
> <bitcoin-dev@lists.linuxfoundation.org> wrote:
>
>> Hi list,
>> I was motivated to look more carefully at the question of the security of 
>> using signature adaptors after recently getting quite enthused about the 
>> idea of using adaptors across N signing sessions to do a kind of multiparty 
>> swap. But of course security analysis is also much more important for the 
>> base case of 2 party swapping, which is of .. some considerable practical 
>> importance :)
>>
>> There is work (referenced in Section 3 here) that's pretty substantial on 
>> "how secure are adaptors" (think in terms of security reductions) already 
>> from I guess the 2019-2021 period. But I wanted to get into scenarios of 
>> multiple adaptors at once or multiple signing sessions at once with the 
>> *same* adaptor (as mentioned above, probably this is the most important 
>> scenario).
>>
>> To be clear this is the work of an amateur and is currently unreviewed - 
>> hence (a) me posting it here and (b) putting the paper on github so people 
>> can easily add specific corrections or comments if they like:
>>
>> https://github.com/AdamISZ/AdaptorSecurityDoc/blob/main/adaptorsecurity.pdf
>>
>> I'll note that I did the analysis only around MuSig, not MuSig2.
>>
>> The penultimate ("third case"), that as mentioned, of "multiple signing 
>> sessions, same adaptor" proved to be the most interesting: in trying to 
>> reduce this to ECDLP I found an issue around sequencing. It may just be 
>> irrelevant but I'd be curious to hear what others think about that.
>>
>> If nothing else, I'd be very interested to hear what experts in the field 
>> have to say about security reductions for this primitive in the case of 
>> multiple concurrent signing sessions (which of course has been analyzed very 
>> carefully already for base MuSig(2)).
>>
>> Cheers,
>> AdamISZ/waxwing
>>
>> Sent with Proton Mail secure email.
>> _______________________________________________
>> bitcoin-dev mailing list
>> bitcoin-dev@lists.linuxfoundation.org
>> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
_______________________________________________
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev

Reply via email to