Nissenice发帖(New Study About The Emule Credit System)转了一篇论文,本人将其粗略翻译了一下。才疏学浅必多有不当,欢迎多提意见。
文件名为:[浅析P2P文件共享系统中用于维系系统公平的信用系统][Yunshao Li, Don Gruenbacher][2010][Ejack译].pdf
百毒文库链接:http://wenku.baidu.com/view/cc89727da26925c52cc5bf32.html
纳米盘链接:http://d.namipan.com/d/b409da2e880258fccb8cd8b3fec6d84d0e1c5189bffc0500
另外附上本人的读后感。
胡言乱语一句先:
某日张飞饥肠辘辘倒伏路旁。关羽路过,给了张飞一张饼。
张飞衷心感谢关羽,关羽却说:“要不是当初刘备玄德给我一张饼,我早就饿死了,哪里还能给你饼吃!”
张飞动情地说:“日后不论云长还是玄德遇到难处,燕人必当倾力以助!”
尽管这篇论文中的数学模型进行了太多不切实际的假设,导致其结论很难站得住脚,但是文章作者所提出的对信用系统的改进方案却很有意义。
概而言之作者的思路就是“散播信用积分”(请注意,这个概念跟SA的信用传播通道没有什么关系),简单来说就是允许有效的上传者声明一个或多个他所知道的良好上传者。整体思路大体如下仅供参考:
- a) A向B上传了180kB的文件块;
- b) 在验证此180kB数据块都是有效数据之后,B将认为A是有效的上传者,记录其信用积分。之后B向A发送一个CREDITSPD_REQ报文请求其提供优良的共享者(一个或多个Userhash);
- c) A可能会有以下的反应:
c-1) 如果A的客户端支持“信用传播”新功能,并且记录了一些对其上传贡献较大的用户,那么就会通过CREDITSPD_RES报文给B发送用户C的userhash(或是多个用户userhash的列表);
c-2) 如果A的客户端支持“信用传播”新功能,但是他本身主要上传、很少下载,那么可以无需应答。B等待超时后不再索取;
c-3) 如果A的客户端较旧,那么因为无法解析CREDITSPD_REQ就不会应答。B等待超时后不再索取;
- d) B如果得到了A的应答知道了C,就记录C的积分(即记录一些从C的下载,例如180kB/4)。
通过这种方式我们就能够实现信用积分的传播,让良好上传者能够在更多用户间拥有口碑,促进大家养成规规矩矩上传的习惯。同时并未更改原有的信用工作方式:仍然是下载方保留上传者的积分,不必担心被盗、被黑或者是唱双簧伪造积分之类的问题。
当然,这种方式下理论上系统内的信用积分并不平衡,上传的数据量总是会造成更多的积分。不过考虑到现实系统中信用积分实际上一直是在流失(用户hash变更,或者上传给了吸血骡、肉包子打狗),这样的改造我认为没什么害处。
请注意,我们的目的仍然是重“信用”而不是重“积分”,只是想略微改善当前信用仅局限于两人之间的情况,同时避免复杂而又脆弱的“上传贡献分”制度。
31条评论隐藏
那样社区吸血会不会更猖獗?中国人很善于“买卖信用”。
只有有效的上传者提供的share helper才被采信。
吸血骡不上传的话,任他巧舌如簧也不搭理便是了。
也不用在信用和积分上咬文嚼字了,客户间量化完了不还是数字指标?
官方的策略就看客户和客户之间的,而不看对群体贡献,在用户数目如此多的现在,作用其实微乎其微,到哪里都要排队。把信用在集体里传播,有违初衷,但大部分人觉得这么做更公平。
Kad虽然能传播很多文件信息,但要是用来传播用户信用,效率是首要问题:一是客户多(绝大多数人已知客户比共享文件多),二是单个信用的传播要比传播单个文件的信息量大很多。其他问题像如何防作弊?信用信息保存期限怎么定?
peer to peer演化成group to group?
信用传播?还是点对点的信用可信。关羽可能是刘备的托。
从理论上讲,这样有利于节省优秀上传者的时间、提高整个电骡网络的效率,当他给某个用户提供了良好的服务(即上传),整个电骡网络就知道了他的信用很好,会优先链接上传或者下载给他,而不需要重新的去验证他的信用!
但,这样做就必须有可靠地方法确保这个优秀电骡用户的信息不会被伪造。更要确保这个优秀电骡用户的信息不是两个吸血客户端合谋伪造的!
这就好比美国这样的信用社会必须保证有机制对付信用卡造假这样的信用犯罪,否则就会导致整个社会的崩溃!
我已经说过了,只有某个用户A刚刚对你完成1个块有效上传,才采信其推荐的优秀电骡用户B,并且传播的积分是1/4个块。
假设吸血骡企图瞒骗你,那么必须对你上传有效数据……即便全世界的吸血骡联合起来进行社区吸血,其必须上传数据量N才能得到N*1.25的积分……这个上传下载比已经远非吸血骡所预期的效益了
@Ejack 其实估计大家都没仔细读文 😀
@Ejack
该用户在我的客户端并未受到完整的免检、优先的待遇而只是增加了其对A的上传量的4分之1的积分在我的客户端记录里?这样他等于在我这里增加了额外的积分,从而获得我的优先上传?
@rcrp_bsgbc
是“在我的客户端记录里增加了1/4个块(180kB/4)的积分”,前提是A刚刚传给我有效的1个块。
@Ejack
我就是这个意思,原谅我可怜的国语表达能力!
您有没有觉得,现在的电骡积分制度过多了?有没有必要统一一下?
现在的电骡积分有没有参考各个客户端的总下载上传比和本次运行的下载上传比,如果没有,您认为是否有必要增加?以额外奖励那些上传大于下载的骡子?
@jjj
呔,尔少挑拨离间、煽风点火!
@rcrp_bsgbc
积分制度多是因为各个设计者的侧重点不同、使用前提也不同。例如Lovelace本身就具有较强的惩罚性,例如Eastshare的完全线性……环境不同,选择的mod不同,选择的积分系统也有可能不同。山无定型,水无定势。
电骡的信用积分都需要参考总下载上传比,不过好像都没有参考本次运行的下载上传比。官方的信用系统已然是这么设计,参见以下译文:
https://www.emulefans.com/credit-system/
你想多了 🙂
没看明白啊 😈
我今天发现个好驴,叫zz-r,鼎鼎大名的modder morph4u写的,最新v3.5基于emule0.50a,向大家强力推荐!:
http://www.sb-innovation.de/attachments/f44/2795d1273834106-emule-0-50a-zz-r-3-5-emule.v0.50a.zz-r.v3.5.rar
当一个MoD增加功能时,eMule官方有两个要求,必须做到:
1.不能因增加任何功能而加重服务器的负载
2.不能因增加任何功能而加重其他客户端的负载
如果增加这项功能,会增加客户端A的负载,当然如果官方认为此合理,吸收也就没什么了,就像文件请求一样多几个request
国外的这些软件维护者原则性很强,基本不改设计软件的初衷:MLdonkey始终不支持客户端之间的加密,不是技术上无法实现,因为它实现了和服务器端的加密,为的是防止版权服务器的恶意检索;但是客户端的加密会增加包开销,所以死活不加
@a
这是个吸血驴,请勿推广
@Ejack
你也想多了!呵呵!! 🙂
某日张飞饥肠辘辘倒伏路旁。关羽路过,给了张飞一张饼。
张飞衷心感谢关羽,关羽却说:“要不是当初刘备玄德给我一张饼,我早就饿死了,哪里还能给你饼吃!”
张飞动情地说:“日后不论云长还是玄德遇到难处,燕人必当倾力以助!”
没什么好说的,这个故事就包含有电骡分享精神。
学习学习!!! 💡
eMule信用基本无意义,我在一个人那里下了100G电影,而他却对我的100G动画毫不感兴趣;我上传了100G动画,接受我上传的10000个人却没有我想要的电影。按照eMule信用,我的情况糟透了,下了越多,排队时间越长。还不如每次启动随机新建个userhash,0积分比-10000积分的强多了。在PT网站的积分比eMule有效多了
P2P说白了还是要注重文件的传播传播度。
@Jurio 我觉得这很有意义,为啥别人欠你的人情要另一个陌生人还呢?其实很有社会研究意义,比如这篇文章。
@Jurio 信用是一个重要的指标,一定程度上规矩了用户。但它不是全部,这种理想化的东西缺陷也不少。
像隔壁讨论中有个@ChenbuEr,不管他是不是迅雷的托,且假定他不是吧,他一味吹捧官方eMule的积分制,“推崇官方电骡的所有做法”,反对反吸血给积分制度的补充,也无视了其他各种积分算法,那也不正常
这些各种积分、反吸血目标都是ed2k网络的公平平等,都很重要,过于重视或轻视贬低单独某一个功能都不正常
@a
你推荐的这个超级邪恶
迅雷都吸不过他
现在用 7.2EES 好好 不想改变什么
@Jurio 你提出的这个问题很是个问题,所以参考一个客户端的总上传量是很有必要的!
@fiveblue 无用,太好造假了。
骂的人总是容易更多,作者不必在意~
顶
@a
有 zz-r 3.5版的源代码没有?