Author

Topic: Who need free bitcoins? (Read 3875 times)

legendary
Activity: 2940
Merit: 1333
March 19, 2012, 07:31:43 PM
#20
P2Pool computes payouts using a PPLNS scheme, which entails counting the last share only partially, which requires a special case. The special case was broken - The fault was using Python's dict(script=...) syntax instead of {script: ...}. See http://pastebin.com/0RfRWZ21

Every p2pool block since 12th Feb 2012 has had this problem, with the exception of http://blockexplorer.com/b/169625, on 4th Mar 2012.  Somehow that one's OK.  That's 133 bad blocks and one good block.

What was different about that one block?
legendary
Activity: 2940
Merit: 1333
March 19, 2012, 04:05:53 PM
#19
Those 0.002 bitcoins cannot be redeemed, because there is no input that will make that script valid (because there are no OP_ENDIF opcodes in there to match the OP_IFDUP/OP_IF opcodes).

OP_IFDUP doesn't need a matching OP_ENDIF opcode, but OP_IF does.

The end of EvalScript() checks that all OP_IF and OP_NOTIF operations have been closed by an OP_ENDIF, else returns false.
legendary
Activity: 2940
Merit: 1333
March 19, 2012, 03:05:10 PM
#18
I should make a bot watching&grabbing these free coins.  Roll Eyes

1) They're not grabbable
2) In total they're only worth 0.38174231 BTC
hero member
Activity: 516
Merit: 643
March 09, 2012, 04:21:16 PM
#17
So who were those coins supposed to go to?

It's the first share of the sharechain that was supposed to be paid out, which is supposed to be partially counted. It's incorrectly directed to a nonsense address, and so it takes from whoever had the last share in the payout window... translating to everyone in a small way, in the long run.
hero member
Activity: 742
Merit: 500
March 09, 2012, 12:54:40 PM
#16
This is a bug in P2Pool. I had been assuming that this was someone mining to that script just for fun, since previous versions of the P2Pool protocol gave you the freedom to choose your payout script. Since then, the rules have tightened, and this should have been impossible.

P2Pool computes payouts using a PPLNS scheme, which entails counting the last share only partially, which requires a special case. The special case was broken - The fault was using Python's dict(script=...) syntax instead of {script: ...}. See http://pastebin.com/0RfRWZ21

Fixing this will break compatibility with current versions of P2Pool, so it will take some time.

Thanks for pointing this out.
So who were those coins supposed to go to?
hero member
Activity: 714
Merit: 500
March 09, 2012, 04:07:19 AM
#15
I should make a bot watching&grabbing these free coins.  Roll Eyes
hero member
Activity: 516
Merit: 643
March 09, 2012, 03:15:21 AM
#14
This is a bug in P2Pool. I had been assuming that this was someone mining to that script just for fun, since previous versions of the P2Pool protocol gave you the freedom to choose your payout script. Since then, the rules have tightened, and this should have been impossible.

P2Pool computes payouts using a PPLNS scheme, which entails counting the last share only partially, which requires a special case. The special case was broken - The fault was using Python's dict(script=...) syntax instead of {script: ...}. See http://pastebin.com/0RfRWZ21

Fixing this will break compatibility with current versions of P2Pool, so it will take some time.

Thanks for pointing this out.
hero member
Activity: 490
Merit: 500
March 03, 2012, 02:12:17 PM
#13
Yeah, output can be redeemed by conditions provided in script. I.e. protected by password only or not protected at all.
rjk
sr. member
Activity: 448
Merit: 250
1ngldh
March 03, 2012, 02:05:32 PM
#12
Those 0.002 bitcoins cannot be redeemed, because there is no input that will make that script valid (because there are no OP_ENDIF opcodes in there to match the OP_IFDUP/OP_IF opcodes).

So is it actually possible to create transactions in the blockchain that don't go anywhere, until (first come first served) someone grabs them? That would be a fun easter-egg hunt/puzzle challenge for the super-nerds.

legendary
Activity: 1652
Merit: 2311
Chief Scientist
March 03, 2012, 01:38:05 PM
#11
Those 0.002 bitcoins cannot be redeemed, because there is no input that will make that script valid (because there are no OP_ENDIF opcodes in there to match the OP_IFDUP/OP_IF opcodes).
hero member
Activity: 868
Merit: 1008
March 03, 2012, 09:03:24 AM
#10
This script actually spells "script"

Op CodeDecimalAscii Code
OP_IFDUP115s
OP_IF99c
OP_2SWAP114r
OP_VERIFY105i
OP_2OVER112p
OP_DEPTH116t

http://blockchain.info/tx/41836560e2439f440514af96ca394a38bad6f3d9d0d11dba667c886b16e504ec?show_adv=true
So I'm guessing a coding bug where the string "script" was put into the transaction instead of the contents of the variable named "script" …or perhaps it's an unfinished part of the code where they were just sticking "script" into the transaction as a placeholder.
hero member
Activity: 910
Merit: 1005
March 03, 2012, 08:56:43 AM
#9
This script actually spells "script"

Op CodeDecimalAscii Code
OP_IFDUP115s
OP_IF99c
OP_2SWAP114r
OP_VERIFY105i
OP_2OVER112p
OP_DEPTH116t

http://blockchain.info/tx/41836560e2439f440514af96ca394a38bad6f3d9d0d11dba667c886b16e504ec?show_adv=true
hero member
Activity: 868
Merit: 1008
March 03, 2012, 08:47:47 AM
#8
I looked at the script and it's not obvious to me what it might have been trying to do.  I'm guessing it's a bug of some sort in p2pool.
legendary
Activity: 1316
Merit: 1000
Varanida : Fair & Transparent Digital Ecosystem
March 03, 2012, 05:25:58 AM
#7
What this mean? Who can get the lost bitcoins?
legendary
Activity: 1358
Merit: 1002
March 03, 2012, 04:39:33 AM
#6
..
http://blockexplorer.com/tx/41836560e2439f440514af96ca394a38bad6f3d9d0d11dba667c886b16e504ec
Code:
0.00224733 [u]Unknown Strange[/u] OP_IFDUP OP_IF OP_2SWAP OP_VERIFY OP_2OVER OP_DEPTH
...

whats going on here?
They could be redeemed without any keys and signatures.

So, how does one redeem them?

Would like an answer to that also
newbie
Activity: 8
Merit: 0
March 03, 2012, 04:25:18 AM
#5
..
http://blockexplorer.com/tx/41836560e2439f440514af96ca394a38bad6f3d9d0d11dba667c886b16e504ec
Code:
0.00224733 [u]Unknown Strange[/u] OP_IFDUP OP_IF OP_2SWAP OP_VERIFY OP_2OVER OP_DEPTH
...

whats going on here?
They could be redeemed without any keys and signatures.

So, how does one redeem them?
hero member
Activity: 490
Merit: 500
March 03, 2012, 12:43:46 AM
#4
..
http://blockexplorer.com/tx/41836560e2439f440514af96ca394a38bad6f3d9d0d11dba667c886b16e504ec
Code:
0.00224733 [u]Unknown Strange[/u] OP_IFDUP OP_IF OP_2SWAP OP_VERIFY OP_2OVER OP_DEPTH
...

whats going on here?
They could be redeemed without any keys and signatures.
legendary
Activity: 1904
Merit: 1037
Trusted Bitcoiner
March 03, 2012, 12:37:19 AM
#3
..
http://blockexplorer.com/tx/41836560e2439f440514af96ca394a38bad6f3d9d0d11dba667c886b16e504ec
Code:
0.00224733 [u]Unknown Strange[/u] OP_IFDUP OP_IF OP_2SWAP OP_VERIFY OP_2OVER OP_DEPTH
...

whats going on here?
hero member
Activity: 490
Merit: 500
March 03, 2012, 12:34:36 AM
#2
Hint: This is not only one such transaction in chain.

Seems that p2pool produces them. Ammm... WHY?
hero member
Activity: 490
Merit: 500
March 03, 2012, 12:19:40 AM
#1
Just come and get some

http://blockexplorer.com/tx/41836560e2439f440514af96ca394a38bad6f3d9d0d11dba667c886b16e504ec

Code:
0.00224733 Unknown Strange OP_IFDUP OP_IF OP_2SWAP OP_VERIFY OP_2OVER OP_DEPTH

Output does not contain CHECKSIG's!

I tried to craft needed transaction input, but after several fail attempts my client has been banned eveywhere. :lol:
Jump to: