An encrypted hash that is generated to verify the validity of a transaction; it verifies that whoever created the transaction actually owns and is able to spend the relevant coins.

learn more… | top users | synonyms

5
votes
1answer
61 views

Can you always derive a public Bitcoin address from a message and a random signature?

Let's say my Bitcoin address is 1Nu5mzpUD9A7daZ76QJEsBfkBjCWVLh7pJ and I sign the message random-challenge with its private key. The result is : ...
2
votes
1answer
112 views

Are public keys included in signatures?

I can't easily and quickly determine from these wiki pages, 1 and 2, if the public key is included in the signed message. Are public keys included in the signed message, or are they transmitted ...
2
votes
1answer
50 views

Verification of transaction once trasaction is broadcasted

I have few doubts regarding verification of transaction and am trying to find answers from last few days. I agree similar post exist in this portal but I am not getting satisfactory answer for my ...
0
votes
1answer
23 views

Can I sign and redeem many outputs at the same time? (shrink the size of a tx Input)

I'm looking at this transaction that is redeeming many historical outputs from the same address. When I look at the blockchain, it seems pretty clear there is redundancy here of the public key being ...
1
vote
0answers
28 views

Bitcoin Qt message signature construction

I'm trying to construct the message verification signature of bitcoin qt in python. I'm able to compute the couple (r,s) of the signature, but, even I'm not able to find the correct way to encode it ...
0
votes
2answers
52 views

Are Bitcoin signatures currency specific?

I am wondering whether signatures for Bitcoin-like currencies are currency specific, or given one program that can sign a Bitcoin raw/JSON transaction one can create valid signatures for other coins ...
1
vote
2answers
322 views

SignRawTransaction - What is scriptPubKey and redeemScript? [SOLVED]

Let me talk about how I got to the situation I'm in right now. I am using PHP and the JSON library to control bitcoind. And doing so..... I created a multisignature address requiring 2 of 3 ...
5
votes
3answers
140 views

Tx Malleability: Why is the Script not included in the Signed Hash?

Sipa lists sources of tx malleability here: https://gist.github.com/sipa/8907691 It is clear to me how a change in the signature itself or the signature formating leads to a different tx hash (1. ...
2
votes
1answer
64 views

Is there a signature format, or cryptography has *only one* possible S value?

EDIT: This question is not specific to Bitcoin. It's applicable to any other crypto currency that is interested in using a different signature scheme than Bitcoin or the QT reference client. One ...
6
votes
1answer
141 views

What's the rationale of using ECDSA instead of RSA?

One major drawback of (EC)DSA is that it requires a good RNG, otherwise the private key may be accidentally exposed. This is also one of the major reasons (I found so far) why no(?) smartcard supports ...
5
votes
1answer
84 views

Isn't bribe smearing possible because no payee signature is required?

