本文是对《State-of-the-art solutions of blockchain technology for data dissemination in smart cities:A comprehensive review》的中文翻译。

智慧城市数据传播区块链技术的最新解决方案:全面回顾

  • 摘要
  • 1. 引言
    • 1.1 相关综述文章
    • 1.2 数据传播的数据管理
    • 1.3 范围和动机
    • 1.4 贡献
    • 1.5 组织
  • 2. 智慧城市综述
    • 2.1 智慧城市介绍
      • 2.1.1 智能交通
      • 2.1.2 智慧医疗
      • 2.1.3 智慧教育
      • 2.1.4 智慧能源
      • 2.1.5 智慧建筑
    • 2.2 使能技术
      • 2.2.1 物联网
      • 2.2.2 无处不在的连接
      • 2.2.3 传感器
      • 2.2.4 云/边缘计算
      • 2.2.5 大数据
  • 3. 区块链技术回顾
    • 3.1 区块链的基础
    • 3.2 区块链特点
      • 3.2.1 功能特点
      • 3.2.2 涌现特点
  • 4. 研究方法
    • 4.1 研究问题
    • 4.2 数据源
    • 4.3 搜索策略
    • 4.4 筛选
  • 5. 区块链在智慧城市中应用的最新进展
    • 5.1 智慧城市中的区块链
    • 5.2 智能交通中的区块链
    • 5.3 智慧医疗中的区块链
    • 5.4 智慧教育中的区块链
    • 5.5 智慧电网中的区块链
    • 5.6 智慧建筑中的区块链
    • 5.7 区块链智慧城市系统中的安全需求
  • 6. 区块链集成到智慧城市中
    • 6.1 智慧城市挑战
      • 6.1.1 结构挑战
      • 6.1.2 安全挑战
    • 6.2 在智慧城市中采用区块链的动机
    • 6.3 区块链集成到智慧城市中的提出架构
  • 7. 开放研究问题与未来方向
    • 7.1 区块链智慧城市框架
    • 7.2 现有工作的共识协议
    • 7.3 安全与效率的平衡
    • 7.4 扩展性
    • 7.5 大数据的复杂性
  • 8. 结论

摘要

引入了智慧城市的概念,以解决城市化的不足。智慧城市中技术援助被视为缓解这些挑战的关键举措。然而,技术暴露给智慧城市的传统集中数据传播方案带来了挑战性问题。因此,智慧城市正在通过实施区块链技术向去中心系统过渡。本文对区块链在智慧城市数据传播中的适用性进行了广泛调查。我们关注智慧城市中的交通、医疗、教育、能源和建筑等智慧组件,并分析这些组件与区块链集成的最新工作。我们讨论了现有文献的优点和缺点,并评估了性能效率以及实现的安全和隐私程度。通过分析,我们设计了一个使用区块链技术的安全智慧城市数据传播框架。据我们所知,这是文献中第一个可用于指定未来区块链智慧城市数据传播方案的综合抽象,包括参与实体。最后,我们提出了开放的研究问题和挑战,并讨论了未来的研究方向。

1. 引言

