H. Dai, Z. Zheng and Y. Zhang, “Blockchain for Internet of Things: A Survey,” in IEEE Internet of Things Journal, vol. 6, no. 5, pp. 8076-8094, Oct. 2019.
第七节
物联网的开放研究问题
尽管区块链和物联网的融合为行业升级带来了许多机遇,但要完全释放BCoT的潜力,还需要解决许多挑战。在本节中,我们确定了将区块链纳入物联网的几个主要挑战,并讨论了潜在的解决方案。图9总结了BCoT的开放研究问题。
图9-BCoT的公开研究问题。
图9。
大多数物联网设备都受到资源限制。例如,传感器,RFID标签和智能电表的计算能力较差,存储空间有限,电池电量低以及网络连接能力较差。但是,区块链的分散共识算法通常需要大量的计算能力和能源消耗。例如,BTC中的PoW被证明具有很高的能耗[6]。因此,耗能巨大的共识机制对于低功耗物联网设备可能不可行。
另一方面,区块链数据的庞大规模也导致无法在物联网中全面部署区块链。例如,截至2018年9月,BTC区块链的大小几乎达到185 GB。不可能在每个IoT设备上完全存储整个区块链。同时,以近乎实时的方式生成的大量物联网数据使这种状况更加糟糕。此外,区块链主要用于具有稳定网络连接的场景,这对于经常遭受物联网设备的网络连接不良以及由于节点故障(例如,电池耗尽)而导致网络不稳定的物联网而言可能并不可行。
潜在的解决方案:将 MEC和云计算技术整合到BCoT中可能会克服IoT设备的资源限制。例如,云服务器或某些MEC服务器可以充当存储整个区块链数据并参与大多数区块链操作(例如发起交易,验证交易(即挖掘))的完整节点,而物联网设备可以充当仅存储部分区块链数据(甚至是区块链数据的哈希值),并承担一些计算量较少的任务(例如发起交易)[103]。从BCoT中的资源分配的意义上来说,MEC和云计算的编排成为一个重要的问题[104]。
尽管将区块链技术整合到IoT中可以通过区块链带来的加密和数字签名提高IoT的安全性,但是由于IoT系统和区块链系统的漏洞,安全性仍然是BCoT的主要关注点。
一方面,由于无线通信系统的可行性和可扩展性,将无线网络部署到工业环境中的趋势正在增长。但是,开放的无线媒体也使IoT遭受安全漏洞的破坏,例如被动监听[105],阻塞和重放攻击[106]。此外,由于物联网设备的资源限制,传统的重加权加密算法可能不适用于物联网[107]。此外,在分布式环境中管理密钥(对于加密算法至关重要)也是一个挑战。
同时,区块链系统也有自己的安全漏洞,例如智能合约的程序缺陷[20]。特别是,在[108]中显示,恶意用户可以利用边界网关协议(BGP)路由方案劫持区块链消息,从而导致更高的块广播延迟。[109]的工作还显示,分散的自治组织(DAO)攻击通过利用智能合约的漏洞窃取了价值5000万美元的以太坊。
潜在的解决方案: BCoT的安全漏洞可以通过物联网系统的安全增强或区块链的漏洞修复来解决。例如,探索了协作干扰方案[110]以提高IoT系统的安全性,而现有IoT节点不需要额外的硬件。同时,[111]基于远程(LoRa)物联网网络中无线信道的互易性和随机性来利用密钥生成。从修复区块链漏洞的角度来看,也有一些进步。特别是[112]的最新工作提出了一种用于区块链的安全中继网络,即SABRE,可以防止区块链受到BGP路由攻击。关于DAO攻击,Corda和Stellar交换了可表达性以换取智能合约的可验证性[113],以避免DAO攻击。
区块链技术具有一些机制来保护保存在区块链中的交易记录的特定数据隐私。例如,通过IP地址而不是用户的真实身份在BTC中进行交易,从而确保一定的匿名性。此外,在BTC中生成一次性帐户以实现用户的匿名性。但是,这些保护方案不够鲁棒。例如,在[21]中示出,可以通过学习并推断与一个普通用户相关联的多个交易来破解用户假名。此外,交易数据在区块链上的完整存储也可能导致潜在的隐私泄露,如[114]所示。
可能的解决方案:最近,提出了混合硬币的概念,以使攻击者感到困惑,以使他们无法推断交易花费的真实硬币的确切数量。然而,最近的研究[115]通过基于Monero的大量现实实验证明了硬币混合方案的弱点。4此外,可以通过利用硬币混合计划的漏洞来推断实际交易。[114]的工作提出了一种内存优化和灵活的区块链数据存储方案,可以在某种程度上降低隐私泄露的风险。
适当的激励机制是对区块链系统的良性刺激。例如,许多BTC将奖励给首先解决计算难题的矿工。同时,以太坊的交易将收取给定的费用(即汽油),以支付矿工的合同执行费用。因此,在区块链中设计激励机制时存在两个问题:1)证明(或挖掘)区块的奖励; 2)处理交易(或合同)的补偿。
但是,为BCoT设计适当的激励机制以满足不同应用程序的要求具有挑战性。以数字货币平台为例,矿工热衷于数字货币的价格。例如,每210000个区块,生成区块的BTC奖励将减半[116]。奖励减少将阻止矿工为解决难题做出贡献,从而迁移到其他区块链平台。如何设计合适的数字货币奖励发行机制,对于确保区块链系统的稳定性至关重要。
潜在的解决方案:另一方面,声誉和诚实性是私有或联合体区块链系统中用户的动力。因此,除了数字货币之外,信誉信用还可以用作个人信誉系统[117],共享经济[118],数据来源[119]和药品供应链[120]等场景中的激励措施。最近的工作[121]介绍了RepChain,它利用每个节点的声誉来开发激励机制。
几乎以实时方式生成的大量物联网数据激增。物联网数据展现出巨大的数量,异构性和巨大的商业价值。物联网数据上的BDA可以提取隐藏的价值并做出明智的决策。但是,由于以下原因,在BCoT中应用常规BDA方案具有挑战性。
由于资源限制,无法将常规BDA方案应用于IoT设备:由于IoT设备的计算能力较差,因此无法将复杂的BDA方案直接部署在IoT设备上。此外,区块链数据的庞大规模还导致无法在IoT设备上本地存储区块链数据。尽管云计算可以解决这些问题,但是将数据上传到远程云服务器也可能导致隐私泄露和长时间等待[122]。
难以对匿名区块链数据进行数据分析:区块链技术可以通过对数据记录进行加密和数字签名来保护数据隐私。但是,在进行数据分析之前,通常需要对数据进行解密。然而,解密过程通常很耗时,从而导致数据分析效率低下[123]。在不解密的情况下在区块链数据上设计数据分析方案是一项挑战。
潜在的解决方案: MEC通过将计算任务从遥远的云服务器转移到MEC(近似于用户)作为云计算的重要补充。结果,与云计算相比,MEC可以改善响应,隐私保护和上下文感知。因此,将BDA任务卸载到MEC服务器可以潜在地解决使用区块链的云计算的隐私泄漏和长等待时间问题[124]。关于匿名区块链数据的数据分析,最近有一些进展:1)基于复杂网络的社区检测[125],以识别与同一用户关联的多个地址;2)BTC区块链数据交易模式的特征提取以识别支付关系[126]; 和3)分析以太坊上的用户帐户和操作代码,以检测庞氏骗局行为[127]。
现有区块链的可扩展性也限制了区块链在大规模物联网中的广泛使用。区块链的可扩展性可以通过每秒的交易吞吐量相对于物联网节点的数量以及并发工作负载的数量来衡量[25],[113]。许多区块链系统正遭受吞吐量低下的困扰。例如,在[128]中显示,BTC每秒只能处理七个事务。相比之下,VISA每秒可以处理近2000个事务,而PayPal的吞吐量为每秒170个事务[129],[130]。Conoscenti 等。 [4]表明,由于可扩展性差,BTC区块链可能不适合物联网。总而言之,现有的区块链系统可能不适合具有大量交易的应用程序,尤其是物联网。
潜在的解决方案:改善物联网中区块链的可扩展性有两个可能的方向:1)设计更具可扩展性的共识算法,以及2)构建用于物联网的私有或联盟区块链。对于1),我们可以选择共识定位策略来提高交易吞吐量。同时,我们可能会实现一些新的区块链结构,例如有向无环图(DAG)[131],以允许将来自侧链的无冲突块与主链组装在一起,从而降低解决分叉的成本。另外,我们可能会考虑将PoW与PBFT集成以提高PoW的吞吐量,类似于[132]中提出的分片协议,其中首先在PoW中解决了计算量较小的难题,然后在多个小组中达成了共识。
关于2),由于完全受控的系统和允许的用户数量有限,私人和联合体区块链中的交易可以比公共区块链处理得更快。同时,在私有和联盟区块链中也可以轻松达成共识。此外,完全受控的区块链还满足企业需要对不同战略部门进行控制的要求,例如,ERP,MES,PLM和CRM系统[58],[113]。尽管有一些尝试,例如GemOS [35],Multichain [36]和Hyperledger [37],但将来仍有望为服务于特定工业领域的成熟的私有和财团区块链平台。
M. Wu, K. Wang, X. Cai, S. Guo, M. Guo and C. Rong, “A Comprehensive Survey of Blockchain: From Theory to IoT Applications and Beyond,” in IEEE Internet of Things Journal, vol. 6, no. 5, pp. 8114-8154, Oct. 2019.
第六节挑战与机遇
当前,尽管区块链的发展取得了长足的进步,但是区块链的应用还远远没有达到理想的规模。区块链主要受到五个方面的批评:1)非法活动;2)交易吞吐量;3)存储问题;4)隐私;5)安全性。由于区块链是一种有望改变未来的基础技术,因此总是存在着挑战的机遇。
由于公共区块链是由社区而不是某些机构维护的,因此其分散的性质也使其成为无需审查者即可进行非法活动的理想平台。基于区块链的山寨币经济促进了洗钱和其他非法活动,例如购买违禁品,广播儿童色情制品和互联网赌博。例如,丝绸之路网站,一个在线黑市,为买卖双方提供了进行非法毒品交易的平台[315]。Meiklejohn 等。 [75]讨论了盗窃中的一类广泛的犯罪活动,并提出了启发式2来取消交易流的匿名性,从而跟踪非法获取的比特币进行交易。蔡和朱[316] 认为区块链技术可以为重新设计信誉系统提供新的机会,他们探索了各种攻击下的潜力和局限性。
影响交易吞吐量的主要因素是广播通信,共识机制和交易验证。这些因素中最重要的部分是共识机制。由于区块链的信任特性,保证区块链的正确性和唯一性要求每个节点证明足够的工作量,以便能够表达自己消息的可靠性和真实性。在证明过程中,通常需要消耗大量时间和精力,因此处理速度受到限制。当前,有许多相关的研究人员和公司试图解决这个问题。尽管PoW算法解决了双重支出的问题,但它浪费了太多资源,并且验证交易花费的时间太长。在上一节中 我们总结了与区块链Scala相关的作品。尽管已经提出了许多工作来提高区块链的可扩展性,但是正如我们在上一节中所讨论的(即,调整块大小,分片和链下支付),仍然存在许多尚待解决的问题,例如安全性。高通量带来的问题。
在区块链中,所有交易都记录在块中,并且分布式系统中不同节点的备份可以有效地防止分类账被篡改。但是,随着事务的累积和数据的增长,每个块中的剩余空间越来越小,并且块的体积接近于1 MB的预先设计的大小。Weber 等。 [317]甚至确定了以太坊和比特币的可用性限制,并证明两个区块链的可写性都很低。
中本聪创建比特币时,他曾提前预料到这一点,但他将希望寄托在网络,存储和硬件的开发上,以解决这一问题。为了说明如何增加数据量,我们可以做一个简单的估算。假设每笔交易为512字节,并且费用单位为0.0004 / KB,则年度交易数据大小将变得太昂贵而无法存储,如表IV所示。
表IV 预期的交易数据大小随交易吞吐量的增加
表四
根据VISA在2015年的记录,全年共产生了920.64亿笔支付交易。如果将这些网络交易数据量转换为比特币量,则年度大小可能为47 TB,远远超出了普通机器/数据库的磁盘容量。如果将块大小增加为30 MB,则年度交易数据量也可以为1.5 TB,这也是一个巨大的数字。因此,扩展区块链的容量也是一个非常具有挑战性的问题。
在公共区块链中,每个参与者都可以获得完整的数据备份,所有交易数据都是公开透明的,这在一定程度上保证了区块链的可靠性。但是,对于许多区块链应用而言,此功能可能是致命的。通常,用户自己打算保护其帐户隐私和交易信息受到保护。对于商业组织而言,许多帐户和交易信息也很重要,因此必须保护商业秘密。用户和组织都无意与其他同行公开共享他们的秘密。在大数据技术的帮助下,区块链的加密技术确实被证实可能存在风险。已经证明,交易地址的匿名化仍然不能保证用户的匿名性,而且某些蓄意的攻击仍可能造成威胁。不同地址之间的关联交易可能会暴露用户的私人信息,这对于商业用途是致命的。而且,随着量子计算的发展,密码学本身也受到威胁。因此,我们需要不断更新技术以确保区块链的安全性。
一个典型的担忧是大多数参与者诚实的普遍基本假设。例如,在基于PoW的区块链中,如果攻击者获得了整个网络50%以上的计算能力,则他可以按区块修改交易。然后,该攻击者可以轻松地进行双花,并对这些区块链造成破坏性的打击,其中比特币将是第一个。据报道,中国矿池的总计算能力已超过70%[318]。如果这些矿池共同发起双重支出攻击,后果将是严重的。Badertscher 等。 [319]还质疑了这种默认的多数假设,并提供了对矿工行为诱因的分析。尽管像比特币这样的区块链采取了不同的激励策略来刺激矿工,但蛮力攻击(例如金手指攻击)仍然是潜在的风险。
需要考虑的另一个问题是量子攻击。如今,用于保护互联网和金融交易安全的关键密码协议都容易受到足够大的量子计算机[320]的开发的攻击。例如,十年内量子计算机的强大计算能力将破坏比特币的安全性[321]。从技术上讲,最早在2027年,量子计算机就可以完全破解比特币使用的椭圆曲线签名方案[320]。在[322]和[323]中也指出了相同的风险。Propov [324]设计了缠结(Tangle),这是一种DGA,用于存储抵抗量子攻击的交易。
在上一节中,我们从各个方面讨论了区块链在物联网中的许多应用。但是,它们的集成仍然是一项不平凡的工作。上述挑战(即非法活动,交易吞吐量,存储问题以及隐私和安全性)也可以应用于集成,并且某些挑战甚至变得更加突出。
存储问题[264],[277],[291]将区块链与IoT集成时可能会更加严重。首先,与普通的区块链节点(例如计算机)不同,大多数物联网设备的存储容量较低。通过以上存储问题的分析,即使是具有高存储容量的普通区块链节点也无法轻松应对不断增加的数据量的挑战。使用低容量的物联网设备作为区块链节点将变得更具挑战性。其次,具有各种存储容量的异构物联网设备使存储问题变得更加复杂。存储容量最小的物联网设备将成为瓶颈。第三,数量越来越多的物联网连接设备将产生大量数据。根据Statista [325],有231.4亿个IoT连接设备,到2025年,这一数字预计将达到754.4亿。与仅拥有约10,000个节点的比特币网络相比[326],如此庞大的数量进一步使数据存储问题变得充满挑战在物联网中。Makhdoom 等。 [327]也指出,区块链并非旨在存储由具有数千个节点的物联网系统生成的大量数据。
交易吞吐量问题也将变得具有挑战性。首先,物联网设备的异构性意味着各种通信协议(例如蓝牙,Wi-Fi和4G),这使得在区块链中达成共识的成本变得昂贵。为了促进不同设备之间的通信,可以使用可以将一种协议转换为另一种协议的中间节点。考虑到现有物联网设备由不同机构拥有,另一种方法可能是统一通信协议,这几乎是不可能的。其次,同步大量物联网设备并非易事。当每个节点需要继续广播其状态和数据时,通信成本将变得异常高。当将区块链与物联网相结合时,如何消除这些障碍并设计良好的共识机制以提高交易吞吐量仍然是有待解决的问题。IOTA[328]是一种旨在实现物联网的分布式账本技术。它采用缠结作为其共识算法,并且可以达到1000 TPS。
由于物联网设备通常是检测环境的传感器,因此也收集了很多敏感数据。例如,在智能家居中,物联网设备将感知并收集许多有关人们隐私的敏感数据。当包含人们日常活动的私人数据与智能家居外部的节点同步时,这是不可接受的。另一个问题是通信安全性。应该设计适当的安全通信协议来阻止窃听和其他攻击。当前的传输层安全性(TLS)或数据报TLS(DTLS)复杂或繁重[264],尤其是对于具有大量设备的物联网网络。另一个问题是,物联网设备可能成为攻击者的猎物,这些攻击者恶意利用它们来发起各种攻击。例如,在2006年,大量物联网设备被域名系统(DNS)提供商Dyn运营的DDoS攻击系统所利用,从而导致在欧洲和北美无法使用主要的Internet平台和服务[329]。因此,除了将适当的安全通信协议之外,在将区块链与物联网集成时,还有望设计出安全认证和攻击防御机制。Kumar和Mallick [330]也相信区块链可以用来解决物联网中的安全问题。可汗和萨拉赫[331]认为区块链可以消除区块链物联网设备的密钥管理和分发,从而简化安全协议和安全的物联网通信。Hammi 等。 [332]利用区块链为物联网构建身份验证系统。考虑到物联网设备即使在最大的安全性努力下仍可能受到损害,Banerjee 等人。 [333]甚至建议使用区块链来促进受损设备的物联网自我修复。
区块链具有巨大的潜力,可以应用于不同领域,因此有机会与一些流行技术结合。在本部分中,将讨论区块链与热门技术的结合,包括量子计算,边缘/雾计算,大数据和人工智能。通过我们的调查,我们发现尽管将区块链与这些技术结合起来具有巨大的潜力,但是在这些研究方向上的文献很少。
量子计算仍处于起步阶段,由于其强大的计算能力,区块链的发展将面临更多风险。但是,总是有伴随风险的机会。[334]中提出了量子区块链的概念设计。池田[335]提出了比特币,一种去中心化的在线P2P量子现金系统。
边缘/雾计算是一项热门技术,旨在缩小终端用户与计算中心之间的“距离”,这在传统云模型中相对而言太过远了。Stanciu [336]利用区块链作为边缘计算的分层和分布式控制系统。焦等。 [337]考虑了部署边缘计算服务来支持移动区块链。他们提出了边缘计算服务提供商的基于拍卖的边缘计算资源市场,矿工之间存在竞争。由于PoW需要消耗过多的能量,因此Xiong 等。 [338]认为边缘计算是移动区块链的推动力,并利用两阶段Stackelberg游戏来实现边缘计算服务提供商和单个矿工的平衡。Sharma 等。 [339]提出了一种基于SDN的基于区块链的分布式云架构,该SDN使网络边缘的控制器雾节点能够提供可用性,实时数据传递,可伸缩性,安全性,弹性和低延迟。Sun和Ansari [340]提出了EdgeIoT,一种用于移动边缘计算的IoT体系结构,以更好地向用户提供IoT中的存储,计算和通信资源。
由于存储和可伸缩性问题,基于区块链的技术不适用于大数据,因为大数据应该处理海量和高速数据。很难想象所有块都需要保留所有大型事务数据的副本,这将导致巨大的数据冗余。尽管仅期望这些块存储大数据的哈希值,但它带来了新问题,即通过脱链操作来检查数据的完整性,这将带来数据隐私和其他问题。上述医疗数据领域是区块链与大数据联手的典型例子,但仍有许多问题有待解决。
尽管人工智能和区块链都是具有巨大潜力的热门技术,但只有很少的文献探讨它们的组合,尚需填补空白。结合人工智能和大数据,基于区块链的技术可以产生更大的影响[266] ]。Swan [341]概述了区块链思维,将其作为有益于AI 的输入处理输出计算系统。例如,深度学习算法在某些情况下需要处理分布式数据库中的大量数据(例如医疗数据),这些数据可以由区块链存储和组织。奥莫洪德罗[342]人们认为,加密货币和智能合约可能会提供基础设施,以确保AI系统遵循特定的法律和安全法规,从而使其更加融入人类社会。反之亦然,还需要AI系统来转换可依赖智能合约的现实世界中的信息。Luong 等。 [343]甚至结合了三项热门技术:边缘计算,深度学习和区块链。具体来说,他们使用深度学习来得出最优拍卖,以分配边缘资源来协助区块链中的挖掘过程。
区块链也可以与虚拟现实(VR)相结合。由于区块链中存储了大量数据,这些数据可用于促进学习和决策过程,特别是在需要用户持续参与的系统中。通过利用VR,可以以更加生动的方式可视化这些数据,从而增强了上述过程。Laskowski [344]通过集成基于代理的建模,区块链和VR,提出了一种支持区块链的参与式决策支持框架。在此框架中,VR硬件用于可视化参与性结果。Decentraland演示了区块链和VR的另一种组合[345],由以太坊区块链提供支持的去中心化VR平台。这个虚拟世界中的虚拟资产存储在区块链中,并通过智能合约进行管理。
M. S. Ali, M. Vecchio, M. Pincheira, K. Dolui, F. Antonelli and M. H. Rehmani, “Applications of Blockchains in the Internet of Things: A Comprehensive Survey,” in IEEE Communications Surveys & Tutorials, vol. 21, no. 2, pp. 1676-1717, Secondquarter 2019.
第十二节。问题与未来研究方向
总而言之,区块链是一项功能强大的新兴技术。结果,尽管具有主要优势,但它在开发以及在物联网中的应用面临着多重挑战。这些挑战可分为三个主要领域:隐私保护,可伸缩性以及在涉及功能受限的设备的情况下利用区块链。在本节中,我们将讨论这些挑战,公共和私有区块链实施中的行政权衡以及在将区块链集成到物联网中的未来研究方向。
确实,区块链提供了非常有效的可审计性,但是,将所有数据存储在可公开访问的区块链中会产生与隐私相关的问题。此外,在处理区块链时,可伸缩性通常是一个严重的缺点。例如,当前区块链的公共实现每秒只能处理4-20个事务[225],[226]。因此,它们不适用于涉及大量流量的应用程序,例如用于物联网的自动小额支付平台。在物联网领域,理想的分布式平台应支持以下主要功能:
不信任的对等M2M通信
分散式访问控制
设计私人文件共享
跨多个物联网用例的可扩展安全性提供
通过区块链分散IoT的开放研究方向。
像比特币这样的公共网络中的区块链已经存储了与生成的区块链地址相关的交易,并且所有交易记录对比特币网络的参与者都是可见的。这些地址未链接到任何现实世界的身份,用户可以在多个地址上进行交易,以避免因针对一个地址存储的所有交易信息而导致信息泄漏[227]。这些记录中的隐私仅在“假名”范围内,因为特定公共密钥的帐户余额和交易记录是可公开访问的[33],[228]。但是,此类开放记录可能导致推断出用户信息[229],甚至可以用于三角化和跟踪用户的IP地址[123]。通过基于用户与[230],[231]进行交易的节点网络的图分析得出推论,也可能发生隐私违规。在区块链应用中,理想的隐私解决方案将是一种分散的记录保存形式,这种分散的记录被设计完全混淆并且匿名。
为了开发保护隐私的区块链应用,Zerocoin是一种区块链实现,旨在实现对等交易的匿名化[232]。在Zerocoin中,交易与付款来源之间没有关联,因此可以防止通过图分析进行推断。交易金额和目的地仍在显示。随后,开发了Zcash来保持帐户余额和交易信息不公开[233]。Zcash被认为是在区块链应用中实现隐私的最有前途的解决方案,并通过利用零知识加密技术来提供有保证的匿名性[234]。在Zcash中,使用称为“零知识的简洁非交互式知识论证”(zk-SNARKs)的证明对交易进行完全加密和验证。尽管Zcash提供了保证的匿名性,但要付出代价:Zcash区块链没有可审计性。[235]中详细介绍了一种适用于Zerocoin和Zerocash的可审计性机制。
对于身份应用和交易匿名化,一种有前途的技术是使用环签名[236]。在区块链交易中,环形签名比常规签名更复杂且在数学上涉及更多。该技术涉及一组节点签署交易。生成的签名可以证明特定的私钥属于签名节点之一,同时使其无法通过密码确定它是哪个节点。但是,在多个事务中使用相同的私钥可以从签署环事务的节点组中揭示用户。可链接的环形签名是升级版本,它不使用带有私钥的签名,但是需要证明用户确实是节点签名组的一部分[237]。。可链接的环签名和经济激励措施共同构成了文件共享应用程序的基础,该应用程序比当前的点对点文件共享平台(如Bittorent [238])具有更多的匿名性。
地址混合是一种通过将交易从多个地址发送到多个目的地来实现匿名的服务[239],[240]。混合本质上是通过中间人在区块链网络内清洗交易。虽然有中间人会损害区块链网络中的去中心化,但它是一种可行的匿名匿名交易的技术。考虑地址为A的爱丽丝(Alice)想要将令牌转移到地址为B的鲍勃(Bob)。爱丽丝(Alice)将其令牌转移到运行混音服务的查理(Charlie)。查理在多个地址上使用不同的令牌值,并对寻址到多个目的地的交易进行签名,其中一个目的地为B。查理将意向的金额转移给鲍勃,混合地址对爱丽丝的交易进行洗钱和匿名化。这项服务的明显缺点是必须对中介Charlie信任。中介可以选择不诚实,并透露爱丽丝和鲍勃的交易历史。更加恶意的信任冲突将导致Charlie首先不会将令牌发送给Bob。Mixcoin是一项在执行地址混合时尝试减轻恶意行为的服务[241]。Mixcoin增加了责任制,以检测中介是否实际上被骗了,但是,它没有提供预防措施。另一种解决方案是使用多个假名地址管理系统,而不是使用单个假名寻址。多个假名地址可用于屏蔽区块链网络中任何单个参与者的身份。到目前为止,这是提供隐私的最有前途的解决方案,但是,任何实体使用的地址越多,对于需要交易透明性才能达到法律目的的用例,问责制就越复杂。及时地或在上下文感知的基础上更改地址的假名地址管理系统可能需要对任何单个实体过去使用的地址进行进一步的不可变记录保存,以便为法律诉讼提供线索。
在开发基于区块链的IoT平台时要保持挑战性并保持问责制和隐私之间的微妙平衡,这带来了挑战,这促使提出了许多建议的解决方案,但仍需进一步研究和开发。拟议的解决方案涉及在区块链内部实施访问策略,或通过智能合约实施访问策略。在基于区块链的物联网平台中提供隐私的一种有前途的方法是分层架构,其中隐蔽的私有区块链通过公共区块链连接。在分层架构中,一项重要的研究挑战是保持私有区块链中的数据完整性,同时提供数据隔离和隐私的选择性表达。提供可审核性并防止重复支出导致牺牲了区块链中的匿名性,因此,[242]用于设计具有隐私功能的应用程序。
当前,私有和公共区块链中所有区块链的共识协议都要求每个完全参与的节点都拥有记录在区块链历史中的所有交易的副本。尽管这提供了分散性,安全性和容错能力,但是却以可伸缩性为代价。传统上,数据库仅需要额外的存储来处理越来越多的记录,但是,在区块链中,每个完整节点都需要添加存储来托管区块链的完整副本。这个问题在基于工作量证明的共识中更加复杂,在该共识中,网络中越来越多的参与者将需要增加挖掘节点的计算能力,以便更快地处理交易。换句话说,随着区块链的增长,对存储的需求也随之增长。另外,
由以太坊等区块链平台开发的“轻客户端”的最新进展改善了稳步增长的区块链的存储需求[243]。但是,在除加密货币以外的应用程序中,尤其是在物联网领域,区块链仍处于存储,计算和网络功能有限的设备无法承受的范围内。
扩展区块链一直是活跃的研究领域[225],首先是Segwit [244]和增加的块大小[46]。两种技术都应用于比特币网络,旨在实现区块链的垂直可扩展性。通过侧链和区块链间通信的水平可扩展性也正在研究中[86],[114]。类似于多层区块链架构[87]建议将IoT网关连接到公共区块链网络。这些解决方案本身可提供增量的可扩展性,但可能不能成为区块链网络中面向未来的可扩展性所需的银弹。区块链可扩展性方面的挑战是一个开放的研究领域。在最近的研究中看到了许多不同的方法,旨在提高区块链的可伸缩性,从用于比特币区块链的SegWit到以太坊正在开发的最新分片[67]技术。更有前途的解决方案包括将处理和存储负载移出链[245],[246],或限制区块链网络不同部分的共识范围,或开发区块链间通信[247]。用于连接多个区块链。
可扩展的区块链由于其高性能和网络开销,在数字金融及其他领域的实施中仍然是一个巨大的问题。在数字金融中,当前的公共区块链实施规模不足以与信用卡公司的交易处理速度竞争。低吞吐量的问题在物联网中更加严重,其中发生了大量的数据事务。数据创建或传输。将区块链垂直扩展为分布式数据库是一个潜在的方向。另一方面,水平扩展在解决区块链可扩展性问题上显示出更大的希望,因此独立于语义的区块链间通信是另一个关键的研究方向。
IoT通过将智能设备连接在一起以执行自动化任务来增强传统的Internet。大多数物联网设备都具有严格的计算和网络约束,这在使用基于区块链的分散式架构时会出现问题。由于其有限的计算能力和电池寿命,大多数物联网设备无法参与PoW共识。即使将设备添加到设备不会挖掘新块的区块链中,或在使用替代共识算法的区块链中添加,物联网设备也不具备托管区块链完整副本所需的存储空间[156]。在使用连接了区块链的网关将物联网设备集成到区块链时,实现的分散程度仍然有限。对此挑战的最新贡献是[248],这是针对大规模IoT网络的内存优化区块链。
除了计算和网络限制外,IoT边缘设备还受到互操作性有限以及缺少认证和授权标准的困扰。可以实施区块链来记录通过数据交易网络进行的结构化和非结构化数据传输,因此它们具有实现不同IoT边缘设备之间互操作性的潜力。Hyperledger’s Burrow [28]和Sawtooth [57]等区块链平台在区块链网络中为节点创建角色,包括非常适合IoT边缘设备的有限角色,其中节点可以简单地将交易推送到区块链而无需存储完整副本。到目前为止,这种解决方案只能在私人blockchain实现,然而,对于公众blockchains,通过物联网网关推动交易被视为一个可能的解决方案[86] ,[114] ,但是这需要计算能力的网关参与公共blockchain 。
未来的关键研究方向是将区块链扩展到物联网边缘。区块链的高性能和网络开销限制了它们在受限的IoT设备上的使用。研究中提出的重要解决方案是通过具有计算能力的IoT网关在区块链上执行端到端通信。该研究方向的挑战是使IoT设备和网关能够使用轻客户端将事务推送到区块链,而无需创建集中式的块验证池。
在金融应用中,区块链尚未达到与诸如Visa或Paypal之类的主流金融系统的交易处理时间竞争的技术成熟度。Paypal平均每秒处理193笔交易,而Visa则每秒处理约1667笔交易甚至更快[249]。同时,主流加密货币比特币和以太坊的事务处理时间分别为每秒4和15个事务[225],[226]。
虽然私有区块链的交易吞吐量要高得多,但它们并不能提供完全的去中心化,实际上,组织运营的区块链受组织本身的集中控制。私有区块链中使用的共识协议需要进行几轮投票以提供拜占庭容错能力,这不适用于公共区块链实现。在公共区块链平台中,所有用户平等且没有管理实体的理念是普遍的。公共区块链中的延迟是他们采用的基于彩票的共识算法所固有的,其目的是创建一个安全且未经许可的交易处理平台。因此,区块链共识协议在高速交易和去中心化之间进行了权衡[250]。
对于超越加密货币的应用程序,挑战在于为用户提供隐私以及可伸缩性,同时提供多种应用程序服务。在区块链分布在多个地理位置和多个用例场景的应用中,例如物联网,将需要多个区块链相互通信以提供物联网服务,从而能够垂直和水平扩展。
尽管区块链具有固有的安全性功能,但薄弱环节被证明是智能合约中可利用的漏洞。在DAO攻击中看到了一个利用智能合约的缺点的对手的例子[32]。区块链IoT集成研究的方向是制定安全标准以编写智能合约脚本,以确保没有漏洞影响IoT网络中设备的安全性。
在LTE蜂窝网络的不断发展中,正在进行研究以在集中式控制和分散式控制机制之间找到平衡。从控制角度看,分散蜂窝网络可以将区块链固有的应用层安全功能带到IoT边缘,还可以帮助利用较低层蜂窝网络提供的身份验证和数据保护功能。在Qlink,33中可以看到这种用于蜂窝网络的分散控制平面的示例。旨在在蜂窝网络的公共和私有区块链上构建架构。在公共区块链级别,电信公司之间很少进行交易,而在私有区块链级别,可以进行更快的交易以提供基于智能合约的服务。目的不仅是要受益于区块链和蜂窝网络的安全功能,而且还要提供灵活的数据包和wifi资源共享。
物联网的许多优势都依赖于蜂窝网络,而去中心化蜂窝网络的研究仍处于起步阶段。对于现有的区块链协议,已证明的性能仅可扩展到数千个对等方,因此可伸缩性将对该方向的研究不利。区块链可以协助现有的蜂窝网络方法,例如应用层流量优化[251],并可以帮助托管虚拟化资源。虚拟化的网络资源将进一步推动蜂窝网络的逻辑发展,而区块链有潜力通过分布式应用程序执行资源调度。
在Internet(特别是IoT)的未来发展中,软件定义网络(SDN)和网络功能虚拟化(NFV)旨在提供一个虚拟化的边缘平台,可以在其中动态部署虚拟主机。因此,SDN和NVF相互补充,并且对于通过虚拟化的IoT资产实现共享IoT边缘至关重要[167]。在通过防火墙和入侵检测提供安全性以及将IoT设备调试给远程边缘用户时,可以使虚拟化主机或IoT资产负责特定应用程序。由于SDN拆分了控制平面和数据转发功能,因此可以轻松控制虚拟IoT资产。物联网发展的这一方向具有通过易于配置和管理功能增强物联网优势的潜力。然而,尽管SDN和NFV分别发展,但出现了新的网络安全问题,当与物联网集成时,情况变得更加复杂。
SDN为企业提供了通过集中控制来添加,删除和更新虚拟化网络资产的功能。所有SDN资产配置都被管理并存储在中央控制应用程序中,这导致了非常集中的攻击面。在IoT的SDN和NFV研究领域中,存在一些现有的安全问题,这些问题可能会阻碍软件定义的IoT的发展。这些包括拒绝服务(DoS)攻击,通过欺骗的机密性攻击和虚拟化IoT环境中的数据修改攻击[252]。SDN配置的完整性对于虚拟化网络资产的安全运行至关重要。Sharma 等人 在这个研究方向上的开创性论文之一。[253]提出了一种通过区块链分散网络控制平面的架构。通过区块链保护虚拟化物联网将被证明是一个研究方向,我们预计它将在未来产生有趣的成果。
机器学习和人工智能的最新复兴仅在过去几年中就出现了革命性的发展,包括自动驾驶车辆,计算机视觉和物联网。为了完全实现物联网对人类用户执行自动化任务的愿景,将机器学习纳入物联网至关重要。机器学习,尤其是深度学习算法,在可用于预测模型和参数调整的大量数据中表现最佳。在物联网中,机器学习可用于做出智能决策,以优化自动化任务,例如管理物联网资产,调度和能源交易。
机器学习和深度学习模型在物联网中具有预测和识别网络安全威胁和漏洞的潜力。入侵检测系统可以检测到恶意活动,可以帮助进一步增强基于区块链的物联网的安全性。机器学习算法最引人注目的用例是在IoT边缘,自然语言处理和图像识别可以使IoT用户受益匪浅。连接人工智能和物联网需要的系统能够维持信任,同时从物联网边缘的匿名数据源检索数据,而不是传统上丰富机器学习模型的数据仓库。借助区块链提供的非信任网络生态系统,这一愿景已成定局。一旦基于区块链的IoT边缘实现,物联网用户将能够通过其货币获利,并可以将数据众包到物联网服务的机器学习模型中。一个这样的例子是[254],区块链可以使大数据可用于开放式协作物联网边缘。由区块链保护的可公开获得的大数据存储库可以帮助改善对自动化功能的培训。另一方面,对于敏感的大数据存储库(例如病历),可以根据物联网应用程序的要求,使用区块链实施访问控制机制。
借助人工智能的额外好处,物联网传感器可以真正成为人类用户的耳目,并且可以扩展人类体验的极限。使用区块链维护完整性以进行物联网中的大数据分析是未来研究的重要方向。
T. M. Fernández-Caramés and P. Fraga-Lamas, “A Review on the Use of Blockchain for the Internet of Things,” in IEEE Access, vol. 6, pp. 32979-33001, 2018.
BIoT应用的当前挑战
如今,物联网生态系统中的新兴技术,例如网络物理系统(CPS)[151] – [152] [153],RFID [154],遥测系统[155]或4G / 5G宽带通信[156],[157]必须面对几个挑战。具体来说,关键任务场景[158]引起了更多关注。由于BIoT应用程序的开发是一个复杂的过程,受许多相互关联的方面的影响,因此将区块链添加到组合中意味着进一步的运营和技术要求。主要因素在下一个小节中进行描述,并在图7中进行描述。
图7-制约BIoT应用程序开发及其主要关系的最相关因素。
图7。
影响BIoT应用程序开发及其主要关系的最相关因素。
查看全部
区块链的所有用户均通过其公钥或哈希值进行标识。这意味着不能保证匿名,并且由于所有交易都是共享的,因此第三方可以分析此类交易并推断参与者的实际身份[159],[160]。隐私在物联网环境中甚至更加复杂,因为物联网设备可以揭示私人用户数据,这些数据可以存储在区块链中,其隐私要求因国家/地区而异[161]。因此,与通常仅对交易方和中间人(例如,金融机构,政府)通常可见的传统在线支付相反,区块链促进的透明交易在隐私方面是一个挑战。
身份认证在IoT中也可能是一个问题:如果身份提供商负责对实体进行授权,它也可以阻止它们。为了应对这样的挑战,在[162]中建议使用许可的区块链来保护和管理多个IoT节点。所提出的系统提供了一种分布式身份管理解决方案,该解决方案通过旋转非对称密钥来提高安全性和防范攻击。此类密钥在设备上本地生成,并且永远不会从设备上移出。为了在旋转键的同时验证用户的身份,系统使用了称为设备组成员资格(DGM)的机制,该机制将一个用户中所有的设备包括在一个组中,当用户进行交易时,它是反映在区块链上,因为它是由属于用户组的设备执行的。所提出的解决方案还通过使用证书系统进行身份验证并启用散列函数替换(如果遭到破坏)来增强安全性。
[92]中描述了另一种专注于解决由于使用集中式身份管理系统而引起的隐私和鲁棒性问题的方法。在那里,作者强调需要为需要可伸缩性且设备异构性和移动性很常见的IoT应用程序提供自动身份验证系统。为了应对此类挑战,研究人员提出了一种用于物联网智能家居的基于区块链的系统,该系统可自动提取设备签名,以便识别设备及其用户。
物联网网络的访问管理也面临挑战。一些研究者[163]建议通过定义基于区块链的多层机制来改进它,该机制将指定功能,访问列表和访问权限。但是,请注意,在许多物联网应用中,匿名性不是必需的,但是在某些情况下,当收集的数据可能允许监视和预测人们的行为或习惯时,交易的私密性是必需的。在基于RFID的交通卡系统等领域中,这已经是一个问题,在该领域中,存储的信息(例如旅行,余额,个人数据)据称是匿名的,但实际上它可能是由第三方收集的[164] – [165 ] ] [166]。当添加区块链时,这个问题变得更加棘手,因为交易是在同行之间共享的,在某些领域,例如工业或金融系统,可以监视竞争对手的活动。
因此,必须提出解决方案以减轻这些隐私问题。例如,在公共区块链的情况下,用户不需要知道每个用户的地址,只需知道他/她正在与之交易的交易对手之一。如果区块链参与者为每笔交易使用新地址,数据分析将变得更加困难。这类似于智能手机制造商为避免Wi-Fi跟踪而实施的方法[167],[168]。更为实用但不那么匿名的解决方案是为每个交易对手使用唯一的地址。
在私有区块链中,由于执行访问控制,因此至少有一个节点知道谁在访问系统。假设访问控制器是中立的,则可以通过与用户合作的每个实体建立一个独立的区块链来减少暴露。这种设置增加了通信的复杂性,但使用户免受了不必要的监视。例如,Multichain [169]提供了一种用于部署私有区块链的解决方案(它可以同时与不同的区块链一起工作),以确保所选参与者可以监控区块链上的活动。
混合技术还可以帮助增强隐私性。此类技术可以从各种IoT设备收集交易,并将事件或其他交易输出到未链接到原始设备的不同地址。这些技术增加了隐私性,但是并不是完美的,因为它们可能会通过统计披露攻击而被匿名化[170]。而且,混合服务必须是可信任的,因为恶意的混合器可能会暴露用户,并且在进行经济交易时,最终可能会窃取硬币。为了解决这些问题,不同的提议建议通过问责机制[171]暴露盗窃或对混合服务器[172]隐藏输入/输出地址映射。
还可以通过零知识证明技术(例如Zerocoin [173],Zerocash [174]或Zcash [175])来提高隐私。零知识证明是一种允许向交易对手证明用户知道某些信息而无需透露此类信息的方法[176]。在物联网应用程序中,零知识证明可用于身份验证或在常规交易期间,以避免泄露用户或设备的身份。但是,请注意,这些证据不能不受攻击[177]。实际上,就像在混合技术的情况下一样,它们很容易通过统计信息披露攻击进行匿名处理,但是它们通过避免使用混合服务器的必要性来改进混合技术,因为混合服务器会带来安全性或性能瓶颈。
还必须指出由Bytecoin [178]或Monero [179]等基于CryptoNote [180]的一些计划所进行的注重隐私的工作。CryptoNote是一种使用环签名的协议,其交易无法通过区块链进行跟踪,以确定谁执行了它们。唯一可以访问交易信息的人是进行交易的各方,或者知道两个私钥之一的人。CryptoNote的关键之一是其对环签名[144]概念的实现,这使得可以指定一组可能的签名者而无需透露谁真正产生了签名。
保护隐私的另一种可能的解决方案是使用同态加密[181],[182]。这种加密方式使第三方IoT服务可以处理交易,而不会向这些服务透露未加密的数据。一些研究人员提出了关于比特币协议的变体,以利用同构承诺[183],[184]。
最后,请注意,前面提到的部分机制需要一定数量的计算资源,因此其在资源受限的IoT设备上的适用性目前受到限制。
传统上,信息系统必须满足三个要求才能保证其安全性:
保密。应保护最敏感的信息,防止未经授权的访问。
诚信 它保证数据不会被未授权方更改或删除。通常还要补充一点,如果授权方破坏了信息,则应该可以撤消更改。
可用性。可以在需要时访问数据。
关于机密性,与交易数据相关的部分与它们的隐私相关联,这已在上一小节中进行了分析。关于支持存储的数据的基础架构,可以说当前的物联网应用倾向于将通信集中在服务器,服务器场或云中。只要可信任集中式基础架构的管理员,并且系统保持强大的攻击力[185],[186]和内部泄漏,这种方法就有效。相比之下,区块链技术的特征在于分散性,因此,尽管一个节点受损,但全球系统仍应继续工作。
对于单个用户而言,保持机密性的密钥是对他/她的私钥的良好管理,因为攻击者需要结合公钥来假冒某人或从其身上窃取某些东西。与该主题相关的一个有趣的创举是CONIKS [187],一种密钥管理系统,旨在将用户从加密密钥管理中解放出来。在这样的系统中,用户首先必须向提供者索要公共密钥,该提供者仅需要用户名即可在CONIKS系统中进行注册。当用户想要向其他用户发送消息时,他/她的CONIKS客户端会在密钥目录中查找交易对手的密钥。为了避免来自服务提供商的密钥篡改(这可能会受到损害),在发送任何消息之前,请执行两次验证:检查接收者的公钥是否是与相同用户通信时其他客户端使用的公钥。 ,并且这种密钥不会随着时间的推移而意外更改。已经提出了针对物联网设备的类似解决方案,它利用区块链技术来增强其身份和访问管理,[59]。
在保证Internet上的安全性时,证书也是必不可少的。因此,利用公钥基础结构的证书颁发机构必须向第三方提供信任。然而,这种权威已被证明在某些情况下会失败[188],从而不得不使先前颁发的证书无效。最近的一些举措旨在修复SSL证书系统中发现的某些结构性缺陷。具体来说,Google的证书透明性[189]提供了一个几乎实时监控和审核SSL证书的框架。该解决方案使用基于Merkle哈希树的分布式系统,该系统允许第三方审核和验证证书是否有效。
关于完整性,必须指出,区块链的基础旨在存储一旦存储就无法更改的信息(或者这样做非常昂贵)。但是,请注意,过去在某些情况下会忽略此原理。例如,在2014年,一个尚待澄清的事件是,货币兑换平台MintPal通知其用户,一名黑客窃取了将近800万个Vericoins,约占该平台硬币总数的30%。为了防止投资者资金损失以及演员将控制代币的权益证明网络容量的30%的事实,Vericoin开发人员决定硬分叉区块链,以扭转损失(硬分叉与区块链的先前版本)。因此,尽管许多信息来源表明,区块链是不可更改数据的永久存储,但实际上在非常特殊的情况下维护完整性是不正确的。在物联网应用中,数据完整性也很重要,通常由第三方提供。为了避免这种依赖性,[190]提出了一种利用区块链技术的基于云的物联网应用程序的数据完整性服务框架,从而消除了对此类第三方的信任。
安全性的第三个特征是可用性,但是实际上,这是区块链最容易实现的,因为它们被设计为分布式系统,即使在某些节点受到攻击的情况下,它们也可以继续工作。但是,可用性可能会通过其他类型的攻击而受到损害。最令人担忧的攻击是51%的攻击(也称为多数攻击),其中单个矿工可以控制整个区块链并随意执行交易。在这种情况下,数据可用,但是执行交易的可用性可能会受到控制区块链的攻击者的阻止。显然,这种攻击也会影响数据完整性。
物联网终端节点通常利用由电池供电的资源受限的硬件。因此,能源效率是实现持久节点部署的关键。但是,许多区块链的特征是耗电。在这种情况下,大多数消耗是由于两个因素造成的:
矿业。诸如比特币之类的区块链由于挖矿过程而消耗大量电力,这涉及一种共识算法(PoW),该算法包含一种用于哈希的蛮力搜索。
P2P通信。P2P通信要求边缘设备必须连续通电,这可能会浪费能源[191],[192]。一些研究人员提出了针对P2P网络的节能协议[193] – [194] [195],但是对于IoT网络的特定情况,这个问题仍需要进一步研究。
关于挖掘,一些作者建议工作证明所消耗的功率可以用于有用的东西,同时提供所需的工作量[196]。获得这样的证明应该有一定的难度,而对其的验证应该是非常快的。一些基于区块链的计划,例如Gridcoin [197],用硬币奖励志愿者的科学研究计算(尽管作为一种共识算法,Gridcoin使用PoS)。另一个有趣的例子是Primecoin [198],其PoW机制寻找素数链。因此,在利用区块链的同时,还可以利用庞大的基础设施(如涉及物联网的基础设施)来解决问题。
空间证明(PoS)(也称为容量证明(PoC))也已被建议作为PoW的绿色替代方案[199]。PoS系统要求用户通过分配一定数量的内存或磁盘来表现出对特定服务的合法兴趣。这种机制已经由Burst-coin [200]等加密货币实现。已经提出了其他共识方法来减少关于PoW的能耗,例如权益证明或实用拜占庭容错(均在第IV-D节中进行了描述)。
对于P2P通信而言,它们对于区块链与对等体进行通信并分配区块至关重要,因此区块链收到的更新越多,用于通信的能耗就越多。为了减少更新次数,微型链[201]可以允许IoT节点直接与区块链进行交互,因为它们只保留最新的交易并降低整个节点的计算要求。
在散列算法方面,由于SHA-256被比特币使用,因此被作为参考,但是像Scrypt [202]或X11 [203]这样的新算法速度更快,因此可以减少采矿能耗。已经提出了其他哈希算法,例如Blake-256 [204],并且一些区块链能够使用不同的哈希算法(例如Myriad [205]),但是应该对现代的性能和优化进行进一步的分析。物联网设备上使用的哈希函数。
物联网部署可能需要能够在每个时间单位管理大量交易的区块链网络。这是某些网络中的限制。例如,比特币的区块链理论上每秒最多可有7笔交易[78],尽管可以通过处理更大的区块或在接受交易时修改节点行为的某些方面来增加[206]。相比之下,其他网络则要快得多。例如,VISA网络(VisaNet)每秒最多可处理24,000个事务[207]。
关于延迟,重要的是要注意,区块链交易需要一些时间来处理。例如,以比特币为例,区块创建时间遵循泊松分布,均值为10分钟[18],尽管为了避免双花,建议商家等待大约一个小时,因为通常有五六个区块需要在确认交易之前将其添加到链中。对于VISA [207],此延迟仅需要几秒钟。
关于共识延迟,可以说,就延迟而言,共识过程的复杂性比单个散列更为重要,但是不同的区块链(例如支持Litecoin [34]的区块链)已选择使用scrypt,即比SHA-256稍快的哈希算法。
区块链随着用户存储交易而周期性地增长,这导致更长的初始下载时间以及必须使用具有更大持久性内存的功能更强大的矿工。区块链压缩技术应该进一步研究,但事实是,大多数物联网节点将无法处理传统区块链的一小部分。此外,请注意,许多节点必须存储对其不感兴趣的大量数据,这被认为是对计算资源的浪费。通过使用轻量级节点可以避免此问题,该轻量级节点能够在区块链上执行事务,但不必存储它。但是,这种方法要求IoT层次结构中存在某些强大的节点,这些节点将维护资源受限节点的区块链,
另一种选择是使用迷你区块链[183],[201]。这种区块链引入了帐户树的使用,该帐户树存储了区块链每个用户的当前状态。因此,仅需将最新交易与帐户树一起存储在区块链上。因此,只有在将新用户添加到区块链时,区块链才会增长。
此外,请注意,交易和块大小必须根据IoT网络的带宽限制进行缩放:许多小交易会增加与通信相关的能耗,而一些大交易可能涉及一些物联网无法处理的大有效载荷设备。
关于基础架构,需要某些元素来使区块链正常工作,包括分散存储,通信协议,挖掘硬件,地址管理或网络管理。这些需求的一部分正在由行业逐步满足,从而为区块链应用创建特定的设备。例如,矿工已经从简单的基于CPU的系统发展成为可以利用图形处理单元(GPU),现场可编程门阵列(FPGA)或专用集成电路(ASIC)的强大功能的设备[208]。
可能阻止广泛使用BIoT应用程序的因素之一是,区块链启用了伪匿名性(即,用户或设备由地址标识,但没有明确链接到它们)。政府可能要求在现实世界和在线身份之间建立牢固的联系。此外,由于物联网交易可以在国际范围内进行,因此不清楚由谁进行识别。
此外,请注意,区块链的价值和安全性会随着用户数量的增加而增加,也更难以执行令人担忧的51%攻击。
此外,请注意,矿工的采用率也会影响网络处理交易的能力,因此,在BIoT部署中,矿工带来的计算能力应足够高,以处理从IoT设备接收的交易。
为了简化开发人员的工作,区块链访问应用程序编程接口(API)应该尽可能地易于使用。应将相同的内容应用于API以管理用户帐户。
在某些情况下,区块链的激增已导致必须同时处理其中的几个区块链。这也可能发生在物联网场景中,例如,传感器值可能存储在私有区块链中,而提供服务的节点之间的金融交易可能会受到以太坊或比特币区块链的支持。
可以为管理或版本控制目的而分叉区块链。一旦分叉了区块链,就很难在两个链之间进行交易。
矿工最终决定哪些交易存储在或未存储在区块链中,因此他们能够出于经济或意识形态原因审查某些交易。当阴谋矿工的数量超过总数的51%时,可能会发生此问题,因此将决策权委托给一部分矿工的小型链和区块链很容易受到这种抵制。因此,必须明智地选择矿工,并且在签订智能合约时,应惩处不良行为。
仍然需要制定法律规则来执行智能合同并适当解决纠纷。正在执行一些将现实世界的合同与智能合同绑定的工作[161],但这仍然是一个需要进一步研究的问题。
尽管BIoT具有令人鼓舞的好处和可预见的美好未来,但在开发和部署现有和计划中的系统方面仍存在重大挑战,需要进一步研究:
关于新型BIoT应用程序的可扩展性,安全性,密码开发和稳定性要求,仍然有待解决的问题。此外,区块链技术在交易容量,验证协议或智能合约的实施方面面临设计限制。此外,应该介绍解决集中化方法趋势的方法。
BIoT的采用将需要所有利益相关者的妥协,以便实现完全的互操作性(即,从数据到策略的互操作性)以及与旧系统的集成。将需要采用协作实现方式以及使用国际标准来实现协作信任和信息保护(即访问控制,认证和授权)。例如,跨多个权限或组织的身份验证需要联合身份管理(FIM)[209]。在国际范围内,这样的FIM当前仅以较低的保证水平(LoA)存在。根据ISO / IEC 29115:2013标准定义,所需的LoA(从LoA 1到LoA 4)主要基于风险,身份验证错误和/或凭据滥用的后果以及由此产生的影响,以及它们发生的可能性。因此,将需要更高的协议书。
将需要创建一个全面的信任框架或基础设施,以满足所有在物联网系统中使用区块链的要求。解决诸如信任之类的问题的许多最新方法取决于域间策略和控制。例如,政府应该建立一个区块链基础设施来支持公共利益的用例。
除了技术挑战之外,塑造法规环境(即所有权下放,国际管辖权)是释放BIoT潜在价值的最大问题之一。例如,某些开发人员可能会伪造其区块链性能,以吸引由预期利润驱动的投资者。
在不久的将来,将需要优化用于各种应用程序的不同类型的区块链。此外,当用户希望将区块链与物联网系统结合时,第一步就是弄清楚哪种区块链符合他们的要求。因此,有必要建立一种测试不同区块链的机制。该方法应分为两个主要阶段:标准化和测试。在标准化阶段,在对供应链,市场,产品和服务有广泛了解之后,必须对所有要求进行分析并达成一致。创建区块链时,应使用约定的标准对其进行测试,以验证区块链是否按需工作。在测试阶段,应根据隐私,安全性,能效,吞吐量,延迟,