CN107342980B - 一种公有链节点工作量证明的可信验证方法及系统 - Google Patents

一种公有链节点工作量证明的可信验证方法及系统 Download PDF

Info

Publication number
CN107342980B
CN107342980B CN201710417762.5A CN201710417762A CN107342980B CN 107342980 B CN107342980 B CN 107342980B CN 201710417762 A CN201710417762 A CN 201710417762A CN 107342980 B CN107342980 B CN 107342980B
Authority
CN
China
Prior art keywords
workload
public
node
enclave
network
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.)
Active
Application number
CN201710417762.5A
Other languages
English (en)
Other versions
CN107342980A (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.)
Hangzhou Yunxiang Network Technology Co Ltd
Original Assignee
Hangzhou Yunxiang Network Technology Co Ltd
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 Hangzhou Yunxiang Network Technology Co Ltd filed Critical Hangzhou Yunxiang Network Technology Co Ltd
Priority to CN201710417762.5A priority Critical patent/CN107342980B/zh
Publication of CN107342980A publication Critical patent/CN107342980A/zh
Application granted granted Critical
Publication of CN107342980B publication Critical patent/CN107342980B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • 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/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • 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

Abstract

本发明公开了一种公有链节点工作量证明的可信验证方法及系统,其利用软件保护扩展指令SGX,对于区块链公有链的工作量证明机制加以完善,额外增加了两个验证环节,利用可信空间的特性,使得合法的工作量证明都需通过enclave的签名,否则不被公有链其他节点接受,使得公有链网络中的工作量只能在特定硬件平台上完成,从而保证了公有链的安全性以及稳定性。

Description

