pull down to refresh

I prefer to make the distinction between rules about what can be included in a valid block and rules about what my node relays.

I understand Voskuil to be saying that the rules about what can be included in a valid block are essential, while the rules about what unconfirmed transactions you will relay are inconsequential.

Unless I'm willing to fork off, it is the case that I must at least validate (and possibly store for some time) every transaction in every valid block -- whether I like them or not.

Now, how do I learn about new blocks and the transactions they contain? well, my grug brain says that I hope there are other nodes out there who will tell me about them. And this grug in me will extend this to say, I should tell other people about these valid blocks, too. Do unto others is pretty good advice, I think.

So as far as valid blocks and the transactions they contain, I see a difference. Nodes that pick and choose what to relay among confirmed transactions would be not very good peers.

This seems like a fundamentally different thing than choosing to relay unconfirmed transactions or not. Any given unconfirmed transaction might not ever make it into a block. There doesn't seem to be a fork risk to refusing to relay unconfirmed transactions or not. And I think you can still be a good peer if you don't relay any unconfirmed transactions at all but do relay transactions in valid blocks.

Of course, people should feel free to run whatever policy they want on their nodes, but the only rules that actually matter are about what can be included in a valid block.

I'm not asking about could or should; I'm asking whether it actually matters.

matters to whom and for what though?

reply

Yes. I had to think about this for a while.

To whom: does any given policy actually matter for a noderunner's ability to interact with the network?

For what: does any given policy help us achieve a peer to peer digital cash that is permissionless?

Perhaps the addendum to each is: better than what is already laid out by block validation rules.

reply

Oh. What @k00b said, then.

reply