没有合适的资源?快使用搜索试试~ 我知道了~
区块链:研究与应用3(2022)100066用于视频会议的基于DHT和区块链的智能识别Morteza Alizadeh*,KarlAndersson,OlovSchel'en计算机科学系,电气和空间工程,吕勒勒堡理工大学,SE-93187,瑞典吕勒堡A R T I C L E I N F O保留字:视频会议区块链IPFS分散式虚拟主机机器学习A B S T R A C T视频会议应用程序帮助人们通过互联网进行沟通,并为虚拟会议提供重要而一致的基础然而,完整性、安全性、标识和身份验证问题仍然普遍存在。当前的视频会议技术通常依赖于云系统来为执行任务和流程提供稳定和安全的基础。与此同时,视频会议应用程序正在从集中式解决方案迁移到分散式解决方案,以获得更好的性能,而无需第三方交互。本文展示了一种基于生物识别技术、机器学习和去中心化哈希表结合区块链技术的视频会议应用的去中心化智能识别方案。我们通过实现机器学习功能识别用户后,将用户信息存储在分布式哈希表上,并将交易事件存储在分布式账本此外,我们利用分布式账本技术的不变性和可追溯性以及分布式哈希表无限存储特性,通过评估三种可能的架构来提高系统的存储容量和不变性。实验结果表明,基于区块链和分布式哈希表的架构具有更好的效率,但需要更长的时间来执行比其他两个使用集中式数据库的架构1. 介绍今天,视频会议和类似的应用与过去相比已经发生了很大的使用云服务进行存储、管理和识别解决了一些挑战,例如本地设备的安全性和此外,视频会议中的去中心化正在卷土重来,就像WebRTC一样。 虽然去中心化视频应用程序提供了执行和存储容量的可扩展性,但提供可信的去中心化参与者标识是一个挑战。机器学习(ML)目前被用作许多移动设备中的技术,例如解锁和识别。近年来,人脸识别受到了广泛关注,当与其他人工智能(AI)方法(如语音识别)结合时,已成为最有用和最依赖的解决方案。当会话中的不同参与者彼此不认识或不认识在当前的挑战中,视频会议应用通过反映参与者的信息并与其他人共享体验而增加了访问问题。因此,识别用户和控制数据访问权限是迫切的问题[1]。此外,应用程序需要分散,以确保视频会议仍然是一个公共资源,是健康的,可供所有参与者,政府和第三方不控制它。因此,保持视频会议应用程序的独立性和设计它分散是本文的主要目标。识别是本文讨论的主要挑战之一。寻找非法方式加入会议,如在社交媒体网站上搜索和猜测可用的会议链接,是不请自来的与会者采用的重要策略所有用户都需要证明他们的访问权限并将自己标识为参与者,这可能发生在视频会议会话期间[2]。视频会议应用数据还可以作为个人纠纷的法律证据因此,如何有效地利用这些类型的数据值得研究。此外,分布式应用将识别外包给第三方(例如,Facebook和Google)进行管理,这有助于降低计算成本,节省本地存储空间,并提供有效的数据检索。结合区块链[3]和第三方是一种处理检索数据的方法,同时为数据安全提供保障 区块链系统是一种可以永久存储事件记录的技术。区块链是一种去中心化的系统,它为分布式应用程序提供了一个以不可更改的方式处理和存储信息的环境。公共区块链改善了安全交易,* 通讯作者。电子邮件地址:morteza. alizadeh@ltu.se(M. Alizadeh),karl.和ersson@ltu.se(K. Andersson),olov. ltu.se(O. Schel'en)。https://doi.org/10.1016/j.bcra.2022.100066接收日期:2021年7月5日;接收日期:2022年1月17日;接受日期:2022年2096-7209/©2022作者。出版社:Elsevier B.V.代表浙江大学出版社。这是一篇基于CC BY-NC-ND许可证的开放获取文章(http://creativecommons.org/licenses/by-nc-nd/4.0/)。可在ScienceDirect上获得目录列表区块链:研究与应用杂志主页:www.journals.elsevier.com/blockchain-research-and-applicationsM. Alizadeh等人区块链:研究与应用3(2022)1000662分散式系统应用程序中的事件由于其不变性特征[4]。启用防篡改的事件日志和数据存储的分布是典型的区块链用途[5]。然而,第三方应用程序可能意味着分散系统中的单点故障。这意味着上面提到的第三方解决方案的系统是以集中的方式分布的,因为它是在主要方或其他方的策略下管理的[4]。一旦第三方试图增加订阅费用,所有用户必须接受或离开。总体而言,将区块链技术应用于应用程序已成为新趋势。本文的主要贡献是提出一个去中心化的视频会议应用程序,该应用程序处理参与者的身份识别,在没有存储限制的情况下解决性能问题,并将事件日志存储在不可变的事务环境中。选择这些功能是为了在没有任何第三方组件的情况下以分散的方式获得更好的性能。此外,在机器学习算法的帮助下识别用户是一种很好的识别方法。在这篇文章中,所提出的解决方案是基于人脸识别结合星际文件系统(IPFS)[6]设计的,作为分布式哈希表(DHT)和区块链的一个实现,以证明所提出的架构的可行性 该方案利用了IPFS的存储、网络托管平台等功能,以及存储不可变事件历史等区块链特性。与会者可以通过该系统验证数据的原始性并跟踪数据源记录。此外,区块链解决了数据的有效可追溯性这种组合有助于确保高可访问性,数据安全性、可扩展性、信任和可扩展性。本文的其余部分组织如下。在第2节中,我们介绍-提到他们通过使用量子计算和量子力学来提高整个系统的计算复杂度和处理能力。此外,他们提到IPFS是一种以分散方式存储数据的解决方案,这也是本文试图改进的问题之一。此外,本文试图在ML和图像处理的帮助下改进对应用程序的访问,并结合可跟踪的公共区块链解决方案,用于将访问历史记录存储为无许可公共区块链环境中的事件。目前的相关工作及其主要方法总结在表1中。3. 背景我们建议的视频会议应用程序有五个主要技术和六个属性,可以映射到不同的领域。在下文中,将简要地解释这些区域。3.1. 技术计算机科学技术正在从集中式生产和应用模式向分布式技术包括实现目标的应用程序、技能、技术和流程,表1最近的研究。介绍了我们方案的相关工作。在第三节中,我们介绍了我们的建议的背景第4节描述了视频会议组件。部分相关作品年份标题概述5提供了我们计划的具体细节和解决方案。第6节评估所提出的方法。最后,我们在第7节结束这篇文章。Agrawal [9] 2021对近期应用的调查云计算在教育中的应用:COVID-19视角云可以提高性能2. 相关工作视频会议系统近年来发生了令人印象深刻的变化,因为旧的系统存在一些问题。与会者通常必须在加入之前下载应用程序,防火墙阻止客人加入会议,当用户通过电话连接时,复杂性很高,会议主持人有时需要安装软件来运行集中式主机会议节点[7]。许多研究已经在各个领域进行了视频会议应用,包括大学,医疗保健和老年人护理[8]。传统的视频会议应用面临上述问题中的几个阿格拉瓦尔[9]表明,云可以增加Okereafor和Manny[10]Mohanty和Yaqub [1]达根和库马尔[12]2020了解COVID-19疫情下远程办公和视频会议应用的网络安全挑战2020在线教学和会议2020基于生理和行为模式的生物识别系统的全面调查无服务器视频会议应用中的安全问题机器学习算法和3D生物识别算法并在这一领域开创一个新时代MS Teams和Zoom就是其中的两个例子。Okereafor和Manny [10]解释了如何此外,已识别的参与者可以参加视频会议,埃勒加里卜等人[13个国家]2020以自我为中心的视频会议用于视频会议应用所有人都可以申请加入。 Mohanty和Yaqub [11]专注于参与者识别和认证。Dargan和Kumar [12]和Elgharib et al. [13]发现需要更好的应用程序,新的应用程序具有使用机器学习算法进行识别和认证的可接受功能,如人脸识别,指纹和IRIS。此外,在安全领域,使用区块链和其他分散式系统(如IPFS)显然提高了效率[14]。视频会议、IPFS、区块链和ML的结合升级了旧系统,使其能够实现更好的性能。 它还提高了安全性,解决了存储和用户身份识别问题,而无需安装多个不同的组件。最近,一些类似的作品在他们的研究中使用了区块链和IPFS,涉及图像版权,保护隐私和农业智能合约的不同方面[15,16]。Mubashar等人[17]通过考虑数据如何存储在IPFS中,IPFS如何处理数据持久性,以及Alizadeh等人[14个]Kumar等人[15]Kumar等人[16]Mubashar等人[17]2020年基于公共区块链和IPFS的2021 SP2F:智能农业无人机2021基于IPFS和区块链的安全分布式检测系统,用于工业图像和视频数据安全2021使用基于IPFS的优化算法对集中式个人健康记录进行存储和近分散式解决方案,提高效率基于区块链和智能合约的增强型工作量证明图像版权检测通过使用区块链和IPFSIPFS存储系统的优点和缺点而且他们M. Alizadeh等人区块链:研究与应用3(2022)1000663公共和私人时代。去中心化技术的概念被用于所有技术类型,包括视频会议、机器学习和人脸识别、身份识别、去中心化平台、IPFS和区块链。在计算和信息技术的背景下,分散式系统包含一组连接的电子设备通常,它们采用联网计算机的形式,这些系统是相互联系的,没有一个实体是唯一的权威。去中心化平台试图将数据排除在公司服务器之外,很少在用户的控制下管理数据。IPFS和区块链是两种流行的去中心化技术。3.1.1. 视频会议技术视频会议涉及一种通过电子设备进行通信的技术,并允许用户在不同的地点继续面对面的会议,而无需聚集在一个地点。 这项技术特别适合不同地方的学术和商业用户,以节省时间,费用和与旅行相关的麻烦。3.1.2. 机器学习和人脸识别AI是由机器展示的智能它是在机器中模拟人类智能,使机器从经验中学习,适应新的输入,像人类一样思考,并模仿他们的行为[18]。机器学习是人工智能的一个子类别它是计算机科学的一个领域,其中一种计算方法被训练成自动行动并通过其记忆的知识做出决策。 它可以从数据中学习并自动识别模式,例如监督和无监督技术,而无需直接人工干预。 它的设计基于这样一种想法,即系统可以从它们的经验或历史中学习。 机器学习为我们带来了自动驾驶汽车、人脸和语音识别,以及MSN、Bing和Google等智能网络搜索平台。人脸识别是机器学习技术的应用之一它的工作原理是将摄像机拍摄的图像或视频中的人脸数据与存储的几张人脸数据进行它可以用作认证技术,通过从给定图像中提取和测量面部特征来工作3.1.3. 识别计算机科学中的身份识别是一个命名实体的过程身份帮助系统验证一个人是他或她说的那个人国家身份证号码是在边界内识别的例子。3.1.4. 分布式哈希表IPFS是一个基于分布式哈希表技术[19]设计的分散式系统,没有单点故障。IPFS是一种分散式存储协议,旨在解决过多的文件冗余问题,并为每个存储文件分配唯一的哈希。用户可以根据唯一的哈希地址检索相应的文件。IPFS有助于存储分散的数据,而没有内存容量限制[14]。此外,IPFS是一个分散的文件共享平台。此外,它还包括一个DHT来跟踪谁持有什么数据[20]。 IPFS具有命令行和图形用户界面,使用户操作简单。它通过提供数据块来存储数据包然而,分布式的部分意味着整个表分布在不同的位置[6]。IPFS使用Kademlia技术来识别哪些节点拥有哪些数据。Kademlia是基于分布式对等计算机网络的DHT定义的,由Maymounkov和Mazieres在2002年设计 [20]。IPFS可以在不考虑数据大小的情况下存储数据然后,用户可以使用记录数据的哈希地址来检索数据。存储的数据将被分成许多小块,每个块都用其哈希地址标识这些块分布在散列最接近该节点的相邻节点之间最后,在访问所有小块,可以组合所有块系统接收查询请求3.1.5. 区块链区块链是一个去中心化的系统。它为分布式应用程序提供了一个以不可变方式处理的上下文[4]。存储记录数据和事件的加密签名是区块链的主要功能之一此外,它解决了如何保持transmitted数据不变。许可和非许可区块链是去中心化系统中的两种区块链技术[21]。无许可区块链意味着它是一个开放的系统,所有用户都可以加入或删除他们的帐户。加密货币概念(如比特币)是一个著名的无许可区块链的例子它运行分散的数字货币,同时取消中央管理。区块链包含称为块的数据包集,这些数据包表示交易的历史数据。时间戳和哈希值是唯一的主要块特征 每个块都链接到前一个块,称为父块。可以通过跟踪父块返回到初始块或创世块当大多数网络各方通过其特定的共识机制接受它时,会添加一个新的块[21]。这些数据将在几个联网方之间发布 所有接收到数据的节点将在共识操作完成后复制并保留交易信息的精确副本。这些信息分别存储在每个节点上,并在它们之间建立信任用货币或信用支付业务和交易是必不可少的 这些信用激励各方参与共识,称为权益证明或工作证明[4],并从执行交易的佣金中赚钱。此外,网络参与者被激励在比赛中竞争以获得更多的学分。以太坊是基于智能合约工作的无许可区块链之一,以太币是其加密货币。智能合约是基于Solidity编程语言的计算机程序或交易协议它可以根据合同或协议的条款自动执行和执行法律相关的事件和行动[14]。3.2. 性能各种属性是从分散的角度来看的结果以下部分将选择一些受欢迎的属性进行解释。3.2.1. 无障碍今天,电子设备都配备了快速和强大的硬件.可访问性是指应用程序对所有人的电子设备的可访问性。可访问性一词最常用于指专门的硬件或软件或两者的组合,旨在使用户更容易应用程序应设计为易于使用,使残疾人使用技术的挑战性较小3.2.2. 数据安全数据安全性意味着在数字信息的整个生命周期中保护其免受未经授权的访问和恶意活动理想情况下,必须通过加密、数据屏蔽和减少敏感文件监管来保护信息它强调从硬件、软件、存储设备、访问控制和软件应用程序的安全性等信息安全的各个方面3.2.3. 扩展性可伸缩性是系统通过向系统分配计算机、网络、程序和应用程序等资源来管理大量任务的能力视频会议应用程序就是一个典型的例子,它通常应该支持越来越多的用户,并以最佳的性能和最短的响应时间管理所有用户M. Alizadeh等人区块链:研究与应用3(2022)10006643.2.4. 信任受信任的应用程序受到保护,不受不受硬件组件的修改。 用户不信任一个具有不确定性的系统,这可能会引起这样的感觉,即应用程序不可靠或不会变得很好。特别是,这种感觉传达了对某事的不确定性,即使它无法被证明。例如,视频会议必须设计得很好,以便用户通过接受appli- cable策略感到实时视频通信和文档共享是安全3.2.5. 灵活性计算机科学中的灵活性意味着应用程序可以加入其他应用程序或副应用程序并与之一个灵活的,设计良好的应用程序可以很容易地使用和连接到其他模块.此外,更新这些应用程序并不复杂。3.2.6. 性能绩效分析是对执行任务或功能的行为或过程的系统观察。应用程序的性能应用程序性能是根据用户需求和应用程序响应时间计算的。当我们的应用程序提供高可访问性、不变性、可伸缩性、信任和可扩展性时,就可以实现高性能。4. 视频会议组件今天,视频聊天应用程序通常使用IP通信。Centralized Teams、WhatsApp和Zoom都是受欢迎的应用程序。去中心化Web实时通信(WebRTC)和Jitsi是免费的开源技术,为Web浏览器和移动应用程序提供实时通信功能[22]。它们允许开发人员使用HTML和JavaScript通过应用程序编程接口(API)构建简单的视频会议程序,无需安装插件或下载本机应用程序。这种通信速度非常快,延迟很低,因为连接是P2P的,中间没有服务器Google开发了这项技术,目前几乎所有的浏览器都支持它[22]。图1说明了使用WebRTC的Web会议。4.1. WebRTC信令机制WebRTC支持多种信令机制。 信令是建立、更改和断开连接所需的数据交换。信令是对等检测的中心,并支持通过信道交换数据来建立用户之间的通信[23]。Signalling在浏览器和其他对等点之间执行通信,并使用特定的服务器或服务器。此外,信令支持多种协议,以在媒体交换区域中组合网络地址和端口号。此外,NAT会话穿越实用程序(STUN)和NAT周围使用中继的穿越(TURN)是WebRTC支持的两种网络地址转换(NAT)穿越方法[23]。4.2. Jitsi技术Jitsi是一个多平台、免费、开源的互联网语音协议Jitsi允许开发人员快速构建和部署视频授权应用程序。 Jitsi Video Bridge和Jitsi Meet是帮助开发人员在互联网上实现会议的两个重要组件。此外,Jitsi团队开发了一个专门用于测试其开源视频桥模块性能的临时流量生成器[24]。无法传输视频是Jitsi的内部问题之一,当测试中有许多同行时会发生[24]。4.3. WebRTC和Jitsi的优势所有主流浏览器都支持WebRTC和Jitsi技术。它们也可以捆绑到本地应用程序中,用户不需要安装任何额外的软件来使用视频会议应用程序。这些应用程序可以进行自定义和组合,以包含满足业务需求的多个工具。其中一些整合的工具,如白板,共享和聊天,可以用于在线教育和医疗设备。WebRTC和Jitsi加密了它们在参与者之间发送的所有通信数据。HTTPS协议通过通信为访问相机和麦克风等媒体设备提供安全性。此标准确保只能建立安全连接Fig. 1. 基于Web实时通信的视频会议。M. Alizadeh等人区块链:研究与应用3(2022)10006654.4. 人脸识别人脸识别是一种通过提供的人脸图像来识别人的方法人脸识别系统是一种能够将数字图像或视频帧中的人脸与人脸数据库进行匹配的技术,通常用于通过身份验证服务对用户进行身份验证,并通过精确定位和测量给定图像中的面部特征来工作。人脸识别过程首先为每个人拍摄一张图像,将文件与姓名或身份相关联然后,它将输入图像与数据库中的参考数据进行比较,并找到最相似的参考图像。当两个图像足够相似时,系统识别用户。 Face-api.js是一个著名的人脸识别库,它是一个构建在Ten-sorFlow.js核心之上的JavaScript模块。Face-api.js实现了一个简单的卷积神经网络(CNN),它返回用户令牌面部图像的68个点的地标。该方法将拍摄的照片与参考数据的面部描述符进行然后,将基于阈值[25,26]确定两个面部描述器之间的差异它建立多个卷积神经网络来匹配图像并自动执行人脸识别。face-api.js提供了几个模型,包括人脸检测、面部标志检测、人脸识别、面部表情识别、年龄估计和性别识别[27]。4.5. 问题当前的视频会议应用具有一些共同的问题。这些问题主要分为三类:第一类涉及识别问题,第二类涉及交易的不变性,最后一类涉及集中式系统的故障风险。身份识别和不可变事务问题被认为是去中心化应用的主要问题。因此,视频会议API应该设计得很好,以保证用户的这些方面。虽然机器学习是一种智能技术,可以帮助解决识别问题,但在识别方面仍有待解决。下一节将说明上述三个问题在视频会议方面的可能答案,这是本文的主要焦点。5. 建议的解决方案和体系结构我们提出了一种新的识别系统的视频会议应用。我们在三个不同方面的场景中评估所提出的解决方案5.1. 场景第一个场景是用于身份识别的人脸识别。智能人脸识别被称为最佳解决方案,因为它使用媒体设备进行视频会议。也可以要求参与者在登录系统时显示他们的脸识别用户的最佳解决方案是使用机器学习方法来提取面部并识别谁正在运行该设备以加入视频会议应用程序。 神经网络技术有助于从任何给定的人脸图像中计算人脸描述符(具有128个值的特征向量)。此外,face-api.js使用多任务级联卷积神经网络(MTCNN)作为一种算法,该算法考虑五点面部标志来检测图像中的面部[28]。这种方法显示出良好的效果,但由于恶意用户或攻击者可以窃取面部描述,因此仍然存在风险。第二种情况是使用IPFS作为主机。 IPFS有助于运行无服务器视频会议,不需要集中式服务器来执行,其中以分散的方式存储庞大的数据是其主要特点。OrbitDB是一个无服务器的分布式对等数据库[29],它使用IPFS作为数据存储,并使用IPFS的Pubsub机制来自动同步数据库与同行。 它最终是一个使用CRDT的一致数据库,其中CRDT是一种可以在网络中的多台计算机上复制的数据结构。无冲突的数据库合并功能使OrbitDB成为去中心化应用程序(DApps)和区块链应用程序的绝佳选择。与第一种情况相比,它有更好的结果。很难猜测访问数据库和面部描述文件的权限密钥,但攻击者更新数据库的风险仍然存在。 第三种方案涉及将区块链和DHT技术结合起来。 IPFS以分散的方式存储文件。如果有人窃取了访问数据库的权限密钥,OrbitDB不是不可变的Blockchain可以在这里发挥作用它存储了可以在区块链上编辑或删除数据库的人的访问权限和地址此外,它还存储带有时间戳的事件和日志.此外,所有网络成员都知道谁在不同场合访问了数据库此方案比前面的方案表现出更好的性能。然而,该模型的复杂性大于先前的场景。很难猜测许可密钥,生成虚假的面部描述,猜测区块链钱包地址,但攻击者更新数据库的风险仍然存在。 表2显示了这些方案之间的性能比较。5.2. 参数和比较数据不变性是主要问题之一保持计算机、电子系统和网络中的数据不变是不可变数据的含义。在视频会议的情况下,不变性意味着保持与会者的登录信息、ID、地址和时间戳等数据不变。通常,区块链被用作保持不可变的全局事件或事务排序的解决方案。 它保护存储资源免受意外或故意破坏,以及未经授权或恶意的用户访问开放和公共系统。任何一方都不可能更改这些信息,因为每个人都在自己的内存中存储了一份副本。区块链在没有中央政府帮助的情况下提供了信任和不变性智能合约存储在区块链上,当网络中的任何用户想要执行它时,它会自动执行在本文中,我们使用智能合约以序列化和不可变的方式记录交易。我们亦控制及管理相关活动。去中心化是下一个问题,因为它意味着一个系统不是由一个人或机构拥有、控制和管理在本文中,去中心化意味着系统应该被设计为没有中央单元或任何第三方来管理或控制用户的活动,并具有最低的故障风险。表3显示了集中式和分散式视频会议应用程序之间的比较用户希望视频会议应用程序易于安装,没有第三方干扰,没有通信故障,也没有潜在的安全问题。例如,某些应用程序(如Zoom)可以安装或具有用户可以使用的Web应用程序。去中心化系统意味着如果应用服务器或服务器上发生故障,用户可以通过另一台服务器继续通信。 我们需要一个应用程序作为去中心化网络之上的去中心化应用程序运行。此外,视频会议API需要分散在数据存储系统中。 录制视频、共享文档和文件以及编辑演示文稿幻灯片是视频的主要要求表2性能比较。场景1场景2场景3无障碍低高高数据安全低介质高扩展性低高高信任低介质高灵活性低高高登录处理时间低高高M. Alizadeh等人区块链:研究与应用3(2022)1000666表3系统之间的比较项目需要连接到数据库/使用云存储集中/分散的应用程序典型视频会议基于云的数据库我们的建议分布式数据库解释了三种可能的体系结构,下一节将对它们进行评估。第一种架构通过集中式服务器实现简单的面部识别功能第二个架构展示了一个没有IPFS的系统,而第三个架构是第二个架构在处理和管理分散方面5.3.1. 第一建筑(1st Arch)用户必须信任第三方组件是否通过第三方/共识识别用户第三方共识服务器中的某些故障会导致停止部分故障否整个系统点对点通信是是点对点文件共享否是会议应用程序。最近,IPFS已经开始满足这些要求。开发人员可以在IPFS上上传和编译他们的代码,作为一个分散的Web托管节点。此外,以太坊作为一种流行的区块链服务,已经开始为称为以太坊名称服务(ENS)的Web API销售域名它的功能类似于域名服务,并且它支持IPFS链接以在其域中发布它与IPFS哈希地址相比,此过程有助于缩短Web5.3. 架构图2显示了如何通过我们提出的方法验证用户的概述,并说明了所提出的方法的总体视图在这个视图中,用户通过四个主要模块与系统交互。人脸识别是第一个包含多个库的模块它帮助应用程序识别用户。该模块提取的人脸应该与数据库中存储的人脸相匹配,以便进行验证过程。IPFS是下一个具有存储角色的模块,也可以支持多个角色,例如作为Web托管节点,并通过编译JavaScript代码。与其他模块一样,已识别用户必须有资格与视频会议应用程序进行通信区块链模块在其区块中存储信息,如登录用户的地址、事件和时间戳,作为面部识别模块验证后的交易订购过程。公共区块链被认为是在去中心化系统中保持信息不变的解决方案虽然缺乏存储不同大小的分散数据的内存涉及区块链问题,但IPFS可以克服这些问题。图3示出了架构层。在第一层中,用户与第二层中的人脸检测API进行通信。面部检测也由IPFS网络托管节点执行,该节点与作为第三层的分散式文件系统层通信。最后,子模块应该与区块链交互,作为交易处理和事件存储的最后一层。这种体系结构可以保护整个系统免受恶意用户的攻击。以下部分图二. 架构的总体视图在第一种架构(1st Arch)中,作为传统风格的视频会议应用,我们认为系统具有集中式人脸识别服务,并使用中央数据库。此外,视频会议程序加载在此服务器上。 在这个模型中,所有用户都与中央服务器进行通信,用户可以在人脸识别过程完成后登录系统。5.3.2. 第二建筑(2nd Arch)在第二个架构(2nd Arch)中,如图所示。 4、用户希望通过网络进行交流。 数据对象看起来类似于一个包含人脸识别所需的所有信息的请求。此外,网络托管技术帮助系统将数据记录存储在其数据库中。 它将接受的用户请求发送到区块链,以在识别模块验证用户后存储事件日志。在公告和发布信息后,其他网络成员可以看到该信息。交易是通过将信息存储在区块链上来显示所有上述步骤的过程该交易存储所有信息,包括用户签名、地址、时间戳和智能合约条款。 图 5演示了一个存储数据的智能合约。它包括一个具有数据结构和功能的类,用于在智能分类账上记录数据 这些信息将允许网络利用它来防止一些自然的安全威胁保护。这种架构无法帮助改善集中式存储问题,因为区块链在存储大量数据方面存在局限性5.3.3. 第三建筑(3rd Arch)在第三个架构(3rd Arch)中,如图所示。6、用户希望通过网络进行交流。该过程的其余部分类似于第二架构。主要的区别是,有一个IPFS网络托管服务,而且,它涵盖了存储问题,没有任何中央单元或第三方交互。该系统还可以通过这种想法以分散的方式记录大量数据。5.4. 架构摘要系统中有几个重要的参数是必不可少的:1)时间,2)不变性,3)失败的风险,4)性能。在本文中,基于不变性和风险来定义风险当在分散的环境中执行时,系统可以提供高性能,故障概率最低 图图7示出了基于三个提到的参数的三个架构性能分析的概述。 第一种架构是传统的集中式系统,而第二种和第三种架构分别是第二种和第三种提到的架构。与其他架构相比,第三个架构的性能最好,因为它是不可变的,IPFS帮助这个系统降低了失败的风险。第二种和第三种架构都包含许多功能,可以验证和分发区块链中的分类账因此,这些系统是缓慢的。第一种架构是最快的,但失败的风险高于我们的分散式系统。6. 评价在本节中,第三架构将作为四个步骤的主要方法进行讨论:1)人脸识别,2)IPFS,3)Jitsi,4)将数据存储在区块链中。OrbitDB 版 本 0.24.2 用 作 数 据 库 。 选 择 JavaScript ( npm 11.7.2 和node.js 14.16.1)作为编程语言。以太坊M. Alizadeh等人区块链:研究与应用3(2022)1000667图3. 架构层。见图4。第二建筑是一个流行的公共区块链,RemiX IDE是一个著名的编辑器,用于编译和运行以太坊中以Solidity语言编写的智能合约Metamask是一个以太坊钱包,包括账户,地址和信用(ETH)。信用是必要的注册,然后将其连接到区块链。我们使用以太坊Kovan测试网络来测试公共区块链中的智能合约我们重复了10次实验。结果如图10和12所示。8-10和表4,其中在每个标题中指示上述函数的平均值。我们使用MacBook Pro(15英寸,2018)笔记本电脑,配置如下:macOS Big Sur版本11.0.1,2.2 GHz 6核英特尔酷睿i7处理器,16 GB 2400 MHz DDR4内存,95/91 Mbps平均下载/上传数据速率,GoogleChrome版本90.0.4430.212,IPFS版本0.3.11,face-api.js版本 0.17.0和react-jitsi版本1.0.4。图 8给出了面部识别组件的平均时间,七种不同程序的计算时间获取、查询和加载时间显示为与从本地存储获取数据有关,而有关数据库的信息如图所示。 10. 从图中的信息。在图8中,我们可以看到,面部识别功能的持续时间最高,约为6.75 ms,而获取功能(导入面部元素)的最低持续时间为0.00012 ms。 总平均时间是导入图像、提取人脸和检查相似性所需时间的总和。平均总时间为8.20 ms。图图9显示了十次重复运行区块链模块的创建和查询功能。查询时间涵盖从领导者获取数据,而创建时间表示执行交易时间,这是执行新交易以在以太坊达成共识后向智能账本添加新记录的时间 创建时间大于查询时间,如图所示。第九章 从图中的信息。 9、我们可以计算平均时间。Create函数的最高值为M. Alizadeh等人区块链:研究与应用3(2022)1000668图五. 记录事件的智能合约。见图6。第三建筑。近似XiPhone466.3 ms,查询函数中的最低平均值为6.217毫秒图图10显示了运行IPFS函数和OrbitDB模块的十次重复。插入时间指的是将数据上传到OrbitDB。的获取时间指的是从OrbitDB值中获取数据连接时间是连接到IPFS节点上的OrbitDB的时间上传时间是获取和插入时间的总和查询时间是获取时间和连接时间的总和EX牵引时间是指M. Alizadeh等人区块链:研究与应用3(2022)1000669见图7。 基于不变性和风险的性能。见图8。 人脸识别组件的平均时间。图第九章 平均区块链处理时间。M. Alizadeh等人区块链:研究与应用3(2022)10006610见图10。 基于登录等待时间的性能表4无服务器和基于服务器的系统比较。本地主机IPFS-P2P请求. 9 9对东道主的要求共计(毫秒)405 421到第一个字节的时间(TTFB)(ms)7 115DOM内容加载(ms)194 254最慢呼叫(ms)53 119平均通话时间(毫秒)28 24提取面部特征,这与图中的提取时间相同。 八、识别时间是识别人脸并从数据库中找到匹配的最重要时间 总平均时间是获取、连接、查询和识别功能从基于IPFS的数据库中导入图像、提取面部、查找匹配和确定相似性所收集的时间之和。IPFS模块的平均总时间为8209 ms。表4显示了在localhost(集中式主机)和IPFS WebHost(分散式主机)上运行的两种视频会议模型之间的比较此表显示了十次重复的平均值,以测量主机和子域的请求数量总时间显示登录视频会议应用程序的等待时间。这里的关键参数是总时间和平均呼叫时间,这表明本地主机比分散模型具有更好的速度。6.1. 结果和讨论在前面的部分中,第三种架构被讨论为四个步骤的主要方法:1)人脸识别,2)IPFS,3)视频会议应用程序,以及4)在区块链中存储事件日志信息。第一步是人脸识别,它是基于Node.js构建的该步骤的输入是捕获的图像。面部API库中的面部提取器函数从捕获的图像中提取面部并创建面部描述文件。它使用一种简单的搜索算法,通过比较新的描述文件与存储的信息。当搜索功能在数据库中找到类似的捕获的面部描述文件时,识别的用户是用户。第二步是IPFS。它以分散的方式解决存储和托管问题。IPFS可以编译JavaScript代码,在这种情况下,它被用作上传代码的主机,并且对存储数据没有限制。使用IPFS有两种模式:IPFS桌面版本或命令行版本。桌面应用程序有一个易于使用的界面,用于添加,固定和共享文件。这一步的输出是一个哈希码,显示了编译后的分散应用程序的地址这段代码太长了,用户很难记住。ENS是一种基于技术的以太坊区块链,通过为IPFS应用程序提供去中心化的名称服务来第三步是视频会议,它使用WebRTC和Jitsi技术进行通信。此外,该模块可以由IPFS编译。此外,WebRTC和Jitsi视频会议应用程序有一个文本聊天和屏幕共享模块。最后一步是区块链。以太坊是一种帮助不可变地存储数据的技术图图5展示了一个智能合约,用于在RemixIDE中存储事件信息,如名称、地址和时间。所有已发布的智能合约都有一个特定的地址,通过知道智能合约的地址就足以将项目连接到该智能合约。验证过程完成后,区块链可以将新的交易数据添加到其不可变的历史记录中。执行整个应用程序的总时间为8638.2 ms,这是人脸识别处理时间(8.2 ms)加上与OrbitDB通信的时间(8209 ms)加上登录视频会议应用程序的时间(421 ms)之和。算法1说明了要由IPFS编译的函数和脚本序列。在初始化部分,应用程序需要上传到IPFS。IPFS编译器加载依赖项以编译项目。然后,主过程开始于拍摄面部照片,检查相似性或识别,并向区块链发送存储事件的请求,最后,上述过程通过将用户连接到视频会议应用程序来完成。结果显示,OrbitDB的等待时间过长,导致分散模型速度缓慢。在这篇文章中,性能强调分散性和不变性,而建议的架构有一个更好的结果。如果我们考虑评估性能的时间,集中式架构是最好的。否则,分散式体系结构优于集中式体系结构,因为没有集中化,并且失败的风险低于集中式体系结构。与IPFS相比,区块链的处理时间并不高。因此,时间不影响视频会议的签到时间我们的分析将我们的实现称为线性计算时间复杂度,其中T1是基于图像具有的像素数的人脸地标检测算法的时间复杂度,T2是人脸识别功能和查找匹配的时间复杂度,n是数据库中人脸描述的数量,TH是从DHT读取数据的时间复杂度(查找时间),Tup是M. Alizadeh等人区块链:研究与应用3(2022)10006611网络连接时间与我们使用的算法无关,而TBC是区块链交易执行时间,由独立的参数组成,如Dif ficulty。例如,以太坊网络中的困难是矿工必须解决的问题的困难,以找到一个块。这意味着高难度需要更长的时间来解决。Ttotal是所有先前过程的总和表5总结了所有上述过程的时间复杂度。区块链模块消耗许多资源,因此计算和操作交易成本取决于许多参数,如节点数量和共识类型因此,有一些研究来衡量私人和联盟区块链的复杂性。算法1.视频会议应用中的智能身份识别过程7. 结论和今后的工作安全方面对于处理有助于满足数字世界预期要求的应用程序是必要的因此,应注意身份识别问题和不可改变的数据记录系统。本文提出了一种基于公共区块链和IPFS的组合机器学习人脸识别解决方案。 我们通过解释视频会议应用程序、区块链和智能表5时间复杂度。时间描述复杂度合同解决方案。此外,我们还讨论了区块链如何通过其不可变的历史数据来管理交易。讨论了支持分布式Web托管和在DHT或IPFS中共享数据该系统可用于分散系统的 IPFS分散式Web托管解决方案也被认为是一个很好的解决方案,可以让所有系统分散,而不必担心内存限制。最后,本文展示了两种结合区块链和IPFS的视频会议新架构。我们证明了所提出的解决方案是可行的,因为它的分散和不变的特点。虽然区块链是保持交易数据不可变的良好解决方案,但新的安全攻击风险仍然
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 平尾装配工作平台运输支撑系统设计与应用
- MAX-MIN Ant System:用MATLAB解决旅行商问题
- Flutter状态管理新秀:sealed_flutter_bloc包整合seal_unions
- Pong²开源游戏:双人对战图形化的经典竞技体验
- jQuery spriteAnimator插件:创建精灵动画的利器
- 广播媒体对象传输方法与设备的技术分析
- MATLAB HDF5数据提取工具:深层结构化数据处理
- 适用于arm64的Valgrind交叉编译包发布
- 基于canvas和Java后端的小程序“飞翔的小鸟”完整示例
- 全面升级STM32F7 Discovery LCD BSP驱动程序
- React Router v4 入门教程与示例代码解析
- 下载OpenCV各版本安装包,全面覆盖2.4至4.5
- 手写笔画分割技术的新突破:智能分割方法与装置
- 基于Koplowitz & Bruckstein算法的MATLAB周长估计方法
- Modbus4j-3.0.3版本免费下载指南
- PoqetPresenter:Sharp Zaurus上的开源OpenOffice演示查看器
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功