CN108769173A - 运行智能合约的区块链实现方法及设备 - Google Patents

运行智能合约的区块链实现方法及设备 Download PDF

Info

Publication number
CN108769173A
CN108769173A CN201810491690.3A CN201810491690A CN108769173A CN 108769173 A CN108769173 A CN 108769173A CN 201810491690 A CN201810491690 A CN 201810491690A CN 108769173 A CN108769173 A CN 108769173A
Authority
CN
China
Prior art keywords
transaction
node
block
message
client
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
CN201810491690.3A
Other languages
English (en)
Other versions
CN108769173B (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.)
Orange Lion Sports (Shanghai) Co.,Ltd.
Orange Lion Sports Co.,Ltd.
Original Assignee
Ali Sports 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 Ali Sports Co Ltd filed Critical Ali Sports Co Ltd
Priority to CN201810491690.3A priority Critical patent/CN108769173B/zh
Publication of CN108769173A publication Critical patent/CN108769173A/zh
Application granted granted Critical
Publication of CN108769173B publication Critical patent/CN108769173B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • 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
    • 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/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/102Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measure for e-commerce

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供了一种运行智能合约的区块链实现方法及设备,通过客户端发起交易提议至多个记账节点;各个记账节点各自验证交易提议的有效性、并执行验证为有效的交易提议,返回提议结果至客户端;客户端等待多个记账节点响应所述交易提议,比对所述提议结果,如果不一致则重新发起交易提议,如果一致则提交所述提议结果至共识节点群;共识节点群收集提议结果,验证提议结果的有效性,将提议结果打包成待定区块,发送待定区块至记账节点,剔除验证失败的交易提议后,将只含有验证成功的交易提议打包成区块添加到区块链,本发明优化了区块链运行智能合约的过程,能够有效降低运行区块链节点的服务器负担。

Description

