Bitcoin Forum

Bitcoin => Bitcoin Discussion => Topic started by: OmegaStarScream on September 29, 2016, 08:56:27 AM



Title: Unable to decode output address
Post by: OmegaStarScream on September 29, 2016, 08:56:27 AM
I was always wondering how It is possible to burn (destroy) bitcoins , so I google and found this nice article : https://medium.com/@alcio/how-to-destroy-bitcoins-255bb6f2142e#.d2uxzkakv (In case you are interested).
So , from that thread , I ended up with this address 1BitcoinEaterAddressDontSendf59kuE (https://blockchain.info/address/1BitcoinEaterAddressDontSendf59kuE)
while checking the transactions , I've seen somewhere there is "Unable to decode output address" and "0 BTC" near them and I want to understand what does it mean ?
I searched a little bit but I found a lot of technical details that I don't really understand so I'd appreciate simplifying things.


Title: Re: Unable to decode output address
Post by: steven0021 on September 29, 2016, 09:19:08 AM
Those transactions have OP_RETURN code as output. OP_RETURN allows you to put 80byte long (IIRC) hex string in the blockchain. When blockchain.info decode the raw transaction it expects to find an address for each output scripts so when it can't find one you get that message.


Title: Re: Unable to decode output address
Post by: Coding Enthusiast on September 29, 2016, 12:09:38 PM
the hex of this transaction (https://blockchain.info/tx/83a23fcf32c5f4d65d707890c52a7807bdae0d7573b2348d6df25773ba4a4a87) looks like this:
Code:
01000000
02
====Inputs====
94f81d179223e038fbf1e76c09d8608331600bcf7a1c663815f7a46e9aabebd8
00000000
6b
483045022100d029210b20d53ec9a0da976d33eb3d0146628486269bd8c10cdb3143ea6a51d602200d5dc939e007da966a81e298dce8e4c9968805c8e222c31514c03da3ce582dcd0121025ecf9ca0513c44de19ddeab85ed18ebd0fb10f6c0ab084cbba4bcb62a09ee78c
ffffffff
9d54f354fcaada936937ced57cbcb1a47784a48a0874cd975e6f933fe125af6f
00000000
6b
483045022100f3d01afb691b22098f15aacd408f212475a248cb5b228689e24bb78e70fea4e9022074f0d3b8d6138b673aa2a07cbc24721f87320e31ec2ce0cadb1d00f3c2007cfd0121025ecf9ca0513c44de19ddeab85ed18ebd0fb10f6c0ab084cbba4bcb62a09ee78c
ffffffff
03
====Outputs====
b80b000000000000
19
(1) 76a914759d6677091e973b9e9d99f19c68fbf43e3f05f988ac
0000000000000000
09
(2) 6a0743430215002014
b80b000000000000
19
(3) 76a9143d7bc1cd8ff921d6bddbd6c7107d78c7f406446688ac
00000000

(====input output and numbers in parenthesis was added ====)
(1) is 1BitcoinEat.... hash
(2) is the part BC.I can not decode
OP_RETURN : 0x6a

(3) is the other address output 16c6U....


Title: Re: Unable to decode output address
Post by: Carlton Banks on September 29, 2016, 12:28:20 PM
OP_RETURN allows you to put 80byte long (IIRC) hex string in the blockchain.

That got cut down to 40 bytes, I believe


Title: Re: Unable to decode output address
Post by: DannyHamilton on September 29, 2016, 12:43:13 PM
That got cut down to 40 bytes, I believe

No.

It got increased from 40 bytes to 80 bytes in Bitcoin Core 0.11.0 (back in July 2015) and has been 80 bytes ever since.


Title: Re: Unable to decode output address
Post by: Coding Enthusiast on September 29, 2016, 12:45:57 PM
OP_RETURN allows you to put 80byte long (IIRC) hex string in the blockchain.

That got cut down to 40 bytes, I believe

it is still 80 bytes (https://github.com/bitcoin/bitcoin/blob/master/src/script/standard.h#L30) as it is also said in the Wiki (https://en.bitcoin.it/wiki/OP_RETURN)


Well, I remember the 2nd layer alt-coin camp complaining about it getting cut to 40 bytes, but I guess that didn't happen in the end. Accept my apologies.

Or was it cut to 40, then increased back to 80 again in Bitcoin 0.11, maybe?

THE HISTORY (https://github.com/bitcoin/bitcoin/commits/master/src/script/standard.h)

i suppose yes in 2014 (https://github.com/bitcoin/bitcoin/commit/a9306587a42eac7fb889b9c8d03140980fdf1398)


Title: Re: Unable to decode output address
Post by: Carlton Banks on September 29, 2016, 12:50:47 PM
Well, I remember the 2nd layer alt-coin camp complaining about it getting cut to 40 bytes, but I guess that didn't happen in the end. Accept my apologies.

Or was it cut to 40, then increased back to 80 again in Bitcoin 0.11, maybe?