CN110233823A - 区块链实现方法、系统及存储介质 - Google Patents
区块链实现方法、系统及存储介质 Download PDFInfo
- Publication number
- CN110233823A CN110233823A CN201910371484.3A CN201910371484A CN110233823A CN 110233823 A CN110233823 A CN 110233823A CN 201910371484 A CN201910371484 A CN 201910371484A CN 110233823 A CN110233823 A CN 110233823A
- Authority
- CN
- China
- Prior art keywords
- back end
- contract
- common recognition
- request
- intelligent contract
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0869—Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1458—Denial of Service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/166—Implementing security features at a particular protocol layer at the transport layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1046—Joining mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1048—Departure or maintenance mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明涉及区块链技术,提供了一种区块链实现方法、系统及计算机可读存储介质。该方法包括:数据节点接收应用端发送的执行对应智能合约的请求;所述数据节点根据所述智能合约中的背书策略对所述智能合约进行背书,在所述智能合约通过背书后,执行所述智能合约,并将合约执行结果以及对应的请求发送至共识节点群;所述共识节点群对接收到的合约执行结果以及对应的请求进行共识排序,形成区块,并将形成的区块发送给所述数据节点;所述数据节点将所述合约执行结果返回给所述应用端。利用本发明,可以减少网络交互,提升区块链系统的整体性能。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种区块链实现方法、系统及计算机可读存储介质。
背景技术
区块链最初是由一位化名为中本聪的人为比特币(一种数字货币)而设计出的一种特殊的分布式记账技术。比特币以及由其衍生出来的区块链技术都引入了签名系统、共识机制、时间戳等技术,各模块之间的相互协作完美地解决了去中心化带来的安全隐患。因此,区块链并不是一项全新的互联网技术,而是多项已有技术,如非对称密钥签名、共识机制、时间戳、哈希算法、P2P通信等的巧妙整合。通常,区块链可以被理解为一个分布式的账本,或被看作是一个分布式计算和存储系统。
现有的区块链系统,通常是由区块链客户端向数据节点请求背书和调用智能合约,接收并验证数据节点返回的合约执行结果,然后将通过验证的合约执行结果提交给共识节点。在此过程中,远程网络调用次数过多,影响了区块链系统整体处理延时以及每秒事务处理量(Transaction Per Second,TPS)的进一步优化。因此,本发明的发明人认识到:区块链客户端的存在增加了网络交互和系统延迟,现有的区块链实现方法存在改善空间。
发明内容
鉴于以上原因,有必要提供一种区块链实现方法、系统及计算机可读存储介质,可以减少网络交互,降低系统延迟,提升区块链系统的整体性能。
为实现上述目的,本发明提供一种区块链实现方法,应用于区块链系统,该方法包括:
接收步骤:数据节点接收应用端发送的执行对应智能合约的请求,该请求中包括执行参数;
背书和执行步骤:所述数据节点对所述智能合约进行背书,在所述智能合约通过背书后,根据所述执行参数执行所述智能合约,并将合约执行结果以及对应的请求发送至共识节点群;
共识步骤:所述共识节点群采用预先确定的共识算法对接收到的合约执行结果以及对应的请求进行共识排序,形成区块,并将形成的区块发送给所述数据节点;及
返回步骤:所述数据节点将所述合约执行结果返回给所述应用端。
优选地,该方法还包括:
所述数据节点通过安全传输层协议与所述应用端建立连接并完成信息传输;
在所述返回步骤后断开该连接。
优选地,所述背书和执行步骤被替换为:
所述数据节点将所述请求转发给所述智能合约确定的背书策略指定的其他数据节点;
接收到所述请求的数据节点对所述智能合约进行背书,在所述智能合约通过背书后,根据所述执行参数执行所述智能合约;
验证执行所述智能合约的各个数据节点得到的合约执行结果是否一致;
若所述合约执行结果一致,则将该合约执行结果以及对应的请求发送至所述共识节点群;
若所述合约执行结果不一致,则由接收所述应用端请求的数据节点将错误信息返回给所述应用端。
优选地,所述共识算法为PoW算法、PoS算法、PBFT算法、Raft算法、DPoS算法或Ripple算法。
优选地,该方法还包括:
所述数据节点将所述区块广播至所有其他数据节点;
所有数据节点将所述区块加入到本地区块链中。
本发明还提供一种区块链系统,该区块链系统包括共识节点群和多个数据节点,各个数据节点间相互连接,并与所述共识节点群相连接,所述共识节点群包括多个共识节点,各个共识节点间相互连接,每个共识节点中包括区块链共识节点实现程序,每个数据节点中包括区块链数据节点实现程序,所述区块链共识节点实现程序和区块链数据节点实现程序被执行时实现如下步骤:
接收步骤:数据节点接收应用端发送的执行对应智能合约的请求,该请求中包括执行参数;
背书和执行步骤:所述数据节点对所述智能合约进行背书,在所述智能合约通过背书后,根据所述执行参数执行所述智能合约,并将合约执行结果以及对应的请求发送至共识节点群;
共识步骤:所述共识节点群采用预先确定的共识算法对接收到的合约执行结果以及对应的请求进行共识排序,形成区块,并将形成的区块发送给所述数据节点;及
返回步骤:所述数据节点将所述合约执行结果返回给所述应用端。
优选地,所述区块链数据节点实现程序被执行时还实现如下步骤:
所述数据节点通过安全传输层协议与所述应用端建立连接并完成信息传输;
在所述返回步骤后断开该连接。
优选地,所述背书和执行步骤被替换为:
所述数据节点将所述请求转发给所述智能合约确定的背书策略指定的其他数据节点;
接收到所述请求的数据节点对所述智能合约进行背书,在所述智能合约通过背书后,根据所述执行参数执行所述智能合约;
验证执行所述智能合约的各个数据节点得到的合约执行结果是否一致;
若所述合约执行结果一致,则将该合约执行结果以及对应的请求发送至所述共识节点群;
若所述合约执行结果不一致,则由接收所述应用端请求的数据节点将错误信息返回给所述应用端。
优选地,所述共识算法为PoW算法、PoS算法、PBFT算法、Raft算法、DPoS算法或Ripple算法。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质中存储有区块链数据节点实现程序,该区块链数据节点实现程序被执行时实现如下步骤:
请求接收步骤:接收应用端发送的执行对应智能合约的请求,该请求中包括执行参数;
背书和执行步骤:对所述智能合约进行背书,在所述智能合约通过背书后,根据所述执行参数执行所述智能合约,并将合约执行结果以及对应的请求发送至共识节点群;
区块接收步骤:接收共识节点群根据所述合约执行结果以及对应的请求形成的区块;及
结果返回步骤:将所述合约执行结果返回给所述应用端。
本发明提供的区块链实现方法、系统及计算机可读存储介质,通过数据节点与应用端建立连接,接收应用端发送的执行对应智能合约的请求,并对所述智能合约进行背书,然后执行通过背书的智能合约,将合约执行结果和所述请求发送至共识节点群,由共识节点群对所述合约执行结果和请求进行共识排序,并将形成的区块发送给所述数据节点,最后由所述数据节点将所述合约执行结果返回给所述应用端并将所述区块广播至所有其他数据节点,使各数据节点维护一条相同的区块链。利用本发明,将原本区块链客户端的功能交由应用端和数据节点来实现,减少了网络交互,尤其是远程调用,降低了系统延迟,提高了区块链系统的整体性能。
附图说明
图1为本发明区块链系统一实施例的示意图;
图2为图1中任一数据节点的实施例的示意图;
图3为本发明区块链实现方法第一实施例的流程示意图;
图4为本发明区块链实现方法第二实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚明白,下面将结合若干附图及实施例,对本发明进行进一步的详细说明。应当理解的是,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供一种区块链系统。参照图1所示,为本发明区块链系统1一实施例的示意图。在该实施例中,区块链系统1包括共识节点群2和多个数据节点(图中仅标示数据节点3和数据节点4两个数据节点),各个数据节点间相互连接,并与所述共识节点群2相连接,所述共识节点群2包括多个共识节点,各个共识节点间相互连接。所述多个数据节点中的任一数据节点可以与应用端(图中未示出)建立连接,还可以根据背书策略对智能合约进行背书,并执行通过背书的智能合约。所述共识节点群2可以对接收的数据进行共识排序,形成区块,并将形成的区块发送给数据节点。所述数据节点和共识节点可以是服务器、智能手机、平板电脑、便携计算机、桌上型计算机等具有存储和运算功能的终端设备。在一个实施例中,当所述数据节点或共识节点为服务器时,该服务器可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器等的一种或几种。
参照图2所示,为图1中任一数据节点的实施例的示意图。所述数据节点包括存储器31、处理器32以及网络接口33。
其中,存储器31包括至少一种类型的可读存储介质。所述至少一种类型的可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器等的非易失性存储介质。在一些实施例中,所述可读存储介质可以是所述数据节点的内部存储单元,例如该数据节点的硬盘。在另一些实施例中,所述可读存储介质也可以是该数据节点的外部存储器,例如该数据节点上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
在本实施例中,所述存储器31的可读存储介质用于存储区块链数据节点实现程序30、区块链中存储的数据以及该数据节点与应用端、其他数据节点以及共识节点群进行信息交互过程中产生的数据,例如合约执行结果以及应用端发送的执行对应智能合约的请求等。所述存储器31还可以用于暂时地存储已经输出或者将要输出的数据。
处理器32可以是一中央处理器(Central Processing Unit,CPU),微处理器或其他数据处理芯片,用于运行存储器31中存储的程序代码或处理数据,例如执行所述区块链数据节点实现程序30。
网络接口33可以包括标准的有线接口、无线接口(如WI-FI接口)。通常用于在该数据节点与其他电子设备之间建立通信连接,例如与应用端、其他数据节点以及共识节点群等建立通信连接。
图2仅示出了具有组件31-33以及数据节点实现程序30的数据节点,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
可选地,在所述数据节点增加微服务化的调用接口,包括但不限于Restful、grpc、thrift、ICE、SOAP等,以便所述数据节点与应用端、其他数据节点以及共识节点群等建立通信连接,尤其是提高了所述数据节点对应用端的普适性。
所述数据节点还可以包括输入单元比如键盘(Keyboard),语音输入装置比如麦克风(Microphone),射频(Radio Frequency,RF)电路、显示器、传感器、音频电路、有线接口和无线接口等等,在此不再赘述。
在上述实施例中,所述数据节点整合了原有区块链客户端节点的部分功能,处理器32执行存储器31中存储的数据节点实现程序30时实现如下步骤:
请求接收步骤:接收应用端发送的执行对应智能合约的请求,该请求中包括执行参数;
背书和执行步骤:对所述智能合约进行背书,在所述智能合约通过背书后,根据所述执行参数执行所述智能合约,并将合约执行结果以及对应的请求发送至共识节点群;
区块接收步骤:接收共识节点群根据所述合约执行结果以及对应的请求形成的区块;及
结果返回步骤:将所述合约执行结果返回给所述应用端。
关于上述步骤的详细介绍,请参照下述图3、图4关于区块链实现方法实施例的流程示意图的相关说明。
参照图3所示,为本发明区块链实现方法第一实施例的流程示意图。该方法包括如下步骤:
步骤S300,数据节点接收应用端发送的执行对应智能合约的请求。所述数据节点可以是与应用端建立连接的任一数据节点,例如所述数据节点3。所述应用端可以为任意具有数据收发功能的电子设备,用户可以在所述应用端向区块链系统发送执行对应智能合约的请求,为了降低系统延迟,所述应用端可以选择最近的数据节点进行连接和发送请求。所述智能合约也叫“可编程合约”,它是一段代码和数据的集合,即通过程序编码定义合约,预设执行条件,当触发执行条件时执行预设行为。其中的“智能”是执行上的智能,也就是说,当达到某个预设条件(例如通过背书)时,合约自动执行。智能合约的本质是一些执行任务的集合,当满足合约中的预设条件时,执行预先定义好的执行任务。通常,执行任务可包括操作和交易,操作和交易的执行请求可由用户发起。在本实施例中,所述请求对应的内容可以为“{"contract":"ClearBank","param":{"args":[“100”]}}”,其中,“ClearBank”表示智能合约的名称,“100”表示执行参数。在其他实施例中,所述请求还可以包括用户身份信息、智能合约编号、智能合约调用地址等,在此不再赘述。
在本实施例中,所述智能合约可以是预先设置的智能合约,也可以是根据所述请求生成的确定的智能合约,智能合约通过编写、编译和发布,可以在区块链系统1中广播,可被存储在该区块链系统1中的各个节点上。对于确定的智能合约,背书策略是确定的,即需要对该智能合约进行背书的节点和背书的规则是确定的。应用端通常会选择与需要对该智能合约进行背书的数据节点建立连接。具体地,所述应用端可以通过安全传输层协议(Transport Layer Security,TLS)与数据节点建立连接,为了保障通信安全,所述数据节点和所述应用端可以通过多次握手(Handshake),通过TLS双向认证,从而建立连接。数据节点和应用端建立连接后,所述应用端通过建立的连接将执行对应智能合约的请求发送给所述数据节点,所述数据节点接收所述应用端发送的执行对应智能合约的请求。
步骤S310,所述数据节点对智能合约进行背书,在所述智能合约通过背书后,根据所述请求中的执行参数执行该智能合约,并将合约执行结果以及对应的请求发送至共识节点群。
在本实施例中,假设所述智能合约的背书策略指定的背书节点为所述数据节点,则所述数据节点可以通过数字签名的方式对所述智能合约进行背书,如果该智能合约通过背书,则所述数据节点将根据所述执行参数执行该智能合约,然后将合约执行结果以及对应的请求发送至所述共识节点群;。
步骤S320,所述共识节点群采用预先确定的共识算法对接收到的合约执行结果以及对应的请求进行共识排序,形成区块,并将形成的区块发送给所述数据节点。在本实施例中,所述共识算法可以是工作量证明(Proof of Work,PoW)算法、股权证明(Proof ofStake,PoS)算法、实用拜占庭容错算法(Practical Byzantine Fault Tolerance,PBFT)算法、委托权益(Delegated Proof of Stake,DPoS)算法、Raft算法或Ripple算法中的任意一种。
具体地,所述共识节点群在接收到所述数据节点发送的合约执行结果以及对应的请求后,可以根据所述请求执行所述智能合约,验证所述合约执行结果的有效性,给验证为有效的合约执行结果以及对应的请求加上序号,当所述序号达到预设序号阈值或经过预设时间阈值后,将所述合约执行结果和对应的请求打包形成区块,并将形成的区块发送给所述数据节点。
步骤S330,所述数据节点将所述区块广播至所有其他数据节点,并将所述合约执行结果返回给所述应用端。在本实施例中,所述数据节点在接收到所述共识节点群发送的区块后,可以将该区块广播至所有其他数据节点,各个数据节点将该区块存储至本地的区块链中,实现数据同步。所述数据节点还可以将所述合约执行结果返回给所述应用端,随后断开与该应用端的连接。
基于上述实施例提出区块链实现方法的第二实施例。参照图4所示,为本发明区块链实现方法第二实施例的流程示意图。在该实施例中,所述数据节点仅为所述智能合约确定的背书策略所指定的背书节点之一,所述数据节点需要将所述请求转发给所述背书策略指定的其他背书节点,即需要对该智能合约进行背书的其他数据节点,因此步骤S310将被步骤S311-S313替换。
步骤S311,所述数据节点将所述请求转发给所述智能合约确定的背书策略指定的其他数据节点。具体地,每个数据节点持有一组密钥对,该密钥对中的公钥被区块链系统中的所有数据节点以及共识节点群所知,该密钥对中的私钥只由各数据节点本身持有。所述数据节点在向其他数据节点转发所述请求时,先采用预先确定的哈希函数(例如SHA-256或MD5)对所述请求进行哈希计算,生成第一请求摘要,并用自己的私钥对该第一请求摘要进行加密,加密后的第一请求摘要将作为请求的数字签名和请求一起发送给其他数据节点。其他数据节点在接收到该请求后,先利用所述预先确定的哈希函数从接收的请求中计算出第二请求摘要,然后再用所述数字节点的公钥对请求附加的数字签名进行解密,如果解密得到的请求摘要与该第二请求摘要相同,那么接收到所述请求的数据节点就确认该数字签名是所述数据节点的,接收到的请求来自所述数据节点,未被篡改。数据在区块链系统内部的传递通常可以采用类似的数据签名技术保障数据安全,包括数据节点与共识节点群之间的数据传递,为了叙述的方便和重点的突出,本申请并未着重强调这部分内容。可以理解的是,所述共识节点群中的各个共识节点也可以持有密钥对,所述共识节点群与数据节点间的数据传递以及共识节点群内部各共识节点间的数据传递都可以采用数据签名技术保障数据安全,在此不再赘述。
步骤S312,接收到所述请求的数据节点对所述智能合约进行背书,在所述智能合约通过背书后,根据所述执行参数执行所述智能合约。按照所述智能合约确定的背书策略,当该智能合约收集到所述背书策略指定的多个数据节点中预设数量数据节点的背书时,即认为该智能合约通过背书。在该智能合约通过背书后,对该智能合约进行背书的数据节点可以根据所述执行参数各自模拟执行该智能合约,每个数据节点将得到一个合约执行结果。
步骤S313,验证执行所述智能合约的各个数据节点得到的合约执行结果是否一致,若所述合约执行结果一致,则将该合约执行结果以及对应的请求发送至所述共识节点群,若所述合约执行结果不一致,则由接收所述应用端请求的数据节点将错误信息返回给所述应用端。可以理解的是,针对同一请求,如果各个数据节点得到的合约执行结果一致,则该执行结果和对应的请求将被发送至所述共识节点群,如果各个数据节点得到的合约执行结果不一致,则将发送错误信息给所述应用端,所述应用端可以根据接收到的错误信息重新发送请求或者放弃执行对应的智能合约。在本实施例中,可以由接收所述应用端请求的数据节点判断所述合约执行结果是否一致,并由该数据节点向所述共识节点群发送所述执行结果及对应的请求或向所述应用端返回错误信息。
上述实施例提出的区块链实现方法,由数据节点整合了原本区块链客户端节点的部分功能,例如验证针对同一请求的合约执行结果是否一致,用户在应用端无需安装区块链客户端软件,而通过TLS与相关数据节点建立连接并完成信息传输,不但满足了安全性的要求,还降低了防止非法用户的成本以及受分布式拒绝服务(Distributed Denial ofService,SSoS)攻击的风险,并且有助于减少网络交互,降低系统延迟,提高区块链系统的整体性能。
此外,本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以是硬盘、多媒体卡、SD卡、闪存卡、SMC、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器等等中的任意一种或者几种的任意组合。
本发明之计算机可读存储介质中存储有区块链数据节点实现程序,该区块链数据节点实现程序被执行时实现如下步骤:
请求接收步骤:接收应用端发送的执行对应智能合约的请求,该请求中包括执行参数;
背书和执行步骤:对所述智能合约进行背书,在所述智能合约通过背书后,根据所述执行参数执行所述智能合约,并将合约执行结果以及对应的请求发送至共识节点群;
区块接收步骤:接收共识节点群根据所述合约执行结果以及对应的请求形成的区块;及
结果返回步骤:将所述合约执行结果返回给所述应用端。
其具体实施方式与上述数据节点的具体实施方式大致相同,可参照上述图2关于数据节点实施例的示意图以及图3、图4关于区块链实现方法实施例的流程示意图的相关介绍,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质中,包括若干指令用以使得电子设备执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种区块链实现方法,应用于区块链系统,其特征在于,该方法包括:
接收步骤:数据节点接收应用端发送的执行对应智能合约的请求,该请求中包括执行参数;
背书和执行步骤:所述数据节点对所述智能合约进行背书,在所述智能合约通过背书后,根据所述执行参数执行所述智能合约,并将合约执行结果以及对应的请求发送至共识节点群;
共识步骤:所述共识节点群采用预先确定的共识算法对接收到的合约执行结果以及对应的请求进行共识排序,形成区块,并将形成的区块发送给所述数据节点;及
返回步骤:所述数据节点将所述合约执行结果返回给所述应用端。
2.如权利要求1所述的区块链实现方法,其特征在于,该方法还包括:
所述数据节点通过安全传输层协议与所述应用端建立连接并完成信息传输;
在所述返回步骤后断开该连接。
3.如权利要求1或2所述的区块链实现方法,其特征在于,所述背书和执行步骤被替换为:
所述数据节点将所述请求转发给所述智能合约确定的背书策略指定的其他数据节点;
接收到所述请求的数据节点对所述智能合约进行背书,在所述智能合约通过背书后,根据所述执行参数执行所述智能合约;
验证执行所述智能合约的各个数据节点得到的合约执行结果是否一致;
若所述合约执行结果一致,则将该合约执行结果以及对应的请求发送至所述共识节点群;
若所述合约执行结果不一致,则由接收所述应用端请求的数据节点将错误信息返回给所述应用端。
4.如权利要求1所述的区块链实现方法,其特征在于,所述共识算法为PoW算法、PoS算法、PBFT算法、Raft算法、DPoS算法或Ripple算法。
5.如权利要求1所述的区块链实现方法,其特征在于,该方法还包括:
所述数据节点将所述区块广播至所有其他数据节点;
所有数据节点将所述区块加入到本地区块链中。
6.一种区块链系统,其特征在于,所述区块链系统包括共识节点群和多个数据节点,各个数据节点间相互连接,并与所述共识节点群相连接,所述共识节点群包括多个共识节点,各个共识节点间相互连接,每个共识节点中包括区块链共识节点实现程序,每个数据节点中包括区块链数据节点实现程序,所述区块链共识节点实现程序和区块链数据节点实现程序被执行时实现如下步骤:
接收步骤:数据节点接收应用端发送的执行对应智能合约的请求,该请求中包括执行参数;
背书和执行步骤:所述数据节点对所述智能合约进行背书,在所述智能合约通过背书后,根据所述执行参数执行所述智能合约,并将合约执行结果以及对应的请求发送至共识节点群;
共识步骤:所述共识节点群采用预先确定的共识算法对接收到的合约执行结果以及对应的请求进行共识排序,形成区块,并将形成的区块发送给所述数据节点;及
返回步骤:所述数据节点将所述合约执行结果返回给所述应用端。
7.如权利要求6所述的区块链系统,其特征在于,所述区块链数据节点实现程序被执行时还实现如下步骤:
所述数据节点通过安全传输层协议与所述应用端建立连接并完成信息传输;
该连接在所述返回步骤后断开。
8.如权利要求6或7所述的区块链系统,其特征在于,所述背书和执行步骤被替换为:
所述数据节点将所述请求转发给所述智能合约确定的背书策略指定的其他数据节点;
接收到所述请求的数据节点对所述智能合约进行背书,在所述智能合约通过背书后,根据所述执行参数执行所述智能合约;
验证执行所述智能合约的各个数据节点得到的合约执行结果是否一致;
若所述合约执行结果一致,则将该合约执行结果以及对应的请求发送至所述共识节点群;
若所述合约执行结果不一致,则由接收所述应用端请求的数据节点将错误信息返回给所述应用端。
9.如权利要求6所述的区块链系统,其特征在于,所述共识算法为PoW算法、PoS算法、PBFT算法、Raft算法、DPoS算法或Ripple算法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中包括区块链数据节点实现程序,该区块链数据节点实现程序被执行时实现如下步骤:
请求接收步骤:接收应用端发送的执行对应智能合约的请求,该请求中包括执行参数;
背书和执行步骤:对所述智能合约进行背书,在所述智能合约通过背书后,根据所述执行参数执行所述智能合约,并将合约执行结果以及对应的请求发送至共识节点群;
区块接收步骤:接收共识节点群根据所述合约执行结果以及对应的请求形成的区块;及
结果返回步骤:将所述合约执行结果返回给所述应用端。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910371484.3A CN110233823A (zh) | 2019-05-06 | 2019-05-06 | 区块链实现方法、系统及存储介质 |
PCT/CN2019/120679 WO2020224239A1 (zh) | 2019-05-06 | 2019-11-25 | 区块链实现方法、装置、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910371484.3A CN110233823A (zh) | 2019-05-06 | 2019-05-06 | 区块链实现方法、系统及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110233823A true CN110233823A (zh) | 2019-09-13 |
Family
ID=67861076
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910371484.3A Pending CN110233823A (zh) | 2019-05-06 | 2019-05-06 | 区块链实现方法、系统及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110233823A (zh) |
WO (1) | WO2020224239A1 (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110995825A (zh) * | 2019-11-29 | 2020-04-10 | 腾讯科技(深圳)有限公司 | 一种智能合约的发布方法、智能节点设备及存储介质 |
CN111224782A (zh) * | 2019-11-22 | 2020-06-02 | 腾讯科技(深圳)有限公司 | 基于数字签名的数据校验方法、智能设备及存储介质 |
CN111240732A (zh) * | 2020-01-17 | 2020-06-05 | 腾讯科技(深圳)有限公司 | 分布式微服务的发布方法、装置、设备及存储介质 |
CN111461722A (zh) * | 2020-04-17 | 2020-07-28 | 支付宝(杭州)信息技术有限公司 | 一种智能合约的部署方法、装置及设备 |
CN111478804A (zh) * | 2020-03-31 | 2020-07-31 | 上海墨珩网络科技有限公司 | 一种基于动态区块链的去中心化的流程控制方法及系统 |
CN111914299A (zh) * | 2020-08-20 | 2020-11-10 | 深圳市腾盟技术有限公司 | 预言机接口的优化方法、装置、设备及存储介质 |
WO2020224239A1 (zh) * | 2019-05-06 | 2020-11-12 | 深圳壹账通智能科技有限公司 | 区块链实现方法、装置、系统及存储介质 |
CN113542405A (zh) * | 2021-07-14 | 2021-10-22 | 广东卓启云链科技有限公司 | 基于区块链的网络通信系统、方法、设备及存储介质 |
CN114078052A (zh) * | 2020-08-17 | 2022-02-22 | 中国电信股份有限公司 | 区块链中智能合约的执行方法、节点和区块链系统 |
CN114225381A (zh) * | 2022-01-07 | 2022-03-25 | 广州炫动信息科技有限公司 | 基于区块链分布式共识算法的战斗数据处理方法及系统 |
WO2023273832A1 (zh) * | 2021-07-02 | 2023-01-05 | 中国人民银行数字货币研究所 | 数据验证的方法和装置 |
CN117478302A (zh) * | 2023-12-28 | 2024-01-30 | 湖南天河国云科技有限公司 | 基于区块链隐私节点身份验证方法及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108595126A (zh) * | 2018-04-27 | 2018-09-28 | 腾讯科技(深圳)有限公司 | 数据存储系统、查询方法、查询装置、服务器及存储介质 |
CN108648056A (zh) * | 2018-05-10 | 2018-10-12 | 中链科技有限公司 | 一种基于区块链的房屋租赁合约处理方法及系统 |
CN108769173A (zh) * | 2018-05-21 | 2018-11-06 | 阿里体育有限公司 | 运行智能合约的区块链实现方法及设备 |
CN108965468A (zh) * | 2018-08-16 | 2018-12-07 | 北京京东尚科信息技术有限公司 | 区块链网络服务平台及其链码安装方法、存储介质 |
CN109118214A (zh) * | 2017-06-26 | 2019-01-01 | 华为技术有限公司 | 运行智能合约的方法和装置 |
CN109146490A (zh) * | 2018-10-11 | 2019-01-04 | 北京京东尚科信息技术有限公司 | 区块生成方法、装置和系统 |
CN109347941A (zh) * | 2018-10-10 | 2019-02-15 | 南京简诺特智能科技有限公司 | 一种基于区块链的数据共享平台及其实现方法 |
CN109600366A (zh) * | 2018-12-06 | 2019-04-09 | 中链科技有限公司 | 基于区块链的保护用户数据隐私的方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10649429B2 (en) * | 2015-10-13 | 2020-05-12 | LO3 Energy Inc. | Use of blockchain based distributed consensus control |
CN106603698A (zh) * | 2016-12-28 | 2017-04-26 | 北京果仁宝科技有限公司 | 基于dpos的区块链共识方法和节点 |
CN108805562A (zh) * | 2017-04-27 | 2018-11-13 | 中思博安科技(北京)有限公司 | 智能合约的执行方法和系统 |
CN110233823A (zh) * | 2019-05-06 | 2019-09-13 | 深圳壹账通智能科技有限公司 | 区块链实现方法、系统及存储介质 |
-
2019
- 2019-05-06 CN CN201910371484.3A patent/CN110233823A/zh active Pending
- 2019-11-25 WO PCT/CN2019/120679 patent/WO2020224239A1/zh active Application Filing
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109118214A (zh) * | 2017-06-26 | 2019-01-01 | 华为技术有限公司 | 运行智能合约的方法和装置 |
CN108595126A (zh) * | 2018-04-27 | 2018-09-28 | 腾讯科技(深圳)有限公司 | 数据存储系统、查询方法、查询装置、服务器及存储介质 |
CN108648056A (zh) * | 2018-05-10 | 2018-10-12 | 中链科技有限公司 | 一种基于区块链的房屋租赁合约处理方法及系统 |
CN108769173A (zh) * | 2018-05-21 | 2018-11-06 | 阿里体育有限公司 | 运行智能合约的区块链实现方法及设备 |
CN108965468A (zh) * | 2018-08-16 | 2018-12-07 | 北京京东尚科信息技术有限公司 | 区块链网络服务平台及其链码安装方法、存储介质 |
CN109347941A (zh) * | 2018-10-10 | 2019-02-15 | 南京简诺特智能科技有限公司 | 一种基于区块链的数据共享平台及其实现方法 |
CN109146490A (zh) * | 2018-10-11 | 2019-01-04 | 北京京东尚科信息技术有限公司 | 区块生成方法、装置和系统 |
CN109600366A (zh) * | 2018-12-06 | 2019-04-09 | 中链科技有限公司 | 基于区块链的保护用户数据隐私的方法及装置 |
Non-Patent Citations (1)
Title |
---|
秀童: "区块链背书环节", 《HTTPS://CLOUD.TENCENT.COM/DEVELOPER/NEWS/323378》 * |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020224239A1 (zh) * | 2019-05-06 | 2020-11-12 | 深圳壹账通智能科技有限公司 | 区块链实现方法、装置、系统及存储介质 |
CN111224782A (zh) * | 2019-11-22 | 2020-06-02 | 腾讯科技(深圳)有限公司 | 基于数字签名的数据校验方法、智能设备及存储介质 |
CN111224782B (zh) * | 2019-11-22 | 2021-06-25 | 腾讯科技(深圳)有限公司 | 基于数字签名的数据校验方法、智能设备及存储介质 |
CN110995825A (zh) * | 2019-11-29 | 2020-04-10 | 腾讯科技(深圳)有限公司 | 一种智能合约的发布方法、智能节点设备及存储介质 |
CN111240732A (zh) * | 2020-01-17 | 2020-06-05 | 腾讯科技(深圳)有限公司 | 分布式微服务的发布方法、装置、设备及存储介质 |
CN111240732B (zh) * | 2020-01-17 | 2021-05-14 | 腾讯科技(深圳)有限公司 | 分布式微服务的发布方法、装置、设备及存储介质 |
CN111478804A (zh) * | 2020-03-31 | 2020-07-31 | 上海墨珩网络科技有限公司 | 一种基于动态区块链的去中心化的流程控制方法及系统 |
CN111478804B (zh) * | 2020-03-31 | 2023-04-07 | 上海墨珩网络科技有限公司 | 一种基于动态区块链的去中心化的流程控制方法及系统 |
CN111461722A (zh) * | 2020-04-17 | 2020-07-28 | 支付宝(杭州)信息技术有限公司 | 一种智能合约的部署方法、装置及设备 |
CN114078052A (zh) * | 2020-08-17 | 2022-02-22 | 中国电信股份有限公司 | 区块链中智能合约的执行方法、节点和区块链系统 |
CN111914299A (zh) * | 2020-08-20 | 2020-11-10 | 深圳市腾盟技术有限公司 | 预言机接口的优化方法、装置、设备及存储介质 |
WO2023273832A1 (zh) * | 2021-07-02 | 2023-01-05 | 中国人民银行数字货币研究所 | 数据验证的方法和装置 |
CN113542405A (zh) * | 2021-07-14 | 2021-10-22 | 广东卓启云链科技有限公司 | 基于区块链的网络通信系统、方法、设备及存储介质 |
CN113542405B (zh) * | 2021-07-14 | 2023-10-17 | 广东卓启云链科技有限公司 | 基于区块链的网络通信系统、方法、设备及存储介质 |
CN114225381A (zh) * | 2022-01-07 | 2022-03-25 | 广州炫动信息科技有限公司 | 基于区块链分布式共识算法的战斗数据处理方法及系统 |
CN114225381B (zh) * | 2022-01-07 | 2022-07-19 | 广州炫动信息科技有限公司 | 基于区块链分布式共识算法的战斗数据处理方法及系统 |
CN117478302A (zh) * | 2023-12-28 | 2024-01-30 | 湖南天河国云科技有限公司 | 基于区块链隐私节点身份验证方法及装置 |
CN117478302B (zh) * | 2023-12-28 | 2024-03-01 | 湖南天河国云科技有限公司 | 基于区块链隐私节点身份验证方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2020224239A1 (zh) | 2020-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110233823A (zh) | 区块链实现方法、系统及存储介质 | |
CN112104665B (zh) | 基于区块链的身份验证方法、装置、计算机以及存储介质 | |
CN111476572B (zh) | 基于区块链的数据处理方法、装置、存储介质及设备 | |
Bambacht et al. | Web3: A decentralized societal infrastructure for identity, trust, money, and data | |
US9497191B2 (en) | Multiple user authentications on a communications device | |
CN110492990A (zh) | 区块链场景下的私钥管理方法、装置及系统 | |
CN111507839B (zh) | 基于区块链的数据处理方法、装置、存储介质及设备 | |
CN107872447A (zh) | 电子装置、服务器、通信系统及通信方法 | |
CN111131412B (zh) | 实现5g移动端计算的方法、系统、移动端及云端服务器 | |
CN112600671B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN109981576B (zh) | 密钥迁移方法和装置 | |
CN110719265B (zh) | 一种实现网络安全通信的方法、装置及设备 | |
CN110266763A (zh) | 跨网段互连的区块链网络实现方法、系统及存储介质 | |
CN113239375B (zh) | 基于区块链的隐私要素数据共享系统、方法、计算机设备及介质 | |
CN114519197A (zh) | 一种基于区块链和云服务的数据存储架构和方法 | |
CN106778178A (zh) | 指纹名片的调用方法及装置 | |
Gao et al. | BFR‐SE: A Blockchain‐Based Fair and Reliable Searchable Encryption Scheme for IoT with Fine‐Grained Access Control in Cloud Environment | |
CN108833500B (zh) | 服务调用方法、服务提供方法、数据传递方法和服务器 | |
Jinsong et al. | 5G network and security | |
CN111199007A (zh) | 基于Web页面的配置方法、数据加密方法及装置 | |
CN116055403A (zh) | 报文数据的传输方法、装置和服务器 | |
CN113254989B (zh) | 目标数据的融合方法、装置和服务器 | |
CN104463645B (zh) | 一种基于sim卡开具电子发票的系统及方法 | |
Bargavi et al. | Exploring the Integration of Blockchain in 6G Networks for Improved Security and Efficiency | |
Lin | Survey on cloud based mobile security and a new framework for improvement |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190913 |