ElementsProject / ElementsProject/elements

signmessage

Aperta
#1,319 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
C++
Stelle
1.2k
Fork
416
Merge medio
1g 23h
PR unite (30g)
15

Descrizione

There are a few issues/open points with Elements/Liquid `signmessage` and `verifymessage`

* Elements Core uses the [same prefix as Bitcoin](https://github.com/ElementsProject/elements/blob/master/src/util/message.cpp#L22)
* During verification the blinding key is ignored
* Verification only works for `p2pkh`, see https://github.com/ElementsProject/elements/issues/976

Are we ok with all of the above? or do we we want to change something?

Do we still want to support message signing in Core?

Do we want to extend message signing and verification to non-p2pkh? Do we want to do it outside Core?

---

FWIW, here is a summary of what some existing wallets implement

| | | | Core | GDK | Electrum |
| - | - | - | - | - | - |
| **signmessage** | _bitcoin_ | p2pkh | ✅ | ✅ | ✅ |
| **signmessage** | _bitcoin_ | p2sh-p2wpkh | ❌ | ✅ | ✅ |
| **signmessage** | _bitcoin_ | p2wpkh | ❌ | ✅ | ✅ |
|||||||
| **verifymessage** | _bitcoin_ | p2pkh | ✅ | ❌ | ✅ |
| **verifymessage** | _bitcoin_ | p2sh-p2wpkh | ❌ | ❌ | ✅ |
| **verifymessage** | _bitcoin_ | p2wpkh | ❌ | ❌ | ✅ |
|||||||
| **signmessage** | _liquid_ | p2pkh | ✅ | ❌ | ❌ |
| **signmessage** | _liquid_ | p2sh-p2wpkh | ❌ | ❌ | ❌ |
| **signmessage** | _liquid_ | p2wpkh | ❌ | ❌ | ❌ |
|||||||
| **verifymessage** | _liquid_ | p2pkh | ✅ | ❌ | ❌ |
| **verifymessage** | _liquid_ | p2sh-p2wpkh | ❌ | ❌ | ❌ |
| **verifymessage** | _liquid_ | p2wpkh | ❌ | ❌ | ❌ |

Electrum was included in the above table since it was used as a reference to add support for non-p2pkh signing to GDK.

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia con src/util/message.cpp e gli entry point signmessage/verifymessage, quindi confronta il loro comportamento con i casi Elements/Liquid e il riepilogo del wallet nell’issue. Il lavoro è completato quando si sarà raggiunta una decisione del progetto sul prefisso del messaggio, sulla gestione delle blinding keys, sul supporto a non-p2pkh e sulla permanenza della firma dei messaggi in Core.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
cpp
Ambito
blockchain
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.