世界正在迅速城市化。联合国预测,到2050年,全球68%的人口将生活在城市;从2018年的55%增加而来。城市人口的增长给城市的可持续性及其服务管理带来了巨大挑战。随着人口增长,城市交通拥堵、能源消耗、公共安全、教育和卫生服务等问题变得更加严重和突出。如果没有适当的城市管理和规划,就难以实现可持续发展和高效服务。智慧城市的概念旨在通过利用技术解决方案来提高城市服务效率以及市民的生活体验,从而应对这些快速城市化挑战。如图1所示,智慧城市的架构可以通过多个组件的组合来描述。本综述中考虑的主要组件包括智能交通、智慧医疗、智慧教育、智慧能源和智慧建筑。这些组成部分中的每一个都共同致力于实现智慧城市。
尽管智慧城市提供了诸多好处,但安全是其发展的主要关注点。智慧城市利用大量设备传播大量数据。数据传播是智慧城市实际部署的必要要求之一。需要一个安全可靠的数据传播方案,以确保向终端用户传输大量智慧城市数据,同时实现安全和效率之间的最佳平衡。如果智慧城市数据发布框架薄弱,可能会发生严重的数据泄露。单点故障能够使整个系统瘫痪。传统的智慧城市框架依赖于一个集中式系统,由于中央服务器对网络中的所有设备执行所有操作和控制,因此存在这个问题。此外,受信任的第三方集中参与可能不可靠,因为它容易受到欺诈和滥用。第三方可以在未经授权的情况下更改和操纵数据。此外,集中式系统成本较高。随着网络中智能设备数量的增加,中央服务器的部署和维护需要更高的成本。
区块链技术为克服集中式系统面临的挑战提供了机会。区块链是一种去中心化的分布式账本技术,由不同联网计算机中的计算节点组成,这些节点验证并将交易记录到共享数据库(账本)中,取代了对中央机构的需要。经验证的交易可能涉及双方之间交换加密货币、数据、合约或其他信息。区块链的去中心化功能有助于促进智慧城市的发展,因为出于安全考虑,信任不再被置于一个中央机构。区块链在无信任环境中运行,其中对等节点网络通过达成共识来验证交易。共识协议是区块链架构最重要的组成部分之一,因为它执行区块链操作以确保数据正确性和完整性。
最近,研究人员对研究区块链与智慧城市以及每个智慧城市组成部分的整合产生了极大兴趣。本文旨在对主题发展进行深入调查,并讨论智慧城市数据传播区块链应用的研究问题。我们进一步深入分析了智慧城市的各个组成部分如何与区块链集成,并概括了其集成,提出了利用区块链技术的智慧城市数据传播框架的抽象。

1.1 相关综述文章

最近已有几项调查从不同范围和角度(包括基础设施和基于应用的目的)审查了智慧城市中区块链技术的实施情况。现有工作的搜索方法侧重于解决智慧城市安全问题的区块链技术应用。介绍了与区块链集成的智慧城市的组成部分,包括智能交通、智慧能源、智慧教育、智慧医疗,智慧建筑、智慧市民、智慧通信、聪明服务、智慧经济、智慧治理、智慧建造,水和废物管理和供应链管理。在我们的调查中,我们重点关注五个组成部分,即智能交通、智慧医疗、智慧教育、智慧能源和智慧建筑,因为这些是当前的兴趣和最先进的研究。
在之前的调查中,[11]的工作调查了智慧城市领域采用区块链技术的情况,并整理了研究问题和挑战。同时,在[16]中的工作回顾了区块链解决智慧城市安全问题的潜力。然而,[11,16]中的讨论并未强调现有工作达到安全要求的程度。Shen等人对城市区块链进行了系统的文献综述,将之前的工作分为两类方法:基于角色的方法和基于商业模式的方法。在基于角色的方法中,强调了区块链在实现城市可持续发展目标方面发挥的三种角色:使能者、改进者和变革者。同时,基于业务的方法描述了区块链在智慧城市中实现的商业模式:不可变记录、访问控制、集体决策和点对点市场。[14]中的工作确定并分类了区块链技术在智慧城市中实施的特点和关键要求。它进一步讨论了使用区块链技术保护智慧城市的研究挑战。Ahmed等人探讨了智慧城市应用中的障碍和挑战,并确定了区块链在缓解智慧城市挑战方面的潜在好处。Kumari等人分别强调了区块链的潜力,重点关注智慧能源、智能交通和智慧医疗的组件,并为这三个组件提出了基于区块链的架构。
尽管上述综述为智慧城市区块链技术提供了坚实的基础,这些综述存在以下局限性:(1)没有关于如何将区块链纳入智慧城市的一般框架,包括参与实体;(2)没有明确的研究讨论如何将每个组件相互关联,以建立实施区块链技术的智慧城市系统。本文的创新之处在于构建区块链智慧城市数据传播框架,该框架将类似的架构属性封装在智慧城市的组件中。我们系统地研究、观察、比较和分析现有区块链智慧城市方案中使用的不同机制,从而形成框架的一般抽象。据我们所知,该框架是文献中第一个作为未来区块链智慧城市数据传播方案设计概念模型的结构。它确保未来的构建在设计方案时考虑所有重要阶段。这是必要的,因为我们在文献中确定了一些现有工作,这些工作没有提供区块链应用程序的完整构建。我们进一步提供了一项全面和透彻的研究,探讨了先前调查的优势和局限性。表1显示了先前关于区块链智慧城市整合的综述与我们提出的综述的相对比较。

