我的声誉系统安全吗?

时间:2009-03-07 05:05:56

标签: language-agnostic architecture

BOUNTY:获得赏金要么告诉我如何演奏系统,要么解释为什么你认为不可能演奏它。

我正在开发一个网站的声誉系统,允许您开始自己的博客,评论和收藏等。

我的目标是为用户提供易于理解的非常短的规则集,并且无法“播放”。注意:当我写“答案”时,我指的是评论的答案,即 相当于Stack Overflow的对答案的评论

  1. 要创建帐户,您需要一个Mojo。没有它,你只能回答其他人的评论。
  2. 当您拥有一个帐户时,您每天会获得一个Mojo。
  3. 每天您只能发布与Mojo一样多的帖子和评论。您可以随意回答任意数量的评论。发帖时你不会失去Mojo。
  4. 你可以给一个人少,但每个人只有一次的人。
  5. 另外,你可以烧一个Mojo,让一个Mojo远离那个少一个但只有一个的人。
  6. 你不能让你的Mojo回来。
  7. 该网站应该仅限邀请,但非会员可以回复会员的评论,也许他们也可以开始自己的博客,我还不确定。这个想法是建立一个主要基于资历的系统,权力只能以非常有限的方式在用户之间传递,所以基本上没有办法夸大你的声誉(Mojo只会流下来。)

    给予和接受Mojo应该是将某人标记为朋友或敌人的行为。

    我不希望Mojo本身成为人们加入社区的动力。我希望他们用它来影响其他人在网站上的表现。通过使用您的Mojo刻录某人,您可以有效地限制他们可以在网站上发布的内容。通过给某人Mojo,你允许他们表达更多。

    我还计划增加获得额外Mojo的方法,例如“每日邮报”或“本周最受喜爱的博客”竞赛,奖品大约为3-10 Mojo。但我的主要目标之一是避免通货膨胀。

15 个答案:

答案 0 :(得分:53)

以下是您设计的一些后果。这些可能或可能不是你想要的,但我指出它们,以便你了解它们。

  • 一个非常沉默的用户,大部分时间都很安静,并不关心踩到一些脚趾,因为他们有一大堆Mojo可以画画。这似乎违背了限制消极行为的目标。

  • 同样,对您的网站完全没有贡献的用户仍然只是凭借一个帐户获得Mojo。但是一个非常有价值的贡献者会做出一个不受社区讨厌的彩色帖子,他会被沉默,直到他有足够的Mojo再次发布。

  • 如果某人有非常有价值的贡献,他必须确保始终“保留Mojo” - 也就是说,他必须确保他没有达到他的发布限制。如果他不这样做,他可能会失去说一些有用的东西给他赢得更多Mojo的机会。

  • 人们可以累积Mojo的比率受到社区规模的限制。如果很少有人发布Mojo,很快他们将无法分发Mojo,因为没有人会离开他们还没有收到Mojo。

  • 最老的用户将有效地成为一个无敌的阴谋集团,其想法可以定义和塑造您的网站。因为如果他们的Mojo少于你,你只能减少别人的Mojo,这些用户可以发表你的社区强烈不同意的陈述,并使他们的Mojo评级保持不变。

  • 一般而言,通过限制Mojo的供应,您创建了一个经济体系,人们可能会更加犹豫为讨论做出贡献。他们需要更仔细地权衡他们所说的内容,因为社区不喜欢的帖子可能会阻止他们进一步说话,如果他们得到太多负面的Mojo。


播放系统

  

要么告诉我如何演奏系统,要么解释为什么你认为不可能演奏它。

假设我们将“播放系统”定义为“以你不想要的方式人为地改变一个人的Mojo的价值或数量”。我会说你的系统是安全的,不受Mojo的人工通货膨胀的影响,但代价是扼杀原本会发生的讨论。您必须能够做出以下保证:

  • 流动条件。 Mojo只“流下来”;排名较低的用户无法将Mojo转移给排名较高的用户。
  • 创建条件。用户很难采取可以生成自己的Mojo的操作。此外,它要么不可能创建新帐户,要么承担如此严厉的惩罚,没有人会想要这样做。

