user5406: Pruning nodes are described in the sourcecode thusly:  

-prune=<n>: Reduce storage requirements by pruning (deleting) old blocks. This mode is incompatible with -txindex and -rescan.

I’ve watched that my node has been consistently uploading less than it has been downloading since I set it to run in pruning mode.

What services do pruning nodes still perform?
Do they upload blocks and transactions? 
Can they service thin clients? 
What can a pruning node not do, that a non-pruning node does?


user5406: Pruned nodes do not advertise NODE_NETWORK. Thus, peers will not request buried blocks from them. However, pruned nodes relay blocks at the chain-tip and newly received transactions to their peers.
In 2017, BIP159: NODE_NETWORK_LIMITED service bit (Pull Request) proposed an additional service flag with which pruned nodes could advertise being able to serve the latest 288 blocks and thus most of the lightweight client requests. Support for NODE_NETWORK_LIMITED was then added in 2018 with Bitcoin Core v0.16.0 signaling NODE_NETWORK_LIMITED and Bitcoin Core v0.17.0 starting to make outbound connections to nodes signaling NODE_NETWORK_LIMITED.

user5292: From release notes https://bitcoin.org/en/release/v0.11.0 :

For now, block pruning disables block relay. In the future, nodes with block pruning will at a minimum relay “new” blocks, meaning blocks that extend their active chain.

In the current version pruning nodes don't advertise themselves as having any blocks, so they don't upload blocks. So that explains your big reduction in upstream data. A future update will re-enable block relay in such a way that your nodes can efficiently let its peers know which blocks it owns and which it doesn't.
Yes your pruning node will do full validation and it will service lightweight nodes.

5406: <p>Pruning nodes are described in the <a href="https://bitcoin.stackexchange.com/a/35987/5406">sourcecode</a> thusly:  </p>

<blockquote>
  <p><code>-prune=&lt;n&gt;</code>: Reduce storage requirements by pruning (deleting) old blocks. This mode is incompatible with <code>-txindex</code> and <code>-rescan</code>.</p>
</blockquote>

<p>I’ve watched that my node has been consistently uploading less than it has been downloading since I set it to run in pruning mode.</p>

<ul>
<li>What services do pruning nodes still perform?</li>
<li>Do they upload blocks and transactions? </li>
<li>Can they service thin clients? </li>
<li>What can a pruning node <strong>not</strong> do, that a non-pruning node does?</li>
</ul>
 5406: <p>Pruned nodes do not advertise <code>NODE_NETWORK</code>. Thus, peers will not request buried blocks from them. However, <strong>pruned nodes relay blocks at the chain-tip and newly received transactions to their peers.</strong></p>
<p>In 2017, <a href="https://github.com/bitcoin/bips/blob/master/bip-0159.mediawiki" rel="nofollow noreferrer">BIP159: <code>NODE_NETWORK_LIMITED</code> service bit</a> (<a href="https://github.com/bitcoin/bitcoin/pull/10387" rel="nofollow noreferrer">Pull Request</a>) proposed an additional service flag with which pruned nodes could advertise being able to serve the latest 288 blocks and thus most of the lightweight client requests. Support for <code>NODE_NETWORK_LIMITED</code> was then added in 2018 with Bitcoin Core v0.16.0 signaling <code>NODE_NETWORK_LIMITED</code> and Bitcoin Core v0.17.0 starting to make outbound connections to nodes signaling <code>NODE_NETWORK_LIMITED</code>.</p>
 5292: <p>From release notes <a href="https://bitcoin.org/en/release/v0.11.0" rel="nofollow">https://bitcoin.org/en/release/v0.11.0</a> :</p>

<blockquote>
  <p>For now, block pruning disables block relay. In the future, nodes with block pruning will at a minimum relay “new” blocks, meaning blocks that extend their active chain.</p>
</blockquote>

<p>In the current version pruning nodes don't advertise themselves as having any blocks, so they don't upload blocks. So that explains your big reduction in upstream data. A future update will re-enable block relay in such a way that your nodes can efficiently let its peers know which blocks it owns and which it doesn't.</p>

<p>Yes your pruning node will do full validation and it will service lightweight nodes.</p>
