没有合适的资源?快使用搜索试试~ 我知道了~
智能系统与应用16(2022)200135使用IPFS增强基于区块链的乘车共享服务Nesma Mahmoud*,Asmaa Aly,Hatem Abdelkader埃及Menoufia大学计算机和信息学院信息系统系A R T I C L EI N FO保留字:拼车区块链智能合约星际文件系统(IPFS)A B S T R A C T使用中心化方法的乘车共享服务(RSSs)经历了各种挑战,如单点故障,隐私侵犯,缺乏安全性和分布式拒绝服务(DDoS)攻击等。因此,基于区块链的RSSs通过去中心化来缓解这些问题。依赖区块链只会导致应用程序响应时间增加,链大小增加以及由于区块链中数据存储增加而导致的高计算成本等问题,从而增加了最终用户的服务成本。此外,区块链缺乏数据的可扩展性,因为它无法存储大型数据并适应乘车共享数据的增长。为了克服这些问题,提出了一种利用区块链和星际文件系统(IPFS)的新型分散式乘车共享系统。拟议系统的目标是将所有乘车共享数据移动到区块链之外,并用一个小的哈希值替换它。区块链管理应用程序状态和用户。此外,它还通过智能合约实现流程自动化。而IPFS以不可变和不可分割的方式存储区块链数据。因此,拟议的乘车共享系统将IPFS与区块链集成,以使RSS保留区块链提供的保证,并为最终用户提供高效的服务。实验结果证明了基于区块链和IPFS的RSS的适用性和效率,它提供了乘车共享数据的有效存储,不可变的历史记录,并且以分散的方式提供了更好的效率。1. 介绍共乘是智能交通系统应用之一(Yuan &Wang,2016; Mollah等人,2021年)。由于其具有减少拥堵、通过减少二氧化碳排放来维护环境以及节省用户时间等优点,它在主要城市中获得了巨大的普及。乘车共享也是共享经济的一个突出例子(Baza等人,2019; Khanji &Assaf,2019)。这种经济以点对点(P2P)的方式促进经济共享活动(YuanWang,2018&)。最近,拼车服务(RSSs),也被称为拼车或叫车,成为一种替代交通服务,让人们更明智地使用私人汽车。它们使司机或拥有私家车的人能够与其他乘客分享他们的空座位。RSS为个人和社区提供了许多巨大的好处。这些好处的例子包括提高入住率,分摊旅行成本,减少燃料消耗,碳排放和空气污染(S'anchez等人, 2016; Baza等人,2019年)。在世界各地,许多提供商提供在线RSS,如Careem,Uber,Lyft Line和Blablacar。根据(2021年乘车共享市场),乘车共享市场的价值为美元2018年为1821.2亿美元,预计到2026年将达到2126.0亿美元。RSS试图匹配使用他们的乘车优惠的司机,即,计划行程,合适的乘客使用他们的乘车请求,即,想要的旅行它要求用户(司机和司机)与服务提供商共享该服务提供商代表中间人,其促进用户之间的通信,并对每次成功的共享乘车收取佣金然而,通过中央权威机构和集中式平台运行此服务此外,中央服务器维护和管理成本高昂,并且极易受到分布式拒绝服务攻击(DDoS)(Yuan &Wang,2016; Baza等人,2019; Kudva等人,2020年)。此外,服务提供商的安全性可能受到黑客攻击。因此,服务可能会中断,数据可能会被披露、更改甚至删除。例如,Uber在2016年底发生了5700万用户的巨大数据泄露。它已经支付了1.48亿美元来解决对其数据泄露的调查(优步中国数据泄露,* 通讯作者。电子邮件地址:ci.menofia.edu.eg(N.Mahmoud)。https://doi.org/10.1016/j.iswa.2022.2001352022年10月9日网上发售2667-3053/© 2022作者。由Elsevier Ltd.发布。这是CC BY-NC-ND许可证下的开放获取文章(http://creativecommons.org/licenses/by-nc-nd/4.0/)。可在ScienceDirect上获得目录列表智能系统及其应用杂志主页:www.journals.elsevier.com/intelligent-systems-with-applicationsN. Mahmoud等人智能系统与应用16(2022)20013522018年)。克服中央权威问题的一个有效解决方案是用于乘车共享过程的去中心化p2p方法(S'anchez等人, 2016年)。因此,一些研究已经利用区块链技术来减轻RSS系统的现有客户端-服务器架构的问题(Baza等人,2019; Kudva等人, 2020; Baza等人,2020年;巴斯克斯·&兰达-席尔瓦,2021年;雷努·&巴尼克,2021年)。区块链是一种账本,具有不可变性、可分布性和可追溯性的特点。区块链的优势之一是允许不信任的实体在不依赖中央第三方的情况下相互交易。区块链不是通过一个可信的集中式机构进行交易,而是为乘车共享系统添加了许多功能,例如允许用户直接与愿意运输他们的司机联系,从而促进他们之间的合作管理(Yuan &Wang,2016; Baza等人, 2019; Kudva等人,2020年)。这消除了中间人执行任何把关作用。transmittance的细节保持在一个分布式的,透明的数据结构,可以访问的所有节点,并由一个网络的计算机称为矿工,运行P2P协议进行管理。然而,尽管基于区块链的RSS具有这些优势,但这些系统仍存在一些缺陷,例如无法在区块链中存储大型数据(Ye Park,2021&)。因此,区块链缺乏数据的可扩展性。此外,随着区块链中数据存储的增长,矿工需要更多的处理来验证这些数据,这给最终用户增加了更多的时间和成本。此外,仅依赖区块链会导致链变得太大,许多用户无法轻松验证和存储它。受基于区块链的RSS的上述缺陷和(Baza et al.,2019)和(Baza等人,2020),本文提出了一种将区块链与Interplane- tary File System(IPFS)集成的乘车共享系统,以克服仅使用区块链的上述缺陷。因此,拟议的乘车共享系统继承了IPFS的功能,以减少存储在区块链中的乘车共享数据的大小。IPFS可以为拼车数据提供分布式和永久性存储,而没有任何存储限制(Benet,2014)。本文的主要贡献是展示IPFS如何与区块链集成,以克服其存储限制,并实现更快的乘车共享数据处理。在所提出的系统中,所有乘车共享数据都将从链下移动到IPFS。而区块链中的乘车共享数据被替换为识别IPFS中的数据或文件的散列。这些数据指的是司机的报价和乘客的请求,其中包括与行程相关的信息,包括上车时间、位置和目的地。还提出了一种拟议的方法以及智能合约开发,提供了如何在RSS中集成IPFS和区块链的完整场景。通过将乘车共享数据移动到IPFS并将其哈希存储在交易中,将这些数据存储 在区块链中的负担将减少。由于区块链中的数据存储减少,减少了计算,这加快了处理时间,并且降低了终端用户的成本。IPFS通过散列来识别文件,因此在区块链交易中包含乘车共享数据散列允许从IPFS正确且无更改地高效且有保证地检索这些数据。本文的贡献可归纳如下:提出了一个去中心化的乘车共享系统,并将其原型实现为以太坊(一个真 实世界的公共区块 链平台)上的去 中心化应用程序(DApp),以允许用户以去中心化的方式访问系统在此之后,本文提出了IPFS与区块链在拟议系统中的集成。为此,提出了一个建议的方法,它提供了一个完整的方案,如何在RSS中集成 IPFS和区块链在拟议的系统中,我们构建和部署了一个智能合约,并调查了为司机和乘客采用这种设计所产生的费用。这个智能合约通过将其部署到本地网络Ganache进行评估。最后,对所提出的系统进行了广泛的评估。我们的实验结果表明,可扩展性,可验证性,和优越的性能所提出的乘车共享系统。本文的其余部分组织如下。本文的必要背景在第二节中介绍. 第三部分讨论了以往的相关研究工作。第4节详述了拟议的共乘系统架构。我们在第5节中介绍了我们提出的系统的拟议方法。第6节介绍了在实验和开发拟议的乘车共享系统中使用的工具、库和语言。最后,实验结果及其评价在第7节中给出,然后在第8中给出结论性意见。2. 背景在本节中,我们将提供有关智能交通系统、拼车、区块链技术、智能合约、IPFS和DApps的必要背景,这些都是在构建拟议系统时所利用的。2.1. 智能交通系统和乘车共享智能运输系统(ITS)是运输的未来(Mollah等人, 2021年;Alaldag&Gökalp,2020年)。 它们是在过去二十年中出现的,以改善运输系统的性能,提高旅行安全性和流动性,以及减少交通的有害影响,如道路事故和空气污染等, (Alzald ag&Gökalp,2020;Zhang等人, 2011年)。它们被认为是物联网(IoT)的一部分,是迈向智慧城市和共享经济的一 步 ( Yuan &Wang , 2016; Mollah 等 人 , 2021; Priya 等 人 ,2021;Maskey等人, 2020年)。 根据(Masald ag&Gokalp,2020)和(Maskey等人,2020年),ITS被定义为在交通系统中实施信息技术和通信。它通过利用先进的信息和通信技术,将车辆、人和道路融为一体。智能TS中的“智能”是指将从ITS生成的数据转换为对个人和经济有用的有意义的信息的过程(Zichichi等人,2020年)。智能城市,也称为智能环境,利用ITS来实现其目标。它们被定义为嵌入信息和通信技术以创建交互系统的智能环境。ITS帮助智慧城市提供全面优化的城市交通。此外,它通过减少旅行时间来缓解这些城市的交通流量,为司机带来更大的安全性,为乘客带来舒适和娱乐。ITS提供的应用和服务处理并解决了智能城市的运输问题(Mollah等人,2021年)。本文的重点是乘车共享应用程序,因为它们在协助ITS实现其目标的重要性。共乘代表了一种分散的决策模型,因为用户通常是自私的,并且只有基于个人目标才有动力彼此合作(Chau等人,2020年)。改善共乘对改善ITS有很大影响,有助于缓解和克服其长期存在的问题。这些问题包括交通拥堵、道路事故、延迟、高运营成本、低效率以及传统集中式系统中数据存储的安全风险(Mollah等人, 2021;Baza等人, 2019年;Chaald ag&Gökalp,2020年; Chau等人,2020年)。共乘也被称为拼车( Chau 等 人 , 2020; Khanji &Assaf , 2019; Wang &Zhang , 2021;Vazquez&Landa-silva,2021)。此外,尽管术语·····N. Mahmoud等人智能系统与应用16(2022)2001353++服务”(RHS)和“乘车共享服务”(RSS)有时是可互换的术语,它们之间是不同的(Aïjuji等人,2018; Shivers等人,2019; Shahbazi &Byun,2022)。“叫车”一词指的是Uber和Careem等公司。它使乘客能够请求从当前位置到指定目的地的特定乘车。而术语“共乘“描述的是其中乘客陪同驾驶员进行一部分行程的情况。这次旅行是预先计划的司机,它将被举行或没有车手。在拼车中,大多数司机首先为自己计划一次乘车,然后提出与他人分享乘车。而在网约车中,司机根据乘客的请求进行按需乘车2.2. 区块链、智能合约和以太坊区 块 链 的 起 源 概 念 来 自 比 特 币 , 一 种 非 常 流 行 的 加 密 货 币(Nakamoto,2008)。区块链是一个流行语,指的是一种具有许多定义的强大技术。这些定义共同同意区块链是一种具有分散架构的分类账,其存储具有以下特征的数据记录:分布式,共享,链式,按时间顺序,通过加密和哈希保护,可追溯,不可变或仅追加(Nakamoto,2008;Yuan Wang,2018&;WOOD,2021)。这些特性使区块链能够以P2P的方式交换价值,而不依赖于第三方。实际上,区块链代表了一种保存数字交易记录的数据结构(Yuan&Wang,2016; Mollah等人,2021; Yuan &Wang,2018)。多个不同的节点,即,计算机器存储区块链的相同副本。它们连接在P2P网络中。交易是区块链的基本单位, 它们中的一组被存储在块中。一个块链是通过连续地按顺序附加它们而形成的。区块链强调了去中心化的重要性,使大多数参与节点能够通过一个称为共识机制的过程集体做出决定。虽然,区块链主要出现在分布式加密货币中,它可以在没有银行干预的情况下转移电子现金。然而,它并不局限于加密货币,因为它后来发展到支持更通用的分布式应用程序的部署。这个概念是由Vitalik Buterin提出的,被称为智能合约或去中心化的自治组织(WOOD,2021)。虽然智能合约在1990年中期由Nick Szabo首次引入,但他们并没有找到适合他们成长的环境(Szabo,1996)。智能合约可以定义为一种特殊类型的计算机程序,它是在区块链网络上自动存储和运行该程序作为一个合同,其条款可以预先编程,具有自我执行和自我执行的能力,而不需要可信的权威机构(WOOD,2021)。智能合约使solidity代码能够在区块链系统上作为DApp运行Solidity是为以太坊创建智能合约最常见的编程语言。它源自C、JavaScript和Python。以太坊是一个类似于比特币的区块链平台。 它的存在是对如何使用区块链技术的问题的回应支付,它也被用作在系统中运行DApps的定价工具。所有以太坊操作和指令都由以太坊虚拟机(EVM)执行,EVM在以太坊的每个节点上运行网络在以太坊中,节点1指的是正在运行的客户端软件,而客户端是以太坊的实现,它验证每个区块中的所有交易。根据数据存储速率,以太坊网络有三种不同类型的节点:完整,轻型和存档。Full节点存储所有区块链数据。轻节点仅存储头链并请求其他所有内容,而存档节点存储完整节点中保存的所有内容以及构建历史状态的存档。以太坊的一些潜在领域包括交通运输、医疗保健、保险、文件存储、市场预测等。用于交通运输的去中心化应用程序(DApps)是本文将探讨的以太坊重要用例之一。DApp是托管在P2P区块链网络上的应用程序。传统的集中式Web应用程序和DApp之间的主要区别如下表1所示。2.3. 星际文件系统(IPFS)IPFS是一种p2p分布式文件系统,其目标是将所有计算设备与相同的文件系统连接起来(Benet,2014; Guidi等人,2021年)。在某些方面,它看起来像Web,提供了高吞吐量的内容寻址块存储模型和内容寻址超链接。IPFS依赖于分布式哈希表(DHT),即Kademlia,来跟踪谁可以提供什么数据(Daniel Tschorsch,2022&)。在存储数据时,它将文件拆分为由其自己的哈希标识的块,然后记录哪些块属于哪个文件。然后,这些块将被分发到网络上的各个节点。当用户请求一个块时,这个请求会遍历DHT到存在散列的节点。当需要时,所有的块被组合起来准备主对象,并将其显示给用户。IPFS使用哈希来识别和检索文件。因此,这提供了一个非常有用的属性,可以通过检查文件的哈希值与您正在查找的文件的哈希值来验证文件。两个哈希值的相等性作为收到正确文件的证明。IPFS依赖于所谓的内容标识符(CID),因为它表示内容寻址系统而不是位置寻址系统(Benet,2014)。 CID 2 是一个自我描述的内容寻址标识符,fier,它基于内容本身形成地址。它的大小取决于加密散列,而不是内容本身。默认情况下,IPFS使用加密安全散列算法2 -256(sha 2 -256)对其内容进行散列,该算法产生256位或32字节的CID。它通过所谓的多重散列支持多种散列算法。这种多重散列表示自描述散列,其本身包含描述生成它的加密算法及其长度的元数据。多重散列格式由三个字段组成,表1传统Web应用程序与DApps。传统Web应用程序分散式应用程序(DApps)交互遵循客户端-服务器架构直接通过智能超越金钱和加密货币的技术 因此,它旨在依靠中央权力机构合同允 许 开 发 人 员 或 任 何 人 创 建 任 意 智 能 合 约 和 分 散 式 应 用 程 序(DApps),这些应用程序是可扩展的,标准化的,功能齐全的,易于开发和互操作的。以太坊诞生于2013年由Vitalik Buterin谁是程序员和加密货币研究员(Vitalik,2014)。它代表了一个公共的、无许可的、全球性的区块链,它是用图灵完备的编程语言Solidity构建的,克服了没有中央权威设置角色和权限隐私没有隐私更少的隐私问题透明度缺乏透明度其他安全问题更安全、自治和不可变Bitcoin的脚本语言 在以太坊上的每一次计算都需要支付费用,因此,它定义了术语Gas,用于衡量以以太支付的费用。Ether是Ethereum的内置加密货币。除了1https://ethereum.org/en/developers/docs/nodes-and-clients/2https://proto.school/anatomy-of-a-cidN. Mahmoud等人智能系统与应用16(2022)2001354×如下:(1)表示散列类型的一个字节长度,例如,SHA 2 -256将是十六进制的18- 012;(2)另一个1字节,并且表示散列大小,其中SHA 2 -256的长度是256位或32字节;以及(3)实际散列值或散列摘要。IPFS使用基本编码将CID表示为字符串,而不是将普通的二进制表示为一系列1和0。IPFS在首次创建时使用base58btc编码来创建CID。CID的第一个版本,版本0(CIDv0),是由多哈希格式和base58btc组成的。CIDv0总是有一个预置Qm。例如,QmP 5 Ubgn 8 SMPxK-qy9TgjHn2HVSaab8ia2R28we6AyBMb2 是一个CIDv0 示例,使用CIDInspector 3在线可视化,如图所示。1.一、它将multibase和multicodec都列为“隐式”,因为它没有这些预FIXes并始终假定为base 58 btc和dag-bp。多编解码器是指一个预先设置的数字,它唯一地标识一种格式或协议。关于IPFS及其相关技术的更多细节可以在(Benet,2014)中找到。3. 相关工作本节讨论了以往对拼车的研究,特别是基于区块链的研究。基于区块链的乘车共享服务(RSS)正在获得牵引力,因为它允许人们和想要运输他们的司机之间的方向连接(Yuan Wang,2016&)。尽管如此,他们仍处于早期阶 段 , 渴望 更多的研 究 贡献(Alzald ag&Gokalp,2020;Mahmoud等人, 2022年)。以前的大多数研究只是试图在乘车共享领域引入区块链技术,以便将其从集中化转移到分散化(Mahmoud et al.,2022年)。这些研究工作是(Yuan &Wang,2016; Kudva et al.,2020;(DACSEE,2018);(Arcade,2015); Vazquez &Landa-silva,2021; Khanji &Assaf,2019;Wang &Zhang , 2021; Shivers 等 人 , 2019; Shivers 等 人 , 2021 年 ;ZeroRuj& , 2019 年 ; Kanza &Safra , 2018 年 ) 。 La &'Zooz ( YuanWang , 2016 ) ,DACSEE (DACSEE , 2018) 和 Arcade ( Arcade ,2015)是基于区块链的乘车共享平台的应用场景。该工作(Kudva等人,2020年)利用联盟区块链和智能合约来克服当前集中式乘车服务引起的担忧。这项工作(Vazquez Landa-silva,&2021)主要集中在利用区块链智能合约来实现乘车共享系统。而这项研究(Khanji Assaf,&2019)调查了利用区块链去中心化和分布特性的好处,并建立了一个乘车共享应用程序GreenRide。这项工作(Wang Zhang,2021&)提出了一个通过区块链继承功能来保护乘车共享的框架。这些研究(Shivers等人,2019)和(Shivers等人,2021)提出了一个框架,以开发基于区块链和链码的分散式乘车架构,即,Hyperledger中的智能合约Fabric区块链平台。这项工作(JenuRuj,2019&年)的重点是利用区块链继承了特征,即,透明、分散和分配,以保证汽车共享的公平性。最后,这项工作(Kanza Safra,2018&)说明了如何在乘车服务中使用区块链,加密货币和智能合约来保护位置隐私,用户的假名,并且可以信任。除了区块链继承乘车共享中的功能利用之外,这项工作(Baza等人,2019; Baza等人,2020; Renu &Banik,2021; Li等人, 2019年)不仅在乘车共享中引入了区块链技术,还在区块链使用之外提供了进一步的改进。作者(Baza等人,2019; Baza等人,2020年)提出了一个名为B-Ride的分散式乘车共享系统。B-Ride利用公共区块链和智能合约,允许系统用户、司机和乘客之间直接互动,而不依赖于可信的第三方。用户可以使用这个系统,而他们的隐私得到保护3https://cid.ipfs.io/#QmP5Ubgn8SMpwXKqy9TgjHn2HVSaab8ia2R28we6AyBMb2通过隐形技术B-Ride通过提出的时间锁定存款协议和零知识来利用乘客和司机之间的信任。提出了一种按行驶距离付费的方法,以确保公平的付费。对于(Renu&Banik,2021),作者提出了现有基于区块链的框架的改进版本,该框架取代了乘车共享服务的集中式框架。然后,他们将框架的原型实现为基于以太坊区块链上的智能合约的去中心化应用程序(DApp)。此外,他们亦利用最小配对算法,为乘客配对合适的司机,以节省总行车距离。该工作(Li et al.,2019)提出了一种使用区块链的车辆雾计算的乘车共享方案。匹配车手与司机是通过安装在道路沿线的路边单元(RSU)在当地进行的。为了实现数据可重复性,这些RSU维护一个私有区块链,用于在分布式账本中存储乘车共享数据。然而,依赖RSU来存储大量共乘数据记录代表了有限能力的设备,这可能是不切实际的,特别是在对共乘服务有高需求的城市地区。除了区块链去中心化之外,去中心化的乘车共享方案在(Sa'nchezet al., 2016年)。在这项工作中,服务提供商被一个p2p拼车管理网络取代。司机和乘客是这个网络的同行。然而,该计划并没有保护乘客的隐私,因为不仅司机和乘客的行程匹配谁知道对方的真实身份。此外,该方案缺乏区块链提供的透明度。根据前面的段落和我们的调查,我们可以将基于区块链的乘车共享工作总结如下(Mahmoud等人,2022年)。大多数早期的研究主要集中在将区块链技术引入乘车共享领域,以便将其从中心化转移到去中心化。一些研究论文只讨论了区块链在乘车共享中的应用,但其他人也将他们的提议扩展到了这种应用之外,包括隐私和保密性的增强。关于几乎所有基于区块链的乘车共享作品的更多细节和比较可以在我们的工作中找到(Mahmoud等人, 2022年)。虽然IPFS以前没有在RSS中讨论和介绍过,但据我们所知,它已被用于其他应用程序。例如,Norvill等人(Norvill等人,2018)提出了一种方法,通过将合同创建数据移出链,并在区块链中用较小的哈希值替换它,从而减少以太坊区块链中存储的链数据的大小,从而允许检索代码。在(Alizadeh等人,2020年)提出将公共区块链和分布式哈希表(DHT)相结合,以分散的方式不可变地存储数据,以减轻仅使用区块链的高存储成本。在数据共享领域,作品(Ye &Park,2021),(Dammak等人,2022 ) 和 ( Ullah 等 人 , 2022 年 , 使 用 IPFS 。 对 于 ( Ye Park ,&2021),作者解决了存储和共享车辆数据的安全性和容量问题。他们提出了一个使用区块链和IPFS安全存储车辆数据的系统。最后但并非最不重要的是,该研究(Hossan等人,2021年),旨在确保合乘服务在运营期间不会遇到一些困难。例如,司机可能对乘客有不当行为,在招聘方面有困难,辱骂或成为骚扰的受害者。通过记录起飞开始到终点的视频来实现乘坐安全。最后,将此视频保存到IPFS。此外,作者还提供了一个基于超级账本的私有区块链解决方案,用于记录所有乘车共享数据,即乘车请求、乘车接受、乘车完成和乘车支付,以阻止不道德的舒适。与我们的乘车共享领域相比,之前所有使用IPFS的研究都针对其他领域。此外,本文的目标包括克服基于区块链的拼车系统的存储限制,降低处理成本以降低最终用户的费用,并最终提供可扩展、可验证和可用的解决方案。在拼车服务和几乎所有其他领域,这些目标尚未得到解决。N. Mahmoud等人智能系统与应用16(2022)20013554. 建议的系统架构图1.一、 IPFS CID 0详细信息在CID检查器中。在商业应用程序的智能合约平台上,拟议的系统依赖于以太坊作为其区块链基础设施。所提出的共乘系统架构包含以下实体,如图1所示。第二章:区块链它是拟议系统的核心,管理所有共乘交易。所应用的区块链类型是无许可的,即,公共的,允许任何人充当司机或乘客。除了交易处理之外,区块链还支持在货币兑换中利用的P2P支付,即,系统用户之间的旅行费用。因为以太坊是一个流行的区块链智能合约。所提出的乘车共享系统的业务逻辑由智能合约实体执行,该智能合约实体由区块链网络执行。拟议的智能合约负责强制系统逻辑,如司机对骑手的支付,反之亦然。司机和骑手。搭乘者实体向所提出的系统提交请求以获得共乘服务。该实体的作用是请求乘车、获得乘车优惠、支付乘车费用以及提供其他信息,例如对乘车进行评级。而驾驶员实体与乘客共享他/她的一个或多个计划行程。驱动程序实体的作用是图二. 建议的共乘系统架构。···N. Mahmoud等人智能系统与应用16(2022)2001356=loclocB()D()E()S()locloc不不提供计划的旅行作为提议的系统的报价,获得报价IPFS。乘客请求或司机报价的拼车数据然后,生成的哈希值存储在区块链中。如果数据高于预定阈值,例如,如果数据大小超过256KB,则IPFS将数据存储在多个节点中。 此阈值在IPFS设置中指定。在本文的上下文中,IPFS被用作链下数据库来存储乘车共享数据,这些数据的散列被存储在区块链中。DApp。它代表前端实体,为驾驶员和乘客提供用户界面,以访问提议的系统并与之交互。DApp有一个由React开发的Web界面。JS框架。它通过区块链浏览器访问,在我们的情况下,Chrome加上Metamask扩展,可以在任何设备类型上运行,如手机,笔记本电脑等。所提出的系统依赖于区块链的执行正确性和可用性,但是它遭受基于在(Baza等人,2020年)。一旦部署,智能合约的代码就可以保证按照指定的方式工作,并且不受篡改。系统中的任何人都可以看到和读取它。类似地,提交和存储到合约的任何数据都可以被系统的所有节点或任何外部用户读取。本文中使用的缩写和符号列于表2中。5. 建议的系统方法算法1建议系统智能合约合约RSDAppSC_IPFSString offersHash//存储IPFS中的驱动程序String requestHash//存储来自IPFS的骑手函数setOffersHash(_offersHash)offersHash←_offersHash函数getOffersHash()返回报价Hash函数setRequestHash(_requestHash)requestHash←_requestHash函数getRequestHash()返回requestHash函数payTripFare(riderAddress,driverAddress,tripFare)IfriderAddress=zero address return;IfdriverAddress=zero address return;riderBalance<$riderAddress.balanceriderBalance <$riderBalancedriverBalance←driverBalance+tripFare5.1. 数据发布司机和乘客的乘车共享数据以及这些数据如何在拟议的系统中表示和存储是数据发布阶段的重点。如图3的序列图所示。此阶段的工作方式如下。任何骑手都可以随时向拟议的系统DApp提交请求。该请求R r可 以 表 示 如 下 : Rr={S ( r ) ;D ( r ) ;S ( r ) ;D ( r ) ; x ( r ) ; y ( r ) }(1)本节演示了拟议的系统方法。其中S(r)是上车位置,D(r)是目的地位置,S(tr)是禄禄该方法详细说明了IPFS与区块链在拟议系统中的集成如何工作,以及用户如何- 即司机和乘客-与这个系统互动。 此外,所提出的系统的逻辑和条件通过算法1中描述的开发的智能合约来应用。数据发布-取车时间,D(tr)是下车时间。而x(r)和y(r)是分别表示距离和时间的两个松弛。其中,x(r)表示骑车人可以步行到司机处的距离(单位:英里),y(r)表示骑车人可以等待司机来接他的时间(单位:分钟)S(r)和D(r)是指这些位置的坐标,制作、匹配、选择、处理和定稿是三个步骤locloc拟议系统方法的各个阶段。以下各小节对这些阶段进行了说明表2E.文件的平面化&缩写/符号CID内容标识符DApp去中心化应用分布式哈希表EVM以太坊虚拟机ETHETHERIPFS星际文件系统ITS智能交通系统点对点RHS叫车服务RSS共乘服务用经纬度来表示骑手请求Rr的示例是:Rr{30.70634348629828, 30.50644181488037; 30.706786266444926,30.505154354553223; 1:12; 1:30; 2; 3}。在 这 个 请 求 Rr 中 , S( r ) 是 {lat : 30.70634348629828 , :30.506441 81488037} , D( r ) 是 {lat : 30.706786266444926 , :30.505154354553223},S(tr)是下午1:12,D(tr)是下午1:30,x(r)是2英里,y(r)是3分钟。然后,所提出的系统DApp实体接收该搭乘者IPFS将此请求存储为一个对象,以及从整个请求数据生成的哈希该散列被表示为格式QmYVMbTfn3T7oEMcnBTw6xNVti2VeLEVkaC1q8YxmPiaf 的 内 容 标识符(CID)。区块链实体从DApp实体接收该CID,使用al-出租m 1最后,骑乘者等待响应于其请求RR而做出的推荐报价。在所提出的系统的另一侧,驾驶员提供她/他的dlocB(td)提供驱动程序的报价在提交骑乘者的请求之前、之后或期间,将位置和时间发送到系统这些地点和时间是Do司机如表3所示。D(tr)rlocdlocE(td)骑手的下车时间骑手的下车地点Offer根据这些司机的位置和时间,DApp准备司机报价。为了说明DApp如何构建可能的驱动程序报价,考虑以下示例。在这个示例中,假设驱动程序为DApp提供了五个位置及其对应的位置。RRRider次 dApp 构建 可能的司机报价根据 到rlocS(tr)乘客上车地点乘客上车时间下表4:来自司机的潜在报价的数量是使用x(r)骑车人愿意步行到驾驶员上车位置y(r)骑手愿意等待的时间松弛延迟时间。··N. Mahmoud等人智能系统与应用16(2022)2001357表4和以下等式:N个报价=n(n-1)/2(2)N. Mahmoud等人智能系统与应用16(2022)2001358loc=-=locloc不不图3.第三章。 拟议的系统方法第1阶段(数据发布)顺序图。表330.50446770904541},E(d)是{lat:30.70634348629828,液化天然气:司机的位置和时间。位置-时间位置坐标(L)时间(T)(L 0,T 0)30.705310324719676,30.504467709045411:00(L1,T1)30.70634348629828,30.50644181488037 1:10((Ln,Tn)Latn,nHH:MM30.50644181488037},B(td)是1:00 PM,E(td)是1:10 PM,并且offer_price是0.000006501USD。此报价Do的计算方法如下:1司机指定以太坊以太币的最小单位每Wei的英里数为1000000Wei,B(d)和E(d)之间的距离是221.1976英里。所以,这个提议禄禄表4司机报价的构建方法开始\结束(L0,T0)(L1,T1)(L2,T2)(L3,T3.)(L4,T4)(L0,T0)-提供1个提供2个提供3提供4个(L1,T1)--提供5个提供6提供7个(L2,T2)---提供8提供9个(L3,T3.)----提供10个(L4,T4)-----其中,N是可能的驾驶员报价的数量一个要约Do表示如下。Do={B(d);E(d);B(d);E(d);报价}(3)可以计算如下:Offer_price=221.1976 * 1000000= 221,197,600微1接下来,此报价在Wei中的价格转换为Ether,以太坊标准加密货币。这一转换使我们能够估计这一铁的价格在美元。这是如何计算转换Offer_price221,197,600 * 10-18(WeiperETH)0.000000002ETH1现在,鉴于以太价格,报价截至2022年1月18日的2939美元(以太坊加油站),如下所示:Offer_price(美元)=0.00,000,000,02 * 2939= 0.0000006501USD.其中,B(d)是在时间B(td)处的开始位置,并且E(d)是在时间B(t d)处的结束位置。locloc这些报价在由DApp构造后发送到IPFS结束时间E(td)。B(d)和E(d)对应于这些坐标每个司机的可能报价IPFS存储这些收到的报价禄禄位置,即纬度和经度。而offer_price是基于位置B(d)和B(d)之间的距离的估计的报价费用,还有他们的大麻然后,这个哈希值被转发回DApp,DApp将它们传递到区块链,将其存储在其交易中。的loc算法1的setOffersHash()函数用于将报价的散列存储在E报价的位置Do乘以预先指定的价格每英里从司机。之后,基于行程结束时的要约Do和请求Rr的实际位置,可以调整该要约价格。作为一个例子的驱动程序提供Do是:Do{30.705310324719676,30.50446770904541; 30.70634348N. Mahmoud等人智能系统与应用16(2022)2001359loc629828,30.50644181488037; 1:00; 1:10; 0.0000006501USD}的区块链一个例如的一驾驶提供散列是Qmaty9Eb5RSyos3tNryVNdhY9f9vq1RG2nMAHHqnxUDhS.与散列相关联的每个文件或数据都由IPFS中的归档以太坊节点固定在交易的数据字段中。任何节点都可以检索与散列相关联的乘车共享数据,而无需cur-租金的必要性,永久存储它作为一个块的一部分的作用在这提供D o,B(d)是{lat:30.705310324719676,液化天然气:N. Mahmoud等人智能系统与应用16(2022)20013510在我们的提议下,归档节点保持不变,我们移动到链下的数据可以以相同的方式检索只要固定的完整和轻型以太坊节点在需要时从存档节点请求它们不在本地存储的信息(Norvill等人,2018年)。骑手现在已经准备好接收适合其请求的报价而司机等待合适的车手建议的系统方法的下一个阶段,匹配,将在下面的小节中介绍,准备这些合适的
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 十种常见电感线圈电感量计算公式详解
- 军用车辆:CAN总线的集成与优势
- CAN总线在汽车智能换档系统中的作用与实现
- CAN总线数据超载问题及解决策略
- 汽车车身系统CAN总线设计与应用
- SAP企业需求深度剖析:财务会计与供应链的关键流程与改进策略
- CAN总线在发动机电控系统中的通信设计实践
- Spring与iBATIS整合:快速开发与比较分析
- CAN总线驱动的整车管理系统硬件设计详解
- CAN总线通讯智能节点设计与实现
- DSP实现电动汽车CAN总线通讯技术
- CAN协议网关设计:自动位速率检测与互连
- Xcode免证书调试iPad程序开发指南
- 分布式数据库查询优化算法探讨
- Win7安装VC++6.0完全指南:解决兼容性与Office冲突
- MFC实现学生信息管理系统:登录与数据库操作
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功