What prevents Dash miners from refusing to pay to masternodes? I struggle to understand the repationship between Dash miners and masternodes. The proposition is that masternodes provide additional services to the network and automatically get paid a part (45%) of the block reward. What I don't understand is how this share is enforced.

From the Dash whitepaper:


  When mining on the network, pool software (websites that merge the
  efforts of individual miners) use the RPC API interface to get
  information about how to make a block. To pay the Masternodes, this
  interface must be extended by adding a secondary payee to
  GetBlockTemplate. Pools then propagate their successfully mined
  blocks, with a split payment between themselves and a Masternode.


What prevents miners from simply ignoring the masternodes and assigning 100% of block reward to themselves?

Edit: from Dash documentation:

If a miner tried to take the entire block reward for themselves or tried to run an old version of the Dash software, the masternode network would orphan that block, and it would not be added to the blockchain.

But the question remains: what does it mean for a masternode to orphan a block?
I believe the block reward is split at the time of the block generation and this means that in order for the block to be valid it must send 45% to a masternode.  As all masternodes are aware of each other on the network (need to be online 24/7 for over a week) and their receiving address (need 1000 Dash in an address at the node online) so they can each verify if the correct distribution has been made and thus is a valid block.  Further info on Masternodes

If the miners try to take 100% of the reward the masternodes would not accept this as a verified block and thus would not allow the chain to be broardcast through them to other nodes.

This is the same way as how Devcoin works where % goes to the miners and % goes to the devtome distribution for work done.  The miners in devcoin have no say over the distribution of the shares only that it is part of the block that they can mine and read the distribution from a receiver file uploaded each month for the next round of blocks distribution.

As devcoin's model was tried and tested as was one of the earlier coins I think dash works along the same lines from looking at the code and blockchain.

https://explorer.dash.org/tx/b8f8024bb84340a0473faffa1f7d41e8b182f763ae5e876f0448d8799cb5d919 is the transaction for the generation of 911503 block 

Here the two outputs are set and the distribution is made to each receiver of the % share.  The miner does not have the ability to control these outputs from the original generation of the block as far as I am aware. Would be like in bitcoin someone trying to verify a block that has generated 75 bitcoins in the block. It is just not possible to get this block accepted by other nodes as they would all reject it. As would the master nodes and other miners in the Dash situation.

Hope this helps and if anyone knows differently please feel free to explain where I am wrong, always keen to learn more :)