一种公有链节点工作量证明的可信验证方法及系统
技术领域
本发明属于区块链技术领域,具体涉及一种公有链节点工作量证明的可信验证方法及系统。
背景技术
在区块链公有链网络的运行中,在采用工作量证明(Proof of Work)的系统中,对于每一个节点,汇报其所进行的工作是在客户端机器运行的。这种去中心化的设置一方面可以去除机构及个人的影响,但另一方面又对于用户的管理能力有所下降,其表现在对于用户的不当行为不能很好的禁止。不当行为主要包括虚报工作量以及异构设备加速:虚报工作量指的是为了提高计算工作的效果,工作量证明的程序可能会被第三方修改以及精简;异构设备加速指的是采用FPGA、GPU等对设备高性能计算设备进行工作的加速;这两点对于整个公有链网络的稳定性是有影响的。
同时,对于针对公有链网络的51%攻击,目前也没有特别行之有效的应对方法。51%攻击是指在攻击者拥有了全网51%的算力之后,他们相当于控制了整个公有链网络,可以进行双重支付,交易撤回等非法行为。
虚报工作量带来的影响主要有三个方面:(1)影响激励机制,一方不公平的工作量证明可以使其抢占记账权,影响其他用户遵循规则的积极性;(2)工作量的虚报会使网络中区块的生成速度以及难度增速大大加快,甚至会造成公有链网络的崩溃;(3)第三方修改的程序造成了不公平性,以及增加了不安全性。
异构设备加速的影响主要是:(1)用户使用的异构设备可能是不安全的,这会对公有链的稳定性造成影响;(2)异构加速使得网络运算能力往往集中于某几个大矿场中,与区块链去中心化的初衷违背,同时算力的集中也增加了51%攻击的发生概率。
软件防护扩展指令(Software Guard Extensions,SGX)是Intel开发的新处理器技术,可以在计算平台上提供一个可信空间,将安全应用依赖的可信计算机减小到仅包含CPU与安全应用,将操作系统与虚拟机监控器排除在安全边界之外,保障用户关键代码和数据的机密性和完整性,其实现方式是将合法软件的安全操作封装在一个enclave(可信空间)中,保护其不受恶意软件的攻击。一旦软件与数据位于enclave中,即使恶意攻击者控制了操作系统也无法影响enclave里的代码和数据。
发明内容
针对公有链中节点汇报工作量的监测机制不足,本发明提供了一种公有链节点工作量证明的可信验证方法及系统,能够避免异构设备的影响以及虚报工作量的风险。
一种公有链节点工作量证明的可信验证方法,首先利用SGX在公有链节点上创建一个可信空间enclave;当公有链节点完成工作量并向网络进行汇报前,在可信空间enclave中对其完成的工作量进行验证并证明,确保工作量的计算过程是在节点本机上完成的。
进一步地,公有链节点收到网络中其他节点发来的工作量后,则需对其进行验证,验证该工作量的证明是在enclave状态下完成的,否则公有链节点拒绝接受这份工作量,发送该工作量的节点将不被承认,不能参与公有链网络中共识、智能合约以及区块链信息存储等相关行为。
进一步地,公有链节点在可信空间enclave中对其完成的工作量进行验证,若验证通过即表示该工作量的计算过程是在节点本机上完成的,则将工作量与enclave独有的签名进行封装并广播给网络中的其他节点,封装后的数据包被其它节点接收后,其它节点对其工作量进行验证,同时利用公钥对所述签名进行验证,若其中有一项不符合,则视作验证不通过,该公有链节点的工作量不被承认。
进一步地,所述enclave的签名是通过非对称加密算法生成的。
一种公有链节点工作量证明的可信验证系统,包括网络中的所有公有链节点,所述公有链节点包含有工作模块和验证模块;其中:
所述工作模块在节点本机的操作系统中运行,其根据接收到的区块信息执行相应的计算工作;
所述验证模块在节点本机的可信空间enclave中运行,用于对工作模块完成的工作量进行验证并向全网证明本节点处于可信状态,同时还对网络中其他节点发来的工作量进行验证。
与现有公有链技术相比,本发明增加了SGX技术对工作量的结果的验证流程,使得只能在CPU上完成工作量的运算,增强了公有链系统的可信性以及安全性,避免了异构设备的影响以及虚报工作量的风险。本发明通过验证节点的可信性以避免大型计算集群的出现,降低了51%攻击产生的可能性。
附图说明
图1为本发明可信验证系统的结构示意图。
图2为本发明可信验证方法的流程示意图。
具体实施方式
为了更为具体地描述本发明,下面结合附图及具体实施方式对本发明的技术方案进行详细说明。
如图1所示,本发明公有链工作量证明的验证系统,包括区块链节点程序的两个模块:工作模块和验证模块;其中,工作模块在操作系统中进行,用于客户端进行工作量证明的工作途径;验证模块在软件防护扩展机制SGX创造的可信空间enclave中运行,用于对本机的工作进行验证,同时用于向全网证明本节点处于可信状态。
在本实施方式中,在客户端启动时,通过SGX创造一个本机上的可信空间,每当工作程序完成工作量向网络汇报时,额外增加本机验证的环节,以确保计算于本机上完成。客户端完成工作并汇报时,通过SGX进行区块链节点的验证,只有通过验证的工作量证明会被得到承认。
具体的验证方式为:将工作量的证明与enclave的签名封装,这个封包被其它节点接收后,其它节点对其工作量进行验证,同时用公钥对签名进行验证,若有其中一样不符合,则视作验证不通过,这个节点的工作量不被承认。
整个验证系统的具体工作流程如下:
1.客户端发送工作请求,工作模块开始工作;
2.工作模块完成特定要求的工作量,向验证模块汇报工作量;
3.验证模块通过对发送的内容进行验证,确认是可信的工作后向网络广播汇报;
4.汇报的内容是通过非对称密码加密,全网其他用户可以进行验证;
5.若确认这个工作是由enclave状态完成,则同意接受这份工作证明;反之,则拒绝接受,有问题的节点被排除在公有链网络之外。
本实施方式系统通过SGX创造一个本机上的可信空间,在向网络汇报之前必须在enclave中加以验证,而同时在传向网络中的证明,需加上enclave独有的签名信息,以证明工作是在验证程序处于enclave状态下被完成的,否则公有链中其他节点拒绝接受这份证明。这个节点将不被承认,不能参与公有链网络中的共识、智能合约、区块链信息存储等行为,从而保证了公有链网络上的节点都是处于enclave状态下的诚实节点。
本实施方式系统的程序架构大致如图2所示,具体如下:
1.客户端的初始化,主要包括enclave的创建;
2.连接公有链网络,获取最新的区块信息;
3.完成获取后向工作模块发送工作请求;
4.工作模块根据请求,在本机CPU上进行相应运算,完成后向enclave汇报;
5.enclave验证工作是否本机完成,若否,则程序将终止运行;若是,则向公有链网络广播工作量;
6.其他节点对于这个工作量进行验证,若发现不是于enclave状态下完成,则视作不可信,拒绝接受;若可信,则接受这份工作量证明;
7.如果满足记账条件,则成功汇报工作量的客户端获得记账权,创建新区块,得到奖励;
8.完成一轮证明后,重新向工作模块发送工作请求,通过工作量竞争下一轮的记账权。
由此可见,本发明通过验证节点的可信性以避免大型计算集群的出现,降低了51%攻击产生的可能性;跟现有公有链技术相比,本发明增加了SGX技术对工作量的结果的验证流程,使得只能在CPU上完成工作量的运算,增强了公有链系统的可信性以及安全性。
上述对实施例的描述是为便于本技术领域的普通技术人员能理解和应用本发明。熟悉本领域技术的人员显然可以容易地对上述实施例做出各种修改,并把在此说明的一般原理应用到其他实施例中而不必经过创造性的劳动。因此,本发明不限于上述实施例,本领域技术人员根据本发明的揭示,对于本发明做出的改进和修改都应该在本发明的保护范围之内。