1.2 数据传播的数据管理

数据管理是将数据作为有价值的资源进行处理和组织的过程。在传统应用场景中,数据管理涉及管理本地数据库中的数据或将数据外包给不同的网络架构,包括云存储系统和对等网络系统。在采用这些外包数据方法时,安全和隐私问题一直是重要的问题之一。云存储系统需要高水平的数据完整性,因为它依赖于可能容易实施欺诈的单一网络机构(即云服务器)。在系统扩展时,它还可能需要存储空间和维护的持续成本。同时,对等网络系统需要网络中的每个对等体之间的强相互认证,因为这些对等体在没有中央权威的情况下彼此建立通信。智慧城市的数据管理需要不同的网络架构,因为它涉及处理大量数据以优化其运行。区块链通过提供可扩展环境和通过共识机制建立分布式通信,成为智慧城市的一个有前景的解决方案。
此外,区块链可以为外包数据提供安全的数据管理解决方案。文献中有几篇文章提出了基于区块链的安全存储系统。[28]中的工作是在比特币中嵌入日志语句,用于交易的不可变记录。[26]中提出了一种基于时间戳方案的扩展方法,使外包数据与[28]中的日志语句相比具有更高的时间敏感性。[27]中的工作利用区块链辅助的速率限制机制来增强云平台中的存储服务。在[25]中可以观察到另一种基于区块链的云存储服务方法,其中该方案使用区块链来存储每个验证结果,从而实现外包数据的完整性和云中的最小存储成本。[29]中的工作引入了一个名为Hawk的智能合约系统,该系统存储链外的金融交易,从而最大限度地降低链内成本,并进一步保护交易隐私的可见性。
智慧城市的数据管理采用了三个主要元素的组合:数据采集、数据处理和数据传播。数据采集是根据标准、质量和用途收集智慧城市数据的过程。这对于确保根据智慧城市的应用和需求收集大量数据至关重要。数据处理涉及将智慧城市数据转换为有意义的输出。用于执行转换的平台实例包括机器学习算法、深度学习和实时分析。数据传播允许用户向最终用户传播智慧城市相关信息,以获得城市服务的实质性好处。在我们的工作中,我们将重点放在数据传播上,因为由于智慧城市中不同类型的通信方的参与,需要解决安全和隐私问题。
文献中使用了不同的术语用于数据传播。例如,[32,33]中的工作使用了数据共享的术语作为其框架。我们观察到[32,33]中的数据共享具有类似的数据传播结构,允许智慧城市中不同实体之间的通信通过网络传输数据。构建开始于智慧设备发送数据进行验证,然后将其分发给最终用户使用。数据采集和数据处理在文献中也有不同的看法。数据采集在[5]中被视为数据收集,而数据处理在[34]中被称为数据分析。我们将这些匹配属性归类为语义,因为它们为智慧城市服务的目标和目的相同。

1.3 范围和动机

