Bitcoin Forum
May 08, 2024, 05:21:02 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: [Proposal] Why don't we sign receivers' addresses also?  (Read 901 times)
katatunix (OP)
Newbie
*
Offline Offline

Activity: 16
Merit: 0


View Profile WWW
April 26, 2015, 05:55:32 PM
 #1

Hello,

Let's consider following scenario:

  • Alice (a honest girl) is buying a product from the merchant Apple.
  • Alice create a new transaction TxA to send her bitcoins to Apple.
  • Bob (a bad guy) receives TxA and modifies the receiver's address to create TxB.
  • Assume that the TxB will be confirmed, not TxA. So Bob (not Apple) will receive Alice's bitcoins.
  • Apple will not send the product to Alice because the TxA has not been confirmed.
  • Alice is the only victim in this scenario.

As far as I know, to create TxA, Alice must sign her bitcoins which is identified by the output index in the former transaction. So why doesn't Alice sign the receiver's address (Apple) also when creating TxA? This will make Bob cannot modifies the receiver's address and thus can prevent the scenario above.
It is a common myth that Bitcoin is ruled by a majority of miners. This is not true. Bitcoin miners "vote" on the ordering of transactions, but that's all they do. They can't vote to change the network rules.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715145662
Hero Member
*
Offline Offline

Posts: 1715145662

View Profile Personal Message (Offline)

Ignore
1715145662
Reply with quote  #2

1715145662
Report to moderator
1715145662
Hero Member
*
Offline Offline

Posts: 1715145662

View Profile Personal Message (Offline)

Ignore
1715145662
Reply with quote  #2

1715145662
Report to moderator
1715145662
Hero Member
*
Offline Offline

Posts: 1715145662

View Profile Personal Message (Offline)

Ignore
1715145662
Reply with quote  #2

1715145662
Report to moderator
shorena
Copper Member
Legendary
*
Offline Offline

Activity: 1498
Merit: 1520


No I dont escrow anymore.


View Profile WWW
April 26, 2015, 06:06:47 PM
 #2

Changing the receiving address(es) will render the signature(s) invalid.

Im not really here, its just your imagination.
katatunix (OP)
Newbie
*
Offline Offline

Activity: 16
Merit: 0


View Profile WWW
April 26, 2015, 06:25:00 PM
 #3

Changing the receiving address(es) will render the signature(s) invalid.

Thanks for your reply Smiley

Could you please explain in more detail? If the signature was not produced from the receiving address, how can changing the receiving address render the signature invalid?

Note that the receiving address here is Apple.
shorena
Copper Member
Legendary
*
Offline Offline

Activity: 1498
Merit: 1520


No I dont escrow anymore.


View Profile WWW
April 26, 2015, 08:02:36 PM
 #4

Changing the receiving address(es) will render the signature(s) invalid.

Thanks for your reply Smiley

Could you please explain in more detail? If the signature was not produced from the receiving address, how can changing the receiving address render the signature invalid?

Note that the receiving address here is Apple.

Sorry Im a bit tired atm, but you sign more than just the inputs. I hope this helps -> http://bitcoin.stackexchange.com/questions/3374/how-to-redeem-a-basic-tx

Im not really here, its just your imagination.
DannyHamilton
Legendary
*
Offline Offline

Activity: 3388
Merit: 4653



View Profile
April 26, 2015, 09:33:40 PM
Last edit: April 28, 2015, 11:39:26 AM by DannyHamilton
 #5

Why don't we sign receivers' addresses also?

We do.  Why do you think that we don't?

Let's consider following scenario:

  • Alice (a honest girl) is buying a product from the merchant Apple.
  • Alice create a new transaction TxA to send her bitcoins to Apple.
  • Bob (a bad guy) receives TxA and modifies the receiver's address to create TxB.

Not possible.  When Alice created the transaction, the signature covered her inputs AND all the outputs.  If Bob changes the outputs then the transaction is no longer valid because the signature no longer matches the signed content.

As far as I know, to create TxA, Alice must sign her bitcoins which is identified by the output index in the former transaction.

This is not correct.  In each input, Alice supplies a signature of all the relevant parts of the transaction (inputs and outputs). The signature must be created with the private key that is associated with the address that the output being spent was sent to.

So why doesn't Alice sign the receiver's address (Apple) also when creating TxA?

She does.

This will make Bob cannot modifies the receiver's address and thus can prevent the scenario above.

Correct.

Exactly how did you think Bitcoin lasted 7 years and grew to its significant amount of usage without this basic protection?

Perhaps you should try reading the original bitcoin whitepaper?

https://bitcoin.org/bitcoin.pdf
katatunix (OP)
Newbie
*
Offline Offline

Activity: 16
Merit: 0


View Profile WWW
April 27, 2015, 04:28:47 AM
 #6

Thanks all. It's clear now.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!