运行智能合约的区块链实现方法及设备
技术领域
本发明涉及一种运行智能合约的区块链实现方法及设备
背景技术
现有的区块链运行智能合约的过程中,存在运行区块链节点的服务器负担过重的问题。
发明内容
本发明的目的在于提供一种运行智能合约的区块链实现方法及设备。
为解决上述问题,本发明提供一种运行智能合约的区块链实现方法,包括:
将区块链节点角色划分为客户端、记账节点和共识节点群;
在所述客户端保存一组公私秘钥,将所述客户端设置为用于发起交易;
在所述记账节点保存一组密钥对,将所述记账节点设置为存储分布式账本,并运行智能合约和验证交易;
在所述共识节点保存一组密钥对,将所述共识节点设置为存储分布式账本,并运行智能合约,验证交易,对区块内的多个交易排序并在所有共识节点间达成排序的共识;
所述客户端将智能合约调用指令打包为交易提议,发起交易提议至多个记账节点;
各个记账节点各自验证所述交易提议的有效性、并执行验证为有效的交易提议,返回提议结果至所述客户端;
所述客户端等待多个记账节点响应所述交易提议,比对所述提议结果,如果不一致则重新发起交易提议,如果一致则提交所述提议结果至共识节点群;
所述共识节点群收集所述提议结果,验证所述提议结果的有效性,给验证为有效的提议结果加上序号,当所述序号达到预设序号阈值或收集所述提议结果的等待时间达到预设时间阈值后,将所述提议结果打包成待定区块,发送所述待定区块至所述记账节点,同时验证所述待定区块内的交易提议,剔除验证失败的交易提议后将只含有验证成功的交易提议打包成区块添加到区块链,同时记账节点收到共识节点的待定区块后,验证所述待定区块内的交易提议,剔除验证失败的交易提议后将只含有验证成功的交易提议打包成区块添加到区块链。
进一步的,在上述方法中,所述客户端将智能合约调用指令打包为交易提议,发起交易提议至多个记账节点之前,还包括:
将所述客户端、记账节点和共识节点群的对应运行***分成包括数据层、网络层、共识层、合约层、授权层和应用层的六部分;
将所述数据层设置为包括键值数据库和数据库管理模块,用于保存区块数据与智能合约产生的数据、提供对智能合约数据做增删改查的接口,在所述数据层定义所述区块链中分布式账本的结构,账本由区块链和世界状态组成,其中,所述区块链是由区块组成的可追溯的链表,区块由区块头、区块数据、元数据组成,区块由交易提议组成,所述交易提议有两种类型:部署交易和调用交易,其中,部署交易是将智能合约文件写入区块的记录,记录内容包括文件源代码、部署人、版本号、配置信息、交易唯一标识;调用交易是智能合约调用过程的记录,记录内容包括智能合约源码所在区块高度、交易唯一标识、智能合约方法名、调用参数,以及交易发起人、执行人的数字签名;世界状态是所有智能合约的状态的集合,状态是智能合约运行后最终对数据库操作的表达方式;智能合约运行结果由读写集表示,读写集由读集与写集组成,其中,写集是一个智能合约一次调用产生的状态的集合;
设置所述网络层管理一个点对点网络,所述网络层包括数据传输协议、节点探索模块、数据同步模块和广播交易模块,其中,数据传输协议是一种最终一致性算法,实现了Gossip协议,用于同步区块链各节点的数据,同步过程是在一个同步周期内发送-接收-更新-发回-更新-再发回-再更新的流程,每个周期随机选择一个节点,最终将数据传播到所有节点;节点探索模块管理一个网络中已知节点IP地址的列表,这个列表最初在部署区块链网络时手动输入,当一个新节点加入网络,探索模块生成探索消息,探索消息包含该节点在区块链网络中获得的授权以及已知节点列表,授权由所述授权层给出,数据传输协议发送和接收探索消息,先从节点列表选出接收者节点,再广播一条探索消息至接收者,接收者的探索模块收到消息后对比本地的已知节点列表,如果探索消息中包含本地没有的节点IP则把这个IP新增至本地节点列表,如果不包含则不更新本地列表,对比完成后发回探索响应至探索消息的发送人,探索响应内容包括节点自身的授权和更新后的已知节点列表,接收人收到探索响应后根据响应内容以同样方式更新本地节点列表,更新后再发回探索响应的响应消息,接收人再次更新节点列表;数据同步模块发送和接收数据同步消息,同步消息分为同步区块高度和同步区块数据,其中,所述同步区块高度包含节点本地的区块高度、消息的数字签名,所述同步区块数据包含需要更新的区块内容、消息的数字签名,所述同步消息同样遵循数据传输协议向其他节点广播,节点定时发送同步区块高度消息,当发现接受者区块高度大于自身区块高度则发送同步区块数据消息以获取最新的区块;广播交易模块分为客户端侧,记账节点侧和共识节点侧,为不同角色提供不同功能。客户端侧将应用层产生的交易提议发往记账节点,记账节点侧将运行结果发回客户端,客户端侧将结果处理为交易消息并发往共识节点,交易消息包含记账节点的处理结果,消息的数字签名,共识节点侧接收交易消息,处理后发送共识结果至记账节点;
设置所述共识层将所有共识节点组成共识节点群,所述共识节点群接收客户端发起的交易并通过共识算法对多个交易排序,所述共识算法是PBFT算法的实现;
设置所述合约层包括智能合约打包和运行***、合约代码检查器和交易流转模块,其中,对于部署交易,先由所述合约代码检查器对智能合约代码静态扫描以拦截恶意程序,通过检查后由所述打包和运行***校验智能合约是否可被***运行,通过校验后由所述交易流转模块将智能合约文件发送至网络层处理;对于调用交易,先由所述合约代码检查器对智能合约代码静态扫描以拦截恶意程序,通过检查后将交易中包含的输入参数输入至所述打包和运行***,所述打包和运行***运行智能合约代码后输出运行结果至所述交易流转模块,所述流转模块将运行结果处理为带版本号的读写集发送至网络层处理;
设置所述授权层包括数字证书签发机构、节点注册和验证模块,其中,所述授权层授权节点加入区块链网络,验证节点的合法性;
设置所述应用层包括数字证书和秘钥管理、客户端SDK、命令行接口和远程调用接口,其中,所述应用层提供客户端与区块链的交互方式,以代码调用和命令行的方式向客户端提供包括申请授权API、交易提议API、授权结果回调API、执行智能合约API和执行结果回调API。
进一步的,在上述方法中,所述数字证书签发机构,由参与智能合约的相关组织共同维护,所述数字证书签发机构持有一组密钥对,密钥对由ECDSA算法生成,所述数字证书签发机构持有的密钥对中的公钥告知网络中全部节点,密钥对中的私钥只有签发机构本身拥有,节点经数字证书签发机构授予数字证书和私钥后才能加入区块链网络,由数字签名算法保证数字证书和私钥不可伪造,数字签名使用一组密钥对,数字签名使用的密钥对由所述数字证书签发机构签名和发放,节点加入网络前须向所述数字证书签发机构申请授权,数字证书签发机构通过申请后为节点生成一组密钥对,将公钥和节点信息保存为数字证书,数字证书签发机构用自身私钥对证书作数字签名,签名后的数字证书与节点私钥由节点保存,节点在网络中广播的所有消息带上数字证书并用自身私钥对消息做数字签名,其他节点收到广播后对发送人的合法性做校验,校验分为证书有效性检查和证书持有检查,证书有效性检查是校验证书是否由所述数字证书签发机构生成,使用ECC算法验证数字证书的内容是否由所述数字证书签发机构签名,证书持有检查确保节点从所述数字证书签发机构获得证书而非拷贝其他节点的证书,使用ECC算法验证广播内容、广播的数字签名是否符合数字证书中的公钥。
进一步的,在上述方法中,所述客户端SDK,分为Java SDK,PHP SDK,Go SDK,分别对应不同编程语言实现的客户端,所述客户端SDK将不同编程语言代码转换为JSON字符串发送至远程调用接口;所述命令行接口将命令行的输入转换为JSON字符串发送至远程调用接口;所述远程调用接口的接收和输出数据格式均为JSON字符串,通过HTTP协议传输数据,其中,对于申请授权API,将接受的数据解析为申请信息发送至网络层,通过授权结果回调API通知客户端;对于交易提议API,将接收的数据解析为智能合约调用指令,生成交易提议,用私钥生成交易提议数字签名并附带数字证书作为交易提议消息发送至网络层,节点本地的账本更新后通过所述执行结果回调API通知客户端。
根据本发明的另一面,还提供一种运行智能合约的区块链实现设备,包括::
客户端,用于保存一组公私秘钥,并用于发起交易,其中,所述客户端用于将智能合约调用指令打包为交易提议,发起交易提议至多个记账节点,并等待多个记账节点响应所述交易提议,比对所述提议结果,如果不一致则重新发起交易提议,如果一致则提交所述提议结果至共识节点群;
记账节点,用于保存一组密钥对,并用于存储分布式账本、运行智能合约和验证交易,其中,各个记账节点用于各自验证所述交易提议的有效性、并执行验证为有效的交易提议,返回提议结果至所述客户端,及记账节点收到共识节点的待定区块后,验证所述待定区块内的交易提议,剔除验证失败的交易提议后将只含有验证成功的交易提议打包成区块添加到区块链;
共识节点,用于保存一组密钥对,用于存储分布式账本,并运行智能合约,验证交易,对区块内的多个交易排序并在所有共识节点间达成排序的共识;其中,所述共识节点群用于收集所述提议结果,验证所述提议结果的有效性,给验证为有效的提议结果加上序号,当所述序号达到预设序号阈值或收集所述提议结果的等待时间达到预设时间阈值后,将所述提议结果打包成待定区块,发送所述待定区块至所述记账节点,同时验证所述待定区块内的交易提议,剔除验证失败的交易提议后将只含有验证成功的交易提议打包成区块添加到区块链。
进一步的,上述设备中,还包括:
数据层,包括键值数据库和数据库管理模块,所述数据层用于保存区块数据与智能合约产生的数据、提供对智能合约数据做增删改查的接口,在所述数据层定义所述区块链中分布式账本的结构,账本由区块链和世界状态组成,其中,所述区块链是由区块组成的可追溯的链表,区块由区块头、区块数据、元数据组成,区块由交易提议组成,所述交易提议有两种类型:部署交易和调用交易,其中,部署交易是将智能合约文件写入区块的记录,记录内容包括文件源代码、部署人、版本号、配置信息、交易唯一标识;调用交易是智能合约调用过程的记录,记录内容包括智能合约源码所在区块高度、交易唯一标识、智能合约方法名、调用参数,以及交易发起人、执行人的数字签名;世界状态是所有智能合约的状态的集合,状态是智能合约运行后最终对数据库操作的表达方式;智能合约运行结果由读写集表示,读写集由读集与写集组成,其中写集是一个智能合约一次调用产生的状态的集合;
网络层,用于管理一个点对点网络,所述网络层包括数据传输协议、节点探索模块、数据同步模块和广播交易模块,其中,数据传输协议是一种最终一致性算法,实现了Gossip协议,用于同步区块链各节点的数据,同步过程是在一个同步周期内发送-接收-更新-发回-更新-再发回-再更新的流程,每个周期随机选择一个节点,最终将数据传播到所有节点;节点探索模块,用于管理一个网络中已知节点IP地址的列表,这个列表最初在部署区块链网络时手动输入,当一个新节点加入网络,探索模块生成探索消息,探索消息包含该节点在区块链网络中获得的授权以及已知节点列表,授权由所述授权层给出,数据传输协议发送和接收探索消息,先从节点列表选出接收者节点,再广播一条探索消息至接收者,接收者的探索模块收到消息后对比本地的已知节点列表,如果探索消息中包含本地没有的节点IP则把这个IP新增至本地节点列表,如果不包含则不更新本地列表,对比完成后发回探索响应至探索消息的发送人,探索响应内容包括节点自身的授权和更新后的已知节点列表,接收人收到探索响应后根据响应内容以同样方式更新本地节点列表,更新后再发回探索响应的响应消息,接收人再次更新节点列表;所述数据同步模块,用于发送和接收数据同步消息,同步消息分为同步区块高度和同步区块数据,其中,所述同步区块高度包含节点本地的区块高度、消息的数字签名,所述同步区块数据包含需要更新的区块内容、消息的数字签名,所述同步消息同样遵循数据传输协议向其他节点广播,节点定时发送同步区块高度消息,当发现接受者区块高度大于自身区块高度则发送同步区块数据消息以获取最新的区块;所述广播交易模块,用于分为客户端侧,记账节点侧和共识节点侧,为不同角色提供不同功能。客户端侧将应用层产生的交易提议发往记账节点,记账节点侧将运行结果发回客户端,客户端侧将结果处理为交易消息并发往共识节点,交易消息包含记账节点的处理结果,消息的数字签名,共识节点侧接收交易消息,处理后发送共识结果至记账节点;
共识层,用于将所有共识节点组成共识节点群,所述共识节点群接收客户端发起的交易并通过共识算法对多个交易排序,所述共识算法是PBFT算法的实现;
合约层,包括智能合约打包和运行***、合约代码检查器和交易流转模块,其中,对于部署交易,先由所述合约代码检查器对智能合约代码静态扫描以拦截恶意程序,通过检查后由所述打包和运行***校验智能合约是否可被***运行,通过校验后由所述交易流转模块将智能合约文件发送至网络层处理;对于调用交易,先由所述合约代码检查器对智能合约代码静态扫描以拦截恶意程序,通过检查后将交易中包含的输入参数输入至所述打包和运行***,所述打包和运行***运行智能合约代码后输出运行结果至所述交易流转模块,所述流转模块将运行结果处理为带版本号的读写集发送至网络层处理;
授权层,包括数字证书签发机构、节点注册和验证模块,其中,所述授权层授权节点,用于加入区块链网络,验证节点的合法性;
应用层,包括数字证书和秘钥管理、客户端SDK、命令行接口和远程调用接口,其中,所述应用层,用于提供客户端与区块链的交互方式,以代码调用和命令行的方式向客户端提供包括申请授权API、交易提议API、授权结果回调API、执行智能合约API和执行结果回调API。
进一步的,上述设备中,所述数字证书签发机构,由参与智能合约的相关组织共同维护,所述数字证书签发机构持有一组密钥对,密钥对由ECDSA算法生成,所述数字证书签发机构持有的密钥对中的公钥告知网络中全部节点,密钥对中的私钥只有签发机构本身拥有,节点经数字证书签发机构授予数字证书和私钥后才能加入区块链网络,由数字签名算法保证数字证书和私钥不可伪造,数字签名使用一组密钥对,数字签名使用的密钥对由所述数字证书签发机构签名和发放,节点加入网络前须向所述数字证书签发机构申请授权,数字证书签发机构通过申请后为节点生成一组密钥对,将公钥和节点信息保存为数字证书,数字证书签发机构用自身私钥对证书作数字签名,签名后的数字证书与节点私钥由节点保存,节点在网络中广播的所有消息带上数字证书并用自身私钥对消息做数字签名,其他节点收到广播后对发送人的合法性做校验,校验分为证书有效性检查和证书持有检查,证书有效性检查是校验证书是否由所述数字证书签发机构生成,使用ECC算法验证数字证书的内容是否由所述数字证书签发机构签名,证书持有检查确保节点从所述数字证书签发机构获得证书而非拷贝其他节点的证书,使用ECC算法验证广播内容、广播的数字签名是否符合数字证书中的公钥。
进一步的,上述设备中,所述客户端SDK,分为Java SDK,PHP SDK,Go SDK,分别对应不同编程语言实现的客户端,所述客户端SDK,用于将不同编程语言代码转换为JSON字符串发送至远程调用接口;所述命令行接口,用于将命令行的输入转换为JSON字符串发送至远程调用接口;所述远程调用接口的接收和输出数据格式均为JSON字符串,用于通过HTTP协议传输数据,其中,对于申请授权API,将接受的数据解析为申请信息发送至网络层,通过授权结果回调API通知客户端;对于交易提议API,将接收的数据解析为智能合约调用指令,生成交易提议,用私钥生成交易提议数字签名并附带数字证书作为交易提议消息发送至网络层,节点本地的账本更新后通过所述执行结果回调API通知客户端。
根据本申请的另一面,还提供一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现上述任一项所述的方法。
根据本申请的另一面,还提供一种用于在网络设备端信息处理的设备,该设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该设备执行上述任一项所述的方法。
与现有技术相比,本发明通过户端将智能合约调用指令打包为交易提议,发起交易提议至多个记账节点;各个记账节点各自验证所述交易提议的有效性、并执行验证为有效的交易提议,返回提议结果至所述客户端;所述客户端等待多个记账节点响应所述交易提议,比对所述提议结果,如果不一致则重新发起交易提议,如果一致则提交所述提议结果至共识节点群;所述共识节点群收集所述提议结果,验证所述提议结果的有效性,给验证为有效的提议结果加上序号,当所述序号达到预设序号阈值或收集所述提议结果的等待时间达到预设时间阈值后,将所述提议结果打包成待定区块,发送所述待定区块至所述记账节点,同时验证所述待定区块内的交易提议,剔除验证失败的交易提议后将只含有验证成功的交易提议打包成区块添加到区块链,同时记账节点收到共识节点的待定区块后,验证所述待定区块内的交易提议,剔除验证失败的交易提议后将只含有验证成功的交易提议打包成区块添加到区块链,优化了区块链运行智能合约的过程,能够有效降低运行区块链节点的服务器负担。
附图说明
图1是本发明一实施例的运行智能合约的区块链实现方法流程图;
图2是本发明一实施例的区块的数据结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
如图1所示,本发明提供一种运行智能合约的区块链实现方法,包括:
步骤S1,将区块链节点角色划分为客户端、记账节点和共识节点群;
步骤S2,在所述客户端保存一组公私秘钥,将所述客户端设置为用于发起交易;
步骤S3,在所述记账节点保存一组密钥对,将所述记账节点设置为存储分布式账本,并运行智能合约和验证交易;
步骤S4,在所述共识节点保存一组密钥对,将所述共识节点设置为存储分布式账本,并运行智能合约,验证交易,对区块内的多个交易排序并在所有共识节点间达成排序的共识;
步骤S5,所述客户端将智能合约调用指令打包为交易提议,发起交易提议至多个记账节点;
步骤S6,各个记账节点各自验证所述交易提议的有效性、并执行验证为有效的交易提议,返回提议结果至所述客户端;
步骤S7,所述客户端等待多个记账节点响应所述交易提议,比对所述提议结果,如果不一致则重新发起交易提议,如果一致则提交所述提议结果至共识节点群;
步骤S8,所述共识节点群收集所述提议结果,验证所述提议结果的有效性,给验证为有效的提议结果加上序号,当所述序号达到预设序号阈值或收集所述提议结果的等待时间达到预设时间阈值后,将所述提议结果打包成待定区块,发送所述待定区块至所述记账节点,同时验证所述待定区块内的交易提议,剔除验证失败的交易提议后将只含有验证成功的交易提议打包成区块添加到区块链,同时记账节点收到共识节点的待定区块后,验证所述待定区块内的交易提议,剔除验证失败的交易提议后将只含有验证成功的交易提议打包成区块添加到区块链。
在此,智能合约在区块链***上运行的完整流程是:所述客户端将智能合约调用指令打包为交易提议,发起交易提议至多个记账节点;各个记账节点各自验证所述交易提议的有效性、并执行验证为有效的交易提议,返回提议结果至所述客户端;所述客户端等待多个记账节点响应所述交易提议,比对所述提议结果,如果不一致则重新发起交易提议,如果一致则提交所述提议结果至共识节点群;共识节点群收集所述提议结果,验证所述提议结果的有效性,给验证为有效的提议结果加上序号,当所述序号达到预设序号阈值或收集所述提议结果的等待时间达到预设时间阈值后,将所述提议结果打包成待定区块,发送所述待定区块至所述记账节点,同时验证所述待定区块内的交易提议,剔除验证失败的交易提议后将只含有验证成功的交易提议打包成区块添加到区块链,同时记账节点收到共识节点的待定区块后做相同的验证操作并打包成区块添加到区块链。
本发明中所述区块链用Go编程语言实现,智能合约运行环境为Golang运行时,区块链上广播的消息为智能合约执行指令与结果,本发明优化了区块链运行智能合约的过程,能够有效降低运行区块链节点的服务器负担。
本发明的运行智能合约的区块链实现方法一实施例中,步骤S5,所述客户端将智能合约调用指令打包为交易提议,发起交易提议至多个记账节点之前,还包括:
将所述客户端、记账节点和共识节点群的对应运行***分成包括数据层、网络层、共识层、合约层、授权层和应用层的六部分;
将所述数据层设置为包括键值数据库和数据库管理模块,用于保存区块数据与智能合约产生的数据、提供对智能合约数据做增删改查的接口,在所述数据层定义所述区块链中分布式账本的结构,账本由区块链和世界状态组成,其中,所述区块链是由区块组成的可追溯的链表,区块由区块头、区块数据、元数据组成,区块由交易提议组成,所述交易提议有两种类型:部署交易和调用交易,其中,部署交易是将智能合约文件写入区块的记录,记录内容包括文件源代码、部署人、版本号、配置信息、交易唯一标识;调用交易是智能合约调用过程的记录,记录内容包括智能合约源码所在区块高度、交易唯一标识、智能合约方法名、调用参数,以及交易发起人、执行人的数字签名;世界状态是所有智能合约的状态的集合,状态是智能合约运行后最终对数据库操作的表达方式;智能合约运行结果由读写集表示,读写集由读集与写集组成,其中写集是一个智能合约一次调用产生的状态的集合,区块的数据结构可如图2所示;
设置所述网络层管理一个点对点网络,所述网络层包括数据传输协议、节点探索模块、数据同步模块和广播交易模块,其中,
数据传输协议是一种最终一致性算法,实现了Gossip协议,用于同步区块链各节点的数据,同步过程是在一个同步周期内发送-接收-更新-发回-更新-再发回-再更新的流程,每个周期随机选择一个节点,最终将数据传播到所有节点;
节点探索模块管理一个网络中已知节点IP地址的列表,这个列表最初在部署区块链网络时手动输入,当一个新节点加入网络,探索模块生成探索消息,探索消息包含该节点在区块链网络中获得的授权以及已知节点列表,授权由所述授权层给出,数据传输协议发送和接收探索消息,先从节点列表选出接收者节点,再广播一条探索消息至接收者,接收者的探索模块收到消息后对比本地的已知节点列表,如果探索消息中包含本地没有的节点IP则把这个IP新增至本地节点列表,如果不包含则不更新本地列表,对比完成后发回探索响应至探索消息的发送人,探索响应内容包括节点自身的授权和更新后的已知节点列表,接收人收到探索响应后根据响应内容以同样方式更新本地节点列表,更新后再发回探索响应的响应消息,接收人再次更新节点列表;
数据同步模块发送和接收数据同步消息,同步消息分为同步区块高度和同步区块数据,其中,所述同步区块高度包含节点本地的区块高度、消息的数字签名,所述同步区块数据包含需要更新的区块内容、消息的数字签名,所述同步消息同样遵循数据传输协议向其他节点广播,节点定时发送同步区块高度消息,当发现接受者区块高度大于自身区块高度则发送同步区块数据消息以获取最新的区块;
广播交易模块分为客户端侧,记账节点侧和共识节点侧,为不同角色提供不同功能。客户端侧将应用层产生的交易提议发往记账节点,记账节点侧将运行结果发回客户端,客户端侧将结果处理为交易消息并发往共识节点,交易消息包含记账节点的处理结果,消息的数字签名,共识节点侧接收交易消息,处理后发送共识结果至记账节点;
设置所述共识层将所有共识节点组成共识节点群,所述共识节点群接收客户端发起的交易并通过共识算法对多个交易排序,所述共识算法是PBFT算法的实现,能够保证节点群内部对各个交易的排序达成一致;
设置所述合约层包括智能合约打包和运行***、合约代码检查器和交易流转模块,其中,对于部署交易,先由所述合约代码检查器对智能合约代码静态扫描以拦截恶意程序,通过检查后由所述打包和运行***校验智能合约是否可被***运行,通过校验后由所述交易流转模块将智能合约文件发送至网络层处理;对于调用交易,先由所述合约代码检查器对智能合约代码静态扫描以拦截恶意程序,通过检查后将交易中包含的输入参数输入至所述打包和运行***,所述打包和运行***运行智能合约代码后输出运行结果至所述交易流转模块,所述流转模块将运行结果处理为带版本号的读写集发送至网络层处理;
设置所述授权层包括数字证书签发机构、节点注册和验证模块,其中,所述授权层授权节点加入区块链网络,验证节点的合法性;所述数字证书签发机构由参与智能合约的相关组织共同维护,所述数字证书签发机构持有一组密钥对,密钥对由ECDSA算法生成,所述数字证书签发机构持有的密钥对中的公钥告知网络中全部节点,密钥对中的私钥只有签发机构本身拥有,节点经数字证书签发机构授予数字证书和私钥后才能加入区块链网络,由数字签名算法保证数字证书和私钥不可伪造,数字签名使用一组密钥对,数字签名使用的密钥对由所述数字证书签发机构签名和发放,节点加入网络前须向所述数字证书签发机构申请授权,数字证书签发机构通过申请后为节点生成一组密钥对,将公钥和节点信息保存为数字证书,数字证书签发机构用自身私钥对证书作数字签名,签名后的数字证书与节点私钥由节点保存,节点在网络中广播的所有消息带上数字证书并用自身私钥对消息做数字签名,其他节点收到广播后对发送人的合法性做校验,校验分为证书有效性检查和证书持有检查,证书有效性检查是校验证书是否由所述数字证书签发机构生成,使用ECC算法验证数字证书的内容是否由所述数字证书签发机构签名,证书持有检查确保节点从所述数字证书签发机构获得证书而非拷贝其他节点的证书,使用ECC算法验证广播内容、广播的数字签名是否符合数字证书中的公钥;
设置所述应用层包括数字证书和秘钥管理、客户端SDK、命令行接口和远程调用接口,其中,所述应用层提供客户端与区块链的交互方式,以代码调用和命令行的方式向客户端提供包括申请授权API、交易提议API、授权结果回调API、执行智能合约API和执行结果回调API;
所述客户端SDK分为Java SDK,PHP SDK,Go SDK,分别对应不同编程语言实现的客户端,所述客户端SDK将不同编程语言代码转换为JSON字符串发送至远程调用接口;所述命令行接口将命令行的输入转换为JSON字符串发送至远程调用接口;所述远程调用接口的接收和输出数据格式均为JSON字符串,通过HTTP协议传输数据,其中,
对于申请授权API,将接受的数据解析为申请信息发送至网络层,通过授权结果回调API通知客户端;对于交易提议API,将接收的数据解析为智能合约调用指令,生成交易提议,用私钥生成交易提议数字签名并附带数字证书作为交易提议消息发送至网络层,节点本地的账本更新后通过所述执行结果回调API通知客户端。
根据本发明的另一面,还提供一种运行智能合约的区块链实现设备,包括::
客户端,用于保存一组公私秘钥,并用于发起交易,其中,所述客户端用于将智能合约调用指令打包为交易提议,发起交易提议至多个记账节点,并等待多个记账节点响应所述交易提议,比对所述提议结果,如果不一致则重新发起交易提议,如果一致则提交所述提议结果至共识节点群;
记账节点,用于保存一组密钥对,并用于存储分布式账本、运行智能合约和验证交易,其中,各个记账节点用于各自验证所述交易提议的有效性、并执行验证为有效的交易提议,返回提议结果至所述客户端,及记账节点收到共识节点的待定区块后,验证所述待定区块内的交易提议,剔除验证失败的交易提议后将只含有验证成功的交易提议打包成区块添加到区块链;
共识节点,用于保存一组密钥对,用于存储分布式账本,并运行智能合约,验证交易,对区块内的多个交易排序并在所有共识节点间达成排序的共识;其中,所述共识节点群用于收集所述提议结果,验证所述提议结果的有效性,给验证为有效的提议结果加上序号,当所述序号达到预设序号阈值或收集所述提议结果的等待时间达到预设时间阈值后,将所述提议结果打包成待定区块,发送所述待定区块至所述记账节点,同时验证所述待定区块内的交易提议,剔除验证失败的交易提议后将只含有验证成功的交易提议打包成区块添加到区块链。
本发明的运行智能合约的区块链实现设备一实施例中,包括:
数据层,包括键值数据库和数据库管理模块,所述数据层用于保存区块数据与智能合约产生的数据、提供对智能合约数据做增删改查的接口,在所述数据层定义所述区块链中分布式账本的结构,账本由区块链和世界状态组成,其中,所述区块链是由区块组成的可追溯的链表,区块由区块头、区块数据、元数据组成,区块由交易提议组成,所述交易提议有两种类型:部署交易和调用交易,其中,部署交易是将智能合约文件写入区块的记录,记录内容包括文件源代码、部署人、版本号、配置信息、交易唯一标识;调用交易是智能合约调用过程的记录,记录内容包括智能合约源码所在区块高度、交易唯一标识、智能合约方法名、调用参数,以及交易发起人、执行人的数字签名;世界状态是所有智能合约的状态的集合,状态是智能合约运行后最终对数据库操作的表达方式;智能合约运行结果由读写集表示,读写集由读集与写集组成,其中写集是一个智能合约一次调用产生的状态的集合;
网络层,用于管理一个点对点网络,所述网络层包括数据传输协议、节点探索模块、数据同步模块和广播交易模块,其中,数据传输协议是一种最终一致性算法,实现了Gossip协议,用于同步区块链各节点的数据,同步过程是在一个同步周期内发送-接收-更新-发回-更新-再发回-再更新的流程,每个周期随机选择一个节点,最终将数据传播到所有节点;节点探索模块,用于管理一个网络中已知节点IP地址的列表,这个列表最初在部署区块链网络时手动输入,当一个新节点加入网络,探索模块生成探索消息,探索消息包含该节点在区块链网络中获得的授权以及已知节点列表,授权由所述授权层给出,数据传输协议发送和接收探索消息,先从节点列表选出接收者节点,再广播一条探索消息至接收者,接收者的探索模块收到消息后对比本地的已知节点列表,如果探索消息中包含本地没有的节点IP则把这个IP新增至本地节点列表,如果不包含则不更新本地列表,对比完成后发回探索响应至探索消息的发送人,探索响应内容包括节点自身的授权和更新后的已知节点列表,接收人收到探索响应后根据响应内容以同样方式更新本地节点列表,更新后再发回探索响应的响应消息,接收人再次更新节点列表;所述数据同步模块,用于发送和接收数据同步消息,同步消息分为同步区块高度和同步区块数据,其中,所述同步区块高度包含节点本地的区块高度、消息的数字签名,所述同步区块数据包含需要更新的区块内容、消息的数字签名,所述同步消息同样遵循数据传输协议向其他节点广播,节点定时发送同步区块高度消息,当发现接受者区块高度大于自身区块高度则发送同步区块数据消息以获取最新的区块;所述广播交易模块,用于分为客户端侧,记账节点侧和共识节点侧,为不同角色提供不同功能。客户端侧将应用层产生的交易提议发往记账节点,记账节点侧将运行结果发回客户端,客户端侧将结果处理为交易消息并发往共识节点,交易消息包含记账节点的处理结果,消息的数字签名,共识节点侧接收交易消息,处理后发送共识结果至记账节点;
共识层,用于将所有共识节点组成共识节点群,所述共识节点群接收客户端发起的交易并通过共识算法对多个交易排序,所述共识算法是PBFT算法的实现;
合约层,包括智能合约打包和运行***、合约代码检查器和交易流转模块,其中,对于部署交易,先由所述合约代码检查器对智能合约代码静态扫描以拦截恶意程序,通过检查后由所述打包和运行***校验智能合约是否可被***运行,通过校验后由所述交易流转模块将智能合约文件发送至网络层处理;对于调用交易,先由所述合约代码检查器对智能合约代码静态扫描以拦截恶意程序,通过检查后将交易中包含的输入参数输入至所述打包和运行***,所述打包和运行***运行智能合约代码后输出运行结果至所述交易流转模块,所述流转模块将运行结果处理为带版本号的读写集发送至网络层处理;
授权层,包括数字证书签发机构、节点注册和验证模块,其中,所述授权层授权节点,用于加入区块链网络,验证节点的合法性;
应用层,包括数字证书和秘钥管理、客户端SDK、命令行接口和远程调用接口,其中,所述应用层,用于提供客户端与区块链的交互方式,以代码调用和命令行的方式向客户端提供包括申请授权API、交易提议API、授权结果回调API、执行智能合约API和执行结果回调API。
本发明的运行智能合约的区块链实现设备一实施例中,所述数字证书签发机构,由参与智能合约的相关组织共同维护,所述数字证书签发机构持有一组密钥对,密钥对由ECDSA算法生成,所述数字证书签发机构持有的密钥对中的公钥告知网络中全部节点,密钥对中的私钥只有签发机构本身拥有,节点经数字证书签发机构授予数字证书和私钥后才能加入区块链网络,由数字签名算法保证数字证书和私钥不可伪造,数字签名使用一组密钥对,数字签名使用的密钥对由所述数字证书签发机构签名和发放,节点加入网络前须向所述数字证书签发机构申请授权,数字证书签发机构通过申请后为节点生成一组密钥对,将公钥和节点信息保存为数字证书,数字证书签发机构用自身私钥对证书作数字签名,签名后的数字证书与节点私钥由节点保存,节点在网络中广播的所有消息带上数字证书并用自身私钥对消息做数字签名,其他节点收到广播后对发送人的合法性做校验,校验分为证书有效性检查和证书持有检查,证书有效性检查是校验证书是否由所述数字证书签发机构生成,使用ECC算法验证数字证书的内容是否由所述数字证书签发机构签名,证书持有检查确保节点从所述数字证书签发机构获得证书而非拷贝其他节点的证书,使用ECC算法验证广播内容、广播的数字签名是否符合数字证书中的公钥。
本发明的运行智能合约的区块链实现设备一实施例中,所述客户端SDK,分为JavaSDK,PHP SDK,Go SDK,分别对应不同编程语言实现的客户端,所述客户端SDK,用于将不同编程语言代码转换为JSON字符串发送至远程调用接口;所述命令行接口,用于将命令行的输入转换为JSON字符串发送至远程调用接口;所述远程调用接口的接收和输出数据格式均为JSON字符串,用于通过HTTP协议传输数据,其中,对于申请授权API,将接受的数据解析为申请信息发送至网络层,通过授权结果回调API通知客户端;对于交易提议API,将接收的数据解析为智能合约调用指令,生成交易提议,用私钥生成交易提议数字签名并附带数字证书作为交易提议消息发送至网络层,节点本地的账本更新后通过所述执行结果回调API通知客户端。
根据本申请的另一面,还提供一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现上述任一项所述的方法。
根据本申请的另一面,还提供一种用于在网络设备端信息处理的设备,该设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该设备执行上述任一项所述的方法。
上述各设备和存储介质实施例的详细内容,具体可参见各方法实施例的对应部分,在此,不再赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
显然,本领域的技术人员可以对发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。