本文的范围是关注智慧城市数据传播的安全区块链建设。本研究不包括讨论中基于基础设施的开发,而是侧重于智慧城市中区块链集成的安全性和效率。我们专注于智慧城市中的智能交通、智慧医疗、智慧教育、智慧能源和智慧建筑的组成部分。本文的动机总结如下:

  • 安全高效的数据传播是智慧城市区块链可靠部署的主要要求之一。不安全的结构可能导致严重的数据泄露。相反,安全系统为使用智慧城市应用程序的市民提供了满意度。
  • 智慧城市数据传播的区块链集成相对较新。现有文献尚未探索智慧城市组件之间的整合方法,以利用区块链技术概念化安全的智慧城市框架。因此,对组件集成进行剖析的调查对于在智慧城市中架起安全数据传播概念的桥梁至关重要。

1.4 贡献

本文的主要贡献如下:

  • 我们简要概述了智慧城市和区块链技术,其中强调了这两种新兴技术的核心背景、特点和关键要素。
  • 我们提供了关于智慧城市数据传播的各种现有区块链应用及其各个组成部分的广泛文献综述:智能交通、智慧医疗、智慧教育、智慧能源和智慧建筑。我们分析了这些先进方案的优缺点,仔细研究了之前工作中采用的技术,讨论了性能问题,并讨论了智慧城市中区块链安全部署所需的安全和隐私要素。
  • 我们根据分析确定这些组件之间的类似架构属性。然后,我们根据识别的属性设计并提出了一个利用区块链的智慧城市框架。该框架可作为构建未来区块链智慧城市数据传播方案的指南。据我们所知,这是文献中提出的第一个全面框架,将区块链在智慧城市中的安全集成概念化。
  • 我们讨论了智慧城市区块链技术未来可能的研究方向和开放研究问题。

1.5 组织

本文的其余部分组织如下。第2节介绍了智慧城市的背景。第3节介绍了区块链技术。第4节介绍了我们的研究方法。第5节讨论了智慧城市组件中区块链实施的广泛回顾。第6节介绍了我们提出的区块链如何融入智慧城市的框架。第7节讨论了智慧城市区块链的开放研究问题和未来研究方向。最后,第8节总结了本文。我们的调查结构如图2所示。

2. 智慧城市综述

在本节中,我们首先概述了智慧城市,包括第2.1节中的定义和组成部分。然后,我们在第2.2节中总结了智慧城市的使能技术。图3说明了智慧城市路线图背景。

2.1 智慧城市介绍

智慧城市的概念在文献[36-42]中有不同的定义。在[36,37]中,该定义表示使用信息和通信技术(ICT)来实现智慧城市效益。“智慧城市”的定义是指承诺通过利用信息和通信技术提高公民生活水平及其运营和服务效率的城市。在[37]中,智慧城市被描述为旨在通过应用ICT改善城市的物理、社会和商业基础设施的城市。[38]中提出了一种不同的观点,认为智慧城市没有绝对的概念,而是被解释为创建可持续和有弹性城市的过程。在[39]中,智慧城市被视为管理经济、人民、政府、交通、环境和生活等多个部门发展的城市。与[36,37,40–42]中的定义相反,该定义侧重于将ICT应用于物联网(IoT),以增强智慧城市运营和服务。[40–42]中的定义符合我们提出的框架中的智慧城市定义,因为它强调物联网作为主要底层技术的使用。尽管文献中对智慧城市的定义各不相同,但智慧城市的主要目标是相似的,即提高其服务质量,从而提高其公民的生活质量。
智慧城市由几个组成部分组成。这些组成部分共同作为城市的一部分,以实现智慧城市愿景。术语“组件”在文献中的使用有所不同。大多数论文使用术语“应用”,而其他一些论文将其描述为“组件”、“方面”和“部门”。本文中,我们使用术语“组件”“为了更好地理解。尽管如此,所有术语都具有相似的含义和目的,其中每个组成部分都是智慧城市的重要组成部分,相互补充,以实现智慧城市的目标。本次综述中感兴趣的主要组成部分包括智能交通、智慧医疗、智慧教育、智慧能源和智慧建筑。我们定义了组件如下。

2.1.1 智能交通

