Contents
- The “Bitcoin Puzzle”
- Description at privatekeys.pw web site
- Equations
- Easy methods to know public key of any puzzle?
1. The Bitcoin Puzzle
This part is my authentic reply. I added additional sections (numbered beneath) as a result of later questions on this topic piqued my curiosity on this once more
I perceive that there’s an (virtually impossibly troublesome) equation to unravel, to win prize 135.
This isn’t a puzzle within the sense that many individuals would possibly count on. The creator didn’t set a particular or completely different equation for every of the 256 prizes.
The way in which I perceive it’s as follows:
On fifteenth January 2015 somebody created a transaction with 256 outputs. Every output paid to a traditional P2PKH locking script based mostly on a public key derived from one in all 256 personal keys.
Every of these personal keys was randomly chosen from a smaller vary than regular, the dimensions of the vary steadily elevated for every output.
As readers know, to spend a kind of outputs, it is advisable know the personal key. If for instance you knew that the personal key was within the vary 0-100 you possibly can merely strive every of these numbers one by one till you discovered the one which might be used to spend the output. If the bottom line is from a bigger vary, it might take longer to seek out.
In some instances there could also be mathematical strategies that may be utilized however the creator of the transaction needn’t have identified about these mathematical strategies. Anyone may have created such a transaction with none data of arithmetic or of mathematical puzzles.
This is the related components of the transaction in query
blocks> blockchain -f blk00218.dat -b 321 -t 57
Magic ......... 0xd9b4bef9
BlockSize ..... 0x00064c6d = 412781
Header:
Model ..... 0x00000002 = 2
Prev Blk Hash 0x0a6213185c0aab50a8bf2fc7b9c003eaf7b6c79c5fa83a010000000000000000
0x0000000000000000013aa85f9cc7b6f7ea03c0b9c72fbfa850ab0a5c1813620a
Merkle Root . 0x92f36a00f4e7f8ef3b46e7353ffa0fc1420a89e6b0bd2f93cf91eab0a03cf8d3
TimeStamp ... 0x54b801d2 = 2015-01-15 18:07:14 +0000 GMT
DifficultyTgt 0x1819012f
Nonce ....... 0x456a1bd4
Transactions .. 1024
Transaction Particulars in Hex (Decimal/Symbolic):
Model:................01000000 (1)
Inputs:.................01 (1)
Enter 1
Earlier Transaction:.9B11B90A212C27C982013BAFE1D4A0730E01357245F0D074051A988E4BBA1662
Earlier Output Index:0004 (4)
Script Size:........6B (107) -
Unlocking Script hex:.483045022100F5C26EEE36E47B5AC824254398E1B82E2BAAF53C645366BDD0B3
59E2CD01C010022067D6E273E289285360D49961152D599581446BBDA5286E91
2073AC5F27EF266E0121024B0FAA9624763002E963816B2F6774DF0DEDD77089
6A9511CB5C9D90F674ECDA
asm:.<72 bytes> <33 bytes>
Sequence:.............FFFFFFFF
Outputs:................FD0001 (256)
Output 1
Worth:................A086010000000000 (100000)
Script Size:........19 (25) P2PKH
Locking Script hex:...76A914751E76E8199196D454941C45D1B3A323F1433BD688AC
asm:...DUP HASH160 <20 bytes> EQUALVERIFY CHECKSIG
…
Output 129
Worth:................A0D6C40000000000 (12900000)
Script Size:........19 (25) P2PKH
Locking Script hex:...76A914BA4C2748360A6B66263E11D1DC8658463CA5FF1888AC
asm:...DUP HASH160 <20 bytes> EQUALVERIFY CHECKSIG
Output 130
Worth:................405DC60000000000 (13000000)
Script Size:........19 (25) P2PKH
Locking Script hex:...76A914A24922852051A9002EBF4C864A55ACB75BB4CF7588AC
asm:...DUP HASH160 <20 bytes> EQUALVERIFY CHECKSIG
Output 131
Worth:................E0E3C70000000000 (13100000)
Script Size:........19 (25) P2PKH
Locking Script hex:...76A91441B4B36A6C036568972380177ECA2916CACD71DE88AC
asm:...DUP HASH160 <20 bytes> EQUALVERIFY CHECKSIG
…
Output 135
Worth:................60FECD0000000000 (13500000)
Script Size:........19 (25) P2PKH
Locking Script hex:...76A9143B6F58A75A54BFD85D1BC6C51180FDC73299232688AC
asm:...DUP HASH160 <20 bytes> EQUALVERIFY CHECKSIG
Output 136
Worth:................0085CF0000000000 (13600000)
Script Size:........19 (25) P2PKH
Locking Script hex:...76A91405257BE4B57EE43FC09762D5D3A9AD4A6E1A036488AC
asm:...DUP HASH160 <20 bytes> EQUALVERIFY CHECKSIG
Output 137
Worth:................A00BD10000000000 (13700000)
Script Size:........19 (25) P2PKH
Locking Script hex:...76A9143482F8986E13C018692053A784481C63A3554C9C88AC
asm:...DUP HASH160 <20 bytes> EQUALVERIFY CHECKSIG
…
Output 256
Worth:................00A0860100000000 (25600000)
Script Size:........19 (25) P2PKH
Locking Script hex:...76A9149D77F8BCFD56B6A095703AAE85BBE003A9CFF5EB88AC
asm:...DUP HASH160 <20 bytes> EQUALVERIFY CHECKSIG
LockTime:...............00000000 (0)
(Calculated hash is 08389f34c98c606322740c0be6a7125d9860bb8d5cb182c02f98461e5fa6cd15)
blocks>
There may be nothing bizarre or particular about these locking scripts.
2. Description at privatekeys.pw web site
The web site linked within the query presently supplies description of the “Bitcoin puzzle”:
In 2015, in an effort to present the hugeness of the personal key house (or possibly only for enjoyable), somebody created a “puzzle” the place he selected keys in a sure smaller house and despatched rising quantities to every of these keys like this:
20 ≤ random key < 21 — 0.001 BTC
21 ≤ random key < 22 — 0.002 BTC
23 ≤ random key < 23 — 0.003 BTC
…
2255 ≤ random key < 2256 — 0.256 BTC
(complete 32.896 BTC)Authentic puzzle description from the creator:
“A couple of phrases concerning the puzzle. There is no such thing as a sample. It’s simply consecutive keys from a deterministic pockets (masked with main 000…0001 to set problem). It’s merely a crude measuring instrument, of the cracking power of the group.”
saatoshi_rising on BitcoinTalk
The unique query above continues
I’m confused by the numbers on this web site. Are they encodings of numbers, somewhat than numbers in hex?
The numbers on that web site seem like one thing like
Quantity (or different merchandise listed) | Possible which means |
---|---|
130 | Index of output in Transaction. Puzzle quantity |
2 0000000 00000000 00000000 00000000 | decrease sure of personal key |
: | (divider) |
3 ffffffff ffffffff ffffffff ffffffff | higher sure of personal key |
00000000 00000000 00000000 00000003 3e766570 5359f04f 28b88cf8 97c603c9 | could be the found personal key the place identified? |
C | sort of deal with (compressed) |
1F o65aKq8s 8iquMt6w eF1rku1m oWVEd5Ua | deal with that contributed cash? |
0 | present stability of that deal with (0 means all moved to handle of “winner” by “winner”) |
13.00010712 | sum of money that has handed into that deal with |
9 | ? |
SOLVED | standing solved or unsolved (gained or accessible) |
The above is simply guesswork based mostly on a fast look. Do not depend on this. Do your personal checking.
3. Equations
OP requested
- What’s the equation which was solved for #130? (Constants in unencoded-hex and/or decimal, please.)
There is no such thing as a equation to be solved. Though folks typically discuss Bitcoin miners fixing puzzles or maths college students fixing quadratic equations, nothing of the kind is occurring in Bitcoin or on this “puzzle”.
- What was its resolution, as personal key in unencoded-hex or decimal notation?
Realizing this in all probability will not be useful until the deterministic pockets utilized by the creator of this “puzzle” failed to make use of an honest random quantity generator correctly. I do not know of wherever all of the found personal keys have been revealed (until possibly my guesswork above is appropriate?). I am unable to consider an apparent incentive for any “winner” to publish the personal keys they discovered.
- What’s the equation which must be solved for #135? (Assume the identical as #130, with completely different constants.)
There is not one. Or, for poetic interpretations, the identical “equation” with personal key bounds 2n-1 to 2n-1?.
4. Easy methods to know public key of any puzzle?
In a query requested on 2025-09-25 somebody requested “Easy methods to know public key of any puzzle?”
The apparent and easiest method is one thing like
- Sequentially generate every doable personal key within the specified vary
- Generate the corresponding public key utilizing ECDSA arithmetic
- Hash the general public key
- See if that hash matches the one specified within the output script
- if not, strive subsequent personal key
- if matching, make personal association instantly with reliable miner
to stop any dishonest relaying node from stealing prize as has occurred a number of instances.
This pays you the reward however is not what I’d name “fixing an equation”.