例如,如果您无法满足创建条件,那么恶意的早期用户将简单地组建新的帐户。他们保留了许多这些新账户,悄然积累了Mojo。然后他们将它们用作“埋葬旅”,以消除他们不同意的派系或想法的Mojo。虽然当他们这样做时他们会失去魔力,但只要他们不是每天都有一个仇恨敌人的杀手,埋葬旅的集体魔咒就会不变。

这显然不是你想要的。

人为放气

但是,您的系统不能安全地避免Mojo的人工通缩。要了解原因,请假设用户流入您的网站以接受其邀请。想象一个用户,Mallory, k Mojo积分。因为Mojo只能向下流动,所以 k 或更少Mojo积分的用户无法表达他们对Mallory的不同意见。只有 k + 1 或更多Mojo的用户才能这样做。

除非有足够的用户使用 k + 1 或更高的Mojo,否则马洛里的恐怖统治将继续未经检查。事实上,如果Mallory是一个足够早的用户,可能没有任何用户有权减少她的Mojo。事实上,因为你已经人为地制造了Mojo稀缺,他们可能不会想要燃烧Mojo来表达他们的意见,因为每个Mojo点都是多么珍贵 - 因为这也削弱了它们并使他们的意见更容易受到攻击。

简而言之,如果有足够的(或者甚至只是几个)Mallorys,你将被沦为扮演交通警察并在Mallorys之后进行清理而不是改善你的网站。该系统不再是自我监管。每个Mojo点现在变得比以前更有价值,因为人们会从Mallory及其同类的例子中看出,最好不要烧掉Mojo来打开自己来攻击。因此,Mojo通缩。

这显然不是你想要的。

答案 1 :(得分:9)

您系统中的缺陷是它关注会员的长度,而不是贡献的质量。一个不活跃的用户,只是因为很久以前加入了,就没有任何好处。

为什么要限制用户可以发布的内容量?我建议一个简单的系统,让其他成员将帖子标记为“坏”(就像SO)。一旦一定数量的成员(比如说5个)都将帖子标记为“不好”,它就会被自动删除。有太多“坏”帖子的成员会被启动。

答案 2 :(得分:6)

我有一个很长的答案,但总结是:你的系统没有摆脱坏用户,但只是推迟他们做坏事。


  

...无法“播放”

     

给予和接受Mojo应该是将某人标记为朋友或敌人的行为。

     

我希望他们用它来影响其他人在网站上的表现。

查看您的系统是否安全的唯一方法是是邪恶的并对其进行游戏。 Stackoverflow充满了善良的人,但要回答这个问题,最好去思考邪恶的想法。

/我戴山羊皮

  

要创建帐户,您需要一个Mojo。没有它,你只能回答其他人的评论。

你好,我是瓦尔德斯先生。我是一个好人。以下是您的评论的一些友好答案。

  

当你有一个帐户时,你每天会得到一个Mojo。

     

你可以给一个人少,但每个人只有一次的人。

嘿,这是一个很酷的网站。我会邀请我的朋友们。

/我创建虚拟帐户并给他们Mojo。

嘿,这是一篇博客文章。你们觉得怎么样?

/我登录虚拟帐户并疯狂发帖。

  

您只能发布与Mojo一样多的帖子和评论。

     

您可以随意回答任意数量的评论。

     

你不能让你的Mojo回来。

