捷比信高精密电阻EE / RX / RJ 电阻产品与技术资料联系业务人员

如何避免对比特币和以太坊的双重消费攻击

共识是分布式计算的一个基本问题。尽管每个人都知道无法解决此问题,但现有协议是在各种假设下解决共识。如今,随着区块链的到来,已经提出了各种共识实施方式,以便副本可以就交易顺序达成协议,以更新分布式账本。但是,很少有工作致力于评估其安全水平。结果,有时会误解现有协议,并且通常不清楚实现过程中的问题是由于实现错误还是由于更基本的设计问题引起的。在理论上和实践上,已证明工作量证明区块链(例如比特币和以太坊)容易受到双花攻击。在我的一篇研究论文“从区块链共识到拜占庭共识”中,我讨论了主流的区块链共识算法,并警告在未正确理解共识算法“区块链的危险性”的情况下使用这些领域。以太坊是最受欢迎的开放式区块链系统之一,这要归功于它执行的庞大的分布式应用程序生态系统。但是不幸的是,以太坊协议工作量证明(PoW)是可分叉的,因为它允许将不同的区块添加到链的相同索引中。分叉可能会导致安全漏洞,例如使开销增加一倍而不会引起注意。因此,这种趋势似乎在称为“授权证明”的新协议中重用了拜占庭容错。 (PoA)旨在避免重复支出,最近已集成到部署最广泛的以太坊客户端奇偶校验和geth中,并且已被业界使用。这些称为Aura和Clique的以太坊共识算法实现了PoA,因为它们将块的创建限制在一组固定的权威节点(称为密封器)上。他们的目标是解决众所周知的拜占庭共识问题,即尽管存在拜占庭节点,但固定的一组节点可以在唯一块上达成共识。 PoA授予阻止者密封该块的权利,包括对块进行加密签名。如果一组参与者允许,这组阻止者可能会随着时间的推移而变化,类似于所谓的社区区块链。对于不愿花费大量CPU资源来交换加密货币但更希望避免使用分叉提高安全性的行业,PoA是PoW的一种有吸引力的替代方案。由于这些原因,PoA最近在业界引起了关注。 Amazon Web Services通过内置在geth中的Clique协议为客户提供PoA。像熔岩公司这样的工业公司已经提出了一项跟踪服务,以防止欺诈性伪造。这是在以太坊/灵气上进行的实验。他们实施了一项旨在在多租户场景中维护数据隐私和完整性的服务。微软描述了如何在生产中部署以太坊/光环。他们建议Azure客户在不同区域中部署Aura协议,以提高服务可用性。但是,尚未评估PoA协议提供的安全级别,并且不清楚攻击者是否会损害数据的完整性。随着行业建立在这些协议上,以便在机构联盟中使用以太坊,评估其脆弱性变得至关重要。在新论文“对权威证明的攻击”中,与悉尼大学和CSIRO的同事合作撰写的本文探讨了PoA共识协议和对策的漏洞。本文表明,在某些条件下,PoA是不安全的。我们设计,实施并尝试了一种称为克隆攻击的攻击,该攻击针对以太坊/光环和允许盗窃数字资产的以太坊协议,并提出了缓解此漏洞的方法。我们在专用测试网上部署了两个版本的以太坊PoA,并对这两个协议进行了克隆攻击。一方面,我们发现对于恶意的封闭者而言,Aura需要较少的拓扑知识。与Clique相比,它可以以100%的成功率实现两倍的开销。另一方面,对Clique的攻击速度大约是其两倍,但是根据恶意打包程序的拓扑知识,其成功率从60%到100%不等。因此,尽管以太坊最近引入了拜占庭容错技术,但是当它在财团中使用时,仍然非常容易受到网络攻击。为了弥补这一缺点,我们建议修改这两个共识算法并使其安全。但是,为了解决此缺点,我们引入了一些潜在的限制,即主动派系算法。作为对策,我们提出了一个特别有希望的解决方案-Red Belly区块链。它依靠民主B