|
April 11, 2012, 01:39:06 PM Last edit: February 21, 2013, 07:20:59 AM by jiyu_shi |
|
我尝试了p2pool后发现stale较高,因此在p2pool专贴提问其原因,DeathAndTaxes做了解答:
#1863 jiyu_shi April 09, 2012, 12:40:38 PM
我的stale有7.2%,它看上去太高了,为什么? p2pool支持长轮询吗?
--------------------------------------------------------- #1864 DeathAndTaxes April 09, 2012, 12:54:35 PM
p2pool确实支持长轮询。
p2pool里的孤行与其他pool的不同,它们没有失去工作,它们只是share链(使share一个接一个)的限额。
须谨记的是,这个份额是毫无价值的。它们绝对没有真正的价值,只是用来作为工作的追踪机制以防止作弊。
p2pool具有较高的孤行率,因为网络每10秒(对比Bitcoin的600秒)发现一个share。当两个节点在大致相同的时间提交(同一个share),只有一个能成为下一个链中的share,另一个就被孤禁。p2pool内部孤行不影响(生成)block,因为它们没有进入share链,发现它的节点直接把它广播到Bitcoin网络(且转播到所有p2pool节点)。
这并不是说孤行无所谓。对于p2pool孤行率来说,影响你的是你的stale与网络stale的比。如果它们近似,那么你将获得同样的速度。
举个例子可能会有帮助。 设你每小时生成10个share,网络生成1000个。你和网络的平均孤行率都是10%。
完成工作: 你:10,网络:1000,10/1000 =你贡献了1%的工作
孤禁的share: 你:1,网络:100,1/100 =你的孤行是所有孤禁的share的1%
share链中的工作记录: 你:9,网络:900,9/900 =你的回报份额为1%
您提供工作总量的1%,并得到1%的回报。
DOA(Local dead on arrival,失效到达)与普通pool的“stale”更具可比性。这是你的p2pool节点(的share结果)被(网络)判定接收到它时已无效的工作。按类似的方式,普通pool把接收到时已无效的share标记成stale。
你应该努力保持尽可能低的这个数字,以提高你的收益并使p2pool更高效。
为降低你的cgminer的DOA值,你可尝试以下设置: 每颗GPU的线程--gpu-threads|-g <arg>:1 队列--queue|-Q <arg>:1 强度--intensity|-I <arg>:比其它常规pool低1(即我的5970在普通池用I:9,在p2pool用I:8)
小结: 1)p2pool的stale与其他pool的没有可比性,因为它包含了内部share孤行。 2)只要你的stale与p2pool平均值相当,你将获得相同数额(回报)。 3)DOA与普通池的stale率更具可比性。 4)为了降低DOA率,使用“更快”的cgminer设置(线程更少,队列更小的,强度更低)
|