Bitcoin Forum
December 13, 2024, 07:29:25 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Output in coinbase transaction  (Read 366 times)
hushan (OP)
Member
**
Offline Offline

Activity: 61
Merit: 15


View Profile
April 24, 2018, 12:16:37 AM
 #1

It appears that the output in a coinbase transaction are of the same structure as other transactions - both value and output script can be set.
I know it is of one's best interest to set output equal to current block reward plus all transaction fees, and it certainly can't be more. But can it be less? For example, current block reward is 12.5, and say all transaction fee sums to 0.5, can coinbase output just be 12.5? Or even 10? Is this valid situation and will get confirmed?
If the answer is yes, then what really happens here? Do some coins just disappeared forever? Does the total bitcoin money supply decreases also?

BTC: 38ykUxZeSv5aqav1keCc4KUxXLPPGkfrm5 LTC: MPpWNvqDCVB1PHJt4A28j9oFfc6Y1KKDno ETH: 0x07C8c68d5253247038947EF9495b054160c8737c
Xynerise
Sr. Member
****
Offline Offline

Activity: 322
Merit: 363

39twH4PSYgDSzU7sLnRoDfthR6gWYrrPoD


View Profile
April 24, 2018, 12:28:27 AM
Merited by ABCbits (2), Foxpup (1)
 #2

The rule states that it can't be MORE than the current block subsidy, but it can certainly be less.
For example this Coinbase transaction has an output of 0, while this one is 0.01BTC less than the block reward
In cases like this the bitcoins are lost forever.
Thirdspace
Hero Member
*****
Offline Offline

Activity: 1232
Merit: 738


Mixing reinvented for your privacy | chipmixer.com


View Profile
April 24, 2018, 02:24:02 AM
 #3

The rule states that it can't be MORE than the current block subsidy, but it can certainly be less.
For example this Coinbase transaction has an output of 0, while this one is 0.01BTC less than the block reward
In cases like this the bitcoins are lost forever.
what a waste!! a full block reward of 12.5 BTC evaporate into thin air Cry
are they doing it intentionally? or was it caused by accidental faulty script running on their nodes?

nc50lc
Legendary
*
Offline Offline

Activity: 2632
Merit: 6511


Self-proclaimed Genius


View Profile
April 24, 2018, 03:18:45 AM
Last edit: April 24, 2018, 06:31:34 AM by nc50lc
 #4

For example this Coinbase transaction has an output of 0
This one looks like the miner's mistake, he might have entered an invalid bitcoin address in his mining console or configuration.

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
butka
Full Member
***
Offline Offline

Activity: 434
Merit: 246


View Profile
April 24, 2018, 06:26:18 AM
 #5

The rule states that it can't be MORE than the current block subsidy, but it can certainly be less.
It can also be EXACTLY 12.5 BTC in case an empty block is mined.
Xynerise
Sr. Member
****
Offline Offline

Activity: 322
Merit: 363

39twH4PSYgDSzU7sLnRoDfthR6gWYrrPoD


View Profile
April 24, 2018, 06:47:43 AM
Merited by DooMAD (2)
 #6