Claims (3)

1.一种公有链节点工作量证明的可信验证方法,其特征在于:首先利用SGX在公有链节点上创建一个可信空间enclave;当公有链节点完成工作量并向网络进行汇报前,在可信空间enclave中对其完成的工作量进行验证并证明,确保工作量的计算过程是在节点本机上完成的;
公有链节点收到网络中其他节点发来的工作量后,则需对其进行验证,验证该工作量的证明是在enclave状态下完成的,否则公有链节点拒绝接受这份工作量,发送该工作量的节点将不被承认,不能参与公有链网络中共识、智能合约以及区块链信息存储的相关行为;
公有链节点在可信空间enclave中对其完成的工作量进行验证,若验证通过即表示该工作量的计算过程是在节点本机上完成的,则将工作量与enclave独有的签名进行封装并广播给网络中的其他节点,封装后的数据包被其它节点接收后,其它节点对其工作量进行验证,同时利用公钥对所述签名进行验证,若其中有一项不符合,则视作验证不通过,该公有链节点的工作量不被承认。
2.根据权利要求1所述的可信验证方法,其特征在于:所述enclave的签名是通过非对称加密算法生成的。
3.一种公有链节点工作量证明的可信验证系统,其特征在于,包括网络中的所有公有链节点,所述公有链节点包含有工作模块和验证模块;其中:
所述工作模块在节点本机的操作系统中运行,其根据接收到的区块信息执行相应的计算工作;
所述验证模块在节点本机的可信空间enclave中运行,用于对工作模块完成的工作量进行验证并向全网证明本节点处于可信状态,同时还对网络中其他节点发来的工作量进行验证。
CN201710417762.5A 2017-06-05 2017-06-05 一种公有链节点工作量证明的可信验证方法及系统 Active CN107342980B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710417762.5A CN107342980B (zh) 2017-06-05 2017-06-05 一种公有链节点工作量证明的可信验证方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710417762.5A CN107342980B (zh) 2017-06-05 2017-06-05 一种公有链节点工作量证明的可信验证方法及系统

Publications (2)

Publication Number Publication Date
CN107342980A CN107342980A (zh) 2017-11-10
CN107342980B true CN107342980B (zh) 2020-05-19

Family

ID=60219899

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710417762.5A Active CN107342980B (zh) 2017-06-05 2017-06-05 一种公有链节点工作量证明的可信验证方法及系统

Country Status (1)