随着城市人口的增加,对人员和货物运输的需求不断增加。这进一步导致道路上的车辆数量增加,导致更多的道路交通问题,如道路事故、空气污染和交通拥堵造成的燃料浪费。智能交通旨在通过整合多个实体,包括车辆、路边基础设施和行人,提高交通安全和效率。车辆和路边基础设施配备了智能传感器设备,使其能够连接到周围环境并共享实时信息,以提醒其他道路使用者注意危险道路状况和前方交通。同时,行人依靠智能手机优化安全信息。收费区的交通效率问题通过使用收费传感器来解决,该传感器识别接近车辆并自动从车辆所有者账户中扣除收费金额。这解决了长排队和燃料浪费的问题。自动车辆或自动驾驶车辆也是智能交通的一部分,在智能交通中,它使用共享的道路信息绘制更安全、更高效的路线,将车辆引导至目的地。在本次综述中,我们将智能交通视为涵盖上述应用的总括术语;道路安全意识、交通效率和路线优化。

2.1.2 智慧医疗

智慧医疗通过将传统医疗系统转化为更高效、更便捷和更个性化,提高了医疗服务质量。它促进医疗领域各方之间的互动,包括医生、患者、医院和研究机构。患者的健康状况可由其医生使用可穿戴设备实时监控,以使其各自的医生能够远程响应任何异常或医疗需求。这种实时健康监测不仅可以有效地获得正确的诊断,从而进一步减少住院治疗的需要,还可以在发生医疗紧急情况时挽救生命。此外,智慧医疗提供了更好的通信和方便的医疗记录访问。电子健康记录(EHR)的使用能够在医疗专业人员之间传输患者的数据,无论他们在何处,从而减少患者等待时间。收集到的数据也可用于统计研究,这将支持未来引入更好治疗的医学研究。

2.1.3 智慧教育

传统的教育模式主要被称为使用传统设备(如黑板和粉笔)的课堂学习,被批评为缺乏灵活性,不太适应当今社会的需求。智慧教育提供了一种范式转换,为教师和学习者提供更好的教学和学习体验。首先,它允许在地点和时间方面灵活地进行教学。先进的学习工具,如在线虚拟教室,可用于共享学习材料,使学习者能够随时随地获得教育质量,从而使他们能够按照自己的节奏和风格学习。此外,智慧教育提高了物理学习的互动性和响应性。例如,配备智能技术的白板能够记录课堂上的所有笔记,并在课后立即通过电子邮件将笔记发送给学生。这有助于学习者参与并专注于学习,而不必担心在黑板上漏掉一点。所有年龄段的人都可能受益于这种容易获得和有趣的教育经验。

2.1.4 智慧能源

随着城市人口的增长,对能源的需求增加。智慧能源通过调整生产以适应需求来管理能源流动,以实现可持续的未来。能源管理涉及消费者和供应商之间的通信,部署智慧电网和智慧电表。智慧电网是一种电网,它集成了变电站中的信息和通信技术,以实现发电厂和终端用户之间的电力和数据双向交换。同时,在用户端安装智慧电表以记录能耗,并定期将读数发送给供应商。这种实时连接旨在平衡供应和需求,从而使过程中的能量损失和误差最小化。供应商能够更有效地管理建筑物的能量流,同时消费者能够跟踪其能量消耗,从而做出明智的成本降低决策。智慧充电是消费者和供应商之间双向通信的另一个例子。当在供应商管理的充电站插入电动车辆时,充电运营商平衡提供给车辆的能量和建筑物中的其他设备。这可防止充电运营商超过建筑物的最大能量容量。同时,从供应商方面来看,能源供应可根据负载需求进行控制。这种对消费者和供应商能源消耗的实时跟踪提高了能源生产和分配的效率。

2.1.5 智慧建筑

