CN114401064A - 信任管理时间同步方法、系统、计算机设备、介质及终端 - Google Patents

信任管理时间同步方法、系统、计算机设备、介质及终端 Download PDF

Info

Publication number
CN114401064A
CN114401064A CN202111478630.6A CN202111478630A CN114401064A CN 114401064 A CN114401064 A CN 114401064A CN 202111478630 A CN202111478630 A CN 202111478630A CN 114401064 A CN114401064 A CN 114401064A
Authority
CN
China
Prior art keywords
time
block
time synchronization
transaction
server node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202111478630.6A
Other languages
English (en)
Other versions
CN114401064B (zh
Inventor
樊凯
史泽宇
史一杰
权睿阳
逯恒睿
李晖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xidian University
Original Assignee
Xidian University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xidian University filed Critical Xidian University
Priority to CN202111478630.6A priority Critical patent/CN114401064B/zh
Publication of CN114401064A publication Critical patent/CN114401064A/zh
Application granted granted Critical
Publication of CN114401064B publication Critical patent/CN114401064B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明属于区块链与物联网技术领域,公开了一种信任管理时间同步方法、系统、计算机设备、介质及终端,时间客户端节点向时间服务器节点发送时间同步请求;时间服务器节点向请求时间同步的时间客户端节点发送时间同步响应;收到时间同步响应的时间客户端节点生成时间同步交易,并在整个区块链网络中广播所述交易;收到时间同步交易的时间服务器节点验证所述交易,并根据验证结果更新时间服务器节点的信任值;区块链网络中的时间服务器节点进行共识,根据当前共识周期的交易,产生新的区块并得出下一轮共识周期时的出块者,所述出块者是指生成区块的时间服务器节点。本发明提出的共识机制与激励机制结合信任管理可以实现恶意节点的鉴别。

Description

信任管理时间同步方法、系统、计算机设备、介质及终端
技术领域
本发明属于区块链与物联网技术领域,尤其涉及一种信任管理时间同步方法、系统、计算机设备、介质及终端。
背景技术
目前,物联网发展迅速,近年来出现了大量基于物联网的应用,如智能城市、智能电网和车联网。同样,应用的发展推动了提供或获得各种更好服务的设备数量的爆炸性增长。一方面,准确的时间是许多服务的基础,比如定期任务。另一方面,许多业务需要多个设备参与和协作,这些设备需要将时钟漂移保持在特定范围内。不幸的是,由于设备的晶体振荡器漂移或设备重新启动时时钟信息丢失,物联网设备需要定期访问时间中心以校准本地时钟。
由于有限的计算和存储资源,而且无法访问互联网,物联网设备必须指定一个内部成员与外部可信时间服务器通信,以便在常见解决方案中实现精确的时间同步。已经提出了一些时间同步方法,如网络时间协议(NTP)、精密时间协议(PTP)和全球定位系统(GPS),其主要区别在于同步精度和这些方法适用的场景。然而,一方面,集中式时间服务器可能会由于一些不可控因素(如断电、停机或硬件故障)而崩溃,因此无法提供预期的时间同步服务。另一方面,集中式时间服务器很难处理恶意攻击。一旦服务器被黑客攻击,攻击者就可以自由地控制其所有下属的时间。基于上述传统方法,已经出现了一些为物联网场景重新设计的时间同步方案。这些工作主要致力于降低成本或提高时间同步的可用性,通过使用分布式方法实现崩溃容错。但是,如果系统中存在拜占庭式节点,则上述方案将无法按预期工作。例如,他们可以简单地提供错误的时间同步服务来破坏系统的时间一致性。因此,物联网中时间同步的安全性非常重要。
PTP是IEEE 1588--2002标准中首次发布的另一种时间同步协议,适用于局域网设备之间的高精度时间同步。与NTP相比,PTP可以满足更高精度的时间同步要求。这是因为NTP是在应用层实现的,PTP是在硬件层实现的,这意味着对PTP数据包的分析直接在MAC层执行,而无需通过UDP协议栈,从而减少了PTP数据包的处理时间,从而提高了同步精度。然而,纳秒级PTP需要特定的硬件协助,这很难在轻量级物联网设备上实现。因此,我们的方案使用NTP协议进行时间同步。然而,最近的研究提出了一些针对NTP和PTP的攻击方法,例如通过劫持未经验证的NTP服务器上的流量来转移客户端的时间[8],DoS攻击,以及针对PTP的消息延迟攻击。
Fan等人[Fan K,Wang S,Ren Y,et al.Blockchain-based secure timeprotection scheme in IoT[J].IEEE Internet of Things Journal,2018,6(3):4671-4679.]在2018年提出了一种基于区块链的安全时间保护方案,其中共识节点记录从区块上的可信时间源获得的时间,并将其提供给IoT设备。然而,该解决方案只能确保时间的正确性,但恶意一致性节点仍然可以向物联网设备提供错误的时间偏移。
Hartl等人[Hartl A,Zseby T,Fabini J.BeaconBlocks:Augmenting Proof-of-Stake with On-Chain Time Synchronization[C]//2019 IEEE InternationalConference on Blockchain(Blockchain).IEEE,2019:353-360.]实现了区块链网络矿工节点之间的时间同步,无需外部时钟干预。但这种自组织方案不能提供外部时间同步,而且由于所有客户端节点都不能成为矿工,因此不适合物联网场景。
2019年,Fan等人[Fan K,Sun S,Yan Z,et al.A blockchain-based clocksynchronization Scheme in IoT[J].Future Generation Computer Systems,2019,101:524-533.]提出了另一种基于新的一致性机制的时间同步方案,称为稳定性证明。基于某些物理性能,例如一致性节点之间在指定时间段内的通信延迟,该一致性选择一个节点来表示可信时间源,以便将准确时间分配给其他物联网设备。然而,该方案不能保证所选节点是诚实而稳定的。
通过上述分析,现有技术存在的问题及缺陷为:现有技术的时间同步解决方案无法同时满足物联网场景、拜占庭容错、高可用性和高精度的要求。
解决以上问题及缺陷的难度为:在存在拜占庭节点的分布式网络中,为计算、存储以及网络资源受限的物联网设备实现高精度、正确、可验证的且高效的时间同步任务,是解决以上问题及缺陷的主要难点。
解决以上问题及缺陷的意义为:将物联网场景下时间同步分布式系统的容错从崩溃容错提升到了拜占庭容错,大大增加了分布式系统的安全性;为计算、存储以及网络资源受限的物联网设备实现了高效、低开销的时间同步;将信任管理与区块链交易验证以及共识相结合,提高了发现恶意节点正确率,减少了通信网络波动导致的误判。
发明内容
针对现有技术存在的问题,本发明提供了一种信任管理时间同步方法、系统、计算机设备、介质及终端。
本发明是这样实现的,一种信任管理时间同步方法,所述信任管理时间同步方法包括:
时间客户端节点向时间服务器节点发送时间同步请求,表示时间同步的开端;
时间服务器节点向请求时间同步的时间客户端节点发送时间同步响应,响应中包含了该时间服务器节点的最新时间与签名,这样时间客户端节点可以计算出与该时间服务器节点的时间差距,并且签名保证了所述时间同步响应的不可伪造性;
收到时间同步响应的时间客户端节点生成时间同步交易,并在整个区块链网络中广播所述交易,将时间同步响应重新包装为区块链交易,使得时间同步过程中不同节点的行为可以作为存证由其他区块链节点验证并保存在区块链上;
收到时间同步交易的时间服务器节点验证所述交易,并根据验证结果更新时间服务器节点的信任值,为了保证上述时间同步的正确性而使用区块链中的节点来共同验证上述时间同步交易,将验证结果与时间服务器节点的信任值挂钩以监测时间服务器节点的状态;
区块链网络中的时间服务器节点进行共识,根据当前共识周期的交易,产生新的区块并得出下一轮共识周期时的出块者,所述出块者是指生成区块的时间服务器节点,根据区块链网络中各个节点信任值选举的出块者可以尽量保证出块者是诚实的。
进一步,所述时间客户端节点向时间服务器节点发送时间同步请求,包括:
时间客户端节点获取当前时间;
时间客户端节点使用其私钥生成对所述时间的签名;
时间客户端节点向区块链网络广播交易A,并向特定的时间服务器节点发送所述时间,签名以及自身公钥作为时间同步请求。
进一步,所述时间服务器节点向请求时间同步的时间客户端节点发送时间同步响应,包括:
时间服务器节点记录收到交易A后的时间;
时间服务器节点时间客户端节点的时间同步请求后,使用所述请求中的公钥验证签名;如果正确,获取当前时间,并使用自身私钥对所述时间签名,最终返回时间客户端的时间同步请求,所述时间,所述签名以及自身公钥作为时间同步响应。
进一步,所述收到时间同步响应的时间客户端节点生成时间同步交易,并在整个区块链网络中广播所述交易,包括:
时间客户端节点记录收到时间同步响应的时间;
时间客户端节点将时间同步响应与所述时间封装为时间同步交易,并在整个区块链网络中广播所述交易;
时间客户端节点根据时间同步响应与所述时间,校准自身时钟。
进一步,所述收到时间同步交易的时间服务器节点验证所述交易,并根据验证结果更新时间服务器节点的信任值,包括:
时间服务器节点取出对应于所述时间同步交易的交易A所记录的时间,基于所述时间验证该时间同步交易的正确性;
根据所述时间同步交易的正确性提高或者降低对应时间服务器节点的信任值。
进一步,所述区块链网络中的时间服务器节点进行共识,根据当前共识周期的交易,产生新的区块并得出下一轮共识周期时的出块者,所述出块者是指生成区块的时间服务器节点,包括:
每经过固定的时间间隔,所有的时间服务器节点会启动共识过程,该共识过程会根据当前信任值选举出下一轮共识过程的出块者,而上一轮共识过程中选举出的出块者会将当前时间间隔内的所有交易封装为一个区块;
所述共识过程由有限状态机驱动,所述有限状态机包含三个状态:Fresh,Author,WaitAuthor。所述有限状态机包含两个输入:区块,定时器。所述有限状态机包含两个输出:区块,未决;
时间服务器节点新加入区块链网络时,处于Fresh状态;该状态下如果收到区块输入,会根据区块中的交易重建其他时间服务器节点的信任值,确定下一轮共识的出块者,并转换为Author状态,该状态转移的输出为未决;所述处于Fresh状态的时间服务器节点如果触发定时器输入,该节点会立即作为出块者将当前共识周期收到的交易打包为区块,确定下一轮共识的出块者,并转换为Author状态,该状态转移的输出为区块;
所述处于Author状态的时间服务器节点如果收到区块输入,会将自身收到的交易与区块中的交易对比验证,确定下一轮共识的出块者,并转换为Author状态,该状态转移的输出为未决。所述处于Author状态的时间服务器节点如果收到定时器输入,且该节点是当前共识出块者,则会将当前共识周期收到的交易打包为区块,确定下一轮共识的出块者,并转换为Author状态,该状态转移的输出为区块,否则转换为AuthorWait状态,该状态的输出为未决;
所述处于AuthorWait状态的时间服务器节点如果收到区块输入,会将自身收到的交易与区块中的交易对比验证,确定下一轮共识的出块者,并转换为Author状态,该状态转移的输出为未决;述处于AuthorWait状态的时间服务器节点如果收到定时器输入,该节点会降低当前共识出块者的信任值,重新确定下一轮共识的出块者,并转换为Author状态,该状态转移的输出为未决。
本发明的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述信任管理时间同步方法的步骤。
本发明的另一目的在于提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述信任管理时间同步方法的步骤。
本发明的另一目的在于提供一种物联网信息数据处理终端,所述物联网信息数据处理终端用于实现所述的信任管理时间同步方法。
本发明的另一目的在于提供一种实施所述信任管理时间同步方法的信任管理时间同步系统,所述信任管理时间同步系统包括:
时间同步请求发送模块,用于实现时间客户端节点向时间服务器节点发送时间同步请求;
时间同步响应发送模块,用于实现时间服务器节点向请求时间同步的时间客户端节点发送时间同步响应;
时间同步交易生成模块,用于将收到时间同步响应的时间客户端节点生成时间同步交易,并在整个区块链网络中广播所述交易;
时间同步交易验证模块,用于将收到时间同步交易的时间服务器节点验证所述交易,并根据验证结果更新时间服务器节点的信任值;
共识模块,用于将区块链网络中的时间服务器节点进行共识,根据当前共识周期的交易,产生新的区块并得出下一轮共识周期时的出块者。
结合上述的所有技术方案,本发明所具备的优点及积极效果为:本发明的每一次时间同步过程被视为区块链上的交易,经过时间服务器节点的验证后存储在区块链上,基于信任管理的共识机制可以实现拜占庭节点的检测。本发明首次将时间同步的正确性与区块链交易的可验证行结合,提出了基于信任管理的共识机制,具有分布式、拜占庭容错的优点,可用于存在恶意节点的物联网环境下的时间同步。本发明使用区块链验证时间同步交易的正确性;使用信任管理建模时间服务器节点的诚实程度;提出的共识机制与激励机制结合信任管理可以实现恶意节点的鉴别。
附图说明
图1是本发明实施例提供的信任管理时间同步方法流程图。
图2是本发明实施例提供的信任管理时间同步系统的结构示意图;
图2中:1、时间同步请求发送模块;2、时间同步响应发送模块;3、时间同步交易生成模块;4、时间同步交易验证模块;5、共识模块。
图3是本发明实施例提供的一个完整的时间同步过程所需的时间成本示意图。
图4是本发明实施例提供的仿真对比结果示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
针对现有技术存在的问题,本发明提供了一种信任管理时间同步方法、系统、计算机设备、介质及终端,下面结合附图对本发明作详细的描述。
如图1所示,本发明提供的信任管理时间同步方法包括以下步骤:
S101:时间客户端节点向时间服务器节点发送时间同步请求;
S102:时间服务器节点向请求时间同步的时间客户端节点发送时间同步响应;
S103:收到时间同步响应的时间客户端节点生成时间同步交易,并在整个区块链网络中广播所述交易;
S104:收到时间同步交易的时间服务器节点验证所述交易,并根据验证结果更新时间服务器节点的信任值;
S105:区块链网络中的时间服务器节点进行共识,根据当前共识周期的交易,产生新的区块并得出下一轮共识周期时的出块者,所述出块者是指生成区块的时间服务器节点。
本发明提供的信任管理时间同步方法业内的普通技术人员还可以采用其他的步骤实施,图1的本发明提供的信任管理时间同步方法仅仅是一个具体实施例而已。
如图2所示,本发明提供的信任管理时间同步系统包括:
时间同步请求发送模块1,用于实现时间客户端节点向时间服务器节点发送时间同步请求;
时间同步响应发送模块2,用于实现时间服务器节点向请求时间同步的时间客户端节点发送时间同步响应;
时间同步交易生成模块3,用于将收到时间同步响应的时间客户端节点生成时间同步交易,并在整个区块链网络中广播所述交易;
时间同步交易验证模块4,用于将收到时间同步交易的时间服务器节点验证所述交易,并根据验证结果更新时间服务器节点的信任值;
共识模块5,用于将区块链网络中的时间服务器节点进行共识,根据当前共识周期的交易,产生新的区块并得出下一轮共识周期时的出块者。
下面结合具体实施例对本发明的技术方案作进一步的描述。
本发明首先基于联盟区块链,自2009年中本聪发布比特币白皮书以来,区块链领域已经经过了快速发展,区块链开发社区也诞生了很多便捷、高效、可靠的基础设施。下面就以IPFS社区的开源项目Libp2p为例,说明如何构建一个基本的联盟区块链。
首先要构建联盟区块链的运输层,一个基本的区块链运输层需要TCP协议实现端对端的可靠字节流通信;另外,为了保证通信的机密性,还需要引入Noise协议来进行密钥交换以及消息加密;最后为了实现信道的多路复用,还需要引入Yamux协议。由于本发明还要求联盟链场景,所以还需要实现私有网络,这里为了叙述的简洁性,使用基于预共享密钥的方式实现而不是公钥基础设施,所以还需要在运输层加入Pnet协议。将以上运输层子层连接即可实现基本的联盟链运输层。以上协议均可在Libp2p规范中找到。
在联盟链的运输层之上,还需要构建点对点的路由层。这里可以采用Libp2p提供的订阅发布协议,比如基础的Floodsub协议或者效率更高的Gossipsub协议。
在联盟链点对点路由层之上,需要实现交易与共识机制。交易结构可以使用Google的Protocol Buffers定义数据模型,使用ProtoBuf提供的序列化与反序列化方法在区块链网络中传输。对于共识机制,可以实现一个事件循环来轮询所收到的交易事件,并将其作为发明内容中的状态机输入。共识状态机除了包含自身的状态转移函数外,还需要维护当前共识周期产生的交易,这些交易可以使用编程语言中提供的集合容器存储。对于区块链账本,可以使用编程语言中提供的数组或者向量容器存储,或者引入数据库将其持久化。共识状态机本身的逻辑可以按照发明内容实现,对于面向对象的程序设计语言来说,可以使用子类型多态的方式实现每一种状态的逻辑;对于函数式编程语言来说,可以使用代数类型系统中的和类型来枚举状态,并通过模式匹配来进行状态转移。事件循环可以根据状态机的输出选择轮询新的事件或者广播新生成的区块。
实施例1:
在本发明实施例中时间客户端节点向时间服务器节点发送时间同步请求,包括:
时间客户端节点获取当前时间;
时间客户端节点使用其私钥生成对所述时间的签名;
时间客户端节点向区块链网络广播交易A,并向特定的时间服务器节点发送所述时间,签名以及自身公钥作为时间同步请求。
在本发明实施例中时间服务器节点向请求时间同步的时间客户端节点发送时间同步响应,包括:
时间服务器节点记录收到交易A后的时间;
时间服务器节点时间客户端节点的时间同步请求后,使用所述请求中的公钥验证签名。如果正确,获取当前时间,并使用自身私钥对所述时间签名,最终返回时间客户端的时间同步请求,所述时间,所述签名以及自身公钥作为时间同步响应。
在本发明实施例中收到时间同步响应的时间客户端节点生成时间同步交易,并在整个区块链网络中广播所述交易,包括:
时间客户端节点记录收到时间同步响应的时间;
时间客户端节点将时间同步响应与所述时间封装为时间同步交易,并在整个区块链网络中广播所述交易;
时间客户端节点根据时间同步响应与所述时间,校准自身时钟。
在本发明实施例中收到时间同步交易的时间服务器节点验证所述交易,并根据验证结果更新时间服务器节点的信任值,包括:
时间服务器节点取出对应于所述时间同步交易的交易A所记录的时间,基于所述时间验证该时间同步交易的正确性;
根据所述时间同步交易的正确性提高或者降低对应时间服务器节点的信任值。
在本发明实施例中区块链网络中的时间服务器节点进行共识,根据当前共识周期的交易,产生新的区块并得出下一轮共识周期时的出块者,所述出块者是指生成区块的时间服务器节点,包括:
每经过固定的时间间隔,所有的时间服务器节点会启动共识过程,该共识过程会根据当前信任值选举出下一轮共识过程的出块者,而上一轮共识过程中选举出的出块者会将当前时间间隔内的所有交易封装为一个区块;
所述共识过程由有限状态机驱动,所述有限状态机包含三个状态:Fresh,Author,WaitAuthor。所述有限状态机包含两个输入:区块,定时器。所述有限状态机包含两个输出:区块,未决;
时间服务器节点新加入区块链网络时,处于Fresh状态。该状态下如果收到区块输入,会根据区块中的交易重建其他时间服务器节点的信任值,确定下一轮共识的出块者,并转换为Author状态,该状态转移的输出为未决。所述处于Fresh状态的时间服务器节点如果触发定时器输入,该节点会立即作为出块者将当前共识周期收到的交易打包为区块,确定下一轮共识的出块者,并转换为Author状态,该状态转移的输出为区块;
所述处于Author状态的时间服务器节点如果收到区块输入,会将自身收到的交易与区块中的交易对比验证,确定下一轮共识的出块者,并转换为Author状态,该状态转移的输出为未决。所述处于Author状态的时间服务器节点如果收到定时器输入,且该节点是当前共识出块者,则会将当前共识周期收到的交易打包为区块,确定下一轮共识的出块者,并转换为Author状态,该状态转移的输出为区块,否则转换为AuthorWait状态,该状态的输出为未决;
所述处于AuthorWait状态的时间服务器节点如果收到区块输入,会将自身收到的交易与区块中的交易对比验证,确定下一轮共识的出块者,并转换为Author状态,该状态转移的输出为未决。所述处于AuthorWait状态的时间服务器节点如果收到定时器输入,该节点会降低当前共识出块者的信任值,重新确定下一轮共识的出块者,并转换为Author状态,该状态转移的输出为未决。
实施例2:
下面以一个简单的例子说明整个共识状态机的工作流程(括号内表示状态转移):
时间服务器节点A加入网络,等待一个共识周期(Fresh);
时间服务器节点B加入网络,等待一个共识周期(Fresh);
A触发定时器,产生区块,确定下一轮出块节点A(Fresh->Author(A));
B收到A的区块,确定下一轮的出块节点A(Fresh->Author(A));
A触发定时器,产生区块,确定下一轮的出块节点A(Author(A)->Author(A));
B收到时间服务器节点A的区块,确定下一轮的出块节点A(Author(A)->Author(A));
时间服务器节点C加入网络,等待一个共识周期(Fresh);
A触发定时器,产生区块,确定下一轮出块节点A(Author(A)->Author(A));
B与C收到A的区块,确定下一轮的出块节点A(Author(A)->Author,Fresh->Author(A));
A掉线,B与C触发定时器,等待A的区块(Author(A)->AuthorWait(A));
B与C触发定时器,确定下一轮共识的出块节点C(AuthorWait(B)->Author(C));
C触发定时器,产生区块,确定下一轮的出块节点C(Author(C)->Author(C));
B收到C的区块,确定下一轮的出块节点C(Author(C)->Author(C));
A重新连接到网络中,从B或C同步区块,确定下一轮的出块节点B(Fresh->Author(B));
C触发定时器,产生区块,确定下一轮的出块节点B(Author(C)->Author(B));
A与B收到C的区块,确定下一轮的出块节点B(Author(C)->Author(B),Fresh->Author(B))。
下面结合仿真对本发明的技术效果作详细的描述。
为了证明本发明的优越性,使用仿真的方式进行比对说明。这里使用Rust编程语言来实现仿真系统。仿真实现了一个基于Libp2p的区块链网络。仿真环境使用15台虚拟机进行分布式实验,每台虚拟机具有4个英特尔酷睿i7--4710MQ 2.5GHz处理器内核、1GB RAM和相同的软件设置。整个区块链网络中存在30个时间客户端节点,每个虚拟机运行1个时间服务器节点。所有实验都使用Rust版本1.44.1。仿真实验回答了以下问题:
·执行时间同步所需的开销是多少?
·针对恶意时间服务器节点的安全性如何?
图3显示了一个完整的时间同步过程所需的时间成本。仿真使用Ubuntu官方软件库中的sntp软件包与本发明进行比较。在30次测试中,统计结果表明sntp的平均时间成本为7.82ms,而本发明系统的平均时间成本为8.06ms。对比结果表明,本发明只会略微增加一些时间开销,这在大多数场景下是可以接受的。此外,本发明还具有较少的存储空间开销。在仿真系统中,时间同步交易存储在一个区块中,一个交易主要由7个时间戳和2个签名组成。如果使用64位和256位二进制数来表示时间戳和签名,则交易大约需要120字节的存储空间。此外,由于交易和区块需要在网络中传播,较小的存储开销也降低了对通道带宽的需求。
为了评估本发明所提出的区块链方案在拜占庭节点下的安全性,仿真过程中不断增加区块链网络中恶意服务器节点的数量,并计算网络中具有正确时间的时间客户端节点的比例。实验主要关注当恶意时间服务器节点数小于5个时,本发明是否能保证客户端节点上时钟的正确性。为了进一步说明本方案的安全性,实验选择了一个同类方案[Fan K,SunS,Yan Z,et al.A blockchain-based clock synchronization Scheme in IoT[J].Future Generation Computer Systems,2019,101:524-533.]进行比较。仿真对比结果如图4所示。当恶意节点的数量小于5时,所有的时间客户端节点都具有正确的时间。当恶意节点的数量大于10时,所有时间的客户端节点都具有错误的时间。这个结果表明,在合适的安全性假设下,本发明可以保证时间同步的正确性。与同类方案的对比表明,当网络中的恶意节点数量较少(少于5个)时,本发明实现了更强的安全性。
应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。

Claims (10)

1.一种信任管理时间同步方法,其特征在于,所述信任管理时间同步方法包括:
时间客户端节点向时间服务器节点发送时间同步请求;
时间服务器节点向请求时间同步的时间客户端节点发送时间同步响应;
收到时间同步响应的时间客户端节点生成时间同步交易,并在整个区块链网络中广播所述交易;
收到时间同步交易的时间服务器节点验证所述交易,并根据验证结果更新时间服务器节点的信任值;
区块链网络中的时间服务器节点进行共识,根据当前共识周期的交易,产生新的区块并得出下一轮共识周期时的出块者,所述出块者是指生成区块的时间服务器节点。
2.如权利要求1所述的信任管理时间同步方法,其特征在于,所述时间客户端节点向时间服务器节点发送时间同步请求,包括:
时间客户端节点获取当前时间;
时间客户端节点使用其私钥生成对所述时间的签名;
时间客户端节点向区块链网络广播交易A,并向特定的时间服务器节点发送所述时间,签名以及自身公钥作为时间同步请求。
3.如权利要求1所述的信任管理时间同步方法,其特征在于,所述时间服务器节点向请求时间同步的时间客户端节点发送时间同步响应,包括:
时间服务器节点记录收到交易A后的时间;
时间服务器节点时间客户端节点的时间同步请求后,使用所述请求中的公钥验证签名;如果正确,获取当前时间,并使用自身私钥对所述时间签名,最终返回时间客户端的时间同步请求,所述时间,所述签名以及自身公钥作为时间同步响应。
4.如权利要求1所述的信任管理时间同步方法,其特征在于,所述收到时间同步响应的时间客户端节点生成时间同步交易,并在整个区块链网络中广播所述交易,包括:
时间客户端节点记录收到时间同步响应的时间;
时间客户端节点将时间同步响应与所述时间封装为时间同步交易,并在整个区块链网络中广播所述交易;
时间客户端节点根据时间同步响应与所述时间,校准自身时钟。
5.如权利要求1所述的信任管理时间同步方法,其特征在于,所述收到时间同步交易的时间服务器节点验证所述交易,并根据验证结果更新时间服务器节点的信任值,包括:
时间服务器节点取出对应于所述时间同步交易的交易A所记录的时间,基于所述时间验证该时间同步交易的正确性;
根据所述时间同步交易的正确性提高或者降低对应时间服务器节点的信任值。
6.如权利要求1所述的信任管理时间同步方法,其特征在于,所述区块链网络中的时间服务器节点进行共识,根据当前共识周期的交易,产生新的区块并得出下一轮共识周期时的出块者,所述出块者是指生成区块的时间服务器节点,包括:
每经过固定的时间间隔,所有的时间服务器节点会启动共识过程,该共识过程会根据当前信任值选举出下一轮共识过程的出块者,而上一轮共识过程中选举出的出块者会将当前时间间隔内的所有交易封装为一个区块;
所述共识过程由有限状态机驱动,所述有限状态机包含三个状态:Fresh,Author,WaitAuthor;所述有限状态机包含两个输入:区块,定时器;所述有限状态机包含两个输出:区块,未决;
时间服务器节点新加入区块链网络时,处于Fresh状态;该状态下如果收到区块输入,会根据区块中的交易重建其他时间服务器节点的信任值,确定下一轮共识的出块者,并转换为Author状态,该状态转移的输出为未决;所述处于Fresh状态的时间服务器节点如果触发定时器输入,该节点会立即作为出块者将当前共识周期收到的交易打包为区块,确定下一轮共识的出块者,并转换为Author状态,该状态转移的输出为区块;
所述处于Author状态的时间服务器节点如果收到区块输入,会将自身收到的交易与区块中的交易对比验证,确定下一轮共识的出块者,并转换为Author状态,该状态转移的输出为未决;所述处于Author状态的时间服务器节点如果收到定时器输入,且该节点是当前共识出块者,则会将当前共识周期收到的交易打包为区块,确定下一轮共识的出块者,并转换为Author状态,该状态转移的输出为区块,否则转换为AuthorWait状态,该状态的输出为未决;
所述处于AuthorWait状态的时间服务器节点如果收到区块输入,会将自身收到的交易与区块中的交易对比验证,确定下一轮共识的出块者,并转换为Author状态,该状态转移的输出为未决;述处于AuthorWait状态的时间服务器节点如果收到定时器输入,该节点会降低当前共识出块者的信任值,重新确定下一轮共识的出块者,并转换为Author状态,该状态转移的输出为未决。
7.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1~6任意一项所述信任管理时间同步方法的步骤。
8.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行权利要求1~6任意一项所述信任管理时间同步方法的步骤。
9.一种物联网信息数据处理终端,其特征在于,所述物联网信息数据处理终端用于实现权利要求1~6任意一项所述的信任管理时间同步方法。
10.一种实施权利要求1~6任意一项所述信任管理时间同步方法的信任管理时间同步系统,其特征在于,所述信任管理时间同步系统包括:
时间同步请求发送模块,用于实现时间客户端节点向时间服务器节点发送时间同步请求;
时间同步响应发送模块,用于实现时间服务器节点向请求时间同步的时间客户端节点发送时间同步响应;
时间同步交易生成模块,用于将收到时间同步响应的时间客户端节点生成时间同步交易,并在整个区块链网络中广播所述交易;
时间同步交易验证模块,用于将收到时间同步交易的时间服务器节点验证所述交易,并根据验证结果更新时间服务器节点的信任值;
共识模块,用于将区块链网络中的时间服务器节点进行共识,根据当前共识周期的交易,产生新的区块并得出下一轮共识周期时的出块者。
CN202111478630.6A 2021-12-06 2021-12-06 信任管理时间同步方法、系统、计算机设备、介质及终端 Active CN114401064B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111478630.6A CN114401064B (zh) 2021-12-06 2021-12-06 信任管理时间同步方法、系统、计算机设备、介质及终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111478630.6A CN114401064B (zh) 2021-12-06 2021-12-06 信任管理时间同步方法、系统、计算机设备、介质及终端

Publications (2)

Publication Number Publication Date
CN114401064A true CN114401064A (zh) 2022-04-26
CN114401064B CN114401064B (zh) 2023-10-31

Family

ID=81225763

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111478630.6A Active CN114401064B (zh) 2021-12-06 2021-12-06 信任管理时间同步方法、系统、计算机设备、介质及终端

Country Status (1)

Country Link
CN (1) CN114401064B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108881169A (zh) * 2018-05-21 2018-11-23 西安电子科技大学 基于区块链的时间分发和同步方法及系统、数据处理系统
CA3041463A1 (en) * 2018-11-07 2019-04-18 Alibaba Group Holding Limited Facilitating practical byzantine fault tolerance blockchain consensus and node synchronization
CN111639124A (zh) * 2020-04-29 2020-09-08 西安电子科技大学 安全时间同步方法、系统、存储介质、程序、智能设备
CN112767151A (zh) * 2021-01-15 2021-05-07 中国工商银行股份有限公司 应用于区块链中验证节点的交易处理方法和装置
CN113452747A (zh) * 2021-05-13 2021-09-28 西安电子科技大学 可扩展和安全的共识方法、系统、存储介质、智能终端

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108881169A (zh) * 2018-05-21 2018-11-23 西安电子科技大学 基于区块链的时间分发和同步方法及系统、数据处理系统
CA3041463A1 (en) * 2018-11-07 2019-04-18 Alibaba Group Holding Limited Facilitating practical byzantine fault tolerance blockchain consensus and node synchronization
CN111639124A (zh) * 2020-04-29 2020-09-08 西安电子科技大学 安全时间同步方法、系统、存储介质、程序、智能设备
CN112767151A (zh) * 2021-01-15 2021-05-07 中国工商银行股份有限公司 应用于区块链中验证节点的交易处理方法和装置
CN113452747A (zh) * 2021-05-13 2021-09-28 西安电子科技大学 可扩展和安全的共识方法、系统、存储介质、智能终端

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
ALEXANDER HARTL、等: "BeaconBlocks: Augmenting Proof-of-Stake with On-Chain Time Synchronization", 《2019 IEEE INTERNATIONAL CONFERENCE ON BLOCKCHAIN (BLOCKCHAIN)》 *
KAI FAN、等: "A blockchain-based clock synchronization Scheme in IoT", 《FUTURE GENERATION COMPUTER SYSTEMS》 *
KAI FAN、等: "Blockchain-Based Secure Time Protection Scheme in IoT", 《IEEE INTERNET OF THINGS JOURNAL》 *
KAI FAN、等: "Secure Time Synchronization Scheme in IoT based on Blockchain", 《2018 IEEE CONFS ON INTERNET OF THINGS, GREEN COMPUTING AND COMMUNICATIONS, CYBER, PHYSICAL AND SOCIAL COMPUTING, SMART DATA, BLOCKCHAIN, COMPUTER AND INFORMATION TECHNOLOGY, CONGRESS ON CYBERMATICS》 *
王强;刘长春;周保茹;: "基于区块链的制造服务可信交易方法", 计算机集成制造系统, no. 12 *

Also Published As

Publication number Publication date
CN114401064B (zh) 2023-10-31

Similar Documents

Publication Publication Date Title
CN107888562B (zh) 一种平行链接入互联链的数据验证和收发方法、节点及系统
CN107862216B (zh) 用于匿名跨链交易的隐私保护方法、装置和存储介质
Alfandi et al. Blockchain solution for iot-based critical infrastructures: Byzantine fault tolerance
Cachin et al. Non-determinism in byzantine fault-tolerant replication
Gu et al. Security-aware mapping and scheduling with hardware co-processors for flexray-based distributed embedded systems
US20230316273A1 (en) Data processing method and apparatus, computer device, and storage medium
CN109408595B (zh) 区块链记账方法、设备及计算机可读存储介质
Wang et al. Capacity of blockchain based Internet-of-Things: Testbed and analysis
EP4300323A1 (en) Data processing method and apparatus for blockchain network, computer device, computer readable storage medium, and computer program product
US20230037932A1 (en) Data processing method and apparatus based on blockchain network, and computer device
Correia et al. Bft-to: Intrusion tolerance with less replicas
Moniz et al. RITAS: Services for randomized intrusion tolerance
WO2023134159A1 (zh) 一种基于区块链网络的共识方法、装置、电子设备及存储介质
US11582333B2 (en) Methods and devices in a blockchain network
WO2021000802A1 (zh) 一种通信方法、节点以及通信系统
CN116150260A (zh) 区块链系统的数据处理方法、装置、介质及电子设备
Wang et al. Engraft: Enclave-guarded Raft on Byzantine faulty nodes
WO2018179293A1 (ja) 検証情報付与装置、検証装置、情報管理システム、方法およびプログラム
Fan et al. Blockchain-based trust management for verifiable time synchronization service in IoT
CN117251889A (zh) 区块链共识方法、相关装置和介质
Wu et al. Reinforced practical Byzantine fault tolerance consensus protocol for cyber physical systems
JP2022553701A (ja) コンセンサスメカニズムを有する分散ネットワーク
Fu et al. A multiple-blockchains based service monitoring framework in edge-cloud computing
CN114401064A (zh) 信任管理时间同步方法、系统、计算机设备、介质及终端
WO2023134160A1 (zh) 一种基于区块链网络的共识方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant