城市区块链——系统文献综述

开发技术1年前 (2023)更新 PCweb3
120,957 0 0

第二部分。区块链概述

表 1列出了三种具有代表性的区块链技术及其主要特征,下面将对其进行阐述,以概述该主题。

表 1 代表性区块链技术
Table 1-
Representative Blockchain Technologies

城市区块链——系统文献综述
A. 比特币加密货币区块链
众所周知,区块链概念起源于2008 年某人以中本聪的名义发表的关于比特币的论文[16] 。比特币是一种去中心化的加密货币,并且仍然是当今最重要的区块链应用。据信,发明者创造比特币是为了提供一种替代中央银行控制的货币体系的选择,许多人认为这是 2008 年左右全球经济危机的原因。

典型的区块链由计算机节点的对等网络组成,这些节点维护分散的共享记录数据库。在原始的比特币区块链中,记录包含参与方之间比特币加密货币的转移交易。交易中的每一方都有一个公钥基础设施 (PKI) 私钥和公钥对。公钥的哈希值作为当事人的身份或交易地址。交易各方使用他们的私钥对交易进行签名,之后其他方可以使用签名者的公钥对交易进行验证。交易被广播到网络中的所有对等节点。使用分布式共识机制,对等节点就哪些交易有效以及这些交易发生的顺序达成一致。这些交易被放入一个称为“块”的数据结构中,并提交给共享数据库,形成一条链条,因此得名“区块链”。区块链中的每个区块都有自己的时间戳和一个将其连接到前一个区块的加密散列。块只能添加,不能删除。结果是一个共享数据库,其中包含不断增长的不可变且不可逆的记录列表;区块链上的对等节点可以检测到任何区块信息的篡改。结果是一个共享数据库,其中包含不断增长的不可变且不可逆的记录列表;区块链上的对等节点可以检测到任何区块信息的篡改。结果是一个共享数据库,其中包含不断增长的不可变且不可逆的记录列表;区块链上的对等节点可以检测到任何区块信息的篡改。

1) 工作量证明分布式共识
分布式共识机制对于区块链至关重要,因为它决定了哪个区块可以被接受并插入到链中。这类似于就分布式权力分配达成一致,因为创作接受块的节点(以下称为官方验证器)能够更改其他所有对等方共享的数据库的状态。为了确保这一过程的安全,权力分配必须与一些成本和资源相关联,以防止滥用。原始比特币区块链采用的解决方案称为工作量证明,其中节点必须通过计算复杂的加密难题来竞争。这个谜题的特点保证了三个属性:节点必须投入相应的算力才能完成;成功解决难题的下一个节点是随机的;一个节点关于找到谜题答案的声明可以很容易地被任何其他对等节点验证。然而,另一个问题是,只要遵循相同的过程,攻击者控制的恶意节点也可能被随机选择为官方验证者。一旦选择,恶意节点仍然可以尝试将虚假交易记录块注入区块链。因此,对等节点收到官方验证者提出的区块后,还有一个后续的隐式共识步骤。在这一步中,对等节点可以验证接收到的新块中的交易,如果检测到其中有任何异常(例如链接的哈希值不一致,或者交易签名和身份不匹配),它们可以保持先前的状态区块链而不接受新区块。否则如果一切顺利,节点确认新区块并接受更新后的区块链。块被拒绝的可能性随着它从不同节点接收到的接受确认的数量呈指数下降。在一定数量的确认(例如,比特币的情况下为 6)之后,该块被认为永久提交给区块链。

2) 加密代币经济学
除了使用分布式共识机制来防止节点行为不端之外,区块链还可以使用加密令牌资产来主动激励所需的节点行为。特别是,每当官方验证器引入一个被区块链接受的有效块时,它都会因其在验证和打包新交易块方面所做的努力而获得一些加密代币奖励。这种奖励加密代币可以在将新区块插入区块链时创建(挖掘)(该过程称为加密代币挖掘),也可以由区块中交易的发起者作为服务费支付。但是,如果官方验证者试图引入一个包含无效交易信息的区块,该区块可能会被区块链中的对等节点拒绝。

在比特币区块链中,对应的加密代币是比特币。比特币的价值建立在其作为货币支付方式的效用及其对未来价值的预期升值之上,从而导致加密代币和法定货币之间的流动性市场。这实质上是围绕比特币创建了一个加密代币经济模型。

B. 从加密货币到一切
区块链的概念很快从加密货币扩展到通用业务领域。

1)以太坊和智能合约
以太坊[17]代表了区块链领域继比特币之后的下一个重大飞跃,它全面支持智能合约。合同是我们市场经济的基本组成部分,它定义了企业和个人之间的关系。智能合约概念最初由 Szabo 于 1994 年提出,他指出“智能合约设计的总体目标是满足常见的合约条件,最大限度地减少恶意和意外的异常,并最大限度地减少对可信中介的需求 [33 ]”。为了实现这些目标,可以将表达业务逻辑的智能合约条款编码为计算机程序,并通过基于计算机的系统自动执行。自动售货机通过执行接受硬币并返回相应商品的简单交易来承载智能合约的原始形式。

对于通用智能合约,区块链可以说是一个完美的基础设施,因为它提供了一个透明和可追溯的平台,允许各方在没有中介的情况下相互进行无信任交易。在这种范式中,智能合约是以底层区块链平台支持的语言编写的计算机程序。程序根据合约中指定的触发条件自动执行。这些条件可以是交易或与其他智能合约交互的结果。条件也可以由外部事件触发。由于智能合约没有直接与外部系统交互的本地方式,因此 Oracle 服务充当桥梁,为智能合约提供外部系统的单一真实视图。

与传统合约相比,基于区块链的智能合约的关键特征可以概括为三个方面。首先,在区块链上运行的智能合约完全由计算机代码管理,不受任何中央实体的控制。其次,修改已部署智能合约的唯一方法是在所有相关方同意的情况下创建一个新合约。旧的不能简单地缩回。第三,建立多方协议需要多个条件,具有成本效益,具有很大的灵活性。

智能合约也可以建模为状态机[34]。执行后,跨网络节点的状态将持续更新;区块链的共识过程实现了这一更新,因此有人将区块链比作智能合约的操作系统[35]。

以太坊是最著名的运行智能合约的区块链平台。它在设计上具有集成的图灵完备计算机语言,这意味着它可以支持任何类型的通用程序。代码的执行是通过虚拟机进行的,并通过其原生的以太加密代币支付“gas”费用。收取gas费是为了防止计算机系统被滥用而进入死循环。相比之下,原始的比特币区块链提供的脚本功能非常有限,并且只能支持基本的智能合约(如果有的话)。但这可能是比特币设计者有意为之,因为加密货币应用程序不允许任意可编程操作以降低安全风险是合理的。

2) 通用加密代币系统
随着智能合约广泛开放可能的区块链应用范围,区块链中加密令牌的含义也从数字货币演变为代表任何可交易资产,从电影票、忠诚度积分、公司股票等可替代商品到不可替代商品软件许可证之类的东西。这些代币的使用使编程资产交换成为可能,并使业务逻辑的执行更加容易。出于这个原因,以太坊等区块链提供了标准机制来促进代币发行、分配和交换,包括用于可替代资产的 ERC-20 代币 [36]和用于不可替代和不可分割资产的ERC721 代币[37] 。

加密令牌的扩展作用伴随着适当的令牌经济模型。两种常见的模型是实用性和安全性。在效用模型中,通证提供效用价值。例如,以太币在基础设施层面作为以太坊平台交易费用的支付方式,比特币在应用层面可以作为资产交换的支付方式。在安全模型中,加密令牌的功能类似于证券。在基础设施层面,他们可以授权其持有人获得区块链的采矿权,或对平台发展方向的投票权,或与平台分享的利润(例如,来自交易费用)。在应用层面,去中心化自治组织持有的加密代币可以代表组织中的治理权。

无论效用或安全模型如何,加密令牌作为激励的功能仍然在许多区块链应用程序中得到延续。除了像在原始比特币区块链中那样提供基础设施级别的激励措施来保护网络,这些激励措施也适用于应用程序级别,例如,促进可持续性的用例可能会奖励参与者使用环保交通方式。

3) 权益证明分布式共识
在分布式共识空间中,针对比特币的工作量证明机制的普遍抱怨,已经有很多发展,具体来说,由于密集的计算要求,它消耗了太多的能量。一种流行的替代方案被称为权益证明。它根据每个节点持有的网络价值的比例股份选择节点作为官方验证器,从而消除计算成本。但股权证明机制有其自身的问题,特别是“无风险”问题,在发生冲突时可能会阻止区块链收敛并导致分叉链;以及“远程攻击”问题,其中最长的链分叉可能会被从创世块重建的链所取代。有各种努力试图解决这些缺点。例如,委托权益证明方法让节点选择委托节点作为新块的指定验证器,如果这些节点表现不当,可能会被否决。虽然委托权益证明对原始权益证明机制的问题更具弹性,但它也降低了系统的去中心化程度。

C. 从无许可到许可
在比特币区块链模型中,任何节点都可以加入和参与点对点网络,因此被称为无许可区块链。它类似于互联网模型,几乎任何节点都可以连接并成为其中的一部分。以太坊区块链也属于无需许可的区块链范畴。随后,区块链社区引入了许可区块链模型。许可区块链的提议来自不同的心态,更适合工业联盟或企业环境。它使参与者能够在加入网络之前获得授权,并在网络中分配与其各自身份相匹配的适当功能特权。如果区块链的每一次参与和访问都需要被控制,那么它也被称为私有区块链。

1)拜占庭容错分布式共识
免许可区块链中的共识机制通常具有竞争性。这是因为这些区块链中的节点彼此不信任,让它们投入一些股份(例如,计算机能力、经济成本)以参与共识结果可以保护网络的安全。在许可的区块链中,新区块的官方验证者是已知的。这开辟了分布式共识协议可能性的广泛集合。一个流行的系列是基于具有拜占庭容错的状态机复制[38],它有能力在存在一定数量的恶意或故障节点的情况下成功运行。在典型的实际拜占庭容错环境中,节点分为客户端和验证器。验证器管理公钥基础设施身份和证书颁发机构。客户将他们的交易发送给主验证器,主验证器又将信息广播给其他验证器。这些验证器处理交易并将响应发送回原始客户端。客户端从所有验证器收集至少三分之一的相同结果以确认交易。这种机制可以实现更高的性能,与原始比特币区块链中每秒 7 笔交易相比,吞吐量约为每秒数万笔交易。尽管如此,[34],它通常只适用于节点数量相对较少的系统[20]。

Hyperledger Fabric [18]是一个著名的许可区块链,为共识过程提供多种算法选项,包括拜占庭容错算法。

2) 智能合约
在智能合约方面,许可区块链也可能提供完整的智能合约功能,例如 Hyperledger Fabric 区块链,或者它们可能仅提供有限的功能,例如 MultiChain 平台 [39 ]。

3) 加密代币模型
在无需许可的区块链中,加密代币模型为分布式和无信任个体之间的经济联合、共同利益和协调创造了机会[35]。区块链上的代币持有者自然对特定加密代币及其支持其效用或安全价值的底层区块链基础设施的成功具有既得利益。

相比之下,许可区块链对节点参与有集中控制。他们通常不需要将加密令牌类型用作维持区块链基础设施的激励措施,即使特定于应用程序的令牌仍然适用。

D. 区块链安全
点对点区块链网络会带来重要的安全风险,尤其是在任何人都可以加入的无需许可的情况下。区块链的一些最重要的漏洞如下:

双重支出:在比特币类型的加密货币支付网络中,恶意方可能会尝试同时向两个不同的方支付相同单位的加密货币。这称为双花攻击。一般来说,网络需要确保一旦其中一笔交易被接受,另一笔交易将被拒绝,以防止双重支出。

Sybil 攻击[40]:恶意方可以创建许多完全由他自己控制的节点,以增加他被选为官方验证者并控制区块链的机会。这个问题就是为什么需要资源来参与验证器选择,并提供加密令牌激励来鼓励正确的行为。

51% 攻击:攻击者可能通过试图获取压倒性的资源来破坏区块链。在工作量证明的情况下,拥有 51% 的算力将控制超过一半的区块验证者机会,也显着提高其他攻击(如双花)的成功可能性。一个足够大的网络可以通过启动它所需的大量资源来阻止 51% 攻击。

拒绝服务攻击:恶意节点可能拒绝将有效交易添加到区块链中,实质上拒绝向特定交易方提供服务。区块链的去中心化网络架构减轻了这种风险。由于交易信息被广播到所有节点,如果交易有效,希望至少有一些节点会处理它。

© 版权声明

相关文章

暂无评论

暂无评论...