智慧建筑使建筑管理局能够在任何时间和任何地点完全控制和接收建筑运行的即时更新,包括供暖、通风、空调、照明、安全、火灾报警和其他系统。例如,照明、空调和加热可远程调节或基于存在检测。火灾警报能够实时报告建筑物内发生的持续火灾。故障设备可以立即识别,因此可以及时更换。智慧建筑的目标是最大限度地提高电力和成本效率,并为建筑的居住者提供更舒适、更安全和更高效的环境。这与传统建筑物中的操作相反,因为每个系统单独安装和操作,因此效率较低。智慧建筑中的系统配备传感器,并集成到一个中央命令中,使建筑更易于操作。文献中的一些工作探讨了智慧建筑和智慧能源的应用范围。当方案集中于提高能源效率的一个共同目标时,考虑智慧能源建筑集成。然而,当方案被设计用于解决更广泛的目标时,需要单独的架构模型。例如,除了能源效率之外,智慧建筑旨在实现访问控制政策,而智慧能源要求消费者和供应商之间的负载平衡。

2.2 使能技术

智慧城市的构建块不完全依赖于组件,还依赖于底层技术的使用。我们对每个智慧城市赋能技术的描述如下:

2.2.1 物联网

根据[64],物联网(IoT)是一种连接物理和虚拟“物”的全球网络基础设施,以提供基于不断发展的信息和通信技术(ICT)的先进服务。物理物通常被称为物联网设备,物联网设备是装备有传感器的物理设备,使得它们能够在网络中通信。同时,虚拟物是可以从物理物接收数据以存储、分析和处理数据以便获得操作设备的有用见解的软件应用。在智慧城市中,参与网络通信的物联网设备称为智能设备。智慧城市中的通信可能发生在智能设备之间,从智能设备到软件应用,以及软件应用之间,这取决于系统目的。物联网的主要目标是生成能够实时自我报告的事物或设备,与依赖人工干预的系统相比,实现更有效的信息获取方式。万户互联(IoE)作为物联网的附加值引入,因为它提供了人、过程、数据和事物之间更广泛的连通性概念。思科首次将IoE定义为下一代互联网。由于其智慧连接,IoE成为统一城市基础设施、市民、事物和数据的覆盖层。换句话说,IoE创建了一个数字化环境,其中具有不同能力的不同设备感知周围环境并进行数据交换通信。连接的一个实例是车辆、可穿戴设备和路边基础设施之间的连接,它们能够报告道路上的实时事件。通过路边基础设施连接的车辆可以向最近的医疗保健提供者发送救护车信号,而事故中佩戴可穿戴设备的人员可以向类似的紧急医疗服务报告其当前状况。

2.2.2 无处不在的连接

无处不在的连接性被定义为提供无地点或时间限制的恒定互联网连接的能力。物联网的先决条件是实现智慧城市中异构物或物联网设备之间的无缝无线通信。有两种类型的无线通信网络;ad hoc和基于基础设施。自组织通信的实例包括WLAN(WiFi)、红外、ZigBee和蓝牙。同时,基于基础设施的无线通信是蜂窝网络、数字视频广播(DVB)和WiMax。智慧城市中设备的连接依赖于不同类型通信网络的组合。WLAN使诸如计算机、笔记本电脑或家用电子设备之类的设备能够连接到网络,而ZigBee为诸如家庭自动化或医疗设备之类的低功率设备提供连接。完美和可扩展的连接是一项基本要求,因为大量设备被用于给智慧城市提供好处。

2.2.3 传感器

每个物联网设备的核心都是传感器。传感器是一种将来自其环境的物理输入转换为可由人或机器解释的信号的设备。与互联网连接时,智慧城市中的传感器嵌入物联网设备中,以从其环境中收集数据,并将数据发送至软件应用程序进行分析和处理。从分析中获得的见解被转换为终端用户的效用信号。例如,当配备物联网传感器的火灾报警器检测到建筑物中正在发生火灾时,用户在电话上收到警告通知。智慧城市的每个组成部分都采用了传感器,利用物联网设备收集和交换数据。引入了感知即服务(SaaS)模型,以实现传感器服务,包括存储和销售传感器数据。该传感器销售服务可能使感兴趣探索传感器数据用于研究和商业目的的传感器数据的消费者受益。