Country Link
CN (1) CN107342980B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108959335B (zh) * 2017-12-08 2021-05-25 普华云创科技(北京)有限公司 基于区块链技术的共识方法及系统
CN108124505B (zh) * 2017-12-19 2020-06-30 深圳前海达闼云端智能科技有限公司 获取可信节点的方法、装置、存储介质及区块链节点
CN108491269A (zh) * 2018-03-23 2018-09-04 中科声龙科技发展(北京)有限公司 一种工作量证明运算芯片优化的方法和电路
CN109889498B (zh) * 2019-01-16 2021-10-29 余炀 基于区块链的计算验证方法及系统
CN111612168B (zh) * 2020-06-30 2021-06-15 腾讯科技(深圳)有限公司 一种机器学习任务的管理方法以及相关装置
CN112434300B (zh) * 2020-11-23 2024-03-12 山东可信云信息技术研究院 一种可信超融合系统及控制方法
CN113194093A (zh) * 2021-04-29 2021-07-30 山东中科好靓科技有限公司 一种基于tee的工作量证明系统
CN113612761B (zh) * 2021-07-30 2022-03-22 立信(重庆)数据科技股份有限公司 一种基于区块链的调研数据上链方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105389513A (zh) * 2015-11-26 2016-03-09 华为技术有限公司 一种虚拟可信平台模块vTPM的可信执行方法和装置
CN106571925A (zh) * 2016-10-24 2017-04-19 北京云图科瑞科技有限公司 对区块链系统中的区块进行工作量证明的方法及装置
CN106780007A (zh) * 2016-11-28 2017-05-31 树读(上海)信息科技有限公司 一种征信数据共享与交易系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9973341B2 (en) * 2015-01-23 2018-05-15 Daniel Robert Ferrin Method and apparatus for the limitation of the mining of blocks on a block chain
US10592985B2 (en) * 2015-03-02 2020-03-17 Dell Products L.P. Systems and methods for a commodity contracts market using a secure distributed transaction ledger
US20160379212A1 (en) * 2015-06-26 2016-12-29 Intel Corporation System, apparatus and method for performing cryptographic operations in a trusted execution environment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105389513A (zh) * 2015-11-26 2016-03-09 华为技术有限公司 一种虚拟可信平台模块vTPM的可信执行方法和装置
CN106571925A (zh) * 2016-10-24 2017-04-19 北京云图科瑞科技有限公司 对区块链系统中的区块进行工作量证明的方法及装置
CN106780007A (zh) * 2016-11-28 2017-05-31 树读(上海)信息科技有限公司 一种征信数据共享与交易系统

Also Published As

Publication number Publication date
CN107342980A (zh) 2017-11-10

Similar Documents

Publication Publication Date Title
CN107342980B (zh) 一种公有链节点工作量证明的可信验证方法及系统
US8533806B2 (en) Method for authenticating a trusted platform based on the tri-element peer authentication(TEPA)
TW201600999A (zh) 基於信譽之用於加密通道的網路安全技術
CN102567685B (zh) 基于非对称公钥密码体系的软件版权保护方法
Zhang et al. Mechanized network origin and path authenticity proofs
CN110458995B (zh) 基于可信执行环境的匿名投票系统和投票方法
CN114390051A (zh) 一种基于物流边缘网关的数据管理设备及其控制方法
CN106789894A (zh) 基于三cpu架构的跨网安全数据传输设备及其实现方法
CN110401640A (zh) 一种基于可信计算双体系架构的可信连接方法
CN114584331A (zh) 一种配电物联网边缘物联代理网络安全防护方法及系统
Lu et al. Research on trusted DNP3-BAE protocol based on hash chain
CN103347073B (zh) 一种云管理行为安全控制方法和系统
KR20130035600A (ko) 정보 유출 차단 장치 및 방법
CN116881936A (zh) 可信计算方法及相关设备
CN109274674B (zh) 一种具有高安全性的区块链异构共识方法及终端
CN1705262A (zh) 网络安全防护系统及方法
CN103916390B (zh) 云计算系统中license的控制方法和装置
CN100411361C (zh) 一种保护移动代理网管应用的安全架构方法
CN114938313A (zh) 一种基于动态令牌的人机识别方法及装置
Al-Wosabi et al. Framework for software tampering detection in embedded systems
Zhang et al. Frontrunning block attack in PoA clique: A case study
CN113259376A (zh) 一种基于区块链的物联网设备的控制方法
CN109658101A (zh) 一种区块链硬件加密安全机制
CN110290113A (zh) 基于PoW算法的设备标识构造方法、装置及计算机可读存储介质
US20240015028A1 (en) Blockchain-based data detection method and apparatus, device, storage medium, and program product

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
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20171110

Assignee: HANGZHOU HUA TING TECHNOLOGY Co.,Ltd.

Assignor: HANGZHOU YUNXIANG NETWORK TECHNOLOGY Co.,Ltd.

Contract record no.: X2023980033410

Denomination of invention: A Trusted Verification Method and System for Public Chain Node Workload Proof

Granted publication date: 20200519

License type: Common License

Record date: 20230313

EE01 Entry into force of recordation of patent licensing contract