No.
P2pool is getting work form bitcoind. Each node do the same, but not all the nodes have exact same work because not all txes are in all places of bitcoin network at same time.
So if your node will found a block it will be closed in way your bitcoind see it. Then your "block found" and your closing tx is spread across p2pool nodes.
So it IS possible, that you see block value 61 and I see same block @ 55 and s1 else only 50.
Good info, thanks.
What still puzzles me a little is why I consistently saw blocks in the low 60s. It wasn't a one time deal, it stayed that one until we found a block, then it dropped. And it was that way long enough for my payout to increase from .9 to 1.2, and as we know, the payout doesn't change rapidly. I don't know how long it takes this info to propagate across the network. That implies there's something wrong with my logic, or propagation is pretty slow.
BTW, I'm still regularly getting dupe submission messages. I just saw this (biggest one I've seen so far):
2012-07-07 09:29:47.581000 > Worker q6600 @ 127.0.0.1 submitted share more than once!
2012-07-07 09:29:47.897000 > Worker miner1 @ 192.168.0.110 submitted share more than once!
2012-07-07 09:29:49.355000 > Worker miner1 @ 192.168.0.110 submitted share more than once!
2012-07-07 09:29:50.915000 > Worker miner1 @ 192.168.0.110 submitted share more than once!
2012-07-07 09:29:51.948000 > Worker miner1 @ 192.168.0.110 submitted share more than once!
M
I have this problem too and I've been doing some counting. The number as of now: accepted:29732 duplicates:2330 rejected:426. That is 7-8% duplicate shares of the total and the actual submitted good shares are only 91%.
I have also confirmed that the same hashes shows up in cgminer's sharelog and they are never submitted more than once. (EDIT: not true; occasionally the same hash is subitted three times)
Since the set contaning the submitted hashes is local to the got_response closure it seems to me that the duplicate check only affects submitted shares from the same get_work. Am I correct to conclude that this means that the problem is with cgminer?
def get_work(self, pubkey_hash, desired_share_target, desired_pseudoshare_target):
/.../
received_header_hashes = set()
def got_response(header, request):
/.../
elif header_hash in received_header_hashes:
print >>sys.stderr, 'Worker %s @ %s submitted share %064x more than once!' % (request.getUser(), request.getClientIP(), header_hash)