通过帖子或私信:Awww man,我离开了Mojo。嘿伙计们,你能给我一些所以我可以回答[虚拟账号#1]的帖子吗?他的帖子太棒了,我得到了很好的回应,我觉得他很享受。

  

“每日发布”或“本周最受欢迎的博客”以3-10岁左右的奖项进行竞赛。

我会发帖并让我的假人投票给我。

10天后,我会有mojo =(虚拟账号的数量)* 10 +(被欺骗的用户数量给我Mojo)。

/我将Mojo交给虚拟帐户进入火热的狂欢。 /我洗手的行为。

接下来会发生什么取决于您当前的社区。他们可以开始燃烧回来,或者他们可以忽略我和我的假人,直到我们离开。

最糟糕的情况是他们会反击,所有的计划和系统都会浪费掉。

最好的情况是他们足够成熟,不会招待坏人。 ,如果您当前的社区足够成熟,为什么还需要这么复杂的系统来鼓励人们变得更好?


我建议您花时间建立社区。在我看来,如果你想要一个好的社区,你应该花更多的时间在社区,并帮助确定其他人的基调。

案例分析:StackOverflow始于一个真正有兴趣帮助其他人的程序员社区。我们有很强的社区意识,因为我们都有相同的兴趣。我们知道,顶级用户不会滥用他们的主持人的权力,因为我们在很长一段时间内明确地给予了他们信任(与您的系统相比,时间和技巧用于对一个人的状态进行排名)。最后,该网站的开发者实际上发布了问题和答案,并通过每周播客与我们“交谈”。

作为一个(假装)坏人,我没有心脏或资源来摧毁这样一个紧张的社区。


更新

  

为了避免让人们创建多个帐户来提升其主要帐户,您只能将Mojo提供给拥有较少Mojo 的人(并且每个用户只能向其他用户提供Mojo一次)。

同样的问题。我只是让主帐户将Mojo提供给虚拟帐户,直到我在不同的帐户中几乎连Mojo。此外,通过制作更多虚拟账户可以轻松规避该规则。

  

“今日发布”类型的事情得分是我尚未开展的工作。

如果您希望我们对评分发表评论,请更新您的帖子,我们会更新我们的答案。但是我的观点仍然没有改变,你只是将创可贴用于错误的问题。

其他海报提到您的系统鼓励闲置帐户。从一个坏人的角度来看,我不想要一个闲置帐户。我希望将社区认可的尽可能多的帐户视为合法帐户。当我最终决定攻击时,这会造成更多伤害。

答案 3 :(得分:5)

这里有很多好的答案,但我认为你所寻找的是一种“游戏”系统的方式,这样任何用户,无论多么强大,都无法限制你的行为方式。因此,这是我尝试以这种方式游戏系统
必要的前提条件:有人邀请您到该网站/给您一个魔力,因为它需要一个mojo来创建一个帐户。

然后,
我有一个mojo帐户。
每天,我使用我的一个mojo创建一个新帐户(我“邀请”他们并给他们一个mojo)。
然后每天,我使用我创建的帐户的mojo为我已经拥有的每个帐户创建另一个帐户(显然每天将每个帐户Mojo烧至零)。
IE第1天 1帐户创建另一个帐户 - 所以我有2个 第2天 - 每个帐户创建另一个帐户 - 所以我有4个 第3天 - 第8天 第4天 - 第16天帐户
第5天 - 32个帐户
第6天 - 64个帐户
第7天 - 128个帐户
第8天 - 256个帐户
第9天 - 512帐户
第10天 - 1024帐户
第11至2048天的帐户

我再说一遍,直到我有足够的账户,即使是排名最高的用户也没有足够的魔力让我沉默 - 而不是通过增加我的个人魔力来竞争,我通过增加我的“团体的”魔力来竞争 - 如果我发布了一些东西而你不是就像我只是在我的数千个帐户中的另一个帐户中重新发布。我不是一个更大的恐龙,而是一群蚊子。

答案 4 :(得分:4)

它看起来很不错,但请记住,一些用户最终会找到游戏任何系统的方法。

希望您能在公开测试版之后对您的声誉系统的有效性有一个模糊的想法。

这就是安全问题。

一个问题(可能就是你设计它的方式)我在系统中看到的是,与SO或任何其他类似的社区网站不同,你需要点燃你的积分来为系统做出贡献,而不是为那些人获得积分动作。

此决定可能会损害网站内容的增长。用户会认为“我的积分很少。所以我会保留它,让我的声誉增长”。这意味着您当前的系统不会促进系统中内容的增长。

答案 5 :(得分:4)

  

当您拥有一个帐户时,您会获得一个帐户   Mojo一天。

我不知道但是因无所事事而获得报酬并没有多大意义

总的来说,我会说你的系统无法解决问题。信誉系统应该主要基于人们做的事情(好的或坏的)而不是人们拥有账户的天数。

  

Mojo不是一种货币,它是   确定您的状态   用户。

这正是钱的作用;)