Claims (10)

1.一种运行智能合约的区块链实现方法,其特征在于,包括:
将区块链节点角色划分为客户端、记账节点和共识节点群;
在所述客户端保存一组公私秘钥,将所述客户端设置为用于发起交易;
在所述记账节点保存一组密钥对,将所述记账节点设置为存储分布式账本,并运行智能合约和验证交易;
在所述共识节点保存一组密钥对,将所述共识节点设置为存储分布式账本,并运行智能合约,验证交易,对区块内的多个交易排序并在所有共识节点间达成排序的共识;
所述客户端将智能合约调用指令打包为交易提议,发起交易提议至多个记账节点;
各个记账节点各自验证所述交易提议的有效性、并执行验证为有效的交易提议,返回提议结果至所述客户端;
所述客户端等待多个记账节点响应所述交易提议,比对所述提议结果,如果不一致则重新发起交易提议,如果一致则提交所述提议结果至共识节点群;
所述共识节点群收集所述提议结果,验证所述提议结果的有效性,给验证为有效的提议结果加上序号,当所述序号达到预设序号阈值或收集所述提议结果的等待时间达到预设时间阈值后,将所述提议结果打包成待定区块,发送所述待定区块至所述记账节点,同时验证所述待定区块内的交易提议,剔除验证失败的交易提议后将只含有验证成功的交易提议打包成区块添加到区块链,同时记账节点收到共识节点的待定区块后,验证所述待定区块内的交易提议,剔除验证失败的交易提议后将只含有验证成功的交易提议打包成区块添加到区块链。
2.如权利要求1所述的运行智能合约的区块链实现方法,其特征在于,所述客户端将智能合约调用指令打包为交易提议,发起交易提议至多个记账节点之前,还包括:
将所述客户端、记账节点和共识节点群的对应运行***分成包括数据层、网络层、共识层、合约层、授权层和应用层的六部分;
将所述数据层设置为包括键值数据库和数据库管理模块,用于保存区块数据与智能合约产生的数据、提供对智能合约数据做增删改查的接口,在所述数据层定义所述区块链中分布式账本的结构,账本由区块链和世界状态组成,其中,所述区块链是由区块组成的可追溯的链表,区块由区块头、区块数据、元数据组成,区块由交易提议组成,所述交易提议有两种类型:部署交易和调用交易,其中,部署交易是将智能合约文件写入区块的记录,记录内容包括文件源代码、部署人、版本号、配置信息、交易唯一标识;调用交易是智能合约调用过程的记录,记录内容包括智能合约源码所在区块高度、交易唯一标识、智能合约方法名、调用参数,以及交易发起人、执行人的数字签名;世界状态是所有智能合约的状态的集合,状态是智能合约运行后最终对数据库操作的表达方式;智能合约运行结果由读写集表示,读写集由读集与写集组成,其中,写集是一个智能合约一次调用产生的状态的集合;
设置所述网络层管理一个点对点网络,所述网络层包括数据传输协议、节点探索模块、数据同步模块和广播交易模块,其中,数据传输协议是一种最终一致性算法,实现了Gossip协议,用于同步区块链各节点的数据,同步过程是在一个同步周期内发送-接收-更新-发回-更新-再发回-再更新的流程,每个周期随机选择一个节点,最终将数据传播到所有节点;节点探索模块管理一个网络中已知节点IP地址的列表,这个列表最初在部署区块链网络时手动输入,当一个新节点加入网络,探索模块生成探索消息,探索消息包含该节点在区块链网络中获得的授权以及已知节点列表,授权由所述授权层给出,数据传输协议发送和接收探索消息,先从节点列表选出接收者节点,再广播一条探索消息至接收者,接收者的探索模块收到消息后对比本地的已知节点列表,如果探索消息中包含本地没有的节点IP则把这个IP新增至本地节点列表,如果不包含则不更新本地列表,对比完成后发回探索响应至探索消息的发送人,探索响应内容包括节点自身的授权和更新后的已知节点列表,接收人收到探索响应后根据响应内容以同样方式更新本地节点列表,更新后再发回探索响应的响应消息,接收人再次更新节点列表;数据同步模块发送和接收数据同步消息,同步消息分为同步区块高度和同步区块数据,其中,所述同步区块高度包含节点本地的区块高度、消息的数字签名,所述同步区块数据包含需要更新的区块内容、消息的数字签名,所述同步消息同样遵循数据传输协议向其他节点广播,节点定时发送同步区块高度消息,当发现接受者区块高度大于自身区块高度则发送同步区块数据消息以获取最新的区块;广播交易模块分为客户端侧,记账节点侧和共识节点侧,为不同角色提供不同功能。客户端侧将应用层产生的交易提议发往记账节点,记账节点侧将运行结果发回客户端,客户端侧将结果处理为交易消息并发往共识节点,交易消息包含记账节点的处理结果,消息的数字签名,共识节点侧接收交易消息,处理后发送共识结果至记账节点;
设置所述共识层将所有共识节点组成共识节点群,所述共识节点群接收客户端发起的交易并通过共识算法对多个交易排序,所述共识算法是PBFT算法的实现;
设置所述合约层包括智能合约打包和运行***、合约代码检查器和交易流转模块,其中,对于部署交易,先由所述合约代码检查器对智能合约代码静态扫描以拦截恶意程序,通过检查后由所述打包和运行***校验智能合约是否可被***运行,通过校验后由所述交易流转模块将智能合约文件发送至网络层处理;对于调用交易,先由所述合约代码检查器对智能合约代码静态扫描以拦截恶意程序,通过检查后将交易中包含的输入参数输入至所述打包和运行***,所述打包和运行***运行智能合约代码后输出运行结果至所述交易流转模块,所述流转模块将运行结果处理为带版本号的读写集发送至网络层处理;
设置所述授权层包括数字证书签发机构、节点注册和验证模块,其中,所述授权层授权节点加入区块链网络,验证节点的合法性;
设置所述应用层包括数字证书和秘钥管理、客户端SDK、命令行接口和远程调用接口,其中,所述应用层提供客户端与区块链的交互方式,以代码调用和命令行的方式向客户端提供包括申请授权API、交易提议API、授权结果回调API、执行智能合约API和执行结果回调API。
3.如权利要求2所述的运行智能合约的区块链实现方法,其特征在于,所述数字证书签发机构,由参与智能合约的相关组织共同维护,所述数字证书签发机构持有一组密钥对,密钥对由ECDSA算法生成,所述数字证书签发机构持有的密钥对中的公钥告知网络中全部节点,密钥对中的私钥只有签发机构本身拥有,节点经数字证书签发机构授予数字证书和私钥后才能加入区块链网络,由数字签名算法保证数字证书和私钥不可伪造,数字签名使用一组密钥对,数字签名使用的密钥对由所述数字证书签发机构签名和发放,节点加入网络前须向所述数字证书签发机构申请授权,数字证书签发机构通过申请后为节点生成一组密钥对,将公钥和节点信息保存为数字证书,数字证书签发机构用自身私钥对证书作数字签名,签名后的数字证书与节点私钥由节点保存,节点在网络中广播的所有消息带上数字证书并用自身私钥对消息做数字签名,其他节点收到广播后对发送人的合法性做校验,校验分为证书有效性检查和证书持有检查,证书有效性检查是校验证书是否由所述数字证书签发机构生成,使用ECC算法验证数字证书的内容是否由所述数字证书签发机构签名,证书持有检查确保节点从所述数字证书签发机构获得证书而非拷贝其他节点的证书,使用ECC算法验证广播内容、广播的数字签名是否符合数字证书中的公钥。
4.如权利要求2所述的运行智能合约的区块链实现方法,其特征在于,所述客户端SDK,分为Java SDK,PHP SDK,Go SDK,分别对应不同编程语言实现的客户端,所述客户端SDK将不同编程语言代码转换为JSON字符串发送至远程调用接口;所述命令行接口将命令行的输入转换为JSON字符串发送至远程调用接口;所述远程调用接口的接收和输出数据格式均为JSON字符串,通过HTTP协议传输数据,其中,对于申请授权API,将接受的数据解析为申请信息发送至网络层,通过授权结果回调API通知客户端;对于交易提议API,将接收的数据解析为智能合约调用指令,生成交易提议,用私钥生成交易提议数字签名并附带数字证书作为交易提议消息发送至网络层,节点本地的账本更新后通过所述执行结果回调API通知客户端。
5.一种运行智能合约的区块链实现设备,其特征在于,包括:
客户端,用于保存一组公私秘钥,并用于发起交易,其中,所述客户端用于将智能合约调用指令打包为交易提议,发起交易提议至多个记账节点,并等待多个记账节点响应所述交易提议,比对所述提议结果,如果不一致则重新发起交易提议,如果一致则提交所述提议结果至共识节点群;
记账节点,用于保存一组密钥对,并用于存储分布式账本、运行智能合约和验证交易,其中,各个记账节点用于各自验证所述交易提议的有效性、并执行验证为有效的交易提议,返回提议结果至所述客户端,及记账节点收到共识节点的待定区块后,验证所述待定区块内的交易提议,剔除验证失败的交易提议后将只含有验证成功的交易提议打包成区块添加到区块链;
共识节点,用于保存一组密钥对,用于存储分布式账本,并运行智能合约,验证交易,对区块内的多个交易排序并在所有共识节点间达成排序的共识;其中,所述共识节点群用于收集所述提议结果,验证所述提议结果的有效性,给验证为有效的提议结果加上序号,当所述序号达到预设序号阈值或收集所述提议结果的等待时间达到预设时间阈值后,将所述提议结果打包成待定区块,发送所述待定区块至所述记账节点,同时验证所述待定区块内的交易提议,剔除验证失败的交易提议后将只含有验证成功的交易提议打包成区块添加到区块链。
6.如权利要求5所述的运行智能合约的区块链实现设备,其特征在于,还包括:
数据层,包括键值数据库和数据库管理模块,所述数据层用于保存区块数据与智能合约产生的数据、提供对智能合约数据做增删改查的接口,在所述数据层定义所述区块链中分布式账本的结构,账本由区块链和世界状态组成,其中,所述区块链是由区块组成的可追溯的链表,区块由区块头、区块数据、元数据组成,区块由交易提议组成,所述交易提议有两种类型:部署交易和调用交易,其中,部署交易是将智能合约文件写入区块的记录,记录内容包括文件源代码、部署人、版本号、配置信息、交易唯一标识;调用交易是智能合约调用过程的记录,记录内容包括智能合约源码所在区块高度、交易唯一标识、智能合约方法名、调用参数,以及交易发起人、执行人的数字签名;世界状态是所有智能合约的状态的集合,状态是智能合约运行后最终对数据库操作的表达方式;智能合约运行结果由读写集表示,读写集由读集与写集组成,其中写集是一个智能合约一次调用产生的状态的集合;
网络层,用于管理一个点对点网络,所述网络层包括数据传输协议、节点探索模块、数据同步模块和广播交易模块,其中,数据传输协议是一种最终一致性算法,实现了Gossip协议,用于同步区块链各节点的数据,同步过程是在一个同步周期内发送-接收-更新-发回-更新-再发回-再更新的流程,每个周期随机选择一个节点,最终将数据传播到所有节点;节点探索模块,用于管理一个网络中已知节点IP地址的列表,这个列表最初在部署区块链网络时手动输入,当一个新节点加入网络,探索模块生成探索消息,探索消息包含该节点在区块链网络中获得的授权以及已知节点列表,授权由所述授权层给出,数据传输协议发送和接收探索消息,先从节点列表选出接收者节点,再广播一条探索消息至接收者,接收者的探索模块收到消息后对比本地的已知节点列表,如果探索消息中包含本地没有的节点IP则把这个IP新增至本地节点列表,如果不包含则不更新本地列表,对比完成后发回探索响应至探索消息的发送人,探索响应内容包括节点自身的授权和更新后的已知节点列表,接收人收到探索响应后根据响应内容以同样方式更新本地节点列表,更新后再发回探索响应的响应消息,接收人再次更新节点列表;所述数据同步模块,用于发送和接收数据同步消息,同步消息分为同步区块高度和同步区块数据,其中,所述同步区块高度包含节点本地的区块高度、消息的数字签名,所述同步区块数据包含需要更新的区块内容、消息的数字签名,所述同步消息同样遵循数据传输协议向其他节点广播,节点定时发送同步区块高度消息,当发现接受者区块高度大于自身区块高度则发送同步区块数据消息以获取最新的区块;所述广播交易模块,用于分为客户端侧,记账节点侧和共识节点侧,为不同角色提供不同功能。客户端侧将应用层产生的交易提议发往记账节点,记账节点侧将运行结果发回客户端,客户端侧将结果处理为交易消息并发往共识节点,交易消息包含记账节点的处理结果,消息的数字签名,共识节点侧接收交易消息,处理后发送共识结果至记账节点;
共识层,用于将所有共识节点组成共识节点群,所述共识节点群接收客户端发起的交易并通过共识算法对多个交易排序,所述共识算法是PBFT算法的实现;
合约层,包括智能合约打包和运行***、合约代码检查器和交易流转模块,其中,对于部署交易,先由所述合约代码检查器对智能合约代码静态扫描以拦截恶意程序,通过检查后由所述打包和运行***校验智能合约是否可被***运行,通过校验后由所述交易流转模块将智能合约文件发送至网络层处理;对于调用交易,先由所述合约代码检查器对智能合约代码静态扫描以拦截恶意程序,通过检查后将交易中包含的输入参数输入至所述打包和运行***,所述打包和运行***运行智能合约代码后输出运行结果至所述交易流转模块,所述流转模块将运行结果处理为带版本号的读写集发送至网络层处理;
授权层,包括数字证书签发机构、节点注册和验证模块,其中,所述授权层授权节点,用于加入区块链网络,验证节点的合法性;
应用层,包括数字证书和秘钥管理、客户端SDK、命令行接口和远程调用接口,其中,所述应用层,用于提供客户端与区块链的交互方式,以代码调用和命令行的方式向客户端提供包括申请授权API、交易提议API、授权结果回调API、执行智能合约API和执行结果回调API。
7.如权利要求6所述的运行智能合约的区块链实现设备,其特征在于,所述数字证书签发机构,由参与智能合约的相关组织共同维护,所述数字证书签发机构持有一组密钥对,密钥对由ECDSA算法生成,所述数字证书签发机构持有的密钥对中的公钥告知网络中全部节点,密钥对中的私钥只有签发机构本身拥有,节点经数字证书签发机构授予数字证书和私钥后才能加入区块链网络,由数字签名算法保证数字证书和私钥不可伪造,数字签名使用一组密钥对,数字签名使用的密钥对由所述数字证书签发机构签名和发放,节点加入网络前须向所述数字证书签发机构申请授权,数字证书签发机构通过申请后为节点生成一组密钥对,将公钥和节点信息保存为数字证书,数字证书签发机构用自身私钥对证书作数字签名,签名后的数字证书与节点私钥由节点保存,节点在网络中广播的所有消息带上数字证书并用自身私钥对消息做数字签名,其他节点收到广播后对发送人的合法性做校验,校验分为证书有效性检查和证书持有检查,证书有效性检查是校验证书是否由所述数字证书签发机构生成,使用ECC算法验证数字证书的内容是否由所述数字证书签发机构签名,证书持有检查确保节点从所述数字证书签发机构获得证书而非拷贝其他节点的证书,使用ECC算法验证广播内容、广播的数字签名是否符合数字证书中的公钥。
8.如权利要求7所述的运行智能合约的区块链实现设备,其特征在于,所述客户端SDK,分为Java SDK,PHP SDK,Go SDK,分别对应不同编程语言实现的客户端,所述客户端SDK,用于将不同编程语言代码转换为JSON字符串发送至远程调用接口;所述命令行接口,用于将命令行的输入转换为JSON字符串发送至远程调用接口;所述远程调用接口的接收和输出数据格式均为JSON字符串,用于通过HTTP协议传输数据,其中,对于申请授权API,将接受的数据解析为申请信息发送至网络层,通过授权结果回调API通知客户端;对于交易提议API,将接收的数据解析为智能合约调用指令,生成交易提议,用私钥生成交易提议数字签名并附带数字证书作为交易提议消息发送至网络层,节点本地的账本更新后通过所述执行结果回调API通知客户端。
9.一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现权利要求1至4中任一项所述的方法。
10.一种用于在网络设备端信息处理的设备,该设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该设备执行权利要求1至4中任一项所述的方法。
CN201810491690.3A 2018-05-21 2018-05-21 运行智能合约的区块链实现方法及设备 Active CN108769173B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810491690.3A CN108769173B (zh) 2018-05-21 2018-05-21 运行智能合约的区块链实现方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810491690.3A CN108769173B (zh) 2018-05-21 2018-05-21 运行智能合约的区块链实现方法及设备

