研究文章|开放访问
Eman-Yaser Daraghmi, Mamoun Abu Helou, Yousef-Awwad Daraghmi, "基于区块链的编辑管理系统",安全及通讯网络, 卷。2021, 文章的ID9927640, 17. 页面, 2021. https://doi.org/10.1155/2021/9927640
基于区块链的编辑管理系统
摘要
研究出版物正以惊人的速度增长。因此,在管理同行评审活动方面提出了新的挑战,如数据安全性、隐私性、完整性、碎片性和隔离性。此外,由于掠夺性期刊和研究欺诈的出现,有必要评估同行评审过程的质量。本研究提出了一个基于区块链的全功能编辑管理系统,即TimedChain,用于管理从提交到发表的同行评审过程。TimedChain为出版商、作者、读者和其他第三方提供了安全、可互操作、透明和高效的对手稿的访问。基于时间的智能合约和高级加密技术被用于管理事务、控制访问和提供进一步的安全性。引入了一种激励机制,评估出版商的价值,尊重他们在管理和维护研究数据和创建新区块方面的努力。为了进行性能评估,进行了大量的实验。结果表明,该系统在低延迟的大数据集管理方面是有效的。
1.介绍
如今,区块链技术远远超出其主要用途。全球采用它来改善组织或个人所拥有的信息资产管理。区块链提供基础设施,以简化收集,管理,保存,存储和提供信息。因此,它可以在各种领域中使用,例如健康记录管理,学术界,事物互联网(物联网)数据,数字投票,研究出版物等等。它允许在合适的时间可用信息。
研究出版物正以每年8-9%的惊人速度增长。这种增长是研究人员数量增加和科学领域竞争激烈的结果。在发表一篇研究论文之前,要经过一个漫长的过程,即同行评审,以评估论文的质量。同行评审的过程是指作者的研究在发表前由同一领域的其他专家进行审查和评估。这一过程由编辑管理系统(EMS)管理,该系统使用信息和通信技术(ICT)来促进对所有编辑内容和同行评审过程的监督。EMS是管理同行评审过程并提高其质量的支持工具,促进编辑任务(例如,稿件提交,跟踪其从提交到出版的进展),改进决策过程,并加强作者、编辑和审稿人之间的交流。目前,有几个商业和开源编辑管理系统可用并正在使用,如ScholarOne [1),爱思唯尔(2)、白羊座(3.], Bepress [4, OJS [5和eJManager [6].这些系统在其提供的功能和服务中各不相同,以提高发布商的生产力并存档出版商保留的历史数据,例如审查报告,联系信息和稿件版本[7].
目前,出版物的数量、学术出版的选择和出版需求都在快速增长。因此,提出了新的挑战,包括确保同行评议质量、防止剽窃、避免掠夺性出版、确保科学数据的安全和隐私、提高学术诚信、管理协调数据、数据碎片和隔离、有效数据共享、互操作性访问、及防止欺诈[8].区块链是最有潜力解决这些挑战的强大技术之一。很少有人提出基于区块链的编辑管理平台,如Pluto [9),工件(10.], ScienceMatters-EUREKA [11.]和Orvium [12.].进一步的讨论将在2.2节.
本研究提出了一个功能完备的基于区块链的编辑管理系统,即TimedChain。拟议的系统旨在管理从提交到出版的编辑活动和同行评审过程。TimedChain为出版商、编辑、作者、读者和其他第三方提供了安全、可互操作、透明和高效的对手稿的访问。本文提出了一种基于时间的满足同行评审需求的智能合约。这些合同嵌入在区块链中,以管理和控制交易,以及监控对科学数据(即手稿、审查报告、审查分数等)采取的行动。建议的智能合约强制执行可接受的使用策略来管理所有的编辑活动,包括稿件提交和处理、同行评审过程和最终决策制定。为了提高系统的安全性,还采用了先进的加密模式和技术。
此外,除了用加密货币奖励发布者,这项工作介绍了基于权威的激励机制证明,估计并评估了网络中所有发布者的价值。拟议的机制估计了出版商在管理出版物、维护科学数据和创建新区块方面所做的努力。价值最小的出版商将被选中创建新区块。奖励将被奖励给“区块的创造者”发行商,并增加其价值,以最小化重新创造下一个区块的可能性,从而达到公平状态,实现系统的可持续性。通过广泛的实验测试了所提出的定时系统,结果证明了其在低延迟下控制大量数据的效率。
2.背景和相关工作
2.1.背景
2008年,中本聪[13.]引入了区块链技术作为比特币加密货币(即数字货币)的核心。区块链被定义为一个分散的、分布式的点对点网络,在这个网络中,任何区块链的参与者所执行的每一笔交易都被放置在一个公共的、不可变的单一分类帐中。区块链网络中的每个块包括(1)一个块的报头,该报头列出了一个表示前一个块哈希值的值,(2)一个Merkle根,(3)一个时间戳,(4)一个包含与交易相关数据的数据部分。
为了识别区块链的参与者,使用了公钥-私钥加密技术[14.,15.].在公开识别方面,使用公开密码匙,而在授权交易方面,则使用私人密码匙。事实上,网络中的任何交易都包括(1)发送方的公钥,(2)数据和(3)前一交易的哈希值。由于数据部分,区块链可以维护一些数字资产,如日志、证书、记录、文本、许可证和产权。块是按照它们的散列值顺序连接的。在区块链网络中,区块链在分布式区块链网络上被复制,并由未成年人存储。
为了管理区块链参与者之间的关系,使用了智能合约。智能合约是在区块链网络上组织、保护和形式化参与者之间关系的数字手段或计算机代码。它在区块链网络中的所有节点上执行和运行[5]来治理、管理和控制事务[6].为了减少和减少恶意违约,智能合同可能会在计算机软件或硬件中嵌入各种类型的抵押品、担保、合同条款和产权[16.].智能合约允许在匿名和不同的实体(即网络节点)之间执行可信的交易和协议,而不需要外部实施模式或中央权威机构。一些基于区块链的项目已经实现了智能合约,例如以太坊平台[17.]和Hyperledger [18.],启用创建动态和可扩展的规则,策略,条件和术语,以安全地共享和交换数据。
为了管理挖掘过程,需要使用不同类型的证明。权益证明(PoS)和工作证明(PoW)是共识算法,在基于区块链的框架中使用,以确定下一步要添加的矿工区块。2017年,以太坊平台联合创始人、前首席技术官Gavin Wood引入了权威证明(PoA)共识算法,以替代PoS和PoW [19.].为了设置一个基于区块链的私有网络,PoA考虑节点的值,以定义一组“区块验证器”或“权威机构”。当局被任意选择为值得信赖的实体来创建新的区块并保护区块链网络。他们用自己的名誉而不是硬币来维持安全。因此,提高系统的安全性、维护系统的隐私性、降低计算时间、提高系统的性能,要求最小的接受交易延迟和稳定的块发行时间是PoA的优点。
2.2.相关工作:基于区块链的编辑管理系统
尽管区块链技术首次被引入是为了展示比特币加密货币,但推广其非金融用途是研究人员的一个目标。
以前的研究表明,区块链技术具有影响管理科学数据的过程并扩大其潜力的能力。BlockChain技术不仅可以增强数据管理,而且可以提高默认的审计性,因为所有数据库访问操作都将是可验证的。这个领域的研究非常新,但迅速增长。
[8]提出了科学出版的治理框架。他们采用基于联盟的区块链模型来实现高效的发布过程。在[9, Pluto使用智能合约建立一个去中心化的发布系统,允许用户提交科学信息并保留版权控制权。Pluto提出了“声誉评分”的概念,它是基于研究贡献和同行评审过程计算的。[中的ARTiFACTS系统10.]使用区块链作为底层技术,在不可变的链中记录学术工件,这样研究成果就可以很容易地捕获和共享。为了支持与开放访问研究存储库的集成,工件只关注于处理研究创建、论文跟踪和输出共享的过程。同样,EUREKA在[11.]利用智能合同和令牌进行评级纸质评论。在该系统中,作者支付审查费用,转换为令牌并奖励审稿人员。[中的Actium Publishing平台12.]的目的是使评审过程公开透明,降低发表成本,用Orvium token奖励评审人员。此外,Orvium使机构能够在Orvium环境中创建和管理分散的期刊。
在[20.,提出了开放科学的分散出版系统。该提议旨在挑战支持传统出版商寡头扮演中间人角色的技术基础设施。在[21.,作者提出了一种基于区块链的去中心化科学传播管理解决方案,以解决传统系统的挑战和激励问题。[22.]在区块链上采用智能合同来展示可修改的研究论文的实施。他们提出了使用区块链网络的分散学术通信平台。在[23],提出了一个基于区块链的科学知识系统,具有社区管理框架,即Aletheia。它的设计目的是承载点对点信息,允许人们相互传递科学期刊,智能合约为社区提供了便利。人们希望这些智能合约能够成为管理其他开源软件项目的基础。
2.3。贡献
在前人努力的基础上,本研究提出了一个全功能的基于区块链的编辑管理系统,即TimedChain,来管理从投稿到发表的编辑活动和同行评审过程。提出的系统为出版商、编辑、作者、读者和其他第三方提供了安全、可互操作、透明和高效的对手稿的访问。
与之前提出的系统不同,TimedChain的设计是建立在由发布者存储的当前数据库之上。TimedChain系统的区块链存储数据引用的散列,同时通过HTTPS在私有事务中发送查询的实际链接。
此外,TimedChain采用了代理重加密和存箱技术,允许将密钥和小型加密记录直接存储在区块链上,从而提高了记录向其他第三方的转移。此外,采用基于时间的智能合约来管理区块链上不同角色的发布者、编辑、作者、读者和其他第三方的帐户访问。这允许角色的分层,可以满足用户的各种需求。此外,TimedChain系统的设计基于共识算法,该算法在向网络添加新节点或删除有害用户时,在改进验证过程中发挥了重要作用。最后,本研究没有使用加密货币奖励出版商,而是引入了一种基于权威证明(Proof of Authority)的激励机制,评估和评估网络中所有出版商的价值。拟议的机制估计了出版商在管理出版物、维护科学数据和创建新区块方面所做的努力。价值最小的出版商将被选中创建新区块。奖励将被奖励给“区块的创造者”发行商,并增加其价值,以最小化重新创造下一个区块的可能性,从而达到公平状态,实现系统的可持续性。
3.TimedChain架构
3.1.系统概述
数字1显示了所提议的系统的体系结构,该体系结构促进了节点(发布者、作者、评审者、研究人员等等)之间的交互。一个“第三方类型A”节点代表一个审稿人,而一个“第三方类型b”节点代表一个想要访问由出版商保存和存档的已发表手稿的研究者。
为了方便与发布者的集成,TimedChain被设计成构建在发布者存储的当前数据库之上。访问科学数据将通过存储在区块链中的智能合约执行。因此,区块链将保持对科学数据的访问历史,从而满足数据完整性并防止其滥用。
本文采用了一种与共识算法相结合的激励机制,即授权证明机制(Proof of Authority, PoA)。它从EMSs的角度评估出版商的价值,通过评估出版商在维护科学数据和生成新区块方面所做的努力。发布者节点的值指定了它对于存储在其数据库中的科学数据的质量和数量的重要性。采用正确性、一致性、完整性(3C’s)和非冗余四个主要指标来评价出版社数据库中存储的科学数据的质量。
所提出的激励机制意味着,每个发布者节点将根据其价值被归类为块创建者或投票人节点。“块创建者”是所有其他发布者节点中值最低的发布者节点。任何值大于或等于TimedChain网络平均值的节点都将被分类为“投票者节点”。投票者节点验证想要加入系统的新节点的id。这样可以最大限度地减少向系统中添加非法节点的可能性。区块创建者节点将获得奖励,奖励将增加其当前价值,以降低其重新创建下一个区块的概率,而不是奖励其数字货币,从而维持系统的可持续性,达到公平状态。此外,提高科学数据的质量可以被认为是拟议的激励机制的另一个优势,因为出版商将竞相维护和/或创建更正确、更完整、更独特的科学记录,以增加它们的价值。这降低了它们执行创建下一个新块的计算任务的概率。
3.2.TimedChain软件组件
本节演示了TimedChain系统的主要组件,如图所示1.
3.2.1之上。科学数据评价经理(Sci-DEM)
它是一个基于python的工具,用于在初始化阶段或添加/编辑存储在发布者数据库中的科学数据时计算发布者的值。每个节点的值表明了发布者对于所维护的科学数据的数量和质量的重要性。提取特征、管理相关数据、组织非结构化部分是Sci-DEM的主要功能。采用了对记录进行语义、句法和词法分析的分类技术[24].每个发布者节点的值将通过(3.),并存储在发布者合约(PC)中,将节点分类为(1)投票者的节点和(2)下一个区块的创建者。
3.2.2。数据库管理器(DBM)
DB管理器是一个Golang API,旨在控制对发布者数据库的所有访问,它由区块链的权限管理。DB管理器存储科学数据,导航现有数据库,并确保数据完整性。当提交新的手稿时,数据库管理员计算手稿的哈希值及其访问链接,并将其存储在记录合同(RC)中。此外,它还计算存储在Mining Contract (MC)中的每个日志的散列值。
3.2.3。CryptoManager
该组件使用加密/解密模式。根据提出的设计,采用了三种加密方案:(1)对称密钥加密;(2)公钥加密;(3)代理reencryption。科学数据使用对称密钥加密模式存储和加密。crypmanager生成一个对称密钥,使用作者节点、发布者节点和代理节点的公钥对该密钥进行重新加密。此外,公钥加密模式用于通过HTTPS在节点之间提供安全的信息分发。
此外,存储在DBC中的临时记录也使用公钥加密模式进行加密;这些记录用于方便“第三方类型b”节点的访问,而代理重加密模式用于方便“第三方类型a”节点的访问。
3.2.4。Ethereum客户机(Eth.Client)
连接区块链网络需要接入点。eth.client组件包括所有所需的功能,以允许节点访问和加入Ethereum BlockChain网络[25].TimedChain是一个允许的区块链系统。因此,通过eth.client,具有许可的节点可以访问区块链网络。在Internet上使用JSON RPC端点的Go Etereum客户端用于实现[26].Go Ethereum客户端允许通过使用钱包通过HTTPS访问节点的信息,而钱包的功能则根据节点的类型而不同。
3.2.5。Web提交接口
web提交组件通过提供从稿件提交到出版的整个所需功能,实现了对编辑活动的管理。
3.2.6。后端库
使能Eth。客户端组件与区块链和嵌入式智能合约进行通信,后端库执行低级的解析和格式化,以及导出函数调用API来抽象与区块链的通信。
3.3.聪明的合同
它们在基于区块链的系统中实现,以监视、管理和治理交易。所提出的智能合约如图所示2.根据智能合约的设计,如图所示2,使用一组计时器(即计时函数)和连接操作来确保事务在可接受的时间内执行,并使用授权事务。接下来,我们提供部署在TimedChain中的智能合约的每个部分的详细信息。
3.3.1。节点合同(NC)
本合同是一项常规合同,使系统中注册的所有节点的ethdd保留,以方便系统提供的所有功能,并避免双重注册。
3.3.2。出版商合同(PC)
PC是一种保存发布者节点(即发布者)数据的契约,用于组织区块链的挖掘过程、注册活动和某些覆盖功能。它将发布者节点的标识字符串(ID)映射到其以太坊地址(Eth.Add);例如,乙。一个节点的添加被认为是它的公钥。
PC维护系统中所有发布者节点的价值,以确定“投票者节点”和“块创建者节点”。投票者节点是一个发布者节点,其值等于或大于系统的平均值。创建者节点是系统中值最低的发布者节点。因此,PC有两个布尔数据字段,分别标记为“投票者”和“创建者”。PC采用权威证明(PoA)共识算法的组合[27]新的拟议激励机制提出采矿。使用相应的RHC.ADD,PC将出版商节点的Eth.add映射。
PC利用其编码的策略、程序和规则来管理添加和注册新id。被标记为“选民节点”的发布者验证任何其他请求更高级别角色的节点。这组“选民节点”将保护系统免受任何潜在威胁。要初始化系统,初始PC首先是空的,没有注册节点。之后,系统将添加一个管理节点(即临时节点),作为初始发布者节点。之后,一旦有足够多的节点加入系统,临时节点就会被删除并从网络中删除。
此外,PC还采用了覆盖程序,如因业务中断而退出系统,或通过撤销和取消权限,删除可能破坏系统的节点等。首先,投票者节点将提交“删除一个节点”的请求。一旦请求达到大多数投票,节点的类型将被覆盖。该节点将从PC中删除,并从各种合同中删除所有与该节点相关的信息。
3.3.3。作者合同(AC)
AC是一种保存作者(即作者)资料的合同。与PC类似,AC将作者节点的标识字符串(ID)映射到其关联的Eth。添加和RHC.Add。
3.3.4。第三方合同(TPC)
TPC是一项保留第三方数据的合同(即,外部审阅者,编辑和希望收集数据的研究人员)。类似于PC和AC,TPC将第三方节点的ID映射到其关联的Eth.add。所提出的系统采用两种技术来通过授权的第三方访问数据:代理再兴奋剂和存款箱。
3.3.5。关系历史合约(RHC)
RHC保存系统中每个节点关系的历史,或由出版商节点(同行评审期刊/会议)存储和管理学术研究数据的关系摘要列表。作者节点的RHC维护与该作者有联系的所有同行评审出版商的引用。一个出版商节点的RHC引用了所有已经提交研究的作者节点。RHC将通过一个节点的注册为每个出版商或作者节点创建。
如图所示2, RHC被Eth认可。加入RHC的所有者。RHC的每一行都列出了Eth。添加被占用节点、其id和状态(即,新建立的、未决的、已批准的、已拒绝的)。使用状态数据字段ID的主要优点是允许和启用通知。RHC行还使用date字段的时间戳来指定status字段、timer字段和RC.Add字段最新更新的时间。
3.3.6。记录合同(RC)
RC跟踪由同行评审的期刊/会议存储的所有研究数据(即记录)。当在发布者和作者节点之间建立新的关系时,就创建了RC。
乙。添加的所有者节点用于识别RC。RC中的每一行都包含两个数据字段:指定记录ID的文件名和提供访问出版商节点数据库所需信息的访问信息。此外,为了确保数据的完整性,将存储记录的访问链接的哈希值和记录本身的哈希值。此外,委员会还列出了行政协调会。Add和DBC.Add。
3.3.7。出入控制合同(ACC)
本合同中列出了所有许可的详细信息。它列出了Eth。增加具有访问权限的节点。该契约包括以下数据字段:“AccessLevel”、加密的对称密钥、状态、时间戳和计时器T.
AccessLevel字段展示了具有列出的Eth.add的节点的访问级别,例如所有者,读/编辑,只读,盲读和临时读取。所有者级别被分配给发布者节点,该节点创建记录的访问链接并将其添加到数据库中。此级别意味着节点在ACC上具有完全控制。所有者节点有权(1)添加其他级别的其他节点,(2)更改现有节点的级别,(3)从ACC中删除节点。
具有“读/编辑”访问级别的节点可以读取和/或编辑记录。(1)该节点具有创建记录时生成的对记录进行加密的对称密钥,或(2)该节点通过代理重加密获得对称密钥。
具有“临时读”级别的节点可以临时读取具有DBC.Add的记录。访问级别为“只读”的节点只能读取记录。“盲读”访问级别表明PReC可以检索为代理节点加密的对称密钥。
当参与者的访问级别发生任何更改时,ACC还会通知参与者。为此,ACC使用“状态”字段、时间戳和计时器单元。
3.3.8。采矿合同(MC)
MC保存了对存储的科学数据进行的每一笔交易的详细“日志”。它被设计成允许创建/验证/追加新块。MC列出Eth。添加被认为是“事务生成器”的节点。它包括事务的细节和一个状态字段,该字段演示这些细节是否已添加到区块链。它还保留了时间戳字段,该字段指定更新状态字段的时间。
3.3.9。代理再生合同(ph)
要允许通过“第三方 - 类型”节点访问科学数据,因此[中提出的代理再生技术28]在拟议设计中使用,并在本合同中使用。每次确定一组新的代理节点时,将自动生成此合约。
代理节点组将由共享私钥和主公钥或主公钥提供。代理组中的所有节点都有一个唯一的私有/公共密钥对。
代理组中的每个节点还具有其他节点所知道的公钥。代理集中的每个节点将随机选取一个盲值。然后加密。然后,节点用加密的消息使加密的盲值失明。在那之后,部分盲消息将在他们自己的系统上解密。所有代理节点的贡献将在PReC中维护。PReC中的每个条目包括(1)Eth。添加代理节点,(2)盲明文消息“mp”,(3)加密的对值。
3.3.10。保险箱合同(DBC)
为了允许“第三方类型b”节点访问科学数据,我们使用了存储箱模式。一条记录将首先由“third-party typeb”节点的公钥加密,然后存储在此合同中,时间由timer字段指定。
4.TimedChain实现
4.1.初始化TimedChain系统:第i部分——添加新的发布服务器节点
在加入区块链系统之前,(同行评议期刊/会议的)出版商应接受以下条件:(1)拟议的智能合约的规则和政策;(2)区块链网络的更新频率;(3)提出的激励机制;(4)生成新块的程序。数字3.显示添加新发布者的步骤。每个发布者都有一个对官方发布者唯一的公共标识符(ID)或标识字符串。每个发布者首先必须设置区块链以接收以太坊地址(Eth.Add)并配置软件组件。注意Eth。节点的Add被认为是该节点的公钥。添加发布者节点的过程开始于发送ID, Eth。将“发布者”角色添加到NC。所有事务都是定时的,以确保系统性能。NC确保收到的Eth.add以前未注册。NC将接收到的请求转发给PC, PC的投票者验证接收到的请求并验证它是一个合法的发布者(发布者)的承诺。验证并接受请求后,NC添加Eth。将发布者的属性添加到其本地内存中。 The PC also adds the Eth.Add of the node and its ID. The PC generates a new RHC for the new node. The RHC.Add will be sent to the publisher node for later reference.
4.2。初始化TimedChain系统:第二部分 - 评估发布节点的值
这个阶段由PC中列出的发布者节点执行。审查文章的过程是出版过程的关键部分,确保出版商保持其已发表论文的高质量标准。Sci-DEM是安装在每个发布者节点上的基于python的工具,它通过确定存储的记录是否满足预期的目的来评估节点的值。这个工作计算一个节点的值, ,通过测量其数据库中保存的“审查记录”的质量和数量
本文提出了一种记录质量的通用测量标准。除了非冗余属性之外,还通过测量记录的一致性、正确性和完整性(3C)来评估记录的质量。(我)完整性(CM):完整的记录包括所有连接的发布者在初始化阶段已经同意并接受的所有字段、项和元素。例如,如果审查员填写了必需的字段,那么审查报告就被认为是完整的。(2)正确性(CR):通过测量数据准确性来评估科学记录的正确性。(3)一致性(CN):一致性记录意味着记录中包含的所有数据都是可靠的。(iv)非冗余(NR):它表明存储在记录中的数据不会被多个发布者节点重复。例如,具有相同注释的审查报告被认为是冗余报告。
为了测量NR属性,Sci-DEM将检查记录中存储的数据的相似性。记录的非冗余性我等于1 (NRI = 1),当所有记录的数据没有被其他发布者重复(即,唯一);否则,非冗余属性的值将被分配给共享相同数据的发布者。
为了测量3C的属性,Sci-DEM将存储记录中的每个字段、项目和元素进行如下分类:n1:正确的;n2:不正确的;n3.:失踪;n4:额外的;n5:冲突。因此,
因此,出版商的价值被评估为
在这个阶段结束时,所有的发布者,如图所示4,将添加/更新PC中列出的值。Publisher节点向NC发送请求以添加/更新其值。如果从注册节点接收到请求,NC将首先验证。然后,NC将请求转发到PC“添加/更新”节点的值。之后,在PC中自动更新系统,选民节点和块创建者节点内的节点的平均值。
值得注意的是,该节点被标示为“选民”节点,如果有一个值等于或大于平均值的网络,而网络的节点较低的值将被贴上一个“块创造者”节点,它将被指派的任务创建/验证/添加下一个新的块。
4.3.添加新的作者节点
这个阶段如图所示5.当作者通过web界面向发布者节点(发布者)发送一个“加入请求”时,它开始了,发布者节点依次转发所需的配置步骤来设置作者节点和创建Eth.Add。
Publisher节点的ethclient将新作者节点的信息发送到区块链。为了验证,它将节点ID,eth.add和“作者”角色发送到NC。NC确保收到的Eth.add以前未注册。NC将所接收的请求转发给选民验证该请求并验证它是之前未注册的法律作者承诺的。在验证和接受请求时,NC将作者的Eth.add添加到本地内存中。此外,AC添加节点的Eth.add及其ID。AC为新节点生成新的RHC。rhc.add将被发送到发布者节点。新作者的帐户信息将从形成请求的Publisher节点发送到作者节点。
4.4。作者注册
一旦作者加入了区块链系统,作者注册阶段就开始了(参见图)6).在这个阶段,一个“注册请求”将从作者节点的web界面发送到发布者节点的web界面,发布者节点将依次转发Eth。将作者及其“作者”角色添加到NC以进行验证。NC通过AC验证“作者”节点角色,AC将验证已完成对加入系统的新作者节点的注册过程。否则,必须先添加一个作者节点(参见阶段C)。
之后,作者信息,包括其ID和Eth。Add被传输到publisher节点的RCH,由RCH检查作者的原创性。RHC表明作者是同行评议系统中的新成员还是以前注册过的人。经确认后,RHC要求与作者一起产生新的管理职位,作者可以决定接受或拒绝该请求。因此,RHC生成一个包含Eth的新条目。添加作者节点、其ID和“新建立的待定”状态,并相应地更新“时间戳”数据字段。
类似地,在作者节点,RHC创建一个包含Eth的新条目。添加发布者节点、其ID和“新建立的待定”状态,并更新“时间戳”数据字段。
在作者验收后,RCH的状态字段与发布者和作者节点的时间戳字段更新为“批准”。否则,该过程将被取消。之后,发布者节点的RHC为新的管理创建了一个新的RC。RC填充了作者的相关信息,并将其地址发送到RHC以更新发布者和作者节点的“RC.Add”数据字段。
4.5。手稿提交(记录)
提交新稿件的过程如图所示7,在出版者(同行评议系统)和作者节点(作者)之间建立管理(即作者注册)之后开始,从而拥有一个共享的RC。作者节点的web界面向同行评议系统(出版商)发送一个请求,要求将新的手稿连同原稿一起提交。
一旦出版商节点收到作者节点的请求,它将通过生成编辑/审稿人的报告并执行内部加密,开始提交新手稿的过程。新的手稿和评审报告将被转发到出版商节点的数据库管理器,生成现有数据库中免费位置的访问链接。出版商的DB管理器进一步通过对收到的手稿和生成的访问链接进行哈希,这些链接被发送到crypmanager进行加密。
CryptoManager依次对接收的数据进行两步加密。首先,生成一个对称密钥,用于加密访问链接、手稿和生成的评审报告。之后,生成的对称密钥将使用发布者(即编辑器)、作者(即作者)和一组代理的公钥进行加密。最后,加密的记录被转发并存储在DB管理器中。
此外,发布者节点的DB管理器通过创建跟踪对稿件和其他科学数据的访问的“日志”文件来跟踪提交新稿件的过程。日志文件将被播放并存储在区块链中,以提供完整的所有事件发生在所有存储的记录中。然后,Cryptomanager使用Publisher节点的公钥加密日志文件,以便稍后验证已创建的块。最终,这将提高数据的安全性和完整性。
乙。发布者节点的客户端请求相关的RC。使用作者ID(作者的ID)从RHC中添加。乙。然后,出版商节点的客户端将记录信息(记录的文件名、链接的哈希值、手稿的哈希值、加密的对称密钥和日志)发送给RC。RC存储接收到的信息。然后,RC为记录创建一个新的ALC并转发加密的密钥Epk(烟)酒精度。ALC自动为记录创建访问和权限信息,然后将其地址发送给RC以供参考。
另一方面,MC添加了一个新条目,其中包括加密的日志和Eth。添加发布者节点(即事务的源)。因此,MC状态被定义为“新日志”,这表明新条目还没有添加到区块链中,并更新它的时间戳字段以指定状态数据字段最后一次修改的时间。最后,发布者节点的web界面通过HTTPS将提交稿件的加密访问链接发送给作者节点的web界面,作者节点再将加密访问链接转发给crypmanager进行存储。收到的链接可以被作者节点稍后用来查看提交的手稿。
4.6。稿件处理
阅读/更新存储记录的请求将从发布者节点的Web界面发送到其后端库,这反过来将解析并翻译请求并将其发送到其eth.client。eth.Client将作者的ID发送到发布者节点的RHC以获取关联的RC.ADD。然后,Publisher节点的ethClient向RC发送记录的FileName和Publisher的Eth.add。RC将地址转发到ALC以检查并验证其访问权限(即,“所有者”访问级别)。
经过验证后,ALC转发发布者加密的对称密钥Epk(烟)RC。RC依次将接收的密钥转发到出版商节点的eth.client。eth.Client通过后端库发送收到的加密对称密钥到其Clyptomanager。Cryptomanager使用其私钥来解密接收的对称密钥,该密钥将用于解密存储在发布者DB管理器中的访问链接。Publisher节点的DB管理器将使用解密的访问链接来检索来自数据库的加密记录以读取/更新活动。
值得注意的是,记录的哈希值会随着记录状态的更新而改变。相应地,发布者节点的DB管理器生成更新记录的新哈希值。然后,DB管理器请求RHC发送RC。添加与作者ID相关联的内容。最后,RC被更新为新的哈希值。
此外,发布者节点的DB管理器创建一个日志来跟踪更新记录的过程。该日志将被散列并转发到CryptoManager, CryptoManager将被加密并转发到MC。MC依次添加一个新条目,其中包括加密的日志和Eth。添加发布者节点(即事务的源)。因此,MC状态被定义为“新日志”,这表明新条目还没有添加到区块链中,并更新它的时间戳字段以指定状态数据字段最后一次修改的时间。值得注意的是,当一条记录被更新时,发布者节点通知PC更新记录的关联值。然后,PC会通知Sci-DEM根据记录的更新更新节点的值。最后,Sci-DEM计算新值,并将新值发送到PC进行更新。
4.7。从作者节点阅读提交的手稿
数字8说明阅读手稿的步骤。阅读已提交的稿件的请求将从作者节点的web界面发送到其后端库,后者依次解析和翻译该请求,并将其发送到其Eth.Client。乙。客户端将发布者的ID发送给RHC来获取相关的RC.Add。乙。然后,作者节点的客户端将记录的文件名和作者的Eth.Add发送给RC。RC将地址转发给ALC,检查和验证ALC的访问权限。
验证后,ALC向前转发了作者的加密对称密钥Epk(烟)RC。RC依次将收到的密钥转发给Eth。作者节点的客户端。乙。客户端通过后端库将接收到的加密对称密匙发送给它的CryptoManager,后者使用它的私钥来解密接收到的对称密匙。然后,CryptoManager使用解密的密钥来解密存储在其DB管理器中的访问链接。作者节点的DB管理器使用相关的访问链接从数据库中检索加密的记录。此外,DB管理器创建一个日志来跟踪更新记录的过程。该日志将被散列并转发到CryptoManager, CryptoManager将被加密并转发到MC。MC依次添加一个新条目,其中包括加密的日志和Eth。添加发布者节点(即事务的源)。因此,MC状态被定义为“新日志”,这表明新条目还没有添加到区块链中,并更新它的时间戳字段以指定状态数据字段最后一次修改的时间。
4.8。外部审查员的邀请
提交给出版商的所有手稿由该领域的至少两个研究人员(即专家)审查。审阅者将评估指定稿件的科学质量,他/她将为外部编辑提供建议;例如,可以接受稿件,需要修改,或者应该被拒绝。在所提出的设计中,第三部分 - 类型节点代表审阅者。假设邀请审阅者(第三方 - Typea)审查作者提交的稿件。数字9展示了发送审查手稿邀请的步骤。
发评审邀请,Eth。发布者节点的客户端发送作者的ID,即作者,到它的RHC获取相关的RC.Add。乙。发布者节点的客户端然后将记录的文件名(即手稿标题)发送给RC来获取“ALC。添加”和“MC.Add。”乙。发布者节点的客户端然后发送Eth。向ALC添加审稿人和“访问级别”请求。然后,ALC将请求转发给NC, NC再将请求转发给TPC进行验证。
在收到验证后,ALC使用审稿人的Eth创建一个新条目。添加、访问级别和“请求新级别”状态。ALC更新它的时间戳字段以指定最后一次状态更新的时间。ALC请求从审阅者更改访问级别,并将其状态字段更新为“invitation_sent”,并将时间戳字段更新为指定最后一次状态更新的时间。审查员接受请求后,可应用文件的访问级别将被更新为“review_invitation_accepted_review_waiting”状态。一旦请求被批准,状态字段将被更新,并将发送通知给审稿人,表明一个新的手稿已被分配审查。
Publisher的DB管理器为MC添加了新条目,指示“审核邀请”。MC添加了一个新条目,其中包括加密日志和发布者节点的eth.add(即,事务源)。MC将其状态更改为“新日志”,以演示新条目尚未添加到BlockChain并更新其时间戳字段以指定上次状态更新的时间。
4.9。审查报告提交
外部专家审稿的过程如图所示10.,采用代理重加密模式,增强同行评审系统的安全性,提高系统的可访问性。该过程包括两个子过程:(1)检索提交的稿件;(2)检索并提交评审报告。
要检索稿件并提交审阅,请将审阅者节点(Web界面)生成提交已分配的稿件提交审阅报告的请求。对于授权,审阅者节点的Cryptomanager,首先,使用Reviewer的私钥创建请求的符号。然后,审阅者的Clyptomanager使用Publisher(发布者)的公钥加密符号请求。every over https的redioer节点的Web界面将签名请求发送到发布者Web界面。该请求将由发布者节点的Web界面接收,这又通过其后端库转发给发布者的Cryptomanager。Cryptomanager使用Publisher节点的私钥解密请求,然后用审阅者节点的公钥解密它,以确保审阅者是它声称的键。
Publisher节点的eth.client将作者i.,author,author of to rhc发送到获取关联的rc.add。乙。发布者节点的客户端然后将记录的文件名(即手稿标题)发送给RC来获取“ALC。添加”和“MC.Add。”乙。发布者节点的客户端然后发送Eth。向ALC添加审稿人和“访问级别”请求。然后,ALC将请求转发给NC, NC再将请求转发给TPC进行验证。乙。添加审阅器和主加密对称密钥将由ALC发送到代理节点,以执行代理重新加密模式。重新加密的对称密钥将保存在ALC中,然后ALC发送它的ALC。添加到审阅器节点。
通过HTTPS,发布者节点的Web界面将稿件的加密查询链接发送到审阅程序节点的加密查询链接,可以解密链接并获取记录。审阅者节点具有ALC.ADD,它将用于获取存储的“reencrected对称密钥”。审阅者节点的Clyptomanager使用其私钥解密“Reencreded对称密钥”,然后用该对称密钥解密查询链接。审阅者节点的DB管理器遵循查询链接以检索提交的稿件和审阅报告。使用对称密钥解密它后,稿件和报告将在审阅者上映。
提交审查报告后,将向发布者节点发送通知。相应地,发布者节点的DB管理器生成更新记录的新哈希值。然后,DB管理器请求RHC发送RC。添加与作者ID相关联的内容。最后,RC被更新为新的哈希值。此外,DB管理员创建一个日志来跟踪提交评审报告的过程。该日志将被散列并转发到CryptoManager, CryptoManager将被加密并转发到MC。MC依次添加一个新条目,其中包括加密的日志和Eth。添加发布者节点(即事务的源)。因此,MC状态被定义为“新日志”,这表明新条目还没有添加到区块链中,并更新它的时间戳字段以指定状态数据字段最后一次修改的时间。然后,PC会通知Sci-DEM根据记录的更新更新节点的值。最后,Sci-DEM计算新值,并将新值发送到PC进行更新。
4.10。第三方类型b节点(研究人员)从发布者节点读取记录
第三方typeb节点读取记录的过程利用基于时间的存储盒模式来增加同行评审系统的安全性和可访问性。
第三方typeb节点生成一个读取记录的请求。对于授权,节点的crypmanager首先使用节点的私钥对创建的请求进行签名。然后,CryptoManager使用发布者(发布者)的公钥加密已签名的请求。节点的web接口通过HTTPs将签名请求发送给发布者web接口。发布者节点的web界面将接收请求,然后通过其后端库将请求转发给发布者的crypmanager。CryptoManager使用发布者节点的私钥解密请求,然后使用第三方typeb节点的公钥解密请求,以确保请求就是它声称的请求。
Publisher节点的eth.client将作者i.,author,author of to rhc发送到获取关联的rc.add。
乙。发布者节点的客户端然后将记录的文件名(即手稿标题)发送给RC来获取“ALC。添加”和“MC.Add。”乙。发布者节点的客户端然后发送Eth。向ALC添加节点和“访问级别”请求。然后,ALC将请求转发给NC, NC再将请求转发给TPC进行验证。
一旦收到验证,ALC就用Eth创建一个新条目。添加第三方类型b节点、访问级别、“请求新级别”状态和最后一次状态更新的时间戳。ALC请求从文件所有者更改访问级别,并将其状态字段更新为“等待批准”和时间戳字段,以指定最后一次状态更新的时间。在所有者接受请求后,ALC将将访问级别的状态更新为“临时读取”,将适用文件的状态更新为“已批准”,并将更新时间戳。当请求被批准时,ALC通知第三方类型b节点它被分配了一个新的访问级别。ALC还通知RC在与Eth相关联的DPC中创建一个新的表项。第三方- typeb节点的添加。然后RC发送Eth。将第三方typeb节点和文件名添加到发布者节点。然后,DB管理器检索记录,并将带有接收到的公钥的记录转发给CryptoManager进行加密。
DBC将通过将加密文件存储在时间字段指定的特定时间来更新。通过HTTPS,发布者发送DPC。添加到第三方typeb节点,通过使用其私钥解密请求的记录来访问该记录。第三方typeb节点的DB管理器将使用加密的日志更新MC条目,该日志指示读取记录的过程。MC添加了一个新条目,其中包括加密的日志和Eth。添加事务的源。MC将其状态字段更新为“新日志”,以说明这个新条目还没有添加到区块链,并更新其时间戳字段,以指定状态数据字段最后一次修改的时间。
4.11。创建,验证和附加新块
要执行创建新块的任务,需要选择区块链网络中所有发布者中值最低的发布者节点。这个发布者将被PC通知去执行创建新块的计算任务。拥有更有价值的科学数据的出版商不太可能被选中(见图)11.).
为了说明创建/验证/和附加新块的过程,假设存在3个字块网络的3个发布者和10名作者。作者“c.a”读取记录;作者“C.B”更新记录;Publisher“P.B”创建了3个新记录。与所有创建/读/更新/删除(CRUD)操作相关的日志将保存在MC中。假设选择发布者“p.a”以创建新块。
出版商“P。一个“首先向MC发送一个创建新块的请求”,MC依次询问NC是否有“P。A”是系统上的授权发布者。NC将请求转发给PC,以确保发布者P。A”是被选中执行任务的人。在收到验证后,MC发送给出版商“P。“所有加密的日志列表,状态为“新日志”。发布者“A”然后(1)创建一个包含所有收到的日志的新块,(2)广播这个新块,(3)调用进行验证。
日志验证将由所有相关节点执行(1)用其私钥解密日志,(2)在解密后对日志进行哈希,(3)将哈希结果与数据库管理器中列出的哈希结果进行比较,以及(4)向发布者“a”发送签名的证明。
出版商“A”然后,在收到所有签名的校样后,通知PC更新它的值。PC增加了奖励激励价值。”c,改为发行人a的当前值。被选中生成新区块的出版商将获得奖励。”c,在其他相关节点成功验证该区块后。出版商价值的分布和区块链网络内节点的数量影响奖励奖励的价值。c”。因此,“c的定义为网络中平均值的一小部分。
发布者“A”向所有发布者广播以追加新块。在追加新块之后,MC自动将所有添加到链中的日志更新为“追加”状态字段,并填写时间戳字段。
5.TimedChain评价
5.1。实验设置
该系统采用2.6 GHz Intel Core i7处理器,16gb 2400mhz DDR4内存,macOS High Sierra操作系统进行评估。为了实现,我们使用了开源的以太坊平台。solid用于编写所提议的智能合约的功能。Truffles被用于部署提议的智能合约,因为它对存储数据的容量和大小没有限制。使用web3.js库来支持使用HTTPS与基于以太坊的节点交互。为了测试CRUD服务,Apache JMeter被用作一种性能度量工具和功能工具。实验参数及数值如表所示1.
|
||||||||||||||
如表所示,三个参数用于进行实验,即,CRUD查询的数量,注册节点的数量以及节点内存的存储记录的数量。在进行的实验中,测量查询时间,通信开销和平均响应时间。用于测试并研究结果和参数之间的关系,每次只修改一个参数。
5.2。结果与讨论
所有实验的结果都表明,随着存储记录总数、提交CRUD查询总数和节点总数的增加,查询时间、通信开销和平均响应时间都会增加,如图所示12.- - - - - -14..
结果表明,提交更多的CRUD查询会导致存储更多的记录,这意味着需要花费更多的时间来完成这些查询。此外,增加加入系统的节点数量意味着更多的参与者使用系统,这反过来增加了提交查询的数量,增加了查询完成的时间,从而增加了参与者节点之间的通信。
然而,如图所示15.,吞吐量保持稳定,即使提高了提交的查询数量、存储在节点中的记录数量或TimedChain网络中的节点数量。这种吞吐量的稳定性证明了该系统在管理和处理高频率、低延迟的大量数据方面的能力。
这些结果背后的主要原因是拟议系统的“链上”(即通过区块链网络执行的行动)和“链下”(即在区块链网络之外执行的行动)操作之间的平衡。被分类为“非区块链”的动作包括:(1)初始化区块链时节点值的计算;(2)在创建记录时生成记录的访问链接;(3)记录的散列/加密/解密;(4)数据库存储和检索程序。另一方面,“区块链上”行动涉及以下内容:(1)在智能合约中存储和获取数据;(2)提出的智能合约之间的内部交易;(3)通过其他合同生成和创建新的合同。“链上/链下”动作的使用在改进所提出的TimedChain系统和维持系统性能方面起着关键作用。
此外,采用PoA共识算法对系统性能有重要影响。与PoS或PoW相比,PoA能够每秒管理更多的事务,因为它减少了耗时的计算,并使系统性能最大化。PoA需要更低的接受事务的延迟和发出块的稳定时间间隔。对于拟议的系统,生成和验证一个新区块需要两轮。
“块的创建者”节点(即,在系统中其他发布者中值最低的发布者节点)只将新创建的块转发给相关节点(即,相关节点是一个发布者节点,它是执行事务的来源)。不需要将区块分配给所有网络参与者,从而降低了通信开销。在第2轮中,创建的块将由相关节点验证。块验证演示了如何批准列表日志。在收到来自所有相关节点的验证后,将完成追加新块。显然,PoA的采用最大限度地减少了为生成和验证新块而发送的消息数量,这对提高系统的性能有显著的影响。
此外,使用基于时间的智能合约保证了执行事务和计算的可接受时间。计时器将重置为零,数据将被破坏时,失去了连接。
六,结论
本文提出了TimedChain系统,这是一个基于区块链的同行评审系统,便于与出版商现有数据库的集成。TimedChain为出版商(同行评议的期刊/会议)、作者(作者)和第三方(外部编辑/研究人员/读者)提供了安全、可互操作和有效的访问。根据提议的设计,发布者的角色是通过创建/验证/添加新区块来维护区块链网络。此外,出版商安全地控制对数据库中存储的科学数据的访问。
通过利用基于时间的智能合同来控制,管理和管理交易来确保隐私。通过实施有效的使用策略,所提出的智能合同监控计算和在科学数据上执行的查询。通过应用散列技术实现数据完整性。通过采用高级认证和加密技术来确保访问控制和安全性(即公钥加密,对称密钥加密,代理再兴奋剂和存款框)。通过利用和采用全面的日志满足互动性,互操作性和可访问性。
对于采矿,本研究介绍了一种与POA相结合的新激励机制。它估计出版商尊重他们在管理出版物和创建新块的努力的价值。将选中所有发布商中最低值的出版商来创建下一个新块。激励将获得“块的创建者”节点奖励,并添加到节点的值,以最大限度地减少重新创建下一个块的可能性,从而最大限度地达到公平状态和实现系统的可持续性。
数据可用性
支持这项研究的数据可在文章中找到。
的利益冲突
作者声明没有利益冲突。
致谢
作者感谢巴勒斯坦kadoorie技术大学(PTUK)和Al Istiqlal大学的支持。
参考文献
- ScholarOne, 2020,https://clarivate.com/webofsciencegroup/solutions/scholarone/.
- Elsevier提交系统,2020年,https://www.elsevier.com/editors/submission-系统.
- 编辑管理,2020年,https://www.ariessys.com/.
- Bepress, 2020,https://www.bepress.com/.
- J. Willinsky,“开放期刊系统:日记管理和出版的开源软件的示例”图书馆嗨科技,第23卷,第504-519页,2005。查看在:出版商的网站|谷歌学术搜索
- EJManager, 2020,https://www.ejmanager.com/?page=ejmfeatures.
- S. Kim, H. Choi, N. Kim, E. Chung, and J. Y. Lee,“学术出版手稿管理系统的比较分析”,科学编辑, vol. 5, pp. 124-134, 2018。查看在:出版商的网站|谷歌学术搜索
- T. K. Mackey, N. Shah, K. Miyachi, J. Short和K. Clauson,“使用共享治理的基于区块链的科学出版框架提案”,区块链中的前沿, 2019年第2卷第19页。查看在:出版商的网站|谷歌学术搜索
- J. Yoo,H. Lee,T. Lee和M. Shin,冥王星。打破学术界的障碍, 2018,https://assets.pluto.network/Pluto_white_paper_v04_180108_2130_BSH.pdf.
- 工件,2020年,https://www.prnewswire.com/news-releases/artifacts-launches-first-ever-blockchain-based-platform-for-scientific-and-scholarly-research-300615989.html.
- ScienceMatters,2020,https://www.sciencematters.io/.
- Orvium。建筑与技术规范,https://orvium.io/.
- S. Nakamoto,《比特币:点对点电子现金系统》,2008,https://bitcoin.org/bitcoin.pdf.
- e y。Daraghmi Y.-A。Daraghmi, S.-M。Yuan,“MedChain:基于区块链的医疗记录访问和权限管理系统的设计”,IEEE访问, vol. 7, pp. 164595-164613, 2019。查看在:出版商的网站|谷歌学术搜索
- e y。Daraghmi Y.-A。Daraghmi,“UniChain:基于区块链的电子学术记录访问和权限管理系统的设计”应用科学《新京报》,2019年第9卷第4966页。查看在:出版商的网站|谷歌学术搜索
- N. Szabo,“智能合约的概念”,第6卷,1997年,Nick Szabo的论文简明导师。查看在:谷歌学术搜索
- r·莫迪《扎实编程要领:为以太坊和区块链构建智能合约的初学者指南》, Packt出版有限公司,伯明翰,英国,2018,ISBN 978-1-78883-138-3。
- 结束时,Hyperledger区块链Fabric的架构, IBM Research,苏黎世,瑞士,2016。
- S. De Angelis,A. Leonardo,B. Roberto,F. Lombardi,A.Margheri和V. Sassone,“PBFT与权限验证:将CAP定理应用于许可区块链”意大利网络安全会议论文集,第11页,意大利米兰,2018年,https://eprints.soton.ac.uk/415083/.查看在:谷歌学术搜索
- A. Tenorio-Fornés,V.Jacynycz,D.LLOP-VILA,A.Sánchez-Ruiz和S. Hassan,“朝着使用区块链和IPF的科学出版物和同行评审的分散过程”夏威夷国际系统科学会议论文集,毛伊岛,你好,美国,2019年。查看在:出版商的网站|谷歌学术搜索
- F. C. Coelho和A. Brandão,“分散科学出版:区块链能改善科学传播吗?”Memórias做了oswaldo cruz,第114卷,文章编号e190257, 2019。查看在:出版商的网站|谷歌学术搜索
- E. Stojmenova Duh,A. Duh,U. Droftina等,“发布和蓬勃发展:使用区块链平台来实现合作学术沟通”出版物, 2019年第7卷第33页。查看在:出版商的网站|谷歌学术搜索
- a . C. Kade Morton,《Aletheia:区块链for scientific knowledge with a community management framework》,2017,https://github.com/aletheia-foundation/aletheia-whitepaper/.查看在:谷歌学术搜索
- A. Anita, A. Flora, C. Giovanni, G. Francesco, I. Nicla, M. Antonino,《医疗记录分类的文本特征研究》,卫生技术与信息学研究, pp. 370-379, 2014。查看在:出版商的网站|谷歌学术搜索
- Ethereum客户,http://www.ethdocs.org/en/latest/ethereum-clients/index.html.
- JSON RPC,https://github.com/ethereum/wiki/wiki/JSON-RPC#json-rpc-endpoint.
- n . Prusty构建区块链项目:使用以太坊和solid构建去中心化区块链应用出版社,2017,ISBN 978-1-78712- 2147。
- Zhou L., M. Marsh, F. Schneider, and A. Redz,分布式ElGamal重新加密的分布式盲法,Ieee,哥伦布,哦,美国,2005。
版权
版权所有©2021 Eman-Yaser Daraghmi等人。这是一篇发布在知识共享署名许可协议如果正确引用了原始工作,则允许在任何媒体中的不受限制使用,分发和再现。