what a waste!! a full block reward of 12.5 BTC evaporate into thin air Cry
are they doing it intentionally? or was it caused by accidental faulty script running on their nodes?
This one looks like the miner's mistake, he might have entered an invalid bitcoin address in his mining console or configuration.
Who knows.
The Output script of the transaction is
Code:
52534b424c4f434b3addbf517adf8ffd4bca7751505b39c9013a0d1fd479fc4e901b39dd57b347c624
which, when converted to ASCII gives
Code:
RSKBLOCK:Ý¿QzßýKÊwQP[9É:
ÔyüN9ÝW³GÆ$
so it may have something to do with the Rsk.co sidechain
hushan (OP)
Member
**
Offline Offline

Activity: 61
Merit: 15


View Profile
April 24, 2018, 10:31:17 AM
 #7

For example this Coinbase transaction has an output of 0

The output script is
Quote
Null script or error decoding
52534b424c4f434b3addbf517adf8ffd4bca7751505b39c9013a0d1fd479fc4e901b39dd57b347c 624

It's an invalid script why is this not rejected in the first place?

BTC: 38ykUxZeSv5aqav1keCc4KUxXLPPGkfrm5 LTC: MPpWNvqDCVB1PHJt4A28j9oFfc6Y1KKDno ETH: 0x07C8c68d5253247038947EF9495b054160c8737c
ranochigo
Legendary
*
Offline Offline

Activity: 3052
Merit: 4443


Crypto Swap Exchange


View Profile
April 24, 2018, 11:55:31 AM
Last edit: April 24, 2018, 12:56:54 PM by ranochigo
 #8

It's an invalid script why is this not rejected in the first place?
As far as I know, Bitcoin's reference nodes does not specifically check for invalid scripts for the output and the checking of address is mainly up to the wallet/software that created it. The reference nodes just checks the validty (eg. The amount of coins in the output is lower or equals to total value of output.).

The main problem is that the software wasn't tested by whoever did it and it went live on the network.

*Though as pointed out, it is nonstandard.

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
Anti-Cen
Member
**
Offline Offline

Activity: 210
Merit: 26

High fees = low BTC price


View Profile
April 24, 2018, 12:00:10 PM
 #9

Wow it's so complicated using all these inputs and outputs to see whats going on and I wonder how in the
past we ever managed to move money from one account to another without it all.

You don't think that something is fundamentally wrong with a design when it has to get this complicated do you  Cheesy


Mining is CPU-wars and Intel, AMD like it nearly as much as big oil likes miners wasting electricity. Is this what mankind has come too.
ranochigo
Legendary
*
Offline Offline

Activity: 3052
Merit: 4443


Crypto Swap Exchange


View Profile
April 24, 2018, 12:08:15 PM
 #10

Wow it's so complicated using all these inputs and outputs to see whats going on and I wonder how in the
past we ever managed to move money from one account to another without it all.

You don't think that something is fundamentally wrong with a design when it has to get this complicated do you  Cheesy
The design is pretty thoughtful IMO. It seems to be pretty complicated to implement a system which doesn't seperate Bitcoins into individual parts and UTXOs while still maintaining the difficulty of executing a double spend attack. Using the traditional accounting system to keep tab on every single address would be even more complicated.

Does an average joe need to understand how every single detail work? Probably not.

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
Xynerise
Sr. Member
****
Offline Offline

Activity: 322
Merit: 363

39twH4PSYgDSzU7sLnRoDfthR6gWYrrPoD


View Profile
April 24, 2018, 12:38:16 PM
Last edit: April 24, 2018, 12:58:04 PM by Xynerise
 #11


It's an invalid script why is this not rejected in the first place?
It's not invalid, but nonstandard (even though it may not have been deliberate)
(The script itself is invalid, but the transaction as a whole is valid because it obeys bitcoin protocol rules.
It's possible to have an invalid script but a valid transaction eg this one, and a valid script but an invalid transaction eg one whose input has been included in the blockchain)
Invalid means that it tries to break bitcoin protocol rules in some way (eg double spending, if the script stack returns false, creating more outputs than inputs --1 BTC input creating 5BTC output for example , etc)
As long as it doesn't conflict with transaction protocol rules then it's "valid"

Nonstandard transactions are the ones that don't follow the script templates of the reference software eg P2PKH, P2SH, etc.
Nonstandard transactions can be included in a block (as long as they follow the rules), but invalid transactions cannot be included in a block.
For example, this transaction spending 0.02BTC is nonstandard, but not invalid, even though it's outputs can't be redeemed.
r1s2g3
Sr. Member
****
Offline Offline

Activity: 742
Merit: 395


I am alive but in hibernation.


View Profile
April 30, 2018, 03:37:20 PM
 #12

For example, this transaction spending 0.02BTC is nonstandard, but not invalid, even though it's outputs can't be redeemed.

Did block reward of 50 BTC in this transaction is got distributed to multiple addresses ? I used to think that one miner (or one address) will get all the rewards.

I am alive
DannyHamilton
Legendary
*
Offline Offline

Activity: 3514
Merit: 4894



View Profile
April 30, 2018, 03:49:33 PM
Last edit: April 30, 2018, 07:10:17 PM by DannyHamilton
 #13

I used to think that one miner (or one address) will get all the rewards.

The miner (or mining pool) that creates the block gets to choose how to create the outputs in the block reward transaction.

Typically they will just assign the entire reward to a single address, however they are not required to do so and can break it up into multiple outputs if they want to.
Xynerise
Sr. Member
****
Offline Offline

Activity: 322
Merit: 363

39twH4PSYgDSzU7sLnRoDfthR6gWYrrPoD


View Profile
April 30, 2018, 07:01:26 PM
Merited by DannyHamilton (5)
 #14


For example, this transaction spending 0.02BTC is nonstandard, but not invalid, even though it's outputs can't be redeemed.
transaction is NOT a block reward transaction.
Huh
That's actually the Coinbase transaction of Block 169398
The snafu was caused by a bug in F2Pool's software
DannyHamilton
Legendary
*
Offline Offline

Activity: 3514
Merit: 4894



View Profile
April 30, 2018, 07:10:57 PM
 #15

That's actually the Coinbase transaction of Block 169398
The snafu was caused by a bug in F2Pool's software

You are correct.

I didn't look close enough at the transaction. I've fixed my post, and awarded you merit for catching my mistake (thank you).


Did block reward of 50 BTC in this transaction is got distributed to multiple addresses?

Some of it did.  The rest of it was not distributed at all.  It remained unclaimed and therefore no longer exists.

amaclin1
Sr. Member
****
Offline Offline

Activity: 966
Merit: 383


View Profile
May 02, 2018, 03:23:49 PM
 #16


It's an invalid script why is this not rejected in the first place?
It's not invalid, but nonstandard (even though it may not have been deliberate)

Coinbase transaction [output script] can not be invalid or non-standard.
(Let me forget about segwit commitment data)
Because there is no definition for "standardness" of coinbase transaction itself and its outpoints.
No client checks for coinbase transaction outputs (we've forgotten about segwit, have we?)
Either coinbase transaction is valid, or you can not see this block in blockchain because it does not exist.
achow101
Moderator
Legendary
*
expert
Offline Offline

Activity: 3570
Merit: 6927


Just writing some code


View Profile WWW
May 03, 2018, 03:04:26 AM
 #17

No client checks for coinbase transaction outputs (we've forgotten about segwit, have we?)
Output values are checked to make sure that no more than the correct value is created. The output scripts are not checked.

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!