The Bitcoin protocol does not require the payee to sign for a payment; only the payer signs (the payer signs a hash of the payee and payer's public keys). In other words, a payee signature is not ...
3
votes
0answers
86 views

How to sign non-standard transaction

Consider Testnet transaction 7a438...de03e which has vout[0].scriptPubKey = OP_DUP OP_DROP OP_DUP OP_HASH160 039.....6fe OP_EQUALVERIFY OP_CHECKSIG The script is equivalent to a standard ...
2
votes
2answers
83 views

Can an attacker steal a very recent tx and alter it, broadcasting a new tx with his address on the output?

I'm reading the technical FAQs on the wiki, and what I don't see is, if I create a transaction with signed prev_outs and new outputs, do I also sign the ENTIRE new tx before broadcasting? I don't see ...
3
votes
3answers
72 views

How are “message signatures” verified without having access to the public key?

In the bitcoin-qt client you can sign and verify messages using only the public address. Since the public address is a RIPEMD160 hash how is it possible that I can verify a signature since I do not ...
2
votes
1answer
359 views

parsing bitcoin input and output addresses from scripts

can someone walk me through the process of combining script inputs and outputs to reveal the base58 encoded input and output addresses. take for example, block 728. this has two raw script inputs: ...
3
votes
2answers
127 views

Exhaustive technical explanation of signing & verification

I apologize for such a noobish question and am ashamed that I'm not getting this yet, but I can't seem to put together all of the pieces. I've read every question I can find on the subject, the ...
3
votes
3answers
210 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?
3
votes
1answer
268 views

How to verify the signature of a raw transaction

I know there are many tools to check an ecdsa signature of a bitcoin transaction and I understand the ecdsa algorithm. It takes three inputs, a hash of the transaction, the digital signature and the ...
4
votes
1answer
323 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 ...
0
votes
0answers
26 views

Is there a standard way to display a message and signature from `signmessage`?

In the current version of BitcoinQT, calling signmessage returns just a signature of a message input. However, other message signing protocols have established standards for displaying both the ...
3
votes
1answer
99 views

Why use DER encoding for signatures?

A signature in secp256k1 is two 32 byte numbers. DER encoding a signature adds about 6-7 bytes. It also needlessly complicates things (is DER encoding used anywhere else?). In a transaction format ...
3
votes
1answer
579 views

Step by Step - how does sending 1 bitcoin work?

I've been reading about how BitCoin works for a few weeks now - and I'm trying to understand under-the-hood how the cryptography works. So i'll explain what I know at the moment - and if someone ...
5
votes
2answers
870 views

Is there a user-friendly tool for creating and signing raw transactions?

The title stands for itself. The only tool for doing so I know of is the bitcoind daemon, but it is for from user-friendly. A web-tool in JS would be ideal or a simple CLI tool with clear ...
1
vote
1answer
113 views

Would a transition to a different signature scheme be feasible?

The recent problem with Android's SecureRandom PRNG once again shows that using (EC)DSA can go horribly wrong if the signature nonce is ever reused. There is an elliptic curve signature scheme that ...
6
votes
1answer
158 views

Where does the random number come in to play when signing a transaction?

Just given all the news about this topic lately (Android security flaw), I'm curious about WHERE and WHY the random number is used during the signing of a transaction. I always thought a transaction ...
3
votes
1answer
354 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 ...
0
votes
0answers
55 views

Signing message via jsonRPCClient: problem with umlauts

I'm signing a message on a bitcoind-server via PHP and jsonRPCClient: $signature = $bitcoin->signmessage($address, $message); This works well for messages containing only standard characters. ...
3
votes
2answers
809 views

How to sign a transaction hash in ruby?

I'm trying to sign (using secp256k1) a transaction as explained here. I'm using my own private key and an unsigned transaction as the input. I'm able to sign it using the JSON-RPC client, but when I ...
6
votes
1answer
189 views

What standard is used for the ECDSA to verify transactions?

Bitcoin used Elliptic Curve Digital Signature Algorithm. (see here). I'm wondering what standard is actually used for this Algorithm: which curve? which prime? Can anybody give me a reference? (Wiki ...
1
vote
1answer
528 views

How can I verify the the PGP signature of bitaddress.org?

bitaddress.org appears to have a versioning system and a PGP signature to confirm the source code hasn't been hacked. If I save the source code for the page (so I can run it on an offline computer), ...
3
votes
1answer
234 views

If addresses are hashes of public keys, how are signatures verified?

I've skimmed through the https://en.bitcoin.it/wiki/Protocol_specification and it seems that when sending someone bitcoins, I would sign the transaction data (not quite sure which parts exactly) with ...
1
vote
1answer
175 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 ...
4
votes
2answers
212 views

How much time it takes to verify a Bitcoin signature in the Satoshi client?

Assuming: An average modern computer Using a single thread, as the current Satoshi client does Using the OpenSSL library, as the Satoshi Bitcoin client does The signature is not in the signature ...
6
votes
1answer
891 views

Signing Bitcoin transactions

There is a part of the Bitcoin protocol that I don't quite understand. When you make a transaction, and spend the output of a previous transaction for say 1 BTC, you provide a signature using the ...
4
votes
1answer
311 views

ECDSA transaction signing on a smartcard?

I know that the underlying digitial signing method Bitcoin uses for transactions is ECDSA (sep256k1 if memory serves). I've also read a few papers about performing ECDSA signing on certain kinds of ...
5
votes
1answer
99 views

Why Do Compact Signatures Need To Start With a Byte 27-35?

There's a hard-coded 27 value in Bitcoin's encoding of Compact Signatures that I don't understand: https://github.com/bitcoin/bitcoin/blob/v0.7.1/src/key.cpp#L333 I get that the need to encode the ...
8
votes
1answer
7k 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, ...
3
votes
0answers
107 views

For SIGHASH_SINGLE do the outputs other than at the input index, have 8 bytes or 9 bytes including a VarInt?

The bitcoin wiki says: All other txCopy outputs aside from the output that is the same as the current input index are set to a blank script and a value of (long) -1. ...
2
votes
1answer
265 views

Linking a transaction to a Bitcoin user

Has anyone tried and perhaps succeeded at linking a transaction to a possibly controversial site (such as Wikileaks) to a Bitcoin forum user by their forum signatures? I know a lot of people disclose ...
4
votes
1answer
97 views

How does Bitcoin decide which Alert messages to forward?

The Bitcoin protocol lists an Alert message that in the Standard Client is displayed to all users. How does the Standard Client decide which messages to forward and display, and which to ignore? Does ...
3
votes
1answer
475 views

Transaction signature generation

When one sets up a transaction, the input of the transaction needs to have a script with a signature to show that you can spend those coins. Which fields of the previous and current transactions need ...
5
votes
1answer
282 views

How did these 3 tx make it into a block in the main chain?

http://blockexplorer.com/block/000000000000051b42fd09195c75da7a084df7593f47ad18139cdc9cd83a112e The last three tx have a inputs with script_sig "1". This is invalid right? According to protocol ...
3
votes
1answer
774 views

ECDSA r, s encoding as a signature

An ECDSA algorithm when signing a given messages produces a pair of outputs, r and s. How, given a sigStr from a Tx can one extract r and s? Are they just concatenated byte arrays of a specific ...