答案 6 :(得分:4)

我可以看到你来自哪里,但只要你发放免费的Mojo,就可以对系统进行游戏。

但除此之外,你的系统有一个你可能没有想过的副作用:

  1. 您将于12月31日启动该服务。
  2. MrFirstUser注册为您的第一个用户,然后是MrSecondPlace和其他几个用户
  3. 在接下来的几天里,其他一些人注册用户
  4. 1月3日,第一天的每个人都有3个Mojo,其他人都少了。 MrFirstUser写了评论,MrSecondPlace给了他一个Mojo(他们有相同数量的Mojo,所以我认为他被允许这样做)。
  5. 现在,MrFirstUser有4个Mojo,其他人都有3个或更少。
  6. 现在,MrFirstUser具有完全(numberOfDaysRunning + 1)Mojo,并且他永远不会得到更多,因为所有其他用户都有太少的Mojo给他更多。他可以获得另一个Mojo的唯一方法是,如果用户3向用户4提供了1个Mojo,然后用户4给了MrFirstUser一个Mojo。除此之外,它变得更加复杂:必须参与这个Mojo贡献的人类金字塔的其他用户的数量呈指数增长。

    换句话说,我肯定会对系统进行游戏的第一件事就是创建尽可能多的第一天用户(机器人),或者至少确保我自己的帐户是在第一天创建的,因为这会让我成为一个自动的Jon Skeet - 因为没有人会比我高出1或2(只有奖品可以帮助他们)。

    要修复你的系统,我会做三件事:

    • 不再自动Mojo; Mojo只通过赞成票,礼物和特殊奖品获得
    • 允许向所有其他用户提供Mojo(如果必须有限制,请限制礼物,以便不超过一个用户的总Mojo的10%)
    • 保持系统仅限邀请,并惩罚被邀请者行为不端或获取太多downvotes /'report user's
    • 的用户

答案 7 :(得分:3)

据我了解,没有人可以拥有与第一天加入并且从未“烧毁”任何人的人一样多的魔力。他甚至可以 nothing 并且仍然位于mojo列表的顶部。我不会称这种声誉,只是像资历那样,而且与成就没有多大关系。

答案 8 :(得分:2)

太复杂了。 KISS

答案 9 :(得分:2)

您的声誉系统存在的原因是否有任何理由? Joel Spolsky的Building Communities with Software提到,如果你想让你的用户参与,你不应该努力。通过建立一个复杂的声誉系统,你不是太过限制你的社区吗?

  

在软件中,与体系结构一样,设计决策对于开发或未开发的社区类型同样重要。当你轻松做事时,人们会更频繁地做。当你努力学习时,人们不那么经常做。通过这种方式,您可以温和地鼓励人们以某种​​方式行事,从而决定社区的特征和质量。它会感觉友好吗?是否有厚厚的谈话,一个充满知识分子的欧洲沙龙有趣的想法?或者这个地方是否空无一人,地板周围有一些脏的广告传单,没有人愿意接受?

答案 10 :(得分:2)

您的系统基本上是一个受到反馈的人气竞赛,因此表达热门观点将得到奖励,表达不受欢迎的情绪将受到惩罚。这将阻止智能对话,并鼓励Reddit围绕诸如Ron Paul等问题发生的回声室效应。