2.2.4 云/边缘计算

云计算是通过互联网交付计算系统资源。这些资源包括网络、服务器、应用程序、存储、分析和服务。集中式智慧城市框架利用云计算作为数据中心来处理、分析和存储智慧设备生成的数据。当大量数据从设备来回传输到数据中心时,可能会出现网络延迟,从而对带宽造成压力。引入边缘计算来解决网络延迟问题。它使数据计算和处理能够在靠近数据源的网络边缘执行。因此,边缘计算允许智能设备更快、更有效地响应。然而,在边缘网络中不可能进行大规模数据分析,因为边缘设备仅累积本地数据。将边缘计算与云计算相结合,提供大数据分析和实时处理。

2.2.5 大数据

术语“大数据”指的是需要管理的大量数据,以便发现模式和其他有用信息。大数据可以根据以下四个属性进行分类:数据量、速度、多样性和准确性。数据量是从数据源收集的数据量。据估计,每天创建的数据量为2.5万亿字节。多样性是指以照片、视频、音频和监控设备形式提供的数据的类型或性质。将数据分类可以有助于使数据分析更有效。速度是数据生成或处理的速度。高数据流使决策过程更快。准确性是数据的不确定性。它有助于过滤不确定和不一致的数据,以提供数据质量。智慧城市利用大数据改善其服务,优化运营和基础设施,以提高生产力和市民的舒适度。

3. 区块链技术回顾

在本节中,我们将在第3.1节中介绍区块链技术,并在第3.2中总结其特点。

3.1 区块链的基础

区块链是分布式账本技术的一种形式,它存储所有提交的数字交易,这些交易通过独立节点网络验证,并就附加到账本的交易达成一致决定,从而消除了对集中式权限的需要。术语区块链指的是其结构。表示区块链网络中一组已验证交易的“块”以特定的列表顺序相互链接,称为“链”。图4示出了包括多个按时间顺序连接的块的示例性区块链。在满足以下四个过程(如图5所示)后,将块添加到链:
•当用户使用其数字签名签署交易并将其广播到对等(P2P)计算机网络(通常称为交易验证节点)时,交易启动。交易记录信息,如发送方、接收方、交易数据和发送方的数字签名。
•收到签名交易后,节点通过验证发送方的数字签名来验证交易的有效性。在同一时间间隔内验证的事务被聚合并分配到一个块中。该块在其块头中存储其他信息,如时间戳(生成块的时间)、nonce(为块生成有效哈希的输入值)和先前哈希(对先前块的引用)。
•节点通过随机选择随机数来生成块的有效哈希,以使用加密哈希算法执行散列操作。哈希是块的唯一标识,因为没有两个块具有相同的哈希值。通过将前一块的哈子附加到其块,将新块链接到其前一块。这种链接结构确保了事务的完整性,因为对事务的任何修改都将导致块哈希的改变,并进一步改变链中所有后续块的哈希。
•在生成块的有效哈希后,节点将其块通知P2P网络进行块验证。其他节点验证块是否包含与前一块匹配的验证事务和哈希。如果所有检查都成立,则每个节点都会将此块添加到自己的区块链中。这是网络中节点之间达成共识的阶段。
最初的区块链概念于2008年由一个名为中本聪(Satoshi Nakamoto)的假名引入,作为知名数字货币(加密货币)比特币交易的分类账本。比特币设计激发了其他区块链应用的诞生。如今,区块链已经发展到提供更广泛的应用,包括商业和公共部门。以太坊和Hyperledger Fabric是两个领先的平台,它们在提供区块链智能合约分散应用程序方面获得了极大关注。实施这两个平台可以帮助企业和公共部门提高效率,提供数据安全,并通过消除对中介机构(如中央当局)的需求来降低运营成本。然而,由于Hyperledger Fabric的共识架构不依赖于单个加密货币挖掘,因此研究界对Hyperledge Fabric是否可以归类为通用区块链平台存在争议。相反,Fabric依赖于认可同行的支持来建立共识。在我们的工作中,我们将假设Fabric被视为区块链,因为文献中的共同假设将其归类为许可的区块链框架。
智能合约是区块链分散应用的一个进步,因为它用于实现更复杂的可编程交易。智能合约的概念最早由Nick Szabo在20世纪90年代提出,作为能够执行合约条款和条件的计算机化协议。智能合约嵌入区块链,使交易方能够根据合约的各个方面执行交易。一旦满足合约中的条件,合约交易将根据指定的合约声明自动执行,然后由网络中的节点进行验证。以太坊是运行智能合约的最受欢迎的区块链平台。它使用图灵完全编程语言构建,能够支持和执行广泛的计算指令。由于这种图灵完整性属性,以太坊使开发人员能够设计自己的交易规则,以部署区块链去中心化应用程序。
当前的区块链系统可分为三类:公共区块链、私有区块链和联盟区块链。公共区块链被称为无许可区块链,而私有区块链则被称为许可区块链。另一方面,联盟区块链被称为半公共或半私有区块链。表2列出了三种类型区块链之间的比较。特别是,我们总结了公共、私人和联盟区块链在以下方面的比较:
•自主性。自治是指拥有或控制区块链网络的能力。在公共区块链中,所有节点在网络上具有自治权,因为想要作为节点加入网络的公众可以访问网络。然而,私有区块链仅由一个组织控制,该组织有权从该特定组织中选择几个预定节点加入网络。联盟区块链与私有区块链类似,即从自己的组织中选择节点,但其由选定的组而不是单个组织控制。
•参与者。公共区块链对公众开放和可见。它允许进入网络的每个节点查看并参与验证交易。与公共区块链相比,私有和联盟区块链都有进入限制;仅允许选定和授权的节点参与网络。这些预定节点能够以不同的许可级别查看和验证交易。例如,一些节点可能只能读取事务,而其他节点则能够根据组织的偏好读取和写入事务。
•时间效率。与私有和联盟区块链相比,公共区块链的效率较低。这是因为公共区块链网络中有大量参与者需要达成共识来验证交易。网络中的节点数量越多,区块链系统的效率越低。同时,在私有和联盟区块链中,受限网络允许更高的效率,因为存在较少的节点来执行验证过程。正如您在表5中所观察到的,由于这个原因,对私有区块链的研究比公共区块链更多。
•不变性。不变性是指区块链网络承受修改的能力。区块链是不可变的,因为其哈希属性包含整个链,一旦达成共识,每个节点都会同步并接收区块链的副本。为了修改交易,恶意节点需要控制至少51%的区块链网络,作为超越共识的手段。通过获得51%的多数,它能够中断网络并覆盖所需的区块,使区块链可变。在公共区块链中,由于大量节点维护共享交易数据,篡改几乎是不可能的。然而,在节点数量有限的私有和联盟区块链中,主导组织或联合体的大多数成员行为不当并修改分类账的可能性很小。控制网络的组织数量越多,网络中的节点数量越多,修改的可能性越小。
•示范平台。比特币和以太坊是主要用于加密货币的公有区块链平台的代表。私有区块链平台的实例包括MultiChain和GemOS,它们是开源平台,帮助组织建立自己的私有区块链系统。另一方面,Hyperledger Fabric和以太坊是最常见的区块链平台,可跨企业和公共实体实现联盟系统。

3.2 区块链特点

我们采用了[92–96]中衍生的许多分类法,以提供区块链特征的概述。我们总结了每个分类法的要点,并将该技术的关键特征分为功能特征和涌现特征,如图6所示。功能特征是区块链系统存在的基本特征,而涌现特征则是功能特征的结果。我们简要讨论这两个特征如下。

3.2.1 功能特点

功能特征包括去中心化、分布式账本和共识协议。这些是区块链的三个组成部分。