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

duplicate coinbase transactions are allowed, and there are 2 pairs of dups #612

Closed
dmgores opened this Issue Nov 7, 2011 · 6 comments

Comments

Projects
None yet
4 participants
@dmgores

dmgores commented Nov 7, 2011

take a look at:

block hashes:
0x00000000000271A2DC26E7667F8419F2E15416DC6955E5A6C6CDF3F2574DD08E
0x00000000000743F190A18C5577A3C2D2A1F610AE9601AC046A38084CCB7CD721
they have duplicate coinbase transactions:
0xE3BF3D07D4B0375638D5F1DB5255FE07BA2C4CB067CD81B84EE974B6585FB468
block height 91722, 91880, on 2010-11-14 08:37:28, 2010-11-15 00:36:19

block hashes:
0x00000000000AF0AED4792B1ACEE3D966AF36CF5DEF14935DB8DE83D6F9306F2F
0x00000000000A4D0A398161FFC163C503763B1F4360639393E0E4C8E300E0CAEC
they have duplicate coinbase transactions:
0xD5D27987D2A3DFC724E359870C6644B40E497BDC0589A033220FE15429D88599
block height 91812, 91842, on 2010-11-14 17:59:48, 2010-11-14 21:04:51

The miner was using the same signature "0x0456720E1B00" on all 4 of these coinbase transactions.
The public keys for those two pairs of duplicates were:
"0x4104124B212F5416598A92CCEC88819105179DCB2550D571842601492718273FE
0F2179A9695096BFF94CD99DCCCDEA7CD9BD943BFCA8FEA649CAC963411979A33E9AC"
and
"0x41046896ECFC449CB8560594EB7F413F199DEB9B4E5D947A142E7DC7D2DE0B811
B8E204833EA2A2FD9D4C7B153A8CA7661D0A0B7FC981DF1F42F55D64B26B3DA1E9CAC"

  • Should we allow this guy to spend his duplicate transactions? This would make code and data structures more complex for eternity... when verifying transactions we'd have to get a list of transactions for each hash, instead of just a single transaction... and mark a non-spent one as newly spent.
  • Or should we make a rules like "no more duplicate transactions when height > 91880" and "only one of a set of existing duplicate transactions are spendable coinbase"? I like this. :) Come on, we totally should have rejected those duplicate transactions!
@dmgores

This comment has been minimized.

dmgores commented Nov 7, 2011

FYI none of those transaction outputs have been spent yet.

@TheBlueMatt

This comment has been minimized.

Contributor

TheBlueMatt commented Nov 7, 2011

Its been long known that one can generate duplicate coinbase transactions. Currently, if a miner modifies their bitcoind to create duplicate coinbase transactions, they will be able to spend one of the two transactions and the remaining ones will be unspendable. I see no reason to make major rules modifications to help those who broke their own coins.

@dmgores

This comment has been minimized.

dmgores commented Nov 7, 2011

OK, thanks!

@dmgores dmgores closed this Nov 7, 2011

@TheBlueMatt

This comment has been minimized.

Contributor

TheBlueMatt commented Feb 6, 2012

Oops, yea you can MineA SpendA MineA SpendA, but not MineA MineA SpendA SpendA.

@JonasPertschy

This comment has been minimized.

JonasPertschy commented May 5, 2016

In sense of completeness: CVE-2012-1910

ptschip pushed a commit to ptschip/bitcoin that referenced this issue May 30, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment