Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement message signing for Taproot #1943

Open
andrewkozlik opened this issue Nov 25, 2021 · 5 comments
Open

Implement message signing for Taproot #1943

andrewkozlik opened this issue Nov 25, 2021 · 5 comments
Assignees
Labels
bitcoin Bitcoin related R&D Research and development team related
Milestone

Comments

@andrewkozlik
Copy link
Contributor

First we need to decide how to deal with Taproot addresses in SignMessage and VerifyMessage, what to hash and whether to tweak the keys. Bitcoin Core supports message signing only for legacy addresses. Other wallets either don't support Taproot at all or they don't implement message signing for Taproot addresses. We will wait with the implementation in Trezor until there is some consensus in the community about the way this should work.

Some resources mention using BIP-322, but the specification still isn't finished and the last time we used BIP-322 for ownership proofs in SLIP-19, the whole BIP-322 specification got rewritten.
https://bitcoinops.org/en/topics/generic-signmessage/
https://bitcoinops.org/en/newsletters/2021/09/29/#preparing-for-taproot-15-signmessage-protocol-still-needed

This is also related to AOPP: https://github.com/trezor/trezor-firmware/issues/1586.

@andrewkozlik andrewkozlik added bitcoin Bitcoin related LOW R&D Research and development team related labels Nov 25, 2021
@andrewkozlik andrewkozlik self-assigned this Nov 25, 2021
@andrewkozlik andrewkozlik added this to TODO in Taproot 🥕 Nov 25, 2021
@andrewkozlik andrewkozlik mentioned this issue Nov 25, 2021
4 tasks
@hynek-jina hynek-jina added this to the Taproot 🥕 milestone Dec 7, 2021
@hynek-jina hynek-jina added this to 📥 Inbox in Backlog 🗂 via automation Feb 10, 2022
@hynek-jina hynek-jina moved this from 📥 Inbox to 🔬 R&D in Backlog 🗂 Feb 11, 2022
@melroy89

This comment was marked as outdated.

@hynek-jina hynek-jina removed the LOW label May 6, 2022
@mmilata
Copy link
Member

mmilata commented Dec 5, 2022

There seems to be active effort getting BIP-322 support into Bitcoin Core: bitcoin/bitcoin#24058.

@AlexanderPavlenko
Copy link

Will implementing this also add support for Nostr events sign/verify? Seems like a nice to have feature.
NIP-01: "Signatures, public key, and encodings are done according to the Schnorr signatures standard for the
curve secp256k1
".

# test mnemonic from NIP-06: leader monkey parrot ring guide accident before fence cannon height naive bean
trezorctl device recover
trezorctl set safety-checks prompt
trezorctl btc sign-message -t taproot -n "m/44'/1237'/0'/0/0" '[0,"17162c921dc4d2518f9a101db33695df1afb56ab82f5ff3e5da6eec3ca5cd917",1703260028,1,[],"hello world"]'

Expected result close to "sig": "9c3ba7ca1b4942f784c014b28779c4a904c902c75104fc0ae72485d0dfac27ce95e1178cc33eb86d4d86ec354004a77e965553dfafb01f47733a6b31d79cc56c", got Error: ProcessError: Unsupported script type instead.

@psychoet
Copy link

psychoet commented Jun 3, 2024

No more update on this?

@Hannsek
Copy link
Contributor

Hannsek commented Jun 3, 2024

Not yet…

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bitcoin Bitcoin related R&D Research and development team related
Projects
Status: No status
Development

No branches or pull requests

7 participants