Publications (2)

Publication Number Publication Date
CN108769173A true CN108769173A (zh) 2018-11-06
CN108769173B CN108769173B (zh) 2021-11-09

Family

ID=64007505

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810491690.3A Active CN108769173B (zh) 2018-05-21 2018-05-21 运行智能合约的区块链实现方法及设备

Country Status (1)

Country Link
CN (1) CN108769173B (zh)

Cited By (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109327459A (zh) * 2018-11-12 2019-02-12 崔晓晖 一种联盟区块链网络的共识方法
CN109377230A (zh) * 2018-12-11 2019-02-22 四川大学 一种基于有向图的智能合约在区块链中实现的方法及装置
CN109493053A (zh) * 2018-11-22 2019-03-19 质数链网科技成都有限公司 一种用于联盟区块链***的匿名交易方法
CN109547200A (zh) * 2018-11-21 2019-03-29 上海点融信息科技有限责任公司 区块链网络中的证书分配方法及相应的计算设备和介质
CN109587238A (zh) * 2018-12-03 2019-04-05 百度在线网络技术(北京)有限公司 区块链的数据处理和同步方法、装置、设备及存储介质
CN109683867A (zh) * 2018-12-27 2019-04-26 石更箭数据科技(上海)有限公司 一种对接区块链的方法及其装置、介质、终端
CN109697217A (zh) * 2018-12-06 2019-04-30 成都佰纳瑞信息技术有限公司 一种区块链事务处理方法
CN109726229A (zh) * 2018-11-30 2019-05-07 深圳市元征科技股份有限公司 一种区块链数据存储方法及装置
CN109785130A (zh) * 2018-12-17 2019-05-21 金蝶软件(中国)有限公司 区块链随机共识方法、装置、计算机设备和存储介质
CN109800334A (zh) * 2019-01-18 2019-05-24 杭州复杂美科技有限公司 一种键值生成方法、数据库防篡改方法设备和存储介质
CN109814905A (zh) * 2019-01-17 2019-05-28 上海边界智能科技有限公司 一种基于区块链的软件升级方法及装置
CN109918946A (zh) * 2019-03-08 2019-06-21 北京马尔马拉科技有限公司 一种基于区块链技术的大数据安全处理***及方法
CN109993658A (zh) * 2019-04-15 2019-07-09 北京杰视通科技发展有限公司 基于区块链的电量确权方法、智能终端和区块链节点
CN110009338A (zh) * 2018-12-25 2019-07-12 阿里巴巴集团控股有限公司 基于区块链的记账方法及装置、电子设备
CN110032568A (zh) * 2018-12-20 2019-07-19 阿里巴巴集团控股有限公司 数据结构的读取及更新方法、装置、电子设备
CN110032599A (zh) * 2018-12-20 2019-07-19 阿里巴巴集团控股有限公司 数据结构的读取及更新方法、装置、电子设备
CN110035105A (zh) * 2018-12-13 2019-07-19 阿里巴巴集团控股有限公司 基于区块链的录屏取证方法、***和电子设备
CN110046992A (zh) * 2018-12-12 2019-07-23 阿里巴巴集团控股有限公司 一种基于区块链智能合约的交易哈希获取方法及***
CN110058878A (zh) * 2019-04-04 2019-07-26 交通银行股份有限公司 基于智能合约的Fabric区块链配置方法及***
CN110060056A (zh) * 2019-03-18 2019-07-26 阿里巴巴集团控股有限公司 一种基于区块链智能合约的交易认证方法及***
CN110148003A (zh) * 2019-05-26 2019-08-20 贾渊培 一种碳排放权交易方法及***
CN110177079A (zh) * 2019-04-17 2019-08-27 北京百度网讯科技有限公司 智能合约的调用***及调用方法
WO2019072262A3 (en) * 2018-11-07 2019-08-29 Alibaba Group Holding Limited Recovering encrypted transaction information in blockchain confidential transactions
CN110233823A (zh) * 2019-05-06 2019-09-13 深圳壹账通智能科技有限公司 区块链实现方法、***及存储介质
CN110288470A (zh) * 2019-05-14 2019-09-27 山东开创云软件有限公司 一种基于区块链的水权交易方法和***
CN110300985A (zh) * 2018-12-28 2019-10-01 阿里巴巴集团控股有限公司 基于智能合约白名单在区块链网络中并行执行交易
CN110366729A (zh) * 2018-12-28 2019-10-22 阿里巴巴集团控股有限公司 智能合约白名单
CN110413304A (zh) * 2019-07-31 2019-11-05 中国工商银行股份有限公司 基于区块链网络的智能合约热升级方法及装置
CN110473106A (zh) * 2019-08-21 2019-11-19 腾讯科技(深圳)有限公司 一种交易处理的方法以及相关装置
CN110520882A (zh) * 2018-12-28 2019-11-29 阿里巴巴集团控股有限公司 在区块链网络中并行执行交易
CN110535654A (zh) * 2019-07-23 2019-12-03 平安科技(深圳)有限公司 基于区块链的并行***部署方法、装置和计算机设备
CN110572281A (zh) * 2019-08-23 2019-12-13 华南理工大学 一种基于区块链的可信日志记录方法及***
CN110599069A (zh) * 2019-09-29 2019-12-20 腾讯科技(深圳)有限公司 基于区块链网络的应用评价方法及装置
CN110602138A (zh) * 2019-09-26 2019-12-20 腾讯科技(深圳)有限公司 区块链网络的数据处理方法、装置、电子设备及存储介质
CN110633076A (zh) * 2019-09-16 2019-12-31 杭州趣链科技有限公司 一种自动生成Solidity智能合约Java客户端程序的方法
CN110716745A (zh) * 2019-10-21 2020-01-21 星矿科技(北京)有限公司 一种使用区块链和智能合约来构建去中心社区的方法
CN110751486A (zh) * 2019-12-17 2020-02-04 北京连琪科技有限公司 智能合约的重放举证方法、***、电子设备及存储介质
CN110851496A (zh) * 2018-12-07 2020-02-28 深圳市智税链科技有限公司 在区块链网络中查询交易信息的方法、装置、记账节点和介质
CN110852648A (zh) * 2019-11-19 2020-02-28 腾讯科技(深圳)有限公司 一种数据处理方法、装置及计算机存储介质
CN111008218A (zh) * 2019-12-04 2020-04-14 福州博泉网络科技有限公司 区块链链上数据结构化存储方法及***
CN111063092A (zh) * 2019-10-15 2020-04-24 北京海益同展信息科技有限公司 基于区块链的抽奖方法、装置、电子设备及存储介质
CN111213128A (zh) * 2019-10-16 2020-05-29 支付宝(杭州)信息技术有限公司 实现基于区块链的web服务
CN111224782A (zh) * 2019-11-22 2020-06-02 腾讯科技(深圳)有限公司 基于数字签名的数据校验方法、智能设备及存储介质
CN111242630A (zh) * 2019-12-19 2020-06-05 广州宏算信息科技有限公司 一种基于区块链的结算方法、装置及存储介质
US10678931B2 (en) 2018-11-07 2020-06-09 Alibaba Group Holding Limited Regulating blockchain confidential transactions
CN111311258A (zh) * 2020-01-20 2020-06-19 布比(北京)网络技术有限公司 基于区块链的可信交易方法、装置、***、设备及介质
CN111327648A (zh) * 2018-12-13 2020-06-23 北京果仁宝软件技术有限责任公司 基于区块链智能合约的处理方法和***
WO2020125222A1 (zh) * 2018-12-20 2020-06-25 阿里巴巴集团控股有限公司 数据读写方法及装置、电子设备
CN111369243A (zh) * 2018-12-24 2020-07-03 航天信息股份有限公司 一种分布式记账的方法和装置
EP3610357A4 (en) * 2019-03-27 2020-07-15 Alibaba Group Holding Limited SYSTEM AND METHOD FOR MANAGING USER INTERACTIONS WITH A BLOCKCHAIN
CN111512333A (zh) * 2019-11-08 2020-08-07 支付宝(杭州)信息技术有限公司 实现基于区块链的去中心化应用的***和方法
CN111597537A (zh) * 2020-05-20 2020-08-28 腾讯科技(深圳)有限公司 基于区块链网络的证书签发方法、相关设备及介质
CN111639127A (zh) * 2020-05-11 2020-09-08 支付宝实验室(新加坡)有限公司 一种智能合约的更新方法、***、装置及设备
CN111767215A (zh) * 2020-06-23 2020-10-13 中国工商银行股份有限公司 一种区块链持续集成测试方法、装置及***
CN111831739A (zh) * 2019-04-19 2020-10-27 国际商业机器公司 数据库复合背书
CN111881129A (zh) * 2019-05-02 2020-11-03 国际商业机器公司 用于数据库的索引管理
CN112053157A (zh) * 2019-06-05 2020-12-08 国际商业机器公司 灵活交易验证
CN112101942A (zh) * 2020-09-18 2020-12-18 腾讯科技(深圳)有限公司 基于区块链的交易请求处理方法、***、装置及设备
CN112104606A (zh) * 2020-08-12 2020-12-18 北京智融云河科技有限公司 一种基于随机多节点的可信执行方法和***
CN112150146A (zh) * 2020-09-22 2020-12-29 京东数字科技控股股份有限公司 区块链的区块处理方法、装置、设备及存储介质
WO2021027505A1 (zh) * 2019-08-15 2021-02-18 深圳壹账通智能科技有限公司 基于智能合约的数据处理方法及相关装置
CN112422526A (zh) * 2020-11-03 2021-02-26 山西特信环宇信息技术有限公司 一种锥体区块链共识***、方法及网络
CN112579343A (zh) * 2019-09-27 2021-03-30 阿里巴巴集团控股有限公司 区块链节点数据的恢复方法及装置
CN112671920A (zh) * 2020-12-29 2021-04-16 杭州中科先进技术研究院有限公司 一种基于区块链的污水自动化控制方法
CN112904734A (zh) * 2020-12-23 2021-06-04 上海上实龙创智能科技股份有限公司 一种物联网和区块链双网关的智能家电控制***和方法
CN112966311A (zh) * 2019-03-15 2021-06-15 创新先进技术有限公司 智能合约校验方法及装置和电子设备
CN113037864A (zh) * 2021-04-07 2021-06-25 郑州师范学院 一种数据存储***及一种数据存储方法
CN113254961A (zh) * 2021-05-26 2021-08-13 杭州云象网络技术有限公司 基于go语言封装调用硬件国密密码接口的方法
CN113269637A (zh) * 2020-12-28 2021-08-17 上海能链众合科技有限公司 一种基于区块链的智能设备数据的存证与验证方法
WO2021226846A1 (en) * 2020-05-12 2021-11-18 Beijing Wodong Tianjun Information Technology Co., Ltd. Systems and methods for establishing consensus in distributed communications
TWI748444B (zh) * 2019-11-07 2021-12-01 大陸商支付寶(杭州)信息技術有限公司 區塊鏈系統及其運行方法、裝置及設備
CN113965566A (zh) * 2021-10-11 2022-01-21 浪潮云信息技术股份公司 一种基于Header-Sig流的BFT共识算法实现方法及***
CN114140118A (zh) * 2021-12-01 2022-03-04 浪潮云信息技术股份公司 一种分布式记账方法、装置及计算机可读介质
US11321710B2 (en) 2018-12-12 2022-05-03 Advanced New Technologies Co., Ltd. Blockchain smart contract-based data processing
CN115293769A (zh) * 2022-10-08 2022-11-04 中铱数字科技有限公司 一种基于区块链的动态管理和校验节点***
WO2023011019A1 (zh) * 2021-08-06 2023-02-09 腾讯科技(深圳)有限公司 基于区块链的数据处理方法、装置、设备、可读存储介质及计算机程序产品
CN117217856A (zh) * 2023-08-28 2023-12-12 成都雨链科技有限公司 一种基于区块链的平台统一大市场协同方法
CN117493356A (zh) * 2023-10-09 2024-02-02 南京理工大学 一种基于区块链智能合约引擎的工业应用构建机制
CN117635333A (zh) * 2024-01-11 2024-03-01 国网山东省电力公司电力科学研究院 区块链交易执行方法和区块链节点
CN111782668B (zh) * 2018-12-20 2024-06-28 创新先进技术有限公司 数据结构的读取及更新方法、装置、电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106878071A (zh) * 2017-01-25 2017-06-20 上海钜真金融信息服务有限公司 一种基于Raft算法的区块链共识机制
CN107103473A (zh) * 2017-04-27 2017-08-29 电子科技大学 一种基于区块链的智能合约实现方法
CN107332701A (zh) * 2017-06-26 2017-11-07 中国人民银行数字货币研究所 管理节点的方法和***
CN107464118A (zh) * 2017-08-16 2017-12-12 济南浪潮高新科技投资发展有限公司 一种基于区块链智能合约的数据交易方法
US9849364B2 (en) * 2016-02-02 2017-12-26 Bao Tran Smart device
CN107911216A (zh) * 2017-10-26 2018-04-13 矩阵元技术(深圳)有限公司 一种区块链交易隐私保护方法及***

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9849364B2 (en) * 2016-02-02 2017-12-26 Bao Tran Smart device
CN106878071A (zh) * 2017-01-25 2017-06-20 上海钜真金融信息服务有限公司 一种基于Raft算法的区块链共识机制
CN107103473A (zh) * 2017-04-27 2017-08-29 电子科技大学 一种基于区块链的智能合约实现方法
CN107332701A (zh) * 2017-06-26 2017-11-07 中国人民银行数字货币研究所 管理节点的方法和***
CN107464118A (zh) * 2017-08-16 2017-12-12 济南浪潮高新科技投资发展有限公司 一种基于区块链智能合约的数据交易方法
CN107911216A (zh) * 2017-10-26 2018-04-13 矩阵元技术(深圳)有限公司 一种区块链交易隐私保护方法及***

Cited By (127)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11429962B2 (en) 2018-11-07 2022-08-30 Advanced New Technologies Co., Ltd. Recovering encrypted transaction information in blockchain confidential transactions
WO2019072262A3 (en) * 2018-11-07 2019-08-29 Alibaba Group Holding Limited Recovering encrypted transaction information in blockchain confidential transactions
US11232442B2 (en) 2018-11-07 2022-01-25 Advanced New Technologies Co., Ltd. Recovering encrypted transaction information in blockchain confidential transactions
US10678931B2 (en) 2018-11-07 2020-06-09 Alibaba Group Holding Limited Regulating blockchain confidential transactions
US10922421B2 (en) 2018-11-07 2021-02-16 Advanced New Technologies Co., Ltd. Regulating blockchain confidential transactions
US11055709B2 (en) 2018-11-07 2021-07-06 Advanced New Technologies Co., Ltd. Recovering encrypted transaction information in blockchain confidential transactions
CN109327459B (zh) * 2018-11-12 2020-12-01 崔晓晖 一种联盟区块链网络的共识方法
CN109327459A (zh) * 2018-11-12 2019-02-12 崔晓晖 一种联盟区块链网络的共识方法
CN109547200A (zh) * 2018-11-21 2019-03-29 上海点融信息科技有限责任公司 区块链网络中的证书分配方法及相应的计算设备和介质
CN109493053A (zh) * 2018-11-22 2019-03-19 质数链网科技成都有限公司 一种用于联盟区块链***的匿名交易方法
CN109726229A (zh) * 2018-11-30 2019-05-07 深圳市元征科技股份有限公司 一种区块链数据存储方法及装置
CN109726229B (zh) * 2018-11-30 2023-10-10 深圳市元征科技股份有限公司 一种区块链数据存储方法及装置
CN109587238B (zh) * 2018-12-03 2021-08-03 百度在线网络技术(北京)有限公司 区块链的数据处理和同步方法、装置、设备及存储介质
CN109587238A (zh) * 2018-12-03 2019-04-05 百度在线网络技术(北京)有限公司 区块链的数据处理和同步方法、装置、设备及存储介质
CN109697217A (zh) * 2018-12-06 2019-04-30 成都佰纳瑞信息技术有限公司 一种区块链事务处理方法
CN110851496A (zh) * 2018-12-07 2020-02-28 深圳市智税链科技有限公司 在区块链网络中查询交易信息的方法、装置、记账节点和介质
CN110851496B (zh) * 2018-12-07 2023-03-14 深圳市智税链科技有限公司 在区块链网络中查询交易信息的方法、装置、记账节点和介质
CN109377230A (zh) * 2018-12-11 2019-02-22 四川大学 一种基于有向图的智能合约在区块链中实现的方法及装置
CN110046992A (zh) * 2018-12-12 2019-07-23 阿里巴巴集团控股有限公司 一种基于区块链智能合约的交易哈希获取方法及***
US11258586B2 (en) 2018-12-12 2022-02-22 Advanced New Technologies Co., Ltd. Blockchain smart contract-based transaction hash acquisition methods and systems
US11321710B2 (en) 2018-12-12 2022-05-03 Advanced New Technologies Co., Ltd. Blockchain smart contract-based data processing
CN111327648A (zh) * 2018-12-13 2020-06-23 北京果仁宝软件技术有限责任公司 基于区块链智能合约的处理方法和***
CN110035105A (zh) * 2018-12-13 2019-07-19 阿里巴巴集团控股有限公司 基于区块链的录屏取证方法、***和电子设备
CN111327648B (zh) * 2018-12-13 2022-04-12 北京果仁宝软件技术有限责任公司 基于区块链智能合约的处理方法和***
CN109785130A (zh) * 2018-12-17 2019-05-21 金蝶软件(中国)有限公司 区块链随机共识方法、装置、计算机设备和存储介质
WO2020125222A1 (zh) * 2018-12-20 2020-06-25 阿里巴巴集团控股有限公司 数据读写方法及装置、电子设备
CN110032568A (zh) * 2018-12-20 2019-07-19 阿里巴巴集团控股有限公司 数据结构的读取及更新方法、装置、电子设备
CN111782668B (zh) * 2018-12-20 2024-06-28 创新先进技术有限公司 数据结构的读取及更新方法、装置、电子设备
CN111898139B (zh) * 2018-12-20 2024-04-16 创新先进技术有限公司 数据读写方法及装置、电子设备
CN111782668A (zh) * 2018-12-20 2020-10-16 阿里巴巴集团控股有限公司 数据结构的读取及更新方法、装置、电子设备
EP3812917A4 (en) * 2018-12-20 2021-10-06 Advanced New Technologies Co., Ltd. DATA STRUCTURE READING PROCESS AND APPARATUS, DATA STRUCTURE UPDATE PROCESS AND APPARATUS AND ELECTRONIC DEVICE
US11775507B2 (en) 2018-12-20 2023-10-03 Advanced New Technologies Co., Ltd. Methods and apparatuses for reading and updating data structures, and electronic devices
US11200226B2 (en) 2018-12-20 2021-12-14 Advanced New Technologies Co., Ltd. Data read and write method and apparatus, and electronic device
CN111898139A (zh) * 2018-12-20 2020-11-06 创新先进技术有限公司 数据读写方法及装置、电子设备
US11232098B2 (en) 2018-12-20 2022-01-25 Advanced New Technologies Co., Ltd. Data structure reading methods and apparatuses, data structure update methods and apparatuses, and electronic devices
CN110032568B (zh) * 2018-12-20 2020-05-12 阿里巴巴集团控股有限公司 数据结构的读取及更新方法、装置、电子设备
CN110032599A (zh) * 2018-12-20 2019-07-19 阿里巴巴集团控股有限公司 数据结构的读取及更新方法、装置、电子设备
CN111369243B (zh) * 2018-12-24 2023-07-14 航天信息股份有限公司 一种分布式记账的方法和装置
CN111369243A (zh) * 2018-12-24 2020-07-03 航天信息股份有限公司 一种分布式记账的方法和装置
CN110009338A (zh) * 2018-12-25 2019-07-12 阿里巴巴集团控股有限公司 基于区块链的记账方法及装置、电子设备
CN109683867A (zh) * 2018-12-27 2019-04-26 石更箭数据科技(上海)有限公司 一种对接区块链的方法及其装置、介质、终端
CN110300985B (zh) * 2018-12-28 2023-08-01 创新先进技术有限公司 基于智能合约白名单在区块链网络中并行执行交易
CN110300985A (zh) * 2018-12-28 2019-10-01 阿里巴巴集团控股有限公司 基于智能合约白名单在区块链网络中并行执行交易
CN110520882A (zh) * 2018-12-28 2019-11-29 阿里巴巴集团控股有限公司 在区块链网络中并行执行交易
CN110366729A (zh) * 2018-12-28 2019-10-22 阿里巴巴集团控股有限公司 智能合约白名单
CN109814905A (zh) * 2019-01-17 2019-05-28 上海边界智能科技有限公司 一种基于区块链的软件升级方法及装置
CN109814905B (zh) * 2019-01-17 2023-06-16 上海边界智能科技有限公司 一种基于区块链的软件升级方法及装置
CN109800334A (zh) * 2019-01-18 2019-05-24 杭州复杂美科技有限公司 一种键值生成方法、数据库防篡改方法设备和存储介质
CN109918946A (zh) * 2019-03-08 2019-06-21 北京马尔马拉科技有限公司 一种基于区块链技术的大数据安全处理***及方法
CN112966311A (zh) * 2019-03-15 2021-06-15 创新先进技术有限公司 智能合约校验方法及装置和电子设备
CN110060056A (zh) * 2019-03-18 2019-07-26 阿里巴巴集团控股有限公司 一种基于区块链智能合约的交易认证方法及***
US10764032B2 (en) 2019-03-27 2020-09-01 Alibaba Group Holding Limited System and method for managing user interactions with a blockchain
EP3610357A4 (en) * 2019-03-27 2020-07-15 Alibaba Group Holding Limited SYSTEM AND METHOD FOR MANAGING USER INTERACTIONS WITH A BLOCKCHAIN
US11201727B2 (en) 2019-03-27 2021-12-14 Advanced New Technologies Co., Ltd. System and method for managing user interactions with a blockchain
CN110058878B (zh) * 2019-04-04 2022-12-02 交通银行股份有限公司 基于智能合约的Fabric区块链配置方法及***
CN110058878A (zh) * 2019-04-04 2019-07-26 交通银行股份有限公司 基于智能合约的Fabric区块链配置方法及***
CN109993658A (zh) * 2019-04-15 2019-07-09 北京杰视通科技发展有限公司 基于区块链的电量确权方法、智能终端和区块链节点
CN110177079A (zh) * 2019-04-17 2019-08-27 北京百度网讯科技有限公司 智能合约的调用***及调用方法
CN110177079B (zh) * 2019-04-17 2021-10-15 北京百度网讯科技有限公司 智能合约的调用***及调用方法
CN111831739A (zh) * 2019-04-19 2020-10-27 国际商业机器公司 数据库复合背书
CN111881129A (zh) * 2019-05-02 2020-11-03 国际商业机器公司 用于数据库的索引管理
CN110233823A (zh) * 2019-05-06 2019-09-13 深圳壹账通智能科技有限公司 区块链实现方法、***及存储介质
CN110288470B (zh) * 2019-05-14 2020-09-15 山东开创云计算有限公司 一种基于区块链的水权交易方法和***
CN110288470A (zh) * 2019-05-14 2019-09-27 山东开创云软件有限公司 一种基于区块链的水权交易方法和***
CN110148003A (zh) * 2019-05-26 2019-08-20 贾渊培 一种碳排放权交易方法及***
CN112053157A (zh) * 2019-06-05 2020-12-08 国际商业机器公司 灵活交易验证
CN112053157B (zh) * 2019-06-05 2024-04-12 国际商业机器公司 灵活交易验证
CN110535654A (zh) * 2019-07-23 2019-12-03 平安科技(深圳)有限公司 基于区块链的并行***部署方法、装置和计算机设备
CN110413304A (zh) * 2019-07-31 2019-11-05 中国工商银行股份有限公司 基于区块链网络的智能合约热升级方法及装置
CN110413304B (zh) * 2019-07-31 2023-07-14 中国工商银行股份有限公司 基于区块链网络的智能合约热升级方法及装置
WO2021027505A1 (zh) * 2019-08-15 2021-02-18 深圳壹账通智能科技有限公司 基于智能合约的数据处理方法及相关装置
CN110473106A (zh) * 2019-08-21 2019-11-19 腾讯科技(深圳)有限公司 一种交易处理的方法以及相关装置
CN110572281A (zh) * 2019-08-23 2019-12-13 华南理工大学 一种基于区块链的可信日志记录方法及***
CN110572281B (zh) * 2019-08-23 2021-12-21 华南理工大学 一种基于区块链的可信日志记录方法及***
CN110633076A (zh) * 2019-09-16 2019-12-31 杭州趣链科技有限公司 一种自动生成Solidity智能合约Java客户端程序的方法
CN110633076B (zh) * 2019-09-16 2021-05-04 杭州趣链科技有限公司 一种自动生成Solidity智能合约Java客户端程序的方法
CN110602138A (zh) * 2019-09-26 2019-12-20 腾讯科技(深圳)有限公司 区块链网络的数据处理方法、装置、电子设备及存储介质
CN112579343A (zh) * 2019-09-27 2021-03-30 阿里巴巴集团控股有限公司 区块链节点数据的恢复方法及装置
CN112579343B (zh) * 2019-09-27 2024-05-28 阿里巴巴集团控股有限公司 区块链节点数据的恢复方法及装置
CN110599069B (zh) * 2019-09-29 2023-06-20 腾讯科技(深圳)有限公司 基于区块链网络的应用评价方法及装置
CN110599069A (zh) * 2019-09-29 2019-12-20 腾讯科技(深圳)有限公司 基于区块链网络的应用评价方法及装置
CN111063092A (zh) * 2019-10-15 2020-04-24 北京海益同展信息科技有限公司 基于区块链的抽奖方法、装置、电子设备及存储介质
CN111063092B (zh) * 2019-10-15 2022-02-01 京东科技信息技术有限公司 基于区块链的抽奖方法、装置、电子设备及存储介质
CN111213128A (zh) * 2019-10-16 2020-05-29 支付宝(杭州)信息技术有限公司 实现基于区块链的web服务
CN111213128B (zh) * 2019-10-16 2023-06-30 支付宝(杭州)信息技术有限公司 实现基于区块链的web服务
CN110716745A (zh) * 2019-10-21 2020-01-21 星矿科技(北京)有限公司 一种使用区块链和智能合约来构建去中心社区的方法
TWI748444B (zh) * 2019-11-07 2021-12-01 大陸商支付寶(杭州)信息技術有限公司 區塊鏈系統及其運行方法、裝置及設備
CN111512333A (zh) * 2019-11-08 2020-08-07 支付宝(杭州)信息技术有限公司 实现基于区块链的去中心化应用的***和方法
US11429617B2 (en) 2019-11-08 2022-08-30 Alipay (Hangzhou) Information Technology Co., Ltd. System and method for blockchain-based data synchronization
CN110852648B (zh) * 2019-11-19 2024-05-14 腾讯科技(深圳)有限公司 一种数据处理方法、装置及计算机存储介质
CN110852648A (zh) * 2019-11-19 2020-02-28 腾讯科技(深圳)有限公司 一种数据处理方法、装置及计算机存储介质
CN111224782A (zh) * 2019-11-22 2020-06-02 腾讯科技(深圳)有限公司 基于数字签名的数据校验方法、智能设备及存储介质
CN111008218B (zh) * 2019-12-04 2022-05-24 福州博泉网络科技有限公司 区块链链上数据结构化存储方法及***
CN111008218A (zh) * 2019-12-04 2020-04-14 福州博泉网络科技有限公司 区块链链上数据结构化存储方法及***
CN110751486A (zh) * 2019-12-17 2020-02-04 北京连琪科技有限公司 智能合约的重放举证方法、***、电子设备及存储介质
CN111242630A (zh) * 2019-12-19 2020-06-05 广州宏算信息科技有限公司 一种基于区块链的结算方法、装置及存储介质
CN111311258A (zh) * 2020-01-20 2020-06-19 布比(北京)网络技术有限公司 基于区块链的可信交易方法、装置、***、设备及介质
CN111311258B (zh) * 2020-01-20 2023-07-21 布比(北京)网络技术有限公司 基于区块链的可信交易方法、装置、***、设备及介质
CN111639127B (zh) * 2020-05-11 2022-05-13 支付宝实验室(新加坡)有限公司 一种智能合约的更新方法、***、装置及设备
CN111639127A (zh) * 2020-05-11 2020-09-08 支付宝实验室(新加坡)有限公司 一种智能合约的更新方法、***、装置及设备
US11973744B2 (en) 2020-05-12 2024-04-30 New Jersey Institute Of Technology Systems and methods for establishing consensus in distributed communications
WO2021226846A1 (en) * 2020-05-12 2021-11-18 Beijing Wodong Tianjun Information Technology Co., Ltd. Systems and methods for establishing consensus in distributed communications
CN111597537A (zh) * 2020-05-20 2020-08-28 腾讯科技(深圳)有限公司 基于区块链网络的证书签发方法、相关设备及介质
CN111767215B (zh) * 2020-06-23 2023-08-08 中国工商银行股份有限公司 一种区块链持续集成测试方法、装置及***
CN111767215A (zh) * 2020-06-23 2020-10-13 中国工商银行股份有限公司 一种区块链持续集成测试方法、装置及***
CN112104606B (zh) * 2020-08-12 2022-06-17 北京智融云河科技有限公司 一种基于随机多节点的可信执行方法和***
CN112104606A (zh) * 2020-08-12 2020-12-18 北京智融云河科技有限公司 一种基于随机多节点的可信执行方法和***
CN112101942A (zh) * 2020-09-18 2020-12-18 腾讯科技(深圳)有限公司 基于区块链的交易请求处理方法、***、装置及设备
CN112150146A (zh) * 2020-09-22 2020-12-29 京东数字科技控股股份有限公司 区块链的区块处理方法、装置、设备及存储介质
CN112150146B (zh) * 2020-09-22 2023-11-03 京东科技控股股份有限公司 区块链的区块处理方法、装置、设备及存储介质
CN112422526A (zh) * 2020-11-03 2021-02-26 山西特信环宇信息技术有限公司 一种锥体区块链共识***、方法及网络
CN112904734A (zh) * 2020-12-23 2021-06-04 上海上实龙创智能科技股份有限公司 一种物联网和区块链双网关的智能家电控制***和方法
CN113269637A (zh) * 2020-12-28 2021-08-17 上海能链众合科技有限公司 一种基于区块链的智能设备数据的存证与验证方法
CN112671920A (zh) * 2020-12-29 2021-04-16 杭州中科先进技术研究院有限公司 一种基于区块链的污水自动化控制方法
CN113037864A (zh) * 2021-04-07 2021-06-25 郑州师范学院 一种数据存储***及一种数据存储方法
CN113254961A (zh) * 2021-05-26 2021-08-13 杭州云象网络技术有限公司 基于go语言封装调用硬件国密密码接口的方法
WO2023011019A1 (zh) * 2021-08-06 2023-02-09 腾讯科技(深圳)有限公司 基于区块链的数据处理方法、装置、设备、可读存储介质及计算机程序产品
CN113965566A (zh) * 2021-10-11 2022-01-21 浪潮云信息技术股份公司 一种基于Header-Sig流的BFT共识算法实现方法及***
CN113965566B (zh) * 2021-10-11 2024-05-14 浪潮云信息技术股份公司 一种基于Header-Sig流的BFT共识算法实现方法及***
CN114140118A (zh) * 2021-12-01 2022-03-04 浪潮云信息技术股份公司 一种分布式记账方法、装置及计算机可读介质
CN115293769B (zh) * 2022-10-08 2022-12-27 中铱数字科技有限公司 一种基于区块链的动态管理和校验节点***
CN115293769A (zh) * 2022-10-08 2022-11-04 中铱数字科技有限公司 一种基于区块链的动态管理和校验节点***
CN117217856B (zh) * 2023-08-28 2024-03-19 成都雨链科技有限公司 一种基于区块链的平台统一大市场协同方法
CN117217856A (zh) * 2023-08-28 2023-12-12 成都雨链科技有限公司 一种基于区块链的平台统一大市场协同方法
CN117493356B (zh) * 2023-10-09 2024-04-26 南京理工大学 一种基于区块链智能合约引擎的工业应用构建方法
CN117493356A (zh) * 2023-10-09 2024-02-02 南京理工大学 一种基于区块链智能合约引擎的工业应用构建机制
CN117635333A (zh) * 2024-01-11 2024-03-01 国网山东省电力公司电力科学研究院 区块链交易执行方法和区块链节点

Also Published As

Publication number Publication date
CN108769173B (zh) 2021-11-09

Similar Documents

Publication Publication Date Title
CN108769173A (zh) 运行智能合约的区块链实现方法及设备
CN106533696B (zh) 基于区块链的身份认证方法、认证服务器及用户终端
CN105897782B (zh) 一种针对接口的调用请求的处理方法及装置
CN103227719B (zh) 生成无密钥数字多重签名的***和方法
CN105450587B (zh) 用于保护网络通信安全的方法和装置
CN105556919B (zh) 使用服务请求票据进行多因素认证
CN110428257A (zh) 密码破解任务处理方法、设备及存储介质
CN107249004A (zh) 一种身份认证方法、装置及客户端
CN107306183A (zh) 客户端、服务端、方法和身份验证***
CN105162604B (zh) 一种基于特征图像识别的验证方法、服务器及***
JP2005535006A (ja) サービスプロバイダのサービスに対するユーザ認証の方法
CN112804354B (zh) 跨链进行数据传输的方法、装置、计算机设备和存储介质
CN110493237A (zh) 身份管理方法、装置、计算机设备及存储介质
CN107798538A (zh) 一种交易核算方法及客户端
CN106656923A (zh) 一种设备关联方法、秘钥更新方法及装置
CN110071806A (zh) 基于接口校验的数据处理的方法和***
CN110417790A (zh) 区块链实名制排队***及方法
CN107679149A (zh) 一种数据处理方法及服务器
CN107315586A (zh) 应用打包的方法、装置和***
CN110852648A (zh) 一种数据处理方法、装置及计算机存储介质
CN110111080A (zh) 一种个人信息管理方法及相关设备
CN110233850A (zh) 基于联盟链的注册方法、应用服务器、用户端以及***
CN109428893A (zh) 一种身份认证方法、装置及***
CN106790465A (zh) 跨域访问方法和装置
CN108629484A (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
CP01 Change in the name or title of a patent holder

Address after: 200093 No. 640, Longchang Road, Yangpu District, Shanghai

Patentee after: Orange Lion Sports (Shanghai) Co.,Ltd.

Address before: 200093 No. 640, Longchang Road, Yangpu District, Shanghai

Patentee before: ALI SPORTS Co.,Ltd.

Address after: 200093 No. 640, Longchang Road, Yangpu District, Shanghai

Patentee after: Orange Lion Sports Co.,Ltd.

Address before: 200093 No. 640, Longchang Road, Yangpu District, Shanghai

Patentee before: Orange Lion Sports (Shanghai) Co.,Ltd.

CP01 Change in the name or title of a patent holder