On 2011 December 22 Thursday, Michael Grønager wrote: > But, there is in fact a subtle difference: If anyone can choose to verify > at random, you will see lazy implementations where random means none, and > as it is random you cannot, from the outside, judge if a node is taking > part in the validation work or if it just benefitting from others > announcements. In the hash space part, you can monitor peers and see if > they did not tell you about a failed validation and then disconnect from > them as they are either malicious or lazy. Why should they have to? Joining the network as a node is very low cost to the other nodes. You can't force any node not to be lazy, since their option is to disconnect themselves. As to maliciousness, that is defended against because when a node negative announces a transaction, that transaction is going to be checked (note that there is still no implicit trust) -- if a node is incorrectly negative-announcing then it can justifiably be kicked. > Besides from that, I like a setup where we scream about failed > verifications, but keep a low profile on things that actually verifies... Me too. It's important though to distinguish between "you must be verifying" and "if you do verify, you must be honest about it". No node should be forced to do any work it doesn't want to; but they should be forced to be truthful about the work they choose to do. Andy -- Dr Andy Parkins andyparkins@gmail.com