Skip to main content

Questions tagged [message-signing]

Functionality for proving a message was sent by the holder of a particular private key. The standard Bitcoin client provides this features since version 0.6.0

Filter by
Sorted by
Tagged with
26 votes
1 answer
16k views

Why the signature is always 65 (1+32+32) bytes long?

A signature created by the Bitcoin-Qt client can always be decoded (base64) to a 65-byte array. This array seems (according to https://github.com/bitcoin/bitcoin/blob/master/src/key.cpp#L217) to ...
Ning's user avatar
  • 2,791
18 votes
2 answers
10k views

What are the safety guidelines for using the Sign Message feature?

bitcoin-qt's dialog box states, "Be careful not to sign anything vague, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree ...
osmosis's user avatar
  • 5,549
16 votes
1 answer
21k views

How does "Sign Message" work?

How does "Sign Message" option in the Bitcoin QT client work? I can't find any description or documentation of it. Do I have to use this option to sign some message when I receive bitcoins? If so, ...
Janman's user avatar
  • 263
15 votes
1 answer
6k views

What are the advantages of Schnorr vs ECDSA?

I understand that Schnorr signatures provide an improvement on ECDSA in that they are a fixed 64 bytes instead of the longer ECDSA sig format, however, I don't see how this is an advantage over ECDSA ...
Lev Knoblock's user avatar
10 votes
3 answers
51k views

online tool to play around with ECDSA public keys, message signature verification?

I realize that this question may be borderline bannable because it's asking for suggestions on tools, but it will really help newbies. This online tool allowed me to play around with hashes and to ...
thanks_in_advance's user avatar
10 votes
1 answer
317 views

OP_CHECKSIG: reasoning behind construction of message to be signed

I've closely studied the deservedly famous OP_CHECKSIG explanation found here, including the diagram found here. That explanation details how to construct the message that is signed via ECDSA, ...
Pressed250's user avatar
8 votes
1 answer
438 views

Legal status of Blockchain proof-of-existence TX (USA court)

Is there any real USA court cases with Bitcoin's Blockchain used as an proof-of-existence/timestamp service (without BTC transfer)? Can Bitcoin's Blockchain be used as a 'signing' utility same as ...
Anthony Akentiev's user avatar
7 votes
1 answer
2k views

How is Public Key extracted from (message, digital signature, address)

I'm under the impression that a public key is revealed when you sign a message. Given these 3 inputs. P2PKH Address, Digital Signature, Message. Is the public key exposed? If so, how do you extract ...
Michael Tidwell's user avatar
7 votes
2 answers
12k views

How do signatures work?

Just curious, if I send a transaction from one address to another, how do they verify it without knowing my private key?
Connor's user avatar
  • 71
7 votes
3 answers
2k views

Pseudocode to verify a signed message

Can someone explain or point to some documents with pseudo code that would show me how to verify bitcoin address based on a signature and message. I know how to do this in clients I want to know how ...
user1562's user avatar
7 votes
1 answer
2k views

how do you sign and verify a message that you own a bitcoin address using javascript?

Is there a bitcoin library or even just pure javascript way of signing and verifying you own a btc address?
Patoshi パトシ's user avatar
7 votes
2 answers
4k views

How can I verify a signed message?

I can send a signed message using the standard client, but if I see a signed message in, say, a forum, how can I verify it? I understand this hasn't yet been implemented in the GUI for the standard ...
Highly Irregular's user avatar
7 votes
2 answers
6k views

How to sign a message using Bitcoin private key?

How does one create a proper signature for a given message using Bitcoin private keys? I have an input address of 5JeWZ1z6sRcLTJXdQEDdB986E6XfLAkj9CgNE4EHzr5GmjrVFpf or ...
ThePiachu's user avatar
  • 43.1k
6 votes
3 answers
2k views

How to determine first byte (recovery ID) for signatures (message signing)?

I do realize that in bitcoin when we return the signature result for signing a message the first byte includes information for recovering the public key required for verification using a formula like ...
Coding Enthusiast's user avatar
6 votes
2 answers
6k views

How does the signature verification feature in bitcoin-qt work without a public key?

bitcoin-qt has a "signature verification" feature where you can verify a signed message. All it needs is the bitcoin address of the signer, the message and a short signature. From what I understand ...
RentFree's user avatar
  • 2,549
5 votes
1 answer
513 views

Best simple linux cmd tool for offline transaction creation and signing?

I tried to use sx, but it no longer works since bip62 (malleability fix). Nodes don't accept generated transactions, saying "high S signature". What offline command-line tool would be the best?
user37851's user avatar
4 votes
1 answer
873 views

How to tell which part of the previous tx I need to make the hash to sign for an old given tx?

I have recently been taught (here) how to create the hash to sign for a given "input script" for an existing transaction. I then sought to test my abilities and sought out a difficult ...
Mine's user avatar
  • 1,406
4 votes
2 answers
313 views

Why does blockwide signature aggregation prevent adaptor signatures?

In a recent video about half signatures, Jonas Nick mentions that blockwide signature aggregation interferes with adaptor signatures and offering atomic swaps (I guess via PTLCs). I am confused about ...
Rene Pickhardt's user avatar
4 votes
2 answers
2k views

Where is the public key corresponding to my address stored?

Some simplified explanations of Bitcoin say, that the Bitcoin address is the public key, and anybody can easily verify that a signed transaction is valid since it was signed with corresponding private ...
Martin Vegter's user avatar
4 votes
1 answer
245 views

Why is full blockwide signature aggregation of schnorr signatures non-interactive?

I can only think of the MuSig paper describing how Rouge attacks are prevented by also committing to the public key of all signers. But as far as I understand the case of multisig is not the same as ...
Rene Pickhardt's user avatar
4 votes
1 answer
190 views

What is the "value" in a Segwit sig hash?

The BIP143 docs state that the value is: "value of the output spent by this input (8-byte little endian)" If I have a single UTXO of value 10,000 sats and I'm using this as an input for a ...
Kyle's user avatar
  • 166
4 votes
1 answer
204 views

How can I prove control of HD wallet through message signing?

If I sign a message with one of the address from an HD wallet, does that prove control over the rest of the addresses created and will be created inside that HD wallet?
Emre K.'s user avatar
  • 3,188
4 votes
1 answer
705 views

How can I verify someone controls the private key behind a segwit address?

With a legacy P2PKH address, signmessage and verifymessage can be used to verify that the other party actually controls the bitcoin address in question. However, P2SH, P2WPKH and P2WSH addresses throw ...
toddmo's user avatar
  • 774
4 votes
1 answer
589 views

How to calculate signature generation, signature verification, transaction verification speed?

I read this post on Bitcoin Scalability. As far as I understand sequence of steps in Bitcoin, simplified version of performing transaction should be following: On Sender's side: Create transaction ...
Nur's user avatar
  • 521
3 votes
1 answer
148 views

Is there still a digital signature loophole in Bitcoin transactions?

I want to ask a question: Does the problem of repeating the value r still persist today in Bitcoin transactions? If so, how can I find transactions that contain this thing? I have research on how to ...
hisham yem's user avatar
3 votes
2 answers
2k views

Difference between Sign Message and Sign Transaction

Using "Sign Message" one can prove ownership of an address. This happens by signing a human-readable string using the private key belonging to the address. The owner then provides the address, message ...
remv's user avatar
  • 31
3 votes
2 answers
2k views

How are Bitcoin Signed Messages generated?

Ledger Nano S and other pieces of Bitcoin software and hardware can sign messages using the private key associated with an address. Doing this, I get the following output: -----BEGIN BITCOIN SIGNED ...
Thorkil Værge's user avatar
3 votes
1 answer
376 views

Do all private keys that are resolved to the same address give access to the bitcoins on this address?

The algorithm to get the public key and the address from a private key consists of a few steps. Which of the intermediate keys is used to sign transactions with? Ultimately, there can exist two ...
Steven Roose's user avatar
  • 11.9k
3 votes
1 answer
485 views

Electrum: display redeem script of a P2SH utxo

I use Electrum with a multisig wallet. I would like to figure out how to prove ownership of a "coin". I understand that I need to share the whole redeem script so that it's hash can be ...
PiRK's user avatar
  • 141
3 votes
1 answer
453 views

I'm trying to create a new kind of escrow with bitcoin, not sure if it's possible

First off, I understand that the standard way to do escrow with bitcoin is a P2SH with a 2 of 3 multisig redeem script. I'd like to try and do escrow in the following way: names of 3 parties involved:...
Adam Langsner's user avatar
2 votes
2 answers
709 views

Is It Possible to Prove Ownership of Public Key Hash without Public Key?

I am building a system where I would like the user to specify a public key hash of a wallet that they have control over in the event of tips, refunds, and/or otherwise needing to send value back to ...
Mike-E's user avatar
  • 123
2 votes
2 answers
200 views

For what purposes do we need "Sign message"?

I got a simple but straight question: Why do we need "Sign message". Also give explanations and examples.
tor's user avatar
  • 229
2 votes
1 answer
1k views

With Legacy bitcoin addresses deprecated, will Bitcoin Core no longer be able to sign messages from an address?

Bitcoin Core can only sign messages from legacy bitcoin addresses, in my experience. With legacy addresses being deprecated in the software, does this mean that Bitcoin Core will no longer be able to ...
FractalEncrypt's user avatar
2 votes
2 answers
124 views

why do we need to hash before we use a private key to digitally sign a transaction? isn't just using a private key enough?

why is a hash needed for digital signatures? isn't it redundant since the point of hashing is to ensure contents are not tampered with , which the digital signature can do as well (on top of ensuring ...
DCH's user avatar
  • 77
2 votes
2 answers
187 views

Is it possible to do a digital charge on delivery (COD)?

I'm exploring having a bitcoin (or any blockchain) backed a distributed secure messaging system. This is a peer to peer network that would pay for transport. In essence, it's the wild west, your key ...
reconbot's user avatar
  • 121
2 votes
1 answer
233 views

how difficult is it to generating an ECDSA (or Schnorr) signature with a certain number of leading zeros?

If both the public key and the private key are known ahead of time (public knowledge), and the goal is to choose a message/nonce that generates a signature with, for example, a certain number of ...
philbw4's user avatar
  • 424
2 votes
1 answer
2k views

How can I sign a message with a multi signature address?

I want to use message signing to prove control of a multi signature Bitcoin address. Is it possible? In theory it must be. In practice, are there any Bitcoin wallets that allow this? Specifically, how ...
Emre K.'s user avatar
  • 3,188
2 votes
1 answer
234 views

Does a transaction have multiple signatures

In the question "Is there a way to prove ownership of a transaction?" the statement was made "A (regular) transaction must be signed with the private keys of the addresses of all the inputs". Does ...
Keith Wolters's user avatar
2 votes
1 answer
462 views

How to verify signed bitcoin messages on my own website?

On my website, I want to be able to verify that messages are signed by a certain bitcoin address, similar to how it's done here. From my research it seems I have to use JSON RPC with some sort of ...
Andreas's user avatar
  • 21
2 votes
1 answer
405 views

How can I use message signing to prove that I have private keys for many different accounts?

I want to prove the total sum of BTC I have access to. Therefore I think if I use message signing to assert "owned by makerofthings7" in each address, then anyone can compute the total coins in my ...
makerofthings7's user avatar
2 votes
0 answers
274 views

How does OP_CHECKSIG work for Taproot script path spending?

I've been studying all the ways Taproot transactions can be spent and I can get all of them to work except for when script path spending is used and the script is executed. Transaction 0c045625... is ...
Zephyrus's user avatar
  • 782
2 votes
0 answers
72 views

Why is adding s values in half aggregation insecure?

Jonas Nick an Tim Ruffing discussed in a presentation that summing up the s values in signature half aggregation would be insecure (without giving the reason) They presented a secure solution which ...
Rene Pickhardt's user avatar
2 votes
0 answers
57 views

Proving sendership of transactions

Why does Bitcoin Core, on the message verification tab, say that verifying messages signed by Bitcoin addresses "only proves the signing party receives with the address, it cannot prove sendership of ...
Geremia's user avatar
  • 4,704
2 votes
0 answers
64 views

How can one prove the ownership of an address? [duplicate]

Is there a way to prove the ownership of an address without spending bitcoins? I Imagine something like signing some given data with the private key - how much would that weaken the security of the ...
ligi's user avatar
  • 143
1 vote
2 answers
692 views

How does a hardware wallet interact with the bitcoin network?

I tried to understand the principle how the hardware wallet sends transactions to another Bitcoin address since it is not connected via full node to the blockchain. I found this answer: How do ...
Bevor's user avatar
  • 205
1 vote
2 answers
567 views

Using BitcoinJS - How do you verify a message using a segwit bech32 (bc1…) / P2SH (3…) addresses?

I created a signature from a message using my private key. But how do I verify this signed message using my segwit addresses of 3... or bc1...? How do I verify this using the BitcoinJS library?
Patoshi パトシ's user avatar
1 vote
1 answer
97 views

Why are miners allowed to change a tx id?

BIP 62 proposed to make transaction malleability impossible. Why was this retracted and why are miners allowed to change a transaction id? Also, what does it mean when someone says signatures ...
lolololol ol's user avatar
1 vote
1 answer
766 views

message signing: is it safe to publish the address, message and hash

I want to use message signing in another application to prove a particular wallet owner did in fact make the transaction. This as I understand it is what message signing/verification is for. I just ...
Scalextrix's user avatar
1 vote
1 answer
175 views

SIGHASH_SINGLE with no corresponding output

Transaction 99fc1e5c753459808bac56435b3d45f2fcf0dd73016ea14460d63e9ddf353714 is an interesting example. This transaction has 5 inputs and 1 output. All of the input scripts include 1 public key and 1 ...
Zephyrus's user avatar
  • 782
1 vote
1 answer
357 views

Why the signature of the same message changes in some wallets, but not all?

Using the "message signing" feature in the Bitcoin and Dash it's static with the same message. Signing the same message with the same private key will result always in the same signature. This ...
Inkeliz's user avatar
  • 139