Rep on the block : A next generation reputation system based on the blockchain 部分翻译

Rep on the block : A next generation reputation system based on the blockchain 翻译


摘要:本文介绍了第一个可应用于基于区块链的多个网络的通用信誉系统。在研究如何使用基于区块链的新技术之前,我们首先讨论当前的信誉系统,对其当前的安全漏洞进行批判性分析。我们提出了一种基于区块链技术的创新型声誉系统,旨在解决当今现代声誉系统中许多未解决的问题。然后,我们在使用模拟和分析来演示克服这些限制的方法之前,考虑这种系统的局限性。最后,我们建议未来研究的领域,并总结我们的研究结果。

I.简介
    声誉衡量社区对您的信任程度,并根据您之前的交易和与社区的互动进行计算。您的声誉越大,您在网络上的信任度就越高,并且用户在线上的声誉,用户选择在网络上更诚实地行事[1]。
  目前,e Bay拥有最广泛使用的声誉系统,每天处理超过10亿次交易[2]。每笔交易都可能导致剩下两个声誉分数(一个来自买方,另一个来自卖方); 因此,信誉系统必须能够处理大量事务,并拥有足够的资源来处理这一级别的数据。
  电子商务信誉系统通常实现多维信誉,允许用户根据诸如邮资成本和通信质量等一系列因素对卖方进行评级。所有主要的电子商务网站都使用传统的客户端 - 服务器模型,其中信誉数据在*服务器上集中存储,计算和分发,并且所有客户端都可以请求从*服务器查看此数据。
  在e Bay的系统中,正反馈百分比是根据过去12个月内交易的正反馈评级总数计算的,不包括同一成员在同一日历周内进行的购买的重复反馈[3]。
  信誉得分由电子商务网站集中计算,该公司的负面影响是公司能够在不知情的情况下更改信誉计算算法并强制将其部署到所有用户。例如,e Bay最近阻止了卖家对买家的负面反馈。
  尽管已经在多个Web服务上实现了成功的信誉系统,但它们都基于集中式服务器模型,这使得它们不适合在对等(P2P)网络中部署,其中主要目的是将控制权分散到远离 单一权利。到目前为止,有关信任和声誉的未修改信息的有效沟通和共享仍然是一个未解决的问题[4]。
  在Peerto-peer网络中实施了几个声誉系统,旨在为网络用户提供诚实行事的动机,并在Gnutella网络(最受欢迎的P2P网络)上阻止“贪婪”,估计占70% 所有同伴的行为都以这种方式[5]。Freeloaders是从网络下载内容但不分发任何内容的同行。
  在对等网络上存在各种信誉系统的实现; 有些需要实现可靠的*服务器,就像电子商务模型一样,它记录并计算所有用户的评级,而其他系统则尝试使用分布式数据库分发信誉系统,网络上的所有同行都有更新的副本 的。P2P网络上信誉系统的最终实现仅记录与其交互的对等方的信誉。
  与必须参与的电子商务信誉系统不同,P2P信誉系统中的注册是可选的,并且许多节点关注隐私丢失或所需的额外资源。
  P2P信誉系统是一维系统,每个对等体只留下一个关于已经发生的事务的数据; 这可以提高效率并减少网络负载。
  声誉的计算因实施而异,但每个同伴的一般计算方法是他们的声誉是所有收到的声誉反馈的总和。
  所有信誉系统,无论它们如何部署或部署哪种类型的网络,都面临着相同的基本问题。将身份链接到单个用户并防止该用户获得多个身份的能力是阻止用户通过创建多个身份并在它们之间进行交易来利用系统的关键。
  对所有声誉系统至关​​重要的另一个限制仍然是一个悬而未决的问题,即如何量化声誉?此外,我们如何确保用户留下的声誉是准确的并且基于真实交易?
  本文的结构如下:第二部分描述了该领域的相关工作,重点是在对等系统中实施的信誉系统。第三部分讨论了我们提出的声誉系统及其中使用的一些技术,而第四部分总结了我们的方法,模拟和比较了我们的网络与当前实施的声誉系统,然后总结了对未来工作的建议并总结了这一点。

II. RELATED WORK
A.现有的“分散式”信誉系统
  基于点对点的信誉系统几乎与点对点网络本身一样长,2003年文献中提到了第一个系统[6]。对等网络上的信誉系统都有不同的目标; 从选择可靠的资源,确保对等方诚实行事,并评估共享文件的内容质量。
  对等网络中的信誉系统通常必须应对信誉系统的已知问题,而对等网络增加了额外的复杂性。在P2P网络上部署信誉系统时,其他问题,例如如何使数据保持最新,准确并分布到动态变化的大量对等体[7]。
  Wang提出了一种基于贝叶斯模型的信誉系统,该模型旨在根据文件共享的质量以及每个同伴的信任度对文件共享进行评级[8]。这是一个新颖的系统,将信任和声誉分开,而以前的系统往往将这些系统组合成一个评级[9]。这些评级的分离允许所有用户通过在网络上诚实行事来获得信任评级。然而,Wang的模型的一个关键问题是他们假设所有用户对每个同伴的评级都是诚实的,这在现实世界中不太可能发生。系统不会尝试为每个用户提供网络的全局视图,而是基于先前的事务由每个对等方收集信誉。信誉和信任基于二进制系统,并且对于每个成功的事务,给出信誉得分1。信任和声誉分数是所有分数的总和。存在这种类型声誉的几个问题,假设所有分数对于实际发生的事务是真实的并且没有恶意行为者试图从系统中获利可能是最主要的。然而,由每个对等方完成的信誉分数和计算是将数据分发到网络中所有节点的已知问题的良好解决方法; Makan认为,不太可能在不同时间发生同行之间的重复交流,这使得这种声誉系统无用[10]。
  古普塔等人[5]对王采取了截然不同的方法。他们在P2P网络上实现集中式服务器模型,而不是本地化的声誉。此实现不要求网络中的所有节点都使用信誉服务。集中存储的信誉是确保所有用户都可以访问最新信誉数据的有效方法,解决了跨节点分发此数据的客户端同步问题。但是,该模型再次假设网络中没有恶意行为者。与Wang一样,这个模型使用二进制评分系统,信誉评分只是每个同伴收到的声誉之和。假设不会传输负面声誉。在该实现中用于证明对等体发送一条数据的一个创新系统是创建收据。包含所涉及的各方的文件名,身份等的一条数据由双方的私钥生成并签名,然后将其发送给可以向两个用户授予声誉的*机关。这将允许多维信誉系统,其中可以对用户对各个文件的操作进行评级。
  Wang和Gupta提出的两个系统都未能解决身份管理问题 - 确保用户只能获得单一身份 - 以及同行可能串通在一起以便从系统中获利以增加自己声誉的可能性。

B.对分散信誉系统的攻击
  攻击信誉系统可以为攻击者带来显着的好处。在电子商务网站上,具有高声誉的用户可以期望他们销售的所有商品获得11.2%的溢价,这提供了攻击的动机。
  也许最具挑战性的攻击证明和预防是不公平的评级攻击。在此次攻击中,攻击者提供的评级不能反映他们对评估者的真实看法,试图降低同伴的声誉。Jøsang和Golbeck通过将用户评分与网络上较高可信用户留下的评分进行比较,描述了对这种攻击的可能防御[11]。然而,他们没有考虑到Lou首先描述的攻击,即对等体是选择性恶意的[12]; 他们提出的辩护理由是这种类型的攻击不会被发现,并可能会惩罚诚实的节点。这是GCHQ为了诋毁选定目标而进行的攻击[13]。
  共谋是另一种在声誉系统中常见的流行攻击。此攻击基于一组节点,这些节点彼此串通,目的是降低目标节点的声誉。针对正在进行的串通攻击的一种解决方案是基于从对等方接收的所有声誉的平均值来计算声誉得分。
  共谋攻击通常与Sybil攻击一起部署。Sybil攻击是单个用户访问多个合法身份的地方。虽然Jøsang和Golbeck没有描述任何对策[11],但Douceur描述了Sybil攻击的成功取决于获取身份的成本[14],并清楚地表明Sybil攻击的有效性如何降低 产生新的身份增加。最有效的对策是将身份与现实世界身份联系起来,如Yu等[15]所述。然而,这种对策的缺点在于虽然这一切都阻止了Sybil攻击,但由于验证每个用户所需的资源,这使得网络进入网络成本高昂,这种解决方案无法很好地扩展。
  重新进入攻击还利用了进入网络的成本。通过此攻击,攻击者可以选择恶意行为; 一旦他们的声誉低,影响他们的攻击,他们停止使用该帐户并生成一个新帐户并使用它,这种方法不断重复。Prêtre正确评价此攻击的有效性不仅因为进入网络的成本较低,而且网络认为信誉得分为零的用户高于具有负分数的用户,从而为用户提供处置帐户的动机 [16]。
  虽然目前部署的大多数声誉系统容易受到这些 - 甚至更多 - 的攻击,但Jøsang和Golbeck质疑声誉系统是否必须是完全安全的[11]。他们认为,在大多数情况下,没有动力去攻击网络,而声誉系统的价值在于其他地方。

III. OUR APPROACH
  我们提出了一个基于区块链的通用信誉系统,旨在解决前几代信誉系统未能解决的几个主要挑战,以及防止当前一代信誉系统可能发生的攻击。我们将重点关注此系统在点对点网络上的应用,尽管它也可以轻松部署在经典的电子商务网站上。
  区块链技术是一种新颖的点对点方法,用于将一系列事务或事件链接在一起,使它们不可变。这最初由Nakamoto描述并实施虚拟货币比特币[17]。在比特币中,用户使用与现实生活中很相似的交易来兑换货币。当用户创建事务时,他将其广播给网络中的所有对等体。一组特殊的对等方(称为矿工)收集广播事务并尝试将它们合并到满足加密哈希函数的块中。产生块的过程是计算密集型和概率性的。给定建议的块,每个矿工具有成功产生块的固定且独立的概率,该块满足每个计算时间单位的散列函数。虽然生成块很难,但验证正确的块不是。
  块也通过将前一个块的散列与每个后续块的散列链接在一​​起而链接在一起。因此,攻击者必须控制相当大比例的计算能力(通常为51%)才能产生一个错误的阻止,并且伪造交易回到过去是指数级的难度。
  块(及其交易)的集合在比特币中称为分类账,并且可由任何同行公开检查。因此,对等方可以从任何时间点查看和验证任何事务。
  区块链首先由Nakamoto在描述比特币协议的论文中描述[17]。区块链是自第一个“起源”区块以来所有交易的公共区域。来自比特币协议的每个事务都被广播到网络中维护区块链的所有节点,称为矿工。
  这些矿工检查交易是否有效(例如,发件人有足够的硬币发送),然后将所有有效交易打包成一个区块。所有节点都有区块链的完整副本,并使其保持最新。该块必须包含前一个块的加密哈希,这是用于将区块链中的每个块加密链接到其前一个块的方法,一直回到第一个创建块。一旦块被组装,网络上的所有矿工都会发现寻找随机数的挑战,以便当前块的散列在开始时包含设定量的零。此过程通常称为挖掘。采矿是网络上所有矿工之间的竞争,第一个找到现时并将该已确认的块发布到网络的矿工收到一定数量的比特币。
  在每个块中使用先前的哈希可以防止任何块的内容发生更改的攻击,就好像发生阻塞和所有后续块哈希都不匹配一样。用户能够用来改变先前块中的数据的唯一方法是控制网络上所有计算能力的51%。被称为51%的攻击,这种攻击需要大部分计算能力用于从被改变的块中“重新挖掘”每个块。这将需要大量的计算能力,因为比特币网络目前拥有510,000,000 GH / S [18]的计算能力专门用于采矿,这比世界500强超级计算机的组合强大256倍[19] 。
  正是这个属性使区块链成为一个非常安全的分类账,对控制网络计算能力不到51%的所有对手都是安全的,因为控制51%所需的资源成本将超过潜在的回报。

IV. DESCRIPTION OF OUR APPROACH
  我们提出了一种基于区块链技术的新声誉系统。为了减少当前比特币区块链的负担并减少区块链的膨胀,我们将创建一个全新的区块链,其唯一目的是存储已完成交易的声誉。
  建议的网络有两个目标 - 承受以前记录的对信誉系统的攻击,并提供可以在任何网络中实施的通用信誉系统。
  在对等网络环境中,我们建议通过从交易中删除人类意见来解决量化声誉的问题。我们的系统只存储单维信誉,每个用户为正面交易留下1,对于非满意交易留下0。正交易被分类为用户收到他们请求的文件的交易。
  我们将交易分类为发送一条数据,例如文件,由发件人的私钥签名给请求它的用户。
  在接收到正确的文件时,用户发送包括信誉得分,时间戳和接收文件的散列的事务。然后使用接收方的私钥对该数据进行加密,并将其发送给矿工。这确保了用户留下的声誉基于真实交易,这是当前一代信誉系统中的主要问题。现在不再可能发生不公平的评级攻击,因为现在存在用户发送所请求文件的加密证据,并且用户已收到它。
Rep on the block : A next generation reputation system based on the blockchain 部分翻译
  图1是将发送给矿工的交易格式图
  矿工通过联系交易中涉及的每个用户来检查交易的有效性,并请求签署的证据,其中包含文件散列和矿工发送的随机随机数。这是为了证明每个用户发送/接收文件,但是这确实具有要求用户仍然在线的缺点,以便矿工验证交易。然后矿工将这些经过验证的交易组合成一个其他交易块,然后以与当前比特币实施相同的方法确认它们。图2显示了一些伪代码,详细说明了矿工如何验证交易。
Rep on the block : A next generation reputation system based on the blockchain 部分翻译
  确保用户不能廉价地生成多个身份的方法是将赔偿创建链接到用户的IP地址。IPV4地址的购买成本越来越高,因为它们缺乏可用性。虽然这种方法不能阻止攻击者创建多个身份,但这使得这样做的成本更加昂贵,从而阻止了除了资金最充足的攻击者以外的所有攻击者。
  还评估和测试了基于身份的加密系统,该系统具有基于电子邮件地址生成公钥的能力; 这是一个理想的功能,但是集中式服务器生成所有公钥/私钥的要求使得该选项不适合我们的系统。
  防止Sybil攻击的关键在于防止Sybil攻击的关键,这与我们的网络进入[20]的昂贵成本相结合,使得除了最强大的对手之外的所有人都无法进行Sybil攻击 网络。为了使该系统适用于电子商务网络,发送给矿工的数据将是比特币交易哈希,项目发送者的公钥和接收者的公钥。
  为了减少网络上的恶意交易,我们还提出了一个股权证明系统,其中声誉较低或没有信誉的用户将少量货币(比特币)投入三重签名钱包。三重签名钱包是由三组钥匙创建的钱包,一组来自发件人,一个来自接收者,一个来自公正的第三方。当低信誉用户想要共享文件时,他们通过向钱包设置发送少量货币来证明他们是诚实的,特别是对于此交易; 这意味着如果用户表现不诚实并发送恶意文件,存储在钱包中的金额将被发送到一个池,网络用它作为矿工寻找块的奖励。选择此选项是为了阻止任何用户尝试从此功能中获利。如果交易是诚实地进行的,文件发送者将收到他们回收的金额。
   为了确保在部署初期不会受到51%攻击的影响,我们通过使用合并挖掘来利用比特币网络的强大功能。合并采矿允许比特币网络上的所有矿工在我们的信誉系统上使用其散列功能。这并没有降低比特币网络的散列能力,但确实增加了声誉的总散列能力,从而提高了声誉系统的安全性,就像现在进行51%攻击者需要控制的大部分计算能力一样。比特币和声誉网络。
  除了分布式区块链,它确保每个对等方都拥有区块链的完整副本,消除了以前分布式信誉系统所面临的客户端同步问题,我们还使用“朋友对等信誉”模型。除了将关于交易的所有声誉发布到区块链之外,客户还可以存储之前与之交互的同行的声誉。这可以是多维信誉,例如交易速度,文件质量等。此信息不会发布到区块链,因为它会增加每个交易所需的存储成本,更重要的是从用户的角度看它是主观的。
  我们声誉系统的最后一个组成部分是如何计算每个同伴的声誉得分。声誉分数不会发布在区块链上。与声誉客户端受社区控制的大多数上一代信誉系统不同,我们建议的信誉系统由客户端控制。客户可以根据他们设置的参数计算信誉分数。例如,用户只能查看特定网络上用户的信誉。为了防止共谋攻击,多个用户在他们之间多次交易以便不公平地获得声誉,每个用户将仅基于他们所有信誉得分的平均值被给予信誉得分。这确保了如果两个节点一起进行交易,无论它们是相互发送一个事务还是一千个事务,它们都将获得相同的信誉分数。
  为了使网络具有时间适应性,客户端只能在短时间内对用户进行评级。Josang等人[21]证明用户在过去几天的行为比分析网络上所有以前的行为更准确地指示了用户的未来行为。
  为了选择用户,他们希望从例如用户找到托管该文件的所有对等方下载文件,然后客户端使用来自区块链的数据并使用朋友对等信誉数据来计算每个对等方的信誉。计算最有信誉的同行的名单。仅要求客户端计算一小部分对等体的信誉减少了客户端所需的计算资源。一旦用户计算出最有信誉的客户端,他们就可以初始化下载。这种对等选择方法可以用于电子商务和其他类型的网络。

V. LIMITATIONS , ANALYSIS AND SOLUTIONS
  与任何网络一样,此网络的部署和使用存在一些限制。我们面临的大多数限制都是由于区块链协议体系结构的根本缺陷。
  与大多数网络增长没有上限的点对点网络不同,并且只要新节点加入并保持不变,它将继续增长 在网络中,基于区块链的网络对每秒可处理的事务数量有严格的限制。EBay目前平均每秒处理23,148次信誉交易,但由于要求每隔十分钟开采一个块,并且最大块大小,我们的网络每秒只能处理10次交易。与更传统的上一代信誉系统相比,这显着减少了我们提议的网络能够处理一秒钟的交易。
  如果网络每秒接收超过10个交易,则矿工将*排队将包括在后面的块中的信誉分数。这不仅对依赖网络的用户造成不便,还可能为拒绝服务打开大门恶意串通节点会通过交易向矿工发送垃圾邮件,迫使矿工对这些交易进行计算成本高昂的验证,并迫使真正用户的交易排队和延迟。
   一秒钟内可以处理的事务数量的“硬限制”也限制了网络的增长,并且可能使该应用程序在某些情况下无用。我们将在本节后面讨论此问题的解决方案。全球部署和采用是对信誉系统的有效性和成功率的另一个限制。
  目前,除了上面提到的问题之外,阻止该网络被大规模部署和实施的其他问题是每个节点上所需的资源使得实现这个昂贵,建议的1MB块大小(与 比特币网络)区块链可以以每天144MB的速度增加(每年53GB)。这些属性使具有大量低资源用户的网络(例如移动用户)不太可能实现此信誉系统。这是声誉系统成功的关键部分。
   从声誉系统部署到生效需要几个月的时间,从用户那里获得必要的数据和反馈,这将允许网络上的其他用户就同伴的可信度做出明智的决定。因此,在注意到该声誉系统的全部潜力之前,部署需要几个月的时间。
  虽然我们已经提出了一个解决当前一代信誉系统的许多已知问题的系统,并且使用加密功能来保护它们,但所使用的加密技术中存在未知技术缺陷的风险可能会破坏网络的安全性。
  拟议网络的最终限制是不可抗拒的攻击,例如智能串通攻击。虽然我们已经针对此类攻击提出了对策,但攻击者仍有可能从系统中获利。这种攻击的影响应该很低,并且在实施上述所有对策的情况下,这样的攻击行为非常昂贵,但我们永远无法以100%的成功率来抵御所有可能的攻击。

VI. ANALYSIS OF LIMTAITONS
待续~