另外,正如保罗·格雷厄姆在最近的essay中指出的那样,一个笑话或口号比研究论文更容易理解和赞成,所以你的系统鼓励简单的帖子。

答案 11 :(得分:1)

说任何人想要做的最高职位是一天15个 - 这很多,但你只需要成为会员2周,然后没有必要积累更多的魔力,因为你已经超出了你的数量可以做到。

所以在这一点上,如果你得到更多,你就不会太在意,而且你需要相当多的协调来击倒某人。

答案 12 :(得分:1)

馅饼, 我一直在考虑声誉算法(这就是我发现这个主题的方法)。

您必须在真实世界之后为声誉算法建模:

1)老年人不一定更好或更有趣,或者应该有更多的声誉点

2)非常年轻的人不能享有很高的声誉,因为他们是新人,并没有为社区做出任何贡献,他​​们可以获得声望点

3)一位真正受人尊敬/有信誉的人的意见/投票权比一些Joe Schmo重要。

4)如果一群Joe Schmos帮派对抗一个真正有信誉的人,他们的联合暴民意见仍然不应该胜过这个人的意见

5)拥有大量资金(或莫霍斯)并不能转化为更好的声誉评分(否则富人总是会优先于聪明人)。

6)与社区中更有声望的成员交往将他们的一些声誉果汁传递给他们的朋友和家人(这些朋友和家人贡献多少并不重要 - 他们很酷,因为他们知道或与之相关有人很酷。)

因此,我的结论是:

1)您无法根据年龄提高声誉得分

2)您可以“惩罚”非常年轻的帐户(与Google Sandbox相同),这至少可以解决创建多个帐户并立即向上或向下投票的问题。一段时间应该过去,直到用户帐户“成熟”。甚至可能只需24小时。

3)所有成员的相同行为(可能导致您或其他成员的声誉得分增加或减少)不能相同。更有信誉的成员的投票上涨或下跌的价值应该高于声誉低的成员,而声誉低的成员则相反。

4)即使是平均声誉得分低于目标成员声誉得分的成员,他们也不应该降低该成员的得分。虽然如果他们的平均声望得分更接近会有意义,在这种情况下,质量效应应该触发我们称之为革命的东西。 (虽然在历史上革命并不总能为他们所在的社区带来好处。)

5)声誉不能是您网站的“货币”。还有别的东西,但不是声誉。

6)如果你有一个友谊的概念,那么与一个声誉更高的人成为朋友应该自动将一些声誉传递给你。如果你和你认识的人(至少在你的网站上)成为朋友,而不是与任何人和每个人交朋友,那就应该发生。

答案 13 :(得分:0)

没有现实生活验证,没有声誉系统是安全的。如果可以邀请匿名用户,则可以通过充分的努力和错误的身份进行游戏。

您的目标应该是将此类游戏的成本提高到潜在收益之上,这取决于系统的用途。

您可以用来抑制权力收益的主要成本是迫使用户在提高他们的地位之前做出积极评价的贡献。

如何做到这一点,以及如何让他们难以利用现有身份错误地评价他们试图赋予权力的新身份的贡献,这是系统的基本要素;并应利用现有的用户群来发现和惩罚虚假误报。

你可以通过奖励人们占多数来利用博弈论。因此,如果A指责B评级错误,则会突出显示并且很多人会对其进行投票。那些在投票方面投下他们的魔力最终获胜的人,得到它并提高可靠性的声誉(值得拥有不止一种声誉),而少数人则失去三角形数量的魔力(一个是第一次,另外一个是2,下一个是3,下一个是6,下一个是10,依此类推)

答案 14 :(得分:0)

您的系统无法进行游戏,因为首先无法加入它。

你说用户需要一个mojo才能加入。如果他们还不是会员,他们如何得到那个魔力?