CN110163004B - 一种区块链生成的方法、相关设备及系统 - Google Patents
一种区块链生成的方法、相关设备及系统 Download PDFInfo
- Publication number
- CN110163004B CN110163004B CN201810154027.4A CN201810154027A CN110163004B CN 110163004 B CN110163004 B CN 110163004B CN 201810154027 A CN201810154027 A CN 201810154027A CN 110163004 B CN110163004 B CN 110163004B
- Authority
- CN
- China
- Prior art keywords
- transaction
- node device
- information
- client
- endorsement result
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- 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
-
- 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/40—Network security protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Finance (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种区块链生成的方法,包括:客户端向第一节点设备发送第一交易信息,第一交易信息包含第一基本信息及第一摘要信息;客户端接收第一节点设备发送的第一背书结果,第一背书结果包括第一节点设备进行模拟交易成功后生成的签名;若第一背书结果满足预设交易条件,则客户端向第二节点设备发送第一摘要信息以及第一背书结果,以使第二节点设备根据第一背书结果向第一节点设备发送用于生成完整区块链的第一摘要信息。本申请还提供一种客户端和节点设备。本申请中第一节点设备和第二节点设备之间只传递摘要信息,摘要信息是交易信息中的一部分内容,因此,第二节点设备并不会获取到完整的交易信息,从而有利于提升信息的安全性。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种区块链生成的方法、相关设备及系统。
背景技术
区块链实质上是一种分布式数据库技术,通过维护数据块的链式结构,可以维持持续增长的、可共享的及不可篡改的数据记录。区块链技术的核心是所有当前参与的节点共同维护交易及数据库,它使交易基于密码学原理而不基于信任,使得任何达成一致的双方,能够直接进行支付交易,不需第三方的参与。其中,参与的节点包括对等节点和共识节点,对等节点在客户端发起交易后会根据智能合约执行模拟交易,模拟交易主要用于验证交易的合法性,共识节点可以确定区块链中的交易顺序,以保证交易的有序化。
虽然区块链的概念衍生于比特币系统,但区块链技术可以做的事情远不止于加密货币,就业务角度,既有汽车、房地产和食品等有形产品,也有债券、私募股权和证券等无形资产,他们都对去中心化的区块链技术存在诉求,企业级区块链系统应运而生。与比特币系统相比,企业级区块链系统存在以下三点不同:第一、通过图灵完备的智能合约,可以适用于加密货币以外的各种业务;第二、保护交易隐私,但又允许审计;第三、选择性进行交易验证,而不需要全部节点参与。
目前,企业级区块链系统为了保护交易隐私,提出了通道(channel)的概念。不同的对等节点只能按照权限加入指定的channel,同一个channel内的对等节点之间可以共享交易数据,但不同channel内的交易数据互相隔离。也就是说如果两个对等节点从属于不同的channel,那么他们的数据互不可见。这就提供了防止交易被交易不相关对等节点查探到的机制,进而保护了交易隐私。
然而,虽然channel机制可以有效地在对等节点侧解决交易隐私问题,但是共识节点仍然可以查看到全部交易。也就是说如果某个组织同时提供了对等节点和共识节点,虽然对等节点由于channel机制只能看到部分交易信息,但是该组织仍然可以通过共识节点查看到全部的交易信息,这就使得channel的设定形同虚设,存在信息安全漏洞。
发明内容
本申请提供了一种区块链生成的方法、相关设备及系统,两个节点设备之间只传递摘要信息,摘要信息是交易信息中的一部分内容,因此,共识节点设备并不会获取到完整的交易信息,从而有利于提升信息的安全性,同时保护了交易隐私。
有鉴于此,本申请实施例第一方面提供了一种区块链生成的方法,包括如下步骤:
首先,由客户端向第一节点设备发送第一交易信息,其中,第一交易信息包含第一基本信息以及第一摘要信息,其中,第一基本信息包括交易数据和交易对象,而第一摘要信息即为对第一基本信息提取到的指纹信息(即唯一信息),摘要信息通常为了实现数据签名以及数据完整性校验等功能。
接下来,客户端会收到由第一节点设备发送的第一背书结果,其中,第一背书结果可以包括第一节点设备进行模拟交易成功后生成的签名,如果背书失败,则不会生成第一背书结果。
客户端判断第一背书结果是否满足预设交易条件,如果第一背书结果满足预设交易条件,那么该客户端向第二节点设备发送第一摘要信息以及第一背书结果,以使得第二节点设备根据第一背书结果向第一节点设备发送用于生成完整区块链的第一摘要信息。
可见,本申请实施例中,提供了一种区块链生成的方法,首先客户端向第一节点设备发送第一交易信息,其中,第一交易信息包含第一基本信息以及第一摘要信息,第一交易信息用于指示第一节点设备进行模拟交易,客户端接收第一节点设备发送的第一背书结果,其中,第一背书结果包括第一节点设备进行模拟交易成功后生成的签名,若第一背书结果满足预设交易条件,则客户端向第二节点设备发送第一摘要信息以及第一背书结果,以使第二节点设备根据第一背书结果向第一节点设备发送用于生成完整区块链的第一摘要信息。通过上述方式,第一节点设备和第二节点设备之间只传递摘要信息,摘要信息是交易信息中的一部分内容,因此,第二节点设备并不会获取到完整的交易信息,从而有利于提升信息的安全性,同时保护了交易隐私。
在一种可能的设计中,在本申请实施例的第一方面的第一种实现方式中,客户端接收第一节点设备发送的第一背书结果,具体可以包括如下步骤:
由客户端接收第一节点设备中N个节点设备发送的N个第一背书结果,其中,N为大于0的正整数,假设一共有100个第一节点设备,N为50,也就是客户端会接收到100个第一节点设备的其中50个节点设备发送的第一背书结果,当然,通常情况下,每个节点设备发送一个背书结果。客户端接收第一节点设备发送的第一背书结果之后,将判断N值是否大于或等于预设门限,若N大于或等于该预设门限,则客户端确定第一背书结果满足预设交易条件。
可见,本申请实施例中,介绍了满足预设交易条件的具体内容,对于客户端而言,需要接收大于预设门限个数的第一背书结果,也就是至少要有N个以上的节点设备向客户端发送背书结果,才认为满足预设交易条件。通过上述方式,由多方节点设备提供背书结果,以达到多方验证的目的,从而提升背书的可靠性。
在一种可能的设计中,在本申请实施例的第一方面的第二种实现方式中,还可以包括如下步骤:
首先,由客户端向第一节点设备发送第二交易信息,其中,第二交易信息包含第二基本信息以及第二摘要信息,其中,第二基本信息包括交易数据和交易对象,而第二摘要信息即为对第二基本信息提取到的指纹信息(即唯一信息),摘要信息通常为了实现数据签名以及数据完整性校验等功能。
接下来,客户端会收到由第一节点设备发送的第二背书结果,其中,第二背书结果可以包括第一节点设备进行模拟交易成功后生成的签名,如果背书失败,则不会生成第二背书结果。
客户端判断第二背书结果是否满足预设交易条件,如果第二背书结果满足预设交易条件,那么该客户端向第二节点设备发送第二摘要信息以及第二背书结果,以使得第二节点设备根据第二背书结果向第一节点设备发送用于生成完整区块链的第二摘要信息。
可见,本申请实施例中,客户端还可以进行多次交易,在区块链中包含多个客户端,每个客户端又会进行多次不同的交易。通过上述方式,能够使得客户端根据用户需求进行多次交易,且每次交易的过程中,第一节点设备和第二节点设备之间只传递摘要信息,摘要信息是交易信息中的一部分内容,因此,第二节点设备并不会获取到完整的交易信息,从而有利于提升信息的安全性,同时保护了交易隐私。
本申请实施例第二方面提供了一种区块链生成的方法,包括如下步骤:
首先,由第一节点设备先接收客户端发送的第一交易信息,其中,第一交易信息包含第一基本信息以及第一摘要信息,其中,第一基本信息包括交易数据和交易对象,而第一摘要信息即为对第一基本信息提取到的指纹信息(即唯一信息),摘要信息通常为了实现数据签名以及数据完整性校验等功能。
然后该第一节点设备根据第一交易信息进行模拟交易,以生成模拟交易对应的第一背书结果,其中,第一背书结果包括第一节点设备进行模拟交易成功后生成的签名,如果背书失败,则不会生成第一背书结果。
接下来,第一节点设备向客户端发送第一背书结果,以使客户端向第二节点设备发送第一摘要信息以及第一背书结果。最后,第一节点设备接收第二节点设备发送的用于生成完整区块链的第一摘要信息。
可见,本申请实施例中,提供了一种区块链生成的方法,首先第一节点设备接收客户端发送的第一交易信息,其中,第一交易信息包含第一基本信息以及第一摘要信息,第一交易信息用于指示第一节点设备进行模拟交易,第一节点设备根据第一交易信息进行模拟交易,以生成所述模拟交易对应的第一背书结果,然后第一节点设备向客户端发送第一背书结果,最后第一节点设备接收第二节点设备发送的用于生成完整区块链的第一摘要信息。通过上述方式,第一节点设备和第二节点设备之间只传递摘要信息,摘要信息是交易信息中的一部分内容,因此,第二节点设备并不会获取到完整的交易信息,从而有利于提升信息的安全性,同时保护了交易隐私。
在一种可能的设计中,在本申请实施例的第二方面的第一种实现方式中,在第一节点设备接收客户端发送的第一交易信息之后,还可以包括如下步骤:
首先,第一节点设备根据第一交易信息获取交易对应关系,其中,交易对应关系用于指示第一摘要信息与第一交易信息之间的对应关系,具体地,交易对应关系可以是一张表格或者一个图示关系,再由第一节点设备存储交易对应关系。
可以理解的是,通常情况下,第一节点设备是在本地存储交易对应关系。
可见,本申请实施例中,第一节点设备还可以根据第一交易信息获取交易对应关系,并且在本地存储该交易对应关系。通过上述方式,第一节点设备能够在本地存储交易对应关系,从而能够根据摘要信息确定所对应的交易信息,以此提升方案的可行性和可操作性。
在一种可能的设计中,在本申请实施例的第二方面的第二种实现方式中,第一节点设备接收第二节点设备发送的用于生成完整区块链的第一摘要信息之后,还可以包括如下步骤:
每个第一节点设备都在本地存储有交易对应关系,因此,每个第一节点设备可以分别根据交易对应关系以及第一摘要信息获取第一交易信息,其中,交易对应关系用于指示第一摘要信息与第一交易信息之间的对应关系。然后,各个第一节点设备根据第一交易信息分别生成完整的区块链,其中,区块链包含多个区块,区块是由第一节点设备根据第一交易信息生成的。
可见,本申请实施例中,介绍了第一节点设备组装区块链的一种方式,即每个第一节点设备根据交易对应关系以及第一摘要信息获取第一交易信息,并且利用第一交易信息可以分别在每个第一节点设备生成完整的区块链。通过上述方式,每个第一节点设备均可以分别组装区块链,无需相互进行通知,从而提升了方案的实用性。
在一种可能的设计中,在本申请实施例的第二方面的第三种实现方式中,在第一节点设备接收第二节点设备发送的用于生成完整区块链的第一摘要信息之后,还可以包括如下步骤:
首先第一节点设备根据交易对应关系以及第一摘要信息获取第一交易信息,其中,交易对应关系用于指示第一摘要信息与第一交易信息之间的对应关系,然后由该第一节点设备根据第一交易信息生成完整的区块链,该第一节点设备会向其他第一节点设备广播完整的区块链。
可见,本申请实施例中,介绍了另第一节点设备组装区块链的一种方式,即由一个第一节点设备根据第一交易信息生成完整的区块链,然后该第一节点设备会向其他的第一节点设备广播该完整的区块链。通过上述方式,只需一个第一节点设备组装完整的区块链即可,由此提升方案的灵活性和可行性。
在一种可能的设计中,在本申请实施例的第二方面的第四种实现方式中,在第一节点设备接收客户端发送的第一交易信息之后,还可以执行如下步骤:
首先,由第一节点设备先接收客户端发送的第二交易信息,其中,第二交易信息包含第二基本信息以及第二摘要信息,其中,第二基本信息包括交易数据和交易对象,而第二摘要信息即为对第二基本信息提取到的指纹信息(即唯一信息),摘要信息通常为了实现数据签名以及数据完整性校验等功能。
然后该第一节点设备根据第二交易信息进行模拟交易,以生成模拟交易对应的第二背书结果,其中,第二背书结果包括第一节点设备进行模拟交易成功后生成的签名,如果背书失败,则不会生成第二背书结果。
接下来,第一节点设备向客户端发送第二背书结果,以使客户端向第二节点设备发送第二摘要信息以及第二背书结果。最后,第一节点设备接收第二节点设备发送的用于生成完整区块链的第二摘要信息。
可见,本申请实施例中,第一节点设备还可以进行多次交易,在区块链中包含多个客户端,每个客户端又会进行多次不同的交易。通过上述方式,能够使得客户端根据用户需求进行多次交易,且每次交易的过程中,第一节点设备和第二节点设备之间只传递摘要信息,摘要信息是交易信息中的一部分内容,因此,第二节点设备并不会获取到完整的交易信息,从而有利于提升信息的安全性,同时保护了交易隐私。
本申请实施例第三方面提供了一种区块链生成的方法,包括如下步骤:
首先,由第二节点设备接收客户端发送的第一摘要信息以及第一背书结果,其中,第一背书结果为第一节点设备进行模拟交易成功后生成的签名,第一摘要信息属于第一交易信息,第一交易信息还包括第一基本信息,第一基本信息包括交易数据和交易对象。然后第二节点设备可以根据第一背书结果向第一节点设备发送第一摘要信息,以使第一节点设备根据第一摘要信息生成完整的区块链。
可见,本申请实施例中,首先第二节点设备接收接收客户端发送的第一摘要信息以及第一背书结果,其中,第一背书结果为第一节点设备进行模拟交易成功后生成的签名,第二节点设备根据第一背书结果向第一节点设备发送第一摘要信息,以使第一节点设备根据所述第一摘要信息生成完整的区块链。通过上述方式,第一节点设备和第二节点设备之间只传递摘要信息,摘要信息是交易信息中的一部分内容,因此,第二节点设备并不会获取到完整的交易信息,从而有利于提升信息的安全性,同时保护了交易隐私。
在一种可能的设计中,在本申请实施例的第三方面的第一种实现方式中,第二节点设备根据第一背书结果向第一节点设备发送第一摘要信息,具体包括如下步骤:
在第二节点设备根据第一背书结果确定当前交易为合法交易之后,第二节点设备向第一节点设备发送第一摘要信息。
可见,本申请实施例中,第二节点设备需要先判断当前交易是否为合法交易,如果是合法交易,那么可以向第一节点设备发送第一摘要信息。通过上述方式,可以提升方案的可靠性,在合法交易的前提下进行交易,从而有利于增加方案的实用性。
在一种可能的设计中,在本申请实施例的第三方面的第二种实现方式中,第二节点设备接收客户端发送的第一摘要信息以及第一背书结果之后,还可以包括如下步骤:
如果第二背书结果满足预设交易条件,那么第二节点设备接收客户端发送的第二摘要信息以及第二背书结果,其中,第二背书结果为第一节点设备进行模拟交易成功后生成的签名。接下来,第二节点设备可以根据第一摘要信息和第二摘要信息确定交易顺序。这个交易顺序具体可称为“共识排序”,按照先来后到的原则进行排序,然后根据排序结果和第二背书结果向第一节点设备发送第二摘要信息,以使第一节点设备根据第二摘要信息生成完整的区块链。
可见,本申请实施例中,第二节点设备根据第一摘要信息和第二摘要信息确定交易顺序,当然,在实际应用中,可以根据多个摘要信息确定交易顺序。通过上述方式,根据一定的交易顺序使得第一节点设备生成相应的区块链,以此提升方案的可行性。
本申请实施例第四方面提供了一种区块链生成的方法,可以包括如下步骤:
首先,由客户端向第一节点设备发送交易信息,该交易信息中包含交易数据和交易对象。然后客户端接收第一节点设备发送的背书结果,其中,背书结果为第一节点设备进行模拟交易成功后生成的签名。所谓的模拟交易,就是按照智能合约的规则,模拟用户的交易过程,预测是否交易成功。如果交易成功,则第一节点设备会为该条交易进行签名,并生成背书结果。
如果背书结果满足预设交易条件,则客户端向第二节点设备发送交易信息以及背书结果,以使第二节点设备根据交易信息以及背书结果生成完整的区块链,其中,第二节点设备属于同一个交易小组。
本申请实施例中,并不会使得所有第二节点设备都接收到交易信息,从而导致交易信息泄露给与交易不相关的第二节点设备,泄露交易隐私。本申请通过对第二节点设备进行分组,使得发送交易时只选择与本次交易相关的第二节点设备组别提供排序服务,从根本上屏蔽了与交易不相关的参与方获取任何交易信息,进而达到保护交易隐私的目的。
在一种可能的设计中,在本申请实施例的第四方面的第一种实现方式中,在客户端向第二节点设备发送交易信息以及背书结果之前,还可以执行如下步骤:
首先客户端根据交易信息从配置信息中获取组别标识,其中,组别标识用于表示属于同一个交易小组的第二节点设备,配置信息为预先设置的交易信息与组别标识之间的对应关系。客户端可以通过组别标识确定属于同一个交易小组的第二节点设备。
可见,本申请实施例中,客户端可以通过配置信息中的组别标识,确定本次交易应该发给哪个小组的第二节点设备,与本次交易无关的第二节点设备是不会收到相关的交易信息。通过上述方式,可以达到保护交易隐私的目的,同时,通过预先定义的配置信息去确定属于同一个小组的第二节点设备,可以提升方案的可靠性。
在一种可能的设计中,在本申请实施例的第四方面的第二种实现方式中,在客户端向第二节点设备发送交易信息以及背书结果之前,还可以执行如下步骤:
首先,由客户端获取交易信息所对应的目标通道标识,其中,该目标通道标识用于表示具有通信连接关系的第一节点设备,目标通道标识所对应的通道用于客户端与第一节点设备的进行数据交互。通常情况下,客户端可以同时与多个第一节点设备建立通信连接。然后,客户端可以根据组别对应关系确定目标通道标识所对应的同一个交易小组,其中,组别对应关系为通道标识与交易小组之间的对应关系,最后,客户端获取属于同一个交易小组的第二节点设备,并向属于同一个交易小组的第二节点设备发送交易信息。
可见,本申请实施例中,客户端可以获取交易信息所对应的目标通道标识,根据组别对应关系确定该目标通道标识所对应的同一个交易小组,由此获取属于同一个交易小组的第二节点设备。通过上述方式,能够确定本次交易应该发给哪个交易小组的第二节点设备,交易小组以外的第二节点设备是不会收到相关的交易信息。通过上述方式,可以达到保护交易隐私的目的,同时,提升了方案的灵活性和可靠性。
在一种可能的设计中,在本申请实施例的第四方面的第三种实现方式中,还可以包括如下步骤:
如果客户端检测到第二节点设备不属于同一个交易小组,那么该客户端会生成提示消息,其中,提示消息用于指示交易出现错误。可以通过语音方式进行提示,也可以在客户端上显示提示内容,使得用户能够及时地获取交易情况。
可见,本申请实施例中,如果检测到第二节点设备不属于同一个交易小组,则客户端会生成一个提示消息,表示本次交易出现错误。通过上述方式,可以避免向不属于同一个交易小组的第二节点设备发送交易信息,进而提升方案的可靠性。此外,还能及时通知用户出现交易错误,从而便于及时进行错误定位和修复。
本申请实施例第五方面提供了一种客户端,包括:
发送模块,用于向第一节点设备发送第一交易信息,其中,第一交易信息包含第一基本信息以及第一摘要信息,第一交易信息用于指示第一节点设备进行模拟交易,第一基本信息包括交易数据和交易对象;
接收模块,用于接收第一节点设备发送的第一背书结果,其中,第一背书结果包括第一节点设备进行模拟交易成功后生成的签名;
发送模块,用于若接收模块接收的第一背书结果满足预设交易条件,则向第二节点设备发送第一摘要信息以及第一背书结果,以使第二节点设备根据第一背书结果向第一节点设备发送用于生成完整区块链的第一摘要信息。
在一种可能的设计中,在本申请实施例的第五方面的第一种实现方式中,客户端还包括确定模块;
接收模块,具体用于接收第一节点设备中N个节点设备发送的N个第一背书结果,其中,N为大于0的正整数;
确定模块,用于接收模块接收第一节点设备发送的第一背书结果之后,若N大于或等于预设门限,则确定第一背书结果满足预设交易条件。
在一种可能的设计中,在本申请实施例的第五方面的第二种实现方式中,
发送模块,还用于向第一节点设备发送第二交易信息,其中,第二交易信息包含第二基本信息以及第二摘要信息,第二交易信息用于指示第一节点设备进行模拟交易;
接收模块,还用于接收第一节点设备发送的第二背书结果,其中,第二背书结果为第一节点设备进行模拟交易成功后生成的签名;
发送模块,还用于若接收模块接收的第二背书结果满足预设交易条件,则向第二节点设备发送第二摘要信息以及第二背书结果,以使第二节点设备根据第二背书结果向第一节点设备发送用于生成完整区块链的第二摘要信息,并根据第一摘要信息和第二摘要信息确定多个交易对应的交易顺序。
本申请实施例第六方面提供了一种节点设备,包括:
接收模块,用于接收客户端发送的第一交易信息,其中,第一交易信息包含第一基本信息以及第一摘要信息,第一基本信息包括交易数据和交易对象;
生成模块,用于根据接收模块接收的第一交易信息进行模拟交易,以生成模拟交易对应的第一背书结果,其中,第一背书结果包括第一节点设备进行模拟交易成功后生成的签名;
发送模块,用于向客户端发送生成模块生成的第一背书结果,以使客户端向第二节点设备发送第一摘要信息以及第一背书结果;
接收模块,用于接收第二节点设备发送的用于生成完整区块链的第一摘要信息。
在一种可能的设计中,在本申请实施例的第六方面的第一种实现方式中,节点设备还包括获取模块以及存储模块;
获取模块,用于接收模块接收客户端发送的第一交易信息之后,根据第一交易信息获取交易对应关系,其中,交易对应关系用于指示第一摘要信息与第一交易信息之间的对应关系;
存储模块,用于存储获取模块获取的交易对应关系。
在一种可能的设计中,在本申请实施例的第六方面的第二种实现方式中,
获取模块,还用于接收模块接收第二节点设备发送的用于生成完整区块链的第一摘要信息之后,根据交易对应关系以及第一摘要信息获取第一交易信息,其中,交易对应关系用于指示第一摘要信息与第一交易信息之间的对应关系;
生成模块,还用于根据获取模块获取的第一交易信息生成完整的区块链,其中,区块链包含多个区块,区块是由第一节点设备根据第一交易信息生成的。
在一种可能的设计中,在本申请实施例的第六方面的第三种实现方式中,
获取模块,还用于接收模块接收第二节点设备发送的用于生成完整区块链的第一摘要信息之后,根据交易对应关系以及第一摘要信息获取第一交易信息,其中,交易对应关系用于指示第一摘要信息与第一交易信息之间的对应关系;
生成模块,还用于根据获取模块获取的第一交易信息生成完整的区块链;
发送模块,还用于向与第一节点设备属于相同节点设备的其它第一节点设备广播生成模块生成的完整的区块链。
在一种可能的设计中,在本申请实施例的第六方面的第四种实现方式中,
接收模块,还用于接收客户端发送的第一交易信息之后,接收客户端发送的第二交易信息,其中,第二交易信息包含第二基本信息以及第二摘要信息;
生成模块,还用于根据接收模块接收的第二交易信息进行模拟交易,以生成模拟交易对应的第二背书结果,其中,第二背书结果为第一节点设备进行模拟交易成功后生成的签名;
发送模块,还用于向客户端发送生成模块生成的第二背书结果,其中,第二背书结果用于若满足预设交易条件,则客户端向第二节点设备发送第二摘要信息以及第二背书结果;
接收模块,还用于接收第二节点设备根据第二背书结果发送的第二摘要信息,以使第二节点设备根据第一摘要信息和第二摘要信息确定交易顺序。
本申请实施例第七方面提供了一种节点设备,包括:
接收模块,用于接收客户端发送的第一摘要信息以及第一背书结果,其中,第一背书结果为第一节点设备进行模拟交易成功后生成的签名,第一摘要信息属于第一交易信息,第一交易信息还包括第一基本信息,第一基本信息包括交易数据和交易对象;
发送模块,用于根据接收模块接收的第一背书结果向第一节点设备发送第一摘要信息,以使第一节点设备根据第一摘要信息生成完整的区块链。
在一种可能的设计中,在本申请实施例的第七方面的第一种实现方式中,
发送模块,具体用于在第二节点设备根据第一背书结果确定当前交易为合法交易之后,第二节点设备向第一节点设备发送第一摘要信息。
在一种可能的设计中,在本申请实施例的第七方面的第二种实现方式中,节点设备还包括确定模块;
接收模块,还用于在接收客户端发送的第一摘要信息以及第一背书结果之后,若第二背书结果满足预设交易条件,则接收客户端发送的第二摘要信息以及第二背书结果,其中,第二背书结果为第一节点设备进行模拟交易成功后生成的签名;
确定模块,用于根据第一摘要信息和接收模块接收的第二摘要信息确定交易顺序;
发送模块,还用于根据确定模块确定的交易顺序以及第二背书结果向第一节点设备发送第二摘要信息,以使第一节点设备根据第二摘要信息生成完整的区块链。
本申请实施例第八方面提供了一种客户端,包括:
发送模块,用于向第一节点设备发送交易信息;
接收模块,用于接收第一节点设备发送的背书结果,其中,背书结果为第一节点设备进行模拟交易成功后生成的签名;
发送模块,用于若背书结果满足预设交易条件,则向第二节点设备发送交易信息以及接收模块接收的背书结果,以使第二节点设备根据交易信息以及背书结果生成完整的区块链,其中,第二节点设备属于同一个交易小组。
在一种可能的设计中,在本申请实施例的第八方面的第一种实现方式中,客户端还包括获取模块和确定模块;
获取模块,用于发送模块向第二节点设备发送交易信息以及背书结果之前,根据交易信息从配置信息中获取组别标识,其中,组别标识用于表示属于同一个交易小组的第二节点设备,配置信息为预先设置的交易信息与组别标识之间的对应关系;
确定模块,用于根据获取模块获取的组别标识确定属于同一个交易小组的第二节点设备。
在一种可能的设计中,在本申请实施例的第八方面的第二种实现方式中,客户端还包括获取模块和确定模块;
获取模块,用于发送模块向第二节点设备发送交易信息以及背书结果之前,获取交易信息所对应的目标通道标识,其中,目标通道标识用于表示具有通信连接关系的第一节点设备,目标通道标识所对应的通道用于客户端与第一节点设备的进行数据交互;
确定模块,用于根据组别对应关系确定获取模块获取的目标通道标识所对应的同一个交易小组,其中,组别对应关系为通道标识与交易小组之间的对应关系;
获取模块,用于获取确定模块确定的属于同一个交易小组的第二节点设备。
在一种可能的设计中,在本申请实施例的第八方面的第三种实现方式中,客户端还包括生成模块;
生成模块,用于若第二节点设备不属于同一个交易小组,则客户端生成提示消息,其中,提示消息用于指示交易出现错误。
本申请实施例第九方面提供了一种客户端,包括:存储器、收发器、处理器以及总线系统;
其中,存储器用于存储程序和指令;
收发器用于在处理器的控制下接收或发送信息;
处理器用于执行存储器中的程序;
总线系统用于连接存储器、收发器以及处理器,以使存储器、收发器以及处理器进行通信;
处理器用于调用存储器中的程序指令,执行如上述第一方面或第四方面中任一项所述的方法。
本申请实施例第十方面提供了一种节点设备,包括:存储器、收发器、处理器以及总线系统;
其中,存储器用于存储程序和指令;
收发器用于在处理器的控制下接收或发送信息;
处理器用于执行存储器中的程序;
总线系统用于连接存储器、收发器以及处理器,以使存储器、收发器以及处理器进行通信;
处理器用于调用存储器中的程序指令,执行如上述第二方面中任一项所述的方法。
本申请实施例第十一方面提供了一种节点设备,包括:存储器、收发器、处理器以及总线系统;
其中,存储器用于存储程序和指令;
收发器用于在处理器的控制下接收或发送信息;
处理器用于执行存储器中的程序;
总线系统用于连接存储器、收发器以及处理器,以使存储器、收发器以及处理器进行通信;
处理器用于调用存储器中的程序指令,执行如上述第三方面中任一项所述的方法。
本申请实施例第十二方面提供了一种区块链生成系统,区块链生成系统包括客户端、第一节点设备以及第二节点设备;
客户端向第一节点设备发送第一交易信息,其中,第一交易信息包含第一基本信息以及第一摘要信息,第一基本信息包括交易数据和交易对象;
第一节点设备根据第一交易信息进行模拟交易;
第一节点设备向客户端发送第一背书结果,其中,第一背书结果包括第一节点设备进行模拟交易成功后生成的签名;
若第一背书结果满足预设交易条件,则客户端向第二节点设备发送第一摘要信息以及第一背书结果;
第二节点设备根据第一背书结果向第一节点设备发送用于生成完整区块链的第一摘要信息。
本申请实施例十三方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
本申请实施例十四方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机可以执行上述任一方面的方法。
另外,第五方面至第十四方面任一种设计方式所带来的技术效果可参见第一方面至第四方面中不同设计方式所带来的技术效果,此处不再赘述。
从以上技术方案可以看出,本申请具有以下优点:
本申请实施例中,提供了一种区块链生成的方法,首先客户端向第一节点设备发送第一交易信息,其中,第一交易信息包含第一基本信息以及第一摘要信息,第一交易信息用于指示第一节点设备进行模拟交易,客户端接收第一节点设备发送的第一背书结果,其中,第一背书结果包括第一节点设备进行模拟交易成功后生成的签名,若第一背书结果满足预设交易条件,则客户端向第二节点设备发送第一摘要信息以及第一背书结果,以使第二节点设备根据第一背书结果向第一节点设备发送用于生成完整区块链的第一摘要信息。通过上述方式,第一节点设备和第二节点设备之间只传递摘要信息,摘要信息是交易信息中的一部分内容,因此,第二节点设备并不会获取到完整的交易信息,从而有利于提升信息的安全性,同时保护了交易隐私。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例。
图1为本申请实施例中传统支付系统与区块链支付系统的对比示意图;
图2为本申请实施例中区块链组成的一个示意图;
图3为本申请实施例中超级账本Fabric的一个架构示意图;
图4为本申请实施例中区块链生成系统的一个架构示意图;
图5为本申请实施例中区块链生成的方法一个实施例示意图;
图6为本申请实施例中区块链生成的方法一个交互流程示意图;
图7(a)为本申请应用场景中基于摘要信息进行交易的一个示意图;
图7(b)为本申请应用场景中基于摘要信息进行交易的另一个示意图;
图7(c)为本申请应用场景中基于摘要信息进行交易的另一个示意图;
图7(d)为本申请应用场景中基于摘要信息进行交易的另一个示意图;
图8为本申请实施例中区块链生成的方法另一个实施例示意图;
图9为本申请实施例中组别对应关系的一个实施例示意图;
图10为本申请实施例中区块链生成的方法另一个交互流程示意图;
图11为本申请实施例中客户端一个实施例示意图;
图12为本申请实施例中客户端另一个实施例示意图;
图13为本申请实施例中节点设备一个实施例示意图;
图14为本申请实施例中节点设备另一个实施例示意图;
图15为本申请实施例中节点设备一个实施例示意图;
图16为本申请实施例中节点设备另一个实施例示意图;
图17为本申请实施例中客户端一个实施例示意图;
图18为本申请实施例中客户端另一个实施例示意图;
图19为本申请实施例中客户端另一个实施例示意图;
图20为本申请实施例中区块链生成系统一个实施例示意图;
图21为本申请实施例中客户端一个结构示意图;
图22为本申请实施例中节点设备一个结构示意图。
具体实施方式
本申请提供了一种区块链生成的方法、相关设备及系统,两个节点设备之间只传递摘要信息,摘要信息是交易信息中的一部分内容,因此,共识节点设备并不会获取到完整的交易信息,从而有利于提升信息的安全性,同时保护了交易隐私。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应理解,本申请主要应用于区块链系统,区块链是一种将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。区块链实质上是一种分布式数据库技术,可以维持持续增长的、可共享的以及不可篡改的数据记录。为了便于介绍,下面将通过对比传统支付系统与区块链支付系统来介绍区块链系统的优点。
请参阅图1,图1为本申请实施例中传统支付系统与区块链支付系统的对比示意图,如图所示,如图所示,在传统支付系统中,商家和消费者之间的交易由第三方机构进行认证,第三方机构可以是银行或者信贷公司等,第三方机构通过记录账本的方式来认证商家与消费者之间的交易。而在区块链支付中,商家与消费者之间的交易是通过多个区块来记录的,也就需要多方认可交易。相比之下,传统支付系统存在如下几个劣势。
首先,传统支付系统借助第三方机构来处理信息的模式具有点与点之间缺乏信任的内生弱点,商家为了提防自己的客户,会向客户索取完全不必要的信息,但仍然不能避免一定的欺诈行为。其次,传统支付系统有中介机构的存在,增加了交易成本,限制了实际可行的最小交易规模。此外,数字签名本身能够解决电子货币身份问题,如果还需要第三方支持才能防止双重消费,则数字签名将失去价值。
区块链技术的核心是所有当前参与的节点共同维护交易及数据库,它使交易基于密码学原理而不基于信任,使得任何达成一致的双方,能够直接进行支付交易,不需第三方的参与。从技术上来讲,区块是一种记录交易的数据结构,反映了一笔交易的资金流向。系统中已经达成的交易的区块连接在一起形成了一条主链,所有参与计算的节点都记录了主链或主链的一部分。以比特币为例,请参阅图2,图2为本申请实施例中区块链组成的一个示意图,如图所示,一个区块包含以下三部分:交易信息、前一个区块形成的哈希散列以及随机数。交易信息是区块所承载的任务数据,具体包括交易双方的私钥、交易的数量和电子货币的数字签名等;前一个区块形成的哈希散列用来将区块连接起来,实现过往交易的顺序排列;随机数是交易达成的核心,所有计算节点竞争计算随机数的答案,最快得到答案的节点生成一个新的区块,并广播到所有节点进行更新,如此完成一笔交易。
比特币仅支持了简单的数字货币结算脚本,在此基础上陆续发展出以太坊以及超级账本(hyperledger)等支持图灵完备脚本的区块链项目,可以提供除了货币交易功能以外更加灵活的合约功能,执行更为复杂的操作,也称为智能合约。
应理解,本申请可应用于hyperledger中Fabric,Hyperledger项目是首个面向企业的开放区块链技术的重要探索,而Fabric是Hyperledger项目中最重要的子项目。为了便于理解,请参阅图3,图3为本申请实施例中超级账本Fabric的一个架构示意图,如图所示,Fabric为应用提供了谷歌远程过程调用(google remote procedure call,gRPC)应用程序编程接口(application programming interface,API),以及封装API的软件开发工具包(software development kit,SDK)供应用调用。应用可以通过SDK访问Fabric网络中的多种资源,包括账本(ledger)、交易、链码(chaincode)、事件和权限管理等。其中,账本是最核心的结构,记录应用信息,应用则通过发起交易来向账本中记录数据。交易执行的逻辑通过chaincode来承载。整个网络运行中发生的事件可以被应用访问,以触发外部流程甚至其他系统。权限管理则负责整个过程中的访问控制。账本和交易进一步地依赖核心的区块链结构、数据库以及共识机制等技术。链码则依赖容器和状态机等技术。权限管理利用了已有的公钥基础设施(public key infrastructure,PKI)体系、数字证书和加解密算法等诸多安全技术。底层由多个节点组成对等网络(peer to peer,P2P),通过gRPC通道进行交互,利用Gossip协议进行同步。
应理解,本申请可具体应用于区块链生成系统,请参阅图4,图4为本申请实施例中区块链生成系统的一个架构示意图,如图所示,区块链生成系统主要包括客户端(client)、对等节点(peer)以及共识节点(orderer)。
其中,client主要用于发送交易或者发送指令。peer主要用于对client发送来的交易进行背书,以及最终确认区块并改变自身世界状态(world state)。orderer主要用于对client打包好的信息进行排序的共识服务。
更具体地,client作为终端用户必须连接到peer才能与区块链通信,client可能连接到任何的peer,client创建并调用交易,并且与peer和ordering节点都会进行通信。peer接收排序后的进行状态更新,即维护状态和ledger。peer包括背书节点(endorser)和提交节点(committer),endorser的功能和一个特定的chaincode相关,用于在一个交易在提交前进行背书。orderer用来保证交付过程。共识服务用于提供一个共享的通信通道(channel)至client和peer,提供广播交易消息服务,clients连接到channel后,可以在channel上广播消息,这些消息被分发到所有peer。值得注意的是,一个共识服务可以支持多个channel,一个client也可以连接多个channel。
一次交易流程由client向endorser(依据背书策略可能有一个或多个背书节点)发出交易请求,endorser验证client签名,然后执行chaincode并模拟交易,然后以chaincode结果的形式和背书签名一起回发给client。client收集到足够的背书信息打包至交易事务中,然后广播给orderer,orderer根据共识服务进行排序,并将事务作为区块分发给channel中的每个peer。
为了便于介绍,下面将先对本申请中的关键字进行介绍:
client:即应用程序(application),Fabric提供多种SDK实现,用户可以通过client创建chaincode,发起交易等。
chaincode:即智能合约,具体为一段代码逻辑,运行在容器里,用户发起的交易均需要经过chaincode处理。
endorser:用户发起交易以后,endorser模拟执行chaincode,验证交易的合法性,并选择是否为其签名并返回结果。
committer:获取orderer生成的区块链,验证交易的有效性,并将交易在chaincode的执行结果写入账本。
peer:包括endorser身份和committer身份,会在本地存储区块链和world state,运行chaincode的容器也由peer进行管理。
world state:最新的全局账本状态,Fabric用它来存储历史交易发生后产生的最新的状态,可以用键值或文档数据库来实现。
ledger:包括区块链结构(带有所有的交易信息)和当前的world state。
channel:Fabric网络上的私有隔离机制。通道中的链码和交易只有加入该通道的peer可见。同一peer也可以加入多个channel,并为每个channel维护一个账本。不同channel间的交易互不可见,保证了交易只对相关的peer可见,保护隐私。
orderer:对交易进行共识,生成区块链,保证区块链中的交易顺序。
节点设备(node):是区块链中的通信实体。一个node是指一个逻辑功能,因此不同类型的node能够运行在一台物理主机上。
下面将结合实施例和附图介绍本申请中区块链生成的方法,本申请所提供的区块链生成的方法可以包括以下两个实施例,具体地:
实施例一,通过信息分割法生成完整区块链;
请参阅图5,图5为本申请实施例中区块链生成的方法一个实施例示意图,本申请实施例中区块链生成的方法一个实施例包括:
101、client向第一节点设备发送第一交易信息,第一节点设备接收client发送的第一交易信息,其中,第一交易信息包含第一基本信息以及第一摘要信息,第一基本信息包括交易数据和交易对象;
本实施例中,第一节点设备可以为peer,第二节点设备可以为orderer。首先,由client向peer发送第一交易信息,该第一交易信息中包含有第一基本信息和第一摘要信息。其中,第一基本信息包括交易数据和交易对象,例如,用户甲向用户乙通过client A发起转账请求,转账金额为100,那么此时交易对象为“用户甲”和“用户乙”,交易数据为“100”。而第一摘要信息即为对第一基本信息提取到的指纹信息(即唯一信息),摘要信息通常为了实现数据签名以及数据完整性校验等功能,由数据摘要算法来获取,数据摘要算法也被称为哈希算法或者散列算法。
哈希算法将任意长度的二进制值映射为固定长度的较小二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值。要找到散列为同一个值的两个不同的输入,在计算上来说基本上是不可能的。消息身份验证代码(messageauthentication code,MAC)哈希函数通常与数字签名一起用于对数据进行签名,而消息检测代码哈希函数则用于数据完整性。
作为第一节点设备的peer接收到client发送的第一交易信息之后,还可以根据第一交易信息获取交易对应关系,peer要将交易对应关系通过交易存储模块在本地进行存储,交易对应关系用于指示第一摘要信息与第一交易信息之间的对应关系。请参阅表1,表1为peer本地存储的交易对应关系。
表1
| 编号 | 摘要信息 | 交易信息 |
| 1 | 10110101 | 用户A在13时25分10秒向用户B转账100,10110101 |
| 2 | 11001010 | 用户A在11时40分00秒向用户C转账50,11001010 |
| 3 | 00101011 | 用户C在5时42分17秒向用户B转账20,00101011 |
| 4 | 11000001 | 用户D在18时56分23秒向用户A转账10,11000001 |
| 5 | 00100100 | 用户C在14时05分15秒向用户A转账10,00100100 |
可以理解的是,在实际应用中,peer本地存储的交易对应关系还可以包括其他的信息,上述内容仅为一个示意,其中,摘要信息和交易信息可以认为是“key”和“value”,即“键值对”,key-value分布式存储系统查询速度快,存放数据量大且支持高并发,非常适合通过主键进行查询。如果辅以实时搜索引擎(real-time search engine,RTSE)进行复杂条件检索全文检索,就可以替代并发性能较低的关系型数据库,达到高并发高性能,并节省几十倍服务器数量的目的。
102、第一节点设备根据第一交易信息进行模拟交易,以生成模拟交易对应的第一背书结果,其中,第一背书结果包括第一节点设备进行模拟交易成功后生成的签名;
本实施例中,peer根据接收到第一交易信息进行模拟交易,具体地,可以由peer中的endorser来执行模拟交易。所谓的模拟交易,就是按照智能合约的规则,模拟用户A向用户B转账的过程,预测是否转账成功。如果转账成功,则endorser会为该条交易进行签名,并生成第一背书结果。
103、第一节点设备向client发送第一背书结果,client接收第一节点设备发送的第一背书结果;
本实施例中,peer向client发送已生成的第一背书结果,于是client接收peer发送的第一背书结果。对于区块链而言,包含多个client、peer和orderer,client需要收集足够多的第一背书结果才能满足预设交易条件。
具体地,假设一共有M个peer,当收到N个peer发送的第一背书结果时,即认为满足预设交易条件,其中,N大于0且小于或等于M。通常情况下,N为2或2以上的正整数。
104、若第一背书结果满足预设交易条件,则client向第二节点设备发送第一摘要信息以及第一背书结果,第二节点设备接收client发送的第一摘要信息以及第一背书结果;
本实施例中,若第一背书结果满足预设交易条件,则client会将第一摘要信息和第一背书结果进行打包,需要注意的是,此时,client不会将完整的第一交易信息进行打包,只是把第一交易信息中的第一摘要信息进行打包,然后发送至channel所对应的orderer。orderer会进行共识排序,所谓共识排序也就是指记录交易的顺序,比如有5个client先后向peer发送交易请求,orderer会按顺序记录下这5个client发送的交易信息。
105、第二节点设备根据第一背书结果向第一节点设备发送第一摘要信息;
本实施例中,orderer根据第一背书结果确定本次交易是合法交易,进而orderer可以向peer发送第一摘要信息,可以理解的是,由于peer已经在本地存储有交易对应关系,因此,只要收到摘要信息即可根据交易对应关系获取对应的交易信息。
106、第一节点设备接收第二节点设备发送的用于生成完整区块链的第一摘要信息。
本实施例中,peer接收orderer发送的第一摘要信息,然后根据本地存储的交易对应关系确定第一摘要信息对应的第一交易信息,peer根据第一交易信息可以生成相应的区块,再由多个peer各自生成的区块组成区块链。可以理解的是,在实际应用中,peer节点组装区块链的方式有多种,第一种为每个peer各自进行组装,第二种为一个peer组装后进行广播。
可选地,第一种方式是在peer接收orderer发送的第一摘要信息之后,首先peer根据本地存储的交易对应关系确定第一摘要信息对应的第一交易信息,然后将第一交易信息向peer所在channel内的其他peer进行广播。类似地,peer收到只包含第一摘要信息的区块时,广播只包含第一摘要信息的区块给channel内的其他peer,每个peer各自负责组装完整的区块链。其中,每个peer还可以按照区块中包含的第一摘要信息向邻近节点获取完整的交易信息,并各自负责组装完整的区块链。
可选地,第二种方式是在peer接收orderer发送的第一摘要信息之后,首先peer根据本地存储的交易对应关系确定第一摘要信息对应的第一交易信息,将第一交易信息向peer所在channel内的其他peer进行广播。peer收到只包含第一摘要信息的区块时,同时按照区块中包含的第一摘要信息向邻近peer获取完整的第一交易信息,并负责组装完整的区块链,然后广播完整的区块链给channel内的其他peer。
本申请实施例中,提供了一种区块链生成的方法,首先client向第一节点设备发送第一交易信息,其中,第一交易信息包含第一基本信息以及第一摘要信息,第一交易信息用于指示第一节点设备进行模拟交易,client接收第一节点设备发送的第一背书结果,其中,第一背书结果包括第一节点设备进行模拟交易成功后生成的签名,若第一背书结果满足预设交易条件,则client向第二节点设备发送第一摘要信息以及第一背书结果,以使第二节点设备根据第一背书结果向第一节点设备发送用于生成完整区块链的第一摘要信息。通过上述方式,第一节点设备和第二节点设备之间只传递摘要信息,摘要信息是交易信息中的一部分内容,因此,第二节点设备并不会获取到完整的交易信息,从而有利于提升信息的安全性,同时保护了交易隐私。
可选地,在上述图5对应的实施例的基础上,本申请实施例提供的区块链生成的方法第一个可选实施例中,还可以包括:
client向第一节点设备发送第二交易信息,第一节点设备接收client发送的第二交易信息,其中,第二交易信息包含第二基本信息以及第二摘要信息,第二交易信息用于指示第一节点设备进行模拟交易;
第一节点设备根据第二交易信息进行模拟交易,以生成模拟交易对应的第二背书结果,其中,第二背书结果为第一节点设备进行模拟交易成功后生成的签名;
第一节点设备向client发送第二背书结果,client接收第一节点设备发送的第二背书结果;
若第二背书结果满足预设交易条件,则client向第二节点设备发送第二摘要信息以及第二背书结果;
第一节点设备接收第二节点设备根据第二背书结果发送的第二摘要信息;
第一节点设备根据第二摘要信息生成完整的区块链;
第二节点设备根据第一摘要信息和第二摘要信息确定交易顺序;
第二节点设备根据交易顺序以及第二背书结果向第一节点设备发送第二摘要信息。
本实施例中,orderer还可以对多次交易进行共识排序,以保证交易的顺序。
可以理解的是,确定交易顺序是为了提升交易的可靠性,比如,用户A共有¥100,用户B在11:00向用户A请求转账¥80,而用户C在12:00向用户A请求转账¥50,如果不考虑交易顺序,那么用户A则会先向用户C转账¥50,于是剩下的金钱就不足以向用户B转账,从而导致转账失败。但是实际上,是用户B先向用户A请求转账的,不考虑交易顺序的话有失交易的公平性。
其次,本申请实施例中,orderer需要对收到的交易信息按照先后顺序进行记录,其中,该交易信息包括摘要信息,这是因为摘要信息具有唯一性,因此,orderer能够根据摘要信息能确定交易相关信息,从而得到交易顺序,由此提升交易的可靠性以及交易成交的成功率。
为了便于介绍,请参阅图6,图6为本申请实施例中区块链生成的方法一个交互流程示意图,如图所示,具体地:
步骤S1中,client初始化一条交易生成交易信息(tx),tx中除了包含交易相关的基本信息以外,还要额外包含由原始tx经过哈希算法生成的固定字节长度的摘要信息(digest),然后将重组后的交易信息(TX)发送给背书节点进行背书;
步骤S2中,背书节点会根据TX模拟执行交易,如果可以执行成功则会为该条交易进行签名并返回给client。同时背书节点也要将这笔交易在本地进行存储,一种可行的存储方法是以摘要信息作为索引,以tx作为存储内容进行存储;
步骤S3中,client收集背书节点的返回结果,当收集到足够多的背书结果的时候,则会将摘要信息和背书结果进行打包,但是此时不会将完整的交易进行打包,而是只把交易的摘要信息进行打包,然后发送给orderer进行共识排序;
步骤S4中,orderer收到交易以后会将交易按照顺序依次写入区块链,然后将新生成的区块同步给该channel内的所有peer,peer收到区块以后首先要对区块进行验证,但此时区块中只含有交易的摘要信息,所以需要peer按照区块中的摘要信息和本地存储的完整交易信息进行匹配和重组,将区块中的摘要信息替换为完整的交易信息,重新生成完整的区块链,再根据交易的有效性对应修改自己的world state。
为了便于理解,下面将结合图7(a)至图7(d)对基于区块链的交易进行介绍。假设用户A与用户B通过本申请所提供的技术方案进行转账,其中,用户A初始拥有¥100,用户B初始拥有¥200,用户A向用户B转账¥10。本次交易对应的指令为:
peer chaincode invoke-o orderer.example.com:7050-C mychannel-ntestcc-c'{"Args":["invoke","A","B","10"]}'
首先,请参阅图7(a),图7(a)为本申请应用场景中基于摘要信息进行交易的一个示意图,如图所示,用户A通过client向peer发送交易请求时,需要额外发送摘要(digest)字段。本次tx交易信息为:
tx=<clientID,chaincodeID,txPayload,timestamp,clientSig>
txPayload=<"invoke",["a","b","10"],digest>(digest=f(<"invoke",["a","b","10"]>))
然后,请参阅图7(b),图7(b)为本申请应用场景中基于摘要信息进行交易的另一个示意图,如图所示,peer存储交易本身,并根据digest字段建立索引,peer存储tx交易信息,并根据digest字段建立索引,然后返回签名响应(response)。
之后,请参阅图7(c),图7(c)为本申请应用场景中基于摘要信息进行交易的另一个示意图,如图所示,client整合tx交易信息的摘要字段(f(proposal))和签名响应response信息,然后将其发送给orderer。本次发送给orderer的整合消息为:
tx+Response=< <clientID,chaincodeID,txPayload,timestamp,clientSig>,Response>txPayload=<digest>(digest=f(<"invoke",["a","b","10"]>))
最后,请参阅图7(d),图7(d)为本申请应用场景中基于摘要信息进行交易的另一个示意图,如图所示,peer向orderer获取区块,再通过区块中的tx交易信息的摘要字段(f(proposal))去获取本地完整的tx交易信息,重组区块链,并完成交易。
实施例二,通过orderer分组法生成完整区块链;
请参阅图8,图8为本申请实施例中区块链生成的方法另一个实施例示意图,本申请实施例中区块链生成的方法一个实施例包括:
201、client向第一节点设备发送交易信息;
本实施例中,第一节点设备可以为peer,第二节点设备可以为orderer。首先,由client向peer发送交易信息,该交易信息中包含交易数据和交易对象,例如,用户甲向用户乙通过client A发起转账请求,转账金额为100,那么此时交易对象为“用户甲”和“用户乙”,交易数据为“100”。
202、第一节点设备根据交易信息进行模拟交易并生成背书结果,该背书结果为模拟交易成功后生成的签名;
本实施例中,peer根据收到的交易信息进行模拟交易,具体地,可以由peer中的endorser来执行模拟交易。所谓的模拟交易,就是按照智能合约的规则,模拟用户A向用户B转账的过程,预测是否转账成功。如果转账成功,则endorser会为该条交易进行签名,并生成背书结果。
203、第一节点设备向client发送背书结果,client接收第一节点设备发送的背书结果;
本实施例中,peer向client发送背书结果,client可以接收peer发送的背书结果。
204、若背书结果满足预设交易条件,则client向第二节点设备发送交易信息以及背书结果;
本实施例中,若背书结果满足预设交易条件,则client会将交易信息和背书结果进行打包,然后发送至同一个小组的orderer。orderer会进行共识排序,所谓共识排序也就是指记录交易的顺序,比如有5个client先后向peer发送交易请求,orderer会按顺序记录下这5个client发送的交易信息。
可以理解的是,在client向orderer发送打包的交易信息以及背书结果之前,还需要确定哪些orderer属于同一个小组,通常情况下有两种确定方式,第一种是根据标识确定的,第二种是根据对应关系确定的。
可选地,第一种方式是在client向orderer发送交易信息以及背书结果之前,根据交易信息从配置信息中获取组别标识,这些配置信息可以为配置文件,客户端本地维护这些配置文件,通过配置文件可以获取不同orderer所对应的组别标识,例如“标识A”,那么同属于“标识A”的orderer即属于同一个交易小组。配置信息是预先设置的交易信息和组别标识之间的对应关系,请参阅表2,表2为配置信息的一个示意。
表2
| 交易信息 | 组别标识 |
| accountA to accountB¥20 | 标识A |
| accountA to accountC¥10 | 标识B |
| accountB to accountA¥20 | 标识A |
| accountB to accountD¥100 | 标识C |
| accountB to accountC¥110 | 标识D |
| accountC to accountB¥50 | 标识D |
| accountC to accountA¥120 | 标识B |
| accountC to accountA¥200 | 标识B |
可以理解的是,上述配置信息仅为一个示意,并不应理解为对本申请的限定。client根据组别标识确定属于同一个交易小组的orderer。
可选地,第二种方式是在client向第二节点设备发送交易信息以及背书结果之前,获取交易信息所对应的目标通道标识,其中,目标通道标识用于表示具有通信连接关系的peer,目标通道标识所对应的通道用于实现client与peer之间的数据互通。client再根据组别对应关系确定目标通道标识所对应的同一个交易小组,其中,组别对应关系为通道标识与交易小组之间的对应关系,最后,client获取属于同一个交易小组的orderer。在组别对应关系中,可为orderer添加组别属性,使得不同orderer可以管理不同channel的交易,以此保护隐私。在创建channel时,需要指定特定的orderer交易小组为其提供排序共识服务,其中,orderer可以从属于一个或者多个orderer交易小组,并且只能收到这些orderer交易小组所包含的channel的交易信息。原则上来说,orderer交易小组与channel之间的关系可以是一对一或者一对多的关系。
orderer启动后,若需要与其他orderer共同对外提供共识服务,则在连接其他orderer时会先要校验orderer交易小组,若交易小组相同则相互连接并共同对外提供服务,若不需与其他orderer连接协同对外提供服务,则以当前配置的orderer交易小组独立对外提供共识服务。client创建channel的时候,需要同时指定哪个交易小组为该channel提供服务,不同的client会有不同的实现方法,对于命令行client具体如下:
peer channel create-o orderer.example.com:7050–g baseGroup-cmychannel-f./channel-artifacts/channel.tx
client进行chaincode相关操作时需要连接到其所属channel所对应交易小组的orderer,否则系统会报错。
为了便于理解,请参阅图9,图9为本申请实施例中组别对应关系的一个实施例示意图,如图所示,组别对应关系为通道标识与交易小组之间的对应关系,通道标识为“channel1”的channel对应“peer1”、“peer2”、“peer3”、“peer5”和“peer6”,且这些peer与小组A具有对应关系,小组A中包括“orderer1”、“orderer2”、“orderer3”、“orderer4”和“orderer6”。
以此类推,通道标识为“channel2”的channel对应“peer1”、“peer2”、“peer4”、“peer5”和“peer6”,且这些peer与小组A具有对应关系,小组A中包括“orderer1”、“orderer2”、“orderer3”、“orderer4”和“orderer6”。
通道标识为“channel3”的channel对应“peer1”、“peer3”、“peer4”和“peer5”,且这些peer与小组B具有对应关系,小组B中包括“orderer1”、“orderer3”、“orderer4”和“orderer5”。
205、第二节点设备根据交易信息以及背书结果生成完整的区块链,其中,第二节点设备属于同一个交易小组。
本实施例中,orderer根据交易信息以及背书结果生成完整的区块链,区块链包括多个区块,这些区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。
可选地,如果client检测到orderer不属于同一个交易小组,则会自动生成一个提示消息,通过该指示消息告知用户交易出现错误,也就不会继续进行交易。
本申请实施例中,并不会使得所有orderer都接收到交易信息,从而导致交易信息泄露给与交易不相关的orderer,泄露交易隐私。本申请通过对orderer进行分组,使得发送交易时只选择与本次交易相关的orderer组别提供排序服务,从根本上屏蔽了与交易不相关的参与方获取任何交易信息,进而达到保护交易隐私的目的。
为了便于介绍,请参阅图10,图10为本申请实施例中区块链生成的方法另一个交互流程示意图,如图所示,具体地:
步骤A1中,client初始化一条交易生成交易信息(tx1),tx1中除了包含交易相关的基本信息以外,还要额外包含由原始tx1经过哈希算法生成的固定字节长度的摘要信息(digest),然后将重组后的交易信息(TX1)发送给背书节点进行背书;
步骤A2中,背书节点会根据TX1模拟执行交易,如果可以执行成功则会为该条交易进行签名并返回给client;
步骤A3中,client收集背书节点的返回结果,当收集到足够多的背书结果的时候,则会将摘要信息和背书结果进行打包,然后发送给属于交易小组1内的orderer,交易小组1内的orderer会进行共识排序;
步骤A4中,交易小组1内的orderer收到交易以后会将交易按照顺序依次写入区块链,然后将新生成的区块同步给该channel内的所有peer,peer收到区块以后要对区块进行验证,然后根据本地存储的完整TX1重新生成完整的区块链,再根据交易的有效性对应修改自己的world state;
步骤B1中,类似地,在下一轮交易中client先初始化一条交易生成交易信息(tx2),tx2中除了包含交易相关的基本信息以外,还要额外包含由原始tx2经过哈希算法生成的固定字节长度的摘要信息(digest),然后将重组后的交易信息(TX2)发送给背书节点进行背书;
步骤B2中,背书节点会根据TX2模拟执行交易,如果可以执行成功则会为该条交易进行签名并返回给client;
步骤B3中,client收集背书节点的返回结果,当收集到足够多的背书结果的时候,则会将摘要信息和背书结果进行打包,然后发送给属于交易小组3内的orderer,交易小组1内的orderer会进行共识排序(即TX1对应的交易在TX2对应的交易之前);
步骤B4中,交易小组3内的orderer收到交易以后会将交易按照顺序依次写入区块链,然后将新生成的区块同步给该channel内的所有peer,peer收到区块以后要对区块进行验证,然后根据本地存储的完整TX1重新生成完整的区块链,再根据交易的有效性对应修改自己的world state。
可以理解的是,上述应用场景是结合信息分割法和orderer分组法实现的,如果仅采用orderer分组法,则无需在peer重新生成完整的区块链,这是因为交易信息是完整的。
下面对本申请中一个实施例对应的客户端进行详细描述,请参阅图11,本申请实施例中的客户端30包括:
发送模块301,用于向第一节点设备发送第一交易信息,其中,所述第一交易信息包含第一基本信息以及第一摘要信息,所述第一交易信息用于指示所述第一节点设备进行模拟交易,所述第一基本信息包括交易数据和交易对象;
接收模块302,用于接收所述第一节点设备发送的第一背书结果,其中,所述第一背书结果包括所述第一节点设备进行模拟交易成功后生成的签名;
所述发送模块301,还用于若所述接收模块302接收的所述第一背书结果满足预设交易条件,则所述客户端向第二节点设备发送所述第一摘要信息以及所述第一背书结果,以使所述第二节点设备根据所述第一背书结果向所述第一节点设备发送用于生成完整区块链的所述第一摘要信息。
本实施例中,发送模块301向第一节点设备发送第一交易信息,其中,所述第一交易信息包含第一基本信息以及第一摘要信息,所述第一交易信息用于指示所述第一节点设备进行模拟交易,所述第一基本信息包括交易数据和交易对象,接收模块302接收所述第一节点设备发送的第一背书结果,其中,所述第一背书结果包括所述第一节点设备进行模拟交易成功后生成的签名,若所述接收模块302接收的所述第一背书结果满足预设交易条件,则所述发送模块30向第二节点设备发送所述第一摘要信息以及所述第一背书结果,以使所述第二节点设备根据所述第一背书结果向所述第一节点设备发送用于生成完整区块链的所述第一摘要信息。
本申请实施例中,提供了一种区块链生成的方法,首先客户端向第一节点设备发送第一交易信息,其中,第一交易信息包含第一基本信息以及第一摘要信息,第一交易信息用于指示第一节点设备进行模拟交易,客户端接收第一节点设备发送的第一背书结果,其中,第一背书结果包括第一节点设备进行模拟交易成功后生成的签名,若第一背书结果满足预设交易条件,则客户端向第二节点设备发送第一摘要信息以及第一背书结果,以使第二节点设备根据第一背书结果向第一节点设备发送用于生成完整区块链的第一摘要信息。通过上述方式,第一节点设备和第二节点设备之间只传递摘要信息,摘要信息是交易信息中的一部分内容,因此,第二节点设备并不会获取到完整的交易信息,从而有利于提升信息的安全性,同时保护了交易隐私。
可选地,在上述图11所对应的实施例的基础上,请参阅图12,本发明实施例提供的客户端30的另一实施例中,客户端30还包括确定模块303;
所述接收模块302,具体用于接收所述第一节点设备中N个节点设备发送的N个第一背书结果,其中,所述N为大于0的正整数;
所述确定模块303,用于所述接收模块302接收所述第一节点设备发送的第一背书结果之后,若所述N大于或等于预设门限,则确定所述第一背书结果满足所述预设交易条件。
可见,本申请实施例中,介绍了满足预设交易条件的具体内容,对于客户端而言,需要接收大于预设门限个数的第一背书结果,也就是至少要有N个以上的节点设备向客户端发送背书结果,才认为满足预设交易条件。通过上述方式,由多方节点设备提供背书结果,以达到多方验证的目的,从而提升背书的可靠性。
可选地,在上述图11或图12所对应的实施例的基础上,本发明实施例提供的客户端30的另一实施例中,
所述发送模块301,还用于向所述第一节点设备发送第二交易信息,其中,所述第二交易信息包含第二基本信息以及第二摘要信息,所述第二交易信息用于指示所述第一节点设备进行模拟交易;
所述接收模块302,还用于接收所述第一节点设备发送的第二背书结果,其中,所述第二背书结果为所述第一节点设备进行模拟交易成功后生成的签名;
所述发送模块301,还用于若所述接收模块302接收的所述第二背书结果满足所述预设交易条件,则向所述第二节点设备发送所述第二摘要信息以及所述第二背书结果,以使所述第二节点设备根据所述第二背书结果向所述第一节点设备发送用于生成完整区块链的所述第二摘要信息,并根据所述第一摘要信息和所述第二摘要信息确定多个交易对应的交易顺序。
可见,本申请实施例中,客户端还可以进行多次交易,在区块链中包含多个客户端,每个客户端又会进行多次不同的交易。通过上述方式,能够使得客户端根据用户需求进行多次交易,且每次交易的过程中,第一节点设备和第二节点设备之间只传递摘要信息,摘要信息是交易信息中的一部分内容,因此,第二节点设备并不会获取到完整的交易信息,从而有利于提升信息的安全性,同时保护了交易隐私。
下面对本申请中一个实施例对应的节点设备进行详细描述,请参阅图13,本申请实施例中的节点设备40包括:
接收模块401,用于接收客户端发送的第一交易信息,其中,所述第一交易信息包含第一基本信息以及第一摘要信息,所述第一基本信息包括交易数据和交易对象;
生成模块402,用于根据所述接收模块401接收的所述第一交易信息进行模拟交易,以生成所述模拟交易对应的第一背书结果,其中,所述第一背书结果包括所述第一节点设备进行模拟交易成功后生成的签名;
发送模块403,用于向所述客户端发送所述生成模块402生成的所述第一背书结果,以使所述客户端向第二节点设备发送所述第一摘要信息以及所述第一背书结果;
所述接收模块401,还用于接收所述第二节点设备发送的用于生成完整区块链的所述第一摘要信息。
本实施例中,接收模块401接收客户端发送的第一交易信息,其中,所述第一交易信息包含第一基本信息以及第一摘要信息,所述第一基本信息包括交易数据和交易对象,生成模块402根据所述接收模块401接收的所述第一交易信息进行模拟交易,以生成所述模拟交易对应的第一背书结果,其中,所述第一背书结果包括所述第一节点设备进行模拟交易成功后生成的签名,发送模块403向所述客户端发送所述生成模块402生成的所述第一背书结果,以使所述客户端向第二节点设备发送所述第一摘要信息以及所述第一背书结果,所述接收模块401接收所述第二节点设备发送的用于生成完整区块链的所述第一摘要信息。
可见,本申请实施例中,提供了一种第一节点设备,首先第一节点设备接收客户端发送的第一交易信息,其中,第一交易信息包含第一基本信息以及第一摘要信息,第一交易信息用于指示第一节点设备进行模拟交易,第一节点设备根据第一交易信息进行模拟交易,以生成所述模拟交易对应的第一背书结果,然后第一节点设备向客户端发送第一背书结果,最后第一节点设备接收第二节点设备发送的用于生成完整区块链的第一摘要信息。通过上述方式,第一节点设备和第二节点设备之间只传递摘要信息,摘要信息是交易信息中的一部分内容,因此,第二节点设备并不会获取到完整的交易信息,从而有利于提升信息的安全性,同时保护了交易隐私。
可选地,在上述图13所对应的实施例的基础上,请参阅图14,本发明实施例提供的节点设备40的另一实施例中,所述节点设备40还包括获取模块404以及存储模块405;
所述获取模块404,用于所述接收模块401接收客户端发送的第一交易信息之后,根据所述第一交易信息获取交易对应关系,其中,所述交易对应关系用于指示所述第一摘要信息与所述第一交易信息之间的对应关系;
所述存储模块405,用于存储所述获取模块404获取的所述交易对应关系。
可见,本申请实施例中,第一节点设备还可以根据第一交易信息获取交易对应关系,并且在本地存储该交易对应关系。通过上述方式,第一节点设备能够在本地存储交易对应关系,从而能够根据摘要信息确定所对应的交易信息,以此提升方案的可行性和可操作性。
可选地,在上述图13或图14所对应的实施例的基础上,本发明实施例提供的节点设备40的另一实施例中,
所述获取模块404,还用于所述接收模块401接收所述第二节点设备发送的用于生成完整区块链的所述第一摘要信息之后,根据交易对应关系以及所述第一摘要信息获取所述第一交易信息,其中,所述交易对应关系用于指示所述第一摘要信息与所述第一交易信息之间的对应关系;
所述生成模块402,还用于根据所述获取模块404获取的所述第一交易信息生成完整的区块链,其中,所述区块链包含多个区块,所述区块是由所述第一节点设备根据所述第一交易信息生成的。
可见,本申请实施例中,介绍了第一节点设备组装区块链的一种方式,即每个第一节点设备根据交易对应关系以及第一摘要信息获取第一交易信息,并且利用第一交易信息可以分别在每个第一节点设备生成完整的区块链。通过上述方式,每个第一节点设备均可以分别组装区块链,无需相互进行通知,从而提升了方案的实用性。
可选地,在上述图13或图14所对应的实施例的基础上,本发明实施例提供的节点设备40的另一实施例中,
所述获取模块404,还用于所述接收模块401接收所述第二节点设备发送的用于生成完整区块链的所述第一摘要信息之后,根据交易对应关系以及所述第一摘要信息获取所述第一交易信息,其中,所述交易对应关系用于指示所述第一摘要信息与所述第一交易信息之间的对应关系;
所述生成模块402,还用于根据所述获取模块404获取的所述第一交易信息生成完整的区块链;
所述发送模块403,还用于向与所述第一节点设备属于相同节点设备的其它第一节点设备广播所述生成模块402生成的所述完整的区块链。
可见,本申请实施例中,介绍了另第一节点设备组装区块链的一种方式,即由一个第一节点设备根据第一交易信息生成完整的区块链,然后该第一节点设备会向其他的第一节点设备广播该完整的区块链。通过上述方式,只需一个第一节点设备组装完整的区块链即可,由此提升方案的灵活性和可行性。
可选地,在上述图13或图14所对应的实施例的基础上,本发明实施例提供的节点设备40的另一实施例中,
所述接收模块401,还用于接收所述客户端发送的第一交易信息之后,接收所述客户端发送的第二交易信息,其中,所述第二交易信息包含第二基本信息以及第二摘要信息;
所述生成模块402,还用于根据所述接收模块401接收的所述第二交易信息进行模拟交易,以生成所述模拟交易对应的第二背书结果,其中,所述第二背书结果为所述第一节点设备进行模拟交易成功后生成的签名;
所述发送模块403,还用于向所述客户端发送所述生成模块402生成的所述第二背书结果,其中,所述第二背书结果用于若满足预设交易条件,则所述客户端向所述第二节点设备发送所述第二摘要信息以及所述第二背书结果;
所述接收模块401,还用于接收所述第二节点设备根据所述第二背书结果发送的所述第二摘要信息,以使所述第二节点设备根据所述第一摘要信息和所述第二摘要信息确定交易顺序。
可见,本申请实施例中,第一节点设备还可以进行多次交易,在区块链中包含多个客户端,每个客户端又会进行多次不同的交易。通过上述方式,能够使得客户端根据用户需求进行多次交易,且每次交易的过程中,第一节点设备和第二节点设备之间只传递摘要信息,摘要信息是交易信息中的一部分内容,因此,第二节点设备并不会获取到完整的交易信息,从而有利于提升信息的安全性,同时保护了交易隐私。
下面对本申请中一个实施例对应的节点设备进行详细描述,请参阅图15,本申请实施例中的节点设备50包括:
接收模块501,用于接收客户端发送的第一摘要信息以及所述第一背书结果,其中,所述第一背书结果为所述第一节点设备进行模拟交易成功后生成的签名,所述第一摘要信息属于第一交易信息,所述第一交易信息还包括第一基本信息,所述第一基本信息包括交易数据和交易对象;
发送模块502,用于根据所述接收模块501接收的所述第一背书结果向所述第一节点设备发送所述第一摘要信息,以使所述第一节点设备根据所述第一摘要信息生成完整的区块链。
本实施例中,接收模块501接收客户端发送的第一摘要信息以及所述第一背书结果,其中,所述第一背书结果为所述第一节点设备进行模拟交易成功后生成的签名,所述第一摘要信息属于第一交易信息,所述第一交易信息还包括第一基本信息,所述第一基本信息包括交易数据和交易对象,发送模块502根据所述接收模块501接收的所述第一背书结果向所述第一节点设备发送所述第一摘要信息,以使所述第一节点设备根据所述第一摘要信息生成完整的区块链。
可见,本申请实施例中,首先第二节点设备接收接收客户端发送的第一摘要信息以及第一背书结果,其中,第一背书结果为第一节点设备进行模拟交易成功后生成的签名,第二节点设备根据第一背书结果向第一节点设备发送第一摘要信息,以使第一节点设备根据所述第一摘要信息生成完整的区块链。通过上述方式,第一节点设备和第二节点设备之间只传递摘要信息,摘要信息是交易信息中的一部分内容,因此,第二节点设备并不会获取到完整的交易信息,从而有利于提升信息的安全性,同时保护了交易隐私。
可选地,在上述图15所对应的实施例的基础上,本发明实施例提供的节点设备40的另一实施例中,
所述发送模块502,具体用于在所述第二节点设备根据所述第一背书结果确定所述当前交易为所述合法交易之后,所述第二节点设备向所述第一节点设备发送所述第一摘要信息。
可见,本申请实施例中,第二节点设备需要先判断当前交易是否为合法交易,如果是合法交易,那么可以向第一节点设备发送第一摘要信息。通过上述方式,可以提升方案的可靠性,在合法交易的前提下进行交易,从而有利于增加方案的实用性。
可选地,在上述图15所对应的实施例的基础上,请参阅图16,本发明实施例提供的节点设备50的另一实施例中,所述节点设备50还包括确定模块503;
所述接收模块501,还用于在接收所述客户端发送的第一摘要信息以及所述第一背书结果之后,若第二背书结果满足预设交易条件,则接收所述客户端发送的第二摘要信息以及所述第二背书结果,其中,所述第二背书结果为所述第一节点设备进行模拟交易成功后生成的签名;
所述确定模块503,用于根据所述第一摘要信息和所述接收模块501接收的所述第二摘要信息确定交易顺序;
所述发送模块502,还用于根据所述确定模块503确定的所述交易顺序以及所述第二背书结果向所述第一节点设备发送所述第二摘要信息,以使所述第一节点设备根据所述第二摘要信息生成完整的区块链。
可见,本申请实施例中,第二节点设备根据第一摘要信息和第二摘要信息确定交易顺序,当然,在实际应用中,可以根据多个摘要信息确定交易顺序。通过上述方式,根据一定的交易顺序使得第一节点设备生成相应的区块链,以此提升方案的可行性。
下面对本申请中一个实施例对应的节点设备进行详细描述,请参阅图17,本申请实施例中的客户端60包括:
发送模块601,用于向第一节点设备发送交易信息;
接收模块602,用于接收所述第一节点设备发送的背书结果,其中,所述背书结果为所述第一节点设备进行模拟交易成功后生成的签名;
所述发送模块601,用于若所述背书结果满足预设交易条件,则向第二节点设备发送所述交易信息以及所述接收模块602接收的所述背书结果,以使所述第二节点设备根据所述交易信息以及所述背书结果生成完整的区块链,其中,所述第二节点设备属于同一个交易小组。
本实施例中,发送模块601向第一节点设备发送交易信息,接收模块602接收所述第一节点设备发送的背书结果,其中,所述背书结果为所述第一节点设备进行模拟交易成功后生成的签名,若所述背书结果满足预设交易条件,则所述发送模块601向第二节点设备发送所述交易信息以及所述接收模块602接收的所述背书结果,以使所述第二节点设备根据所述交易信息以及所述背书结果生成完整的区块链,其中,所述第二节点设备属于同一个交易小组。
本申请实施例中,并不会使得所有第二节点设备都接收到交易信息,从而导致交易信息泄露给与交易不相关的第二节点设备,泄露交易隐私。本申请通过对第二节点设备进行分组,使得发送交易时只选择与本次交易相关的第二节点设备组别提供排序服务,从根本上屏蔽了与交易不相关的参与方获取任何交易信息,进而达到保护交易隐私的目的。
可选地,在上述图17所对应的实施例的基础上,请参阅图18,本发明实施例提供的客户端60的另一实施例中,所述客户端60还包括获取模块603和确定模块604;
所述获取模块603,用于所述发送模块601向第二节点设备发送所述交易信息以及所述背书结果之前,根据所述交易信息从配置信息中获取组别标识,其中,所述组别标识用于表示属于同一个交易小组的第二节点设备,所述配置信息为预先设置的交易信息与组别标识之间的对应关系;
所述确定模块604,用于根据所述获取模块603获取的所述组别标识确定属于同一个交易小组的第二节点设备。
可见,本申请实施例中,客户端可以通过配置信息中的组别标识,确定本次交易应该发给哪个小组的第二节点设备,与本次交易无关的第二节点设备是不会收到相关的交易信息。通过上述方式,可以达到保护交易隐私的目的,同时,通过预先定义的配置信息去确定属于同一个小组的第二节点设备,可以提升方案的可靠性。
可选地,在上述图18所对应的实施例的基础上,本发明实施例提供的客户端60的另一实施例中,所述客户端60还包括获取模块603和确定模块604;
所述获取模块603,用于所述发送模块601向第二节点设备发送所述交易信息以及所述背书结果之前,获取所述交易信息所对应的目标通道标识,其中,所述目标通道标识用于表示具有通信连接关系的所述第一节点设备,所述目标通道标识所对应的通道用于所述客户端与所述第一节点设备的进行数据交互;
所述确定模块604,用于根据组别对应关系确定所述获取模块603获取的所述目标通道标识所对应的同一个交易小组,其中,所述组别对应关系为通道标识与交易小组之间的对应关系;
所述获取模块603,用于获取所述确定模块604确定的属于同一个交易小组的第二节点设备。
可见,本申请实施例中,客户端可以获取交易信息所对应的目标通道标识,根据组别对应关系确定该目标通道标识所对应的同一个交易小组,由此获取属于同一个交易小组的第二节点设备。通过上述方式,能够确定本次交易应该发给哪个交易小组的第二节点设备,交易小组以外的第二节点设备是不会收到相关的交易信息。通过上述方式,可以达到保护交易隐私的目的,同时,提升了方案的灵活性和可靠性。
可选地,在上述图17或图18所对应的实施例的基础上,请参阅图19,本发明实施例提供的客户端60的另一实施例中,所述客户端还包括生成模块605;
所述生成模块605,用于若所述第二节点设备不属于同一个交易小组,则所述客户端生成提示消息,其中,所述提示消息用于指示交易出现错误。
可见,本申请实施例中,如果检测到第二节点设备不属于同一个交易小组,则客户端会生成一个提示消息,表示本次交易出现错误。通过上述方式,可以避免向不属于同一个交易小组的第二节点设备发送交易信息,进而提升方案的可靠性。此外,还能及时通知用户出现交易错误,从而便于及时进行错误定位和修复。
请参阅图20,图20为本申请实施例中区块链生成系统一个实施例示意图,如图所示,区块链生成系统包括客户端701、第一节点设备702以及第二节点设备703;
本实施例中,客户端701向第一节点设备702发送第一交易信息,其中,第一交易信息包含第一基本信息以及第一摘要信息,第一基本信息包括交易数据和交易对象,第一节点设备702根据第一交易信息进行模拟交易,第一节点设备702向客户端701发送第一背书结果,其中,第一背书结果包括第一节点设备702进行模拟交易成功后生成的签名,若第一背书结果满足预设交易条件,则客户端701向第二节点设备703发送第一摘要信息以及第一背书结果,第二节点设备703根据第一背书结果向第一节点设备702发送用于生成完整区块链的第一摘要信息。
本发明实施例还提供了另一种客户端,如图21所示,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该客户端运行于终端,终端可以为包括手机、平板电脑、个人数字助理(personal digitalassistant,PDA)、销售终端(point of sales,POS)、车载电脑等任意终端设备,以终端为手机为例:
图21示出的是与本发明实施例提供的终端相关的手机的部分结构的框图。参考图21,手机包括:射频(radio frequency,RF)电路810、存储器820、输入单元830、显示单元840、传感器850、音频电路860、无线保真(wireless fidelity,WiFi)模块870、处理器880、以及电源890等部件。本领域技术人员可以理解,图21中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图21对手机的各个构成部件进行具体的介绍:
RF电路810可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器880处理;另外,将设计上行的数据发送给基站。通常,RF电路810包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(low noiseamplifier,LNA)、双工器等。此外,RF电路810还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(globalsystem of mobile communication,GSM)、通用分组无线服务(general packet radioservice,GPRS)、码分多址(code division multiple access,CDMA)、宽带码分多址(wideband code division multiple access,WCDMA)、长期演进(long term evolution,LTE)、电子邮件、短消息服务(short messaging service,SMS)等。
存储器820可用于存储软件程序以及模块,处理器880通过运行存储在存储器820的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器820可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器820可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元830可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元830可包括触控面板831以及其他输入设备832。触控面板831,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板831上或在触控面板831附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板831可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器880,并能接收处理器880发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板831。除了触控面板831,输入单元830还可以包括其他输入设备832。具体地,其他输入设备832可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元840可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元840可包括显示面板841,可选的,可以采用液晶显示器(liquid crystaldisplay,LCD)、有机发光二极管(organic light-emitting diode,OLED)等形式来配置显示面板841。进一步的,触控面板831可覆盖显示面板841,当触控面板831检测到在其上或附近的触摸操作后,传送给处理器880以确定触摸事件的类型,随后处理器880根据触摸事件的类型在显示面板841上提供相应的视觉输出。虽然在图21中,触控面板981与显示面板841是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板831与显示面板841集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器850,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板841的亮度,接近传感器可在手机移动到耳边时,关闭显示面板841和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路860、扬声器861,传声器862可提供用户与手机之间的音频接口。音频电路860可将接收到的音频数据转换后的电信号,传输到扬声器861,由扬声器861转换为声音信号输出;另一方面,传声器862将收集的声音信号转换为电信号,由音频电路860接收后转换为音频数据,再将音频数据输出处理器880处理后,经RF电路810以发送给比如另一手机,或者将音频数据输出至存储器820以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块870可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图21示出了WiFi模块870,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器880是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器820内的软件程序和/或模块,以及调用存储在存储器820内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器880可包括一个或多个处理单元;可选的,处理器880可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器880中。
手机还包括给各个部件供电的电源890(比如电池),可选的,电源可以通过电源管理系统与处理器880逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本发明实施例中,该终端所包括的处理器880还具有以下功能:
向第一节点设备发送第一交易信息,其中,所述第一交易信息包含第一基本信息以及第一摘要信息,所述第一交易信息用于指示所述第一节点设备进行模拟交易,所述第一基本信息包括交易数据和交易对象;
接收所述第一节点设备发送的第一背书结果,其中,所述第一背书结果包括所述第一节点设备进行模拟交易成功后生成的签名;
若所述第一背书结果满足预设交易条件,则向第二节点设备发送所述第一摘要信息以及所述第一背书结果,以使所述第二节点设备根据所述第一背书结果向所述第一节点设备发送用于生成完整区块链的所述第一摘要信息。
可选地,处理器880具体用于执行如下步骤:
接收所述第一节点设备中N个节点设备发送的N个第一背书结果,其中,所述N为大于0的正整数;
若所述N大于或等于预设门限,则确定所述第一背书结果满足所述预设交易条件。
可选地,处理器880还用于执行如下步骤:
向所述第一节点设备发送第二交易信息,其中,所述第二交易信息包含第二基本信息以及第二摘要信息,所述第二交易信息用于指示所述第一节点设备进行模拟交易;
接收所述第一节点设备发送的第二背书结果,其中,所述第二背书结果为所述第一节点设备进行模拟交易成功后生成的签名;
若所述第二背书结果满足所述预设交易条件,则向所述第二节点设备发送所述第二摘要信息以及所述第二背书结果,以使所述第二节点设备根据所述第二背书结果向所述第一节点设备发送用于生成完整区块链的所述第二摘要信息,并根据所述第一摘要信息和所述第二摘要信息确定多个交易对应的交易顺序。
在本发明的另一个实施例中,该终端所包括的处理器880还具有以下功能:
向第一节点设备发送交易信息;
接收所述第一节点设备发送的背书结果,其中,所述背书结果为所述第一节点设备进行模拟交易成功后生成的签名;
若所述背书结果满足预设交易条件,则向第二节点设备发送所述交易信息以及所述背书结果,以使所述第二节点设备根据所述交易信息以及所述背书结果生成完整的区块链,其中,所述第二节点设备属于同一个交易小组。
可选地,处理器880还用于执行如下步骤:
根据所述交易信息从配置信息中获取组别标识,其中,所述组别标识用于表示属于同一个交易小组的第二节点设备,所述配置信息为预先设置的交易信息与组别标识之间的对应关系;
根据所述组别标识确定属于同一个交易小组的第二节点设备。
可选地,处理器880还用于执行如下步骤:
获取所述交易信息所对应的目标通道标识,其中,所述目标通道标识用于表示具有通信连接关系的所述第一节点设备,所述目标通道标识所对应的通道用于所述客户端与所述第一节点设备的进行数据交互;
根据组别对应关系确定所述目标通道标识所对应的同一个交易小组,其中,所述组别对应关系为通道标识与交易小组之间的对应关系;
获取属于同一个交易小组的第二节点设备。
可选地,处理器880还用于执行如下步骤:
若所述第二节点设备不属于同一个交易小组,则生成提示消息,其中,所述提示消息用于指示交易出现错误。
图22是本发明实施例提供的一种服务器结构示意图,该服务器900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)922(例如,一个或一个以上处理器)和存储器932,一个或一个以上存储应用程序942或数据944的存储介质930(例如一个或一个以上海量存储设备)。其中,存储器932和存储介质930可以是短暂存储或持久存储。存储在存储介质930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器922可以设置为与存储介质930通信,在服务器900上执行存储介质930中的一系列指令操作。
服务器900还可以包括一个或一个以上电源926,一个或一个以上有线或无线网络接口950,一个或一个以上输入输出接口958,和/或,一个或一个以上操作系统941,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由服务器所执行的步骤可以基于该图22所示的服务器结构。
CPU 922可以用于执行如下步骤:
接收客户端发送的第一交易信息,其中,所述第一交易信息包含第一基本信息以及第一摘要信息,所述第一基本信息包括交易数据和交易对象;
根据所述第一交易信息进行模拟交易,以生成所述模拟交易对应的第一背书结果,其中,所述第一背书结果包括所述第一节点设备进行模拟交易成功后生成的签名;
向所述客户端发送所述第一背书结果,以使所述客户端向第二节点设备发送所述第一摘要信息以及所述第一背书结果;
接收所述第二节点设备发送的用于生成完整区块链的所述第一摘要信息。
可选地,CPU 922还用于执行如下步骤:
根据所述第一交易信息获取交易对应关系,其中,所述交易对应关系用于指示所述第一摘要信息与所述第一交易信息之间的对应关系;
存储所述交易对应关系。
可选地,CPU 922还用于执行如下步骤:
根据交易对应关系以及所述第一摘要信息获取所述第一交易信息,其中,所述交易对应关系用于指示所述第一摘要信息与所述第一交易信息之间的对应关系;
根据所述第一交易信息生成完整的区块链,其中,所述区块链包含多个区块,所述区块是由所述第一节点设备根据所述第一交易信息生成的。
可选地,CPU 922还用于执行如下步骤:
根据交易对应关系以及所述第一摘要信息获取所述第一交易信息,其中,所述交易对应关系用于指示所述第一摘要信息与所述第一交易信息之间的对应关系;
根据所述第一交易信息生成完整的区块链;
向与所述第一节点设备属于相同节点设备的其它第一节点设备广播所述完整的区块链。
可选地,CPU 922还用于执行如下步骤:
接收所述客户端发送的第二交易信息,其中,所述第二交易信息包含第二基本信息以及第二摘要信息;
根据所述第二交易信息进行模拟交易,以生成所述模拟交易对应的第二背书结果,其中,所述第二背书结果为所述第一节点设备进行模拟交易成功后生成的签名;
向所述客户端发送所述第二背书结果,其中,所述第二背书结果用于若满足预设交易条件,则所述客户端向所述第二节点设备发送所述第二摘要信息以及所述第二背书结果;
接收所述第二节点设备根据所述第二背书结果发送的所述第二摘要信息,以使所述第二节点设备根据所述第一摘要信息和所述第二摘要信息确定交易顺序。
CPU 922可以用于执行如下步骤:
接收客户端发送的第一摘要信息以及所述第一背书结果,其中,所述第一背书结果为所述第一节点设备进行模拟交易成功后生成的签名,所述第一摘要信息属于第一交易信息,所述第一交易信息还包括第一基本信息,所述第一基本信息包括交易数据和交易对象;
根据所述第一背书结果向所述第一节点设备发送所述第一摘要信息,以使所述第一节点设备根据所述第一摘要信息生成完整的区块链。
可选地,CPU 922具体用于执行如下步骤:
在所述第二节点设备根据所述第一背书结果确定所述当前交易为所述合法交易之后,向所述第一节点设备发送所述第一摘要信息。
CPU 922可以用于执行如下步骤:
若第二背书结果满足预设交易条件,则接收所述客户端发送的第二摘要信息以及所述第二背书结果,其中,所述第二背书结果为所述第一节点设备进行模拟交易成功后生成的签名;
根据所述第一摘要信息和所述第二摘要信息确定交易顺序;
根据所述交易顺序以及所述第二背书结果向所述第一节点设备发送所述第二摘要信息,以使所述第一节点设备根据所述第二摘要信息生成完整的区块链。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(Digital Subscriber Line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (35)
1.一种区块链生成的方法,其特征在于,所述方法应用于客户端,包括:
所述客户端向第一节点设备发送第一交易信息,其中,所述第一交易信息包含第一基本信息以及第一摘要信息,所述第一交易信息用于指示所述第一节点设备进行模拟交易,所述第一基本信息包括交易数据和交易对象;
所述客户端接收所述第一节点设备发送的第一背书结果,其中,所述第一背书结果包括所述第一节点设备进行模拟交易成功后生成的签名;
若所述第一背书结果满足预设交易条件,则所述客户端向第二节点设备发送所述第一摘要信息以及所述第一背书结果,以使所述第二节点设备根据所述第一背书结果向所述第一节点设备发送用于生成完整区块链的所述第一摘要信息。
2.根据权利要求1所述的方法,其特征在于,所述客户端接收所述第一节点设备发送的第一背书结果,包括:
所述客户端接收所述第一节点设备中N个节点设备发送的N个第一背书结果,其中,所述N为大于0的正整数;
所述客户端接收所述第一节点设备发送的第一背书结果之后,所述方法还包括:
若所述N大于或等于预设门限,则所述客户端确定所述第一背书结果满足所述预设交易条件。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述客户端向所述第一节点设备发送第二交易信息,其中,所述第二交易信息包含第二基本信息以及第二摘要信息,所述第二交易信息用于指示所述第一节点设备进行模拟交易;
所述客户端接收所述第一节点设备发送的第二背书结果,其中,所述第二背书结果为所述第一节点设备进行模拟交易成功后生成的签名;
若所述第二背书结果满足所述预设交易条件,则所述客户端向所述第二节点设备发送所述第二摘要信息以及所述第二背书结果,以使所述第二节点设备根据所述第二背书结果向所述第一节点设备发送用于生成完整区块链的所述第二摘要信息,并根据所述第一摘要信息和所述第二摘要信息确定多个交易对应的交易顺序。
4.一种区块链生成的方法,其特征在于,所述方法应用于第一节点设备,所述方法包括:
所述第一节点设备接收客户端发送的第一交易信息,其中,所述第一交易信息包含第一基本信息以及第一摘要信息,所述第一基本信息包括交易数据和交易对象;
所述第一节点设备根据所述第一交易信息进行模拟交易,以生成所述模拟交易对应的第一背书结果,其中,所述第一背书结果包括所述第一节点设备进行模拟交易成功后生成的签名;
所述第一节点设备向所述客户端发送所述第一背书结果,以使所述客户端向第二节点设备发送所述第一摘要信息以及所述第一背书结果;
所述第一节点设备接收所述第二节点设备发送的用于生成完整区块链的所述第一摘要信息。
5.根据权利要求4所述的方法,其特征在于,所述第一节点设备接收客户端发送的第一交易信息之后,所述方法还包括:
所述第一节点设备根据所述第一交易信息获取交易对应关系,其中,所述交易对应关系用于指示所述第一摘要信息与所述第一交易信息之间的对应关系;
所述第一节点设备存储所述交易对应关系。
6.根据权利要求4或5所述的方法,其特征在于,所述第一节点设备接收所述第二节点设备发送的用于生成完整区块链的所述第一摘要信息之后,所述方法还包括:
所述第一节点设备根据交易对应关系以及所述第一摘要信息获取所述第一交易信息,其中,所述交易对应关系用于指示所述第一摘要信息与所述第一交易信息之间的对应关系;
所述第一节点设备根据所述第一交易信息生成完整的区块链,其中,所述区块链包含多个区块,所述区块是由所述第一节点设备根据所述第一交易信息生成的。
7.根据权利要求4或5所述的方法,其特征在于,所述第一节点设备接收所述第二节点设备发送的用于生成完整区块链的所述第一摘要信息之后,所述方法还包括:
所述第一节点设备根据交易对应关系以及所述第一摘要信息获取所述第一交易信息,其中,所述交易对应关系用于指示所述第一摘要信息与所述第一交易信息之间的对应关系;
所述第一节点设备根据所述第一交易信息生成完整的区块链;
所述第一节点设备向与所述第一节点设备属于相同节点设备的其它第一节点设备广播所述完整的区块链。
8.根据权利要求4至5中任一项所述的方法,其特征在于,所述接收所述客户端发送的第一交易信息之后,所述方法还包括:
所述第一节点设备接收所述客户端发送的第二交易信息,其中,所述第二交易信息包含第二基本信息以及第二摘要信息;
所述第一节点设备根据所述第二交易信息进行模拟交易,以生成所述模拟交易对应的第二背书结果,其中,所述第二背书结果为所述第一节点设备进行模拟交易成功后生成的签名;
所述第一节点设备向所述客户端发送所述第二背书结果,其中,所述第二背书结果用于若满足预设交易条件,则所述客户端向所述第二节点设备发送所述第二摘要信息以及所述第二背书结果;
所述第一节点设备接收所述第二节点设备根据所述第二背书结果发送的所述第二摘要信息,以使所述第二节点设备根据所述第一摘要信息和所述第二摘要信息确定交易顺序。
9.一种区块链生成的方法,其特征在于,所述方法应用于第二节点设备,所述方法包括:
所述第二节点设备接收客户端发送的第一摘要信息以及所述第一背书结果,其中,所述第一背书结果为所述第一节点设备进行模拟交易成功后生成的签名,所述第一摘要信息属于第一交易信息,所述第一交易信息还包括第一基本信息,所述第一基本信息包括交易数据和交易对象;
所述第二节点设备根据所述第一背书结果向所述第一节点设备发送所述第一摘要信息,以使所述第一节点设备根据所述第一摘要信息生成完整的区块链。
10.根据权利要求9所述的方法,其特征在于,所述第二节点设备根据所述第一背书结果向所述第一节点设备发送所述第一摘要信息,包括:
在所述第二节点设备根据所述第一背书结果确定当前交易为合法交易之后,所述第二节点设备向所述第一节点设备发送所述第一摘要信息。
11.根据权利要求9所述的方法,其特征在于,所述第二节点设备接收所述客户端发送的第一摘要信息以及所述第一背书结果之后,所述方法还包括:
若第二背书结果满足预设交易条件,则所述第二节点设备接收所述客户端发送的第二摘要信息以及所述第二背书结果,其中,所述第二背书结果为所述第一节点设备进行模拟交易成功后生成的签名;
所述第二节点设备根据所述第一摘要信息和所述第二摘要信息确定交易顺序;
所述第二节点设备根据所述交易顺序以及所述第二背书结果向所述第一节点设备发送所述第二摘要信息,以使所述第一节点设备根据所述第二摘要信息生成完整的区块链。
12.一种区块链生成的方法,其特征在于,所述方法应用于客户端,所述方法包括:
所述客户端向第一节点设备发送交易信息;
所述客户端接收所述第一节点设备发送的背书结果,其中,所述背书结果为所述第一节点设备进行模拟交易成功后生成的签名;
若所述背书结果满足预设交易条件,则所述客户端向第二节点设备发送所述交易信息以及所述背书结果,以使所述第二节点设备根据所述交易信息以及所述背书结果生成完整的区块链,其中,所述第二节点设备属于同一个交易小组;
所述预设交易条件包括:当所述客户端收到M个对等节点peer中的N个对等节点发送的所述背书结果时,认为满足所述预设交易条件,其中,N大于0且小于或等于M。
13.根据权利要求12所述的方法,其特征在于,所述客户端向第二节点设备发送所述交易信息以及所述背书结果之前,所述方法还包括:
所述客户端根据所述交易信息从配置信息中获取组别标识,其中,所述组别标识用于表示属于同一个交易小组的第二节点设备,所述配置信息为预先设置的交易信息与组别标识之间的对应关系;
所述客户端根据所述组别标识确定属于同一个交易小组的第二节点设备。
14.根据权利要求12所述的方法,其特征在于,所述客户端向第二节点设备发送所述交易信息以及所述背书结果之前,所述方法还包括:
所述客户端获取所述交易信息所对应的目标通道标识,其中,所述目标通道标识用于表示具有通信连接关系的所述第一节点设备,所述目标通道标识所对应的通道用于所述客户端与所述第一节点设备的进行数据交互;
所述客户端根据组别对应关系确定所述目标通道标识所对应的同一个交易小组,其中,所述组别对应关系为通道标识与交易小组之间的对应关系;
所述客户端获取属于同一个交易小组的第二节点设备。
15.根据权利要求12至14中任一项所述的方法,其特征在于,所述方法还包括:
若所述第二节点设备不属于同一个交易小组,则所述客户端生成提示消息,其中,所述提示消息用于指示交易出现错误。
16.一种区块链生成装置,其特征在于,所述区块链生成装置应用于客户端,包括:
发送模块,用于向第一节点设备发送第一交易信息,其中,所述第一交易信息包含第一基本信息以及第一摘要信息,所述第一交易信息用于指示所述第一节点设备进行模拟交易,所述第一基本信息包括交易数据和交易对象;
接收模块,用于接收所述第一节点设备发送的第一背书结果,其中,所述第一背书结果包括所述第一节点设备进行模拟交易成功后生成的签名;
所述发送模块,用于若所述接收模块接收的所述第一背书结果满足预设交易条件,则向第二节点设备发送所述第一摘要信息以及所述第一背书结果,以使所述第二节点设备根据所述第一背书结果向所述第一节点设备发送用于生成完整区块链的所述第一摘要信息。
17.根据权利要求16所述的区块链生成装置,其特征在于,所述区块链生成装置还包括确定模块;
所述接收模块,具体用于接收所述第一节点设备中N个节点设备发送的N个第一背书结果,其中,所述N为大于0的正整数;
所述确定模块,用于所述接收模块接收所述第一节点设备发送的第一背书结果之后,若所述N大于或等于预设门限,则确定所述第一背书结果满足所述预设交易条件。
18.根据权利要求16或17所述的区块链生成装置,其特征在于,
所述发送模块,还用于向所述第一节点设备发送第二交易信息,其中,所述第二交易信息包含第二基本信息以及第二摘要信息,所述第二交易信息用于指示所述第一节点设备进行模拟交易;
所述接收模块,还用于接收所述第一节点设备发送的第二背书结果,其中,所述第二背书结果为所述第一节点设备进行模拟交易成功后生成的签名;
所述发送模块,还用于若所述接收模块接收的所述第二背书结果满足所述预设交易条件,则向所述第二节点设备发送所述第二摘要信息以及所述第二背书结果,以使所述第二节点设备根据所述第二背书结果向所述第一节点设备发送用于生成完整区块链的所述第二摘要信息,并根据所述第一摘要信息和所述第二摘要信息确定多个交易对应的交易顺序。
19.一种区块链生成装置,其特征在于,所述区块链生成装置应用于第一节点设备,包括:
接收模块,用于接收客户端发送的第一交易信息,其中,所述第一交易信息包含第一基本信息以及第一摘要信息,所述第一基本信息包括交易数据和交易对象;
生成模块,用于根据所述接收模块接收的所述第一交易信息进行模拟交易,以生成所述模拟交易对应的第一背书结果,其中,所述第一背书结果包括所述第一节点设备进行模拟交易成功后生成的签名;
发送模块,用于向所述客户端发送所述生成模块生成的所述第一背书结果,以使所述客户端向第二节点设备发送所述第一摘要信息以及所述第一背书结果;
所述接收模块,用于接收所述第二节点设备发送的用于生成完整区块链的所述第一摘要信息。
20.根据权利要求19所述的区块链生成装置,其特征在于,所述区块链生成装置还包括获取模块以及存储模块;
所述获取模块,用于所述接收模块接收客户端发送的第一交易信息之后,根据所述第一交易信息获取交易对应关系,其中,所述交易对应关系用于指示所述第一摘要信息与所述第一交易信息之间的对应关系;
所述存储模块,用于存储所述获取模块获取的所述交易对应关系。
21.根据权利要求20所述的区块链生成装置,其特征在于,
所述获取模块,还用于所述接收模块接收所述第二节点设备发送的用于生成完整区块链的所述第一摘要信息之后,根据交易对应关系以及所述第一摘要信息获取所述第一交易信息,其中,所述交易对应关系用于指示所述第一摘要信息与所述第一交易信息之间的对应关系;
所述生成模块,还用于根据所述获取模块获取的所述第一交易信息生成完整的区块链,其中,所述区块链包含多个区块,所述区块是由所述第一节点设备根据所述第一交易信息生成的。
22.根据权利要求20所述的区块链生成装置,其特征在于,
所述获取模块,还用于所述接收模块接收所述第二节点设备发送的用于生成完整区块链的所述第一摘要信息之后,根据交易对应关系以及所述第一摘要信息获取所述第一交易信息,其中,所述交易对应关系用于指示所述第一摘要信息与所述第一交易信息之间的对应关系;
所述生成模块,还用于根据所述获取模块获取的所述第一交易信息生成完整的区块链;
所述发送模块,还用于向与所述第一节点设备属于相同节点设备的其它第一节点设备广播所述生成模块生成的所述完整的区块链。
23.根据权利要求19至20中任一项所述的区块链生成装置,其特征在于,
所述接收模块,还用于接收所述客户端发送的第一交易信息之后,接收所述客户端发送的第二交易信息,其中,所述第二交易信息包含第二基本信息以及第二摘要信息;
所述生成模块,还用于根据所述接收模块接收的所述第二交易信息进行模拟交易,以生成所述模拟交易对应的第二背书结果,其中,所述第二背书结果为所述第一节点设备进行模拟交易成功后生成的签名;
所述发送模块,还用于向所述客户端发送所述生成模块生成的所述第二背书结果,其中,所述第二背书结果用于若满足预设交易条件,则所述客户端向所述第二节点设备发送所述第二摘要信息以及所述第二背书结果;
所述接收模块,还用于接收所述第二节点设备根据所述第二背书结果发送的所述第二摘要信息,以使所述第二节点设备根据所述第一摘要信息和所述第二摘要信息确定交易顺序。
24.一种区块链生成装置,其特征在于,应用于第二节点设备,包括:
接收模块,用于接收客户端发送的第一摘要信息以及所述第一背书结果,其中,所述第一背书结果为第一节点设备进行模拟交易成功后生成的签名,所述第一摘要信息属于第一交易信息,所述第一交易信息还包括第一基本信息,所述第一基本信息包括交易数据和交易对象;
发送模块,用于根据所述接收模块接收的所述第一背书结果向所述第一节点设备发送所述第一摘要信息,以使所述第一节点设备根据所述第一摘要信息生成完整的区块链。
25.根据权利要求24所述的区块链生成装置,其特征在于,
所述发送模块,具体用于在所述第二节点设备根据所述第一背书结果确定当前交易为合法交易之后,所述第二节点设备向所述第一节点设备发送所述第一摘要信息。
26.根据权利要求24所述的区块链生成装置,其特征在于,所述区块链生成装置还包括确定模块;
所述接收模块,还用于在接收所述客户端发送的第一摘要信息以及所述第一背书结果之后,若第二背书结果满足预设交易条件,则接收所述客户端发送的第二摘要信息以及所述第二背书结果,其中,所述第二背书结果为所述第一节点设备进行模拟交易成功后生成的签名;
所述确定模块,用于根据所述第一摘要信息和所述接收模块接收的所述第二摘要信息确定交易顺序;
所述发送模块,还用于根据所述确定模块确定的所述交易顺序以及所述第二背书结果向所述第一节点设备发送所述第二摘要信息,以使所述第一节点设备根据所述第二摘要信息生成完整的区块链。
27.一种区块链生成装置,其特征在于,应用于客户端,包括:
发送模块,用于向第一节点设备发送交易信息;
接收模块,用于接收所述第一节点设备发送的背书结果,其中,所述背书结果为所述第一节点设备进行模拟交易成功后生成的签名;
所述发送模块,用于若所述背书结果满足预设交易条件,则向第二节点设备发送所述交易信息以及所述接收模块接收的所述背书结果,以使所述第二节点设备根据所述交易信息以及所述背书结果生成完整的区块链,其中,所述第二节点设备属于同一个交易小组。
28.根据权利要求27所述的区块链生成装置,其特征在于,所述区块链生成装置还包括获取模块和确定模块;
所述获取模块,用于所述发送模块向第二节点设备发送所述交易信息以及所述背书结果之前,根据所述交易信息从配置信息中获取组别标识,其中,所述组别标识用于表示属于同一个交易小组的第二节点设备,所述配置信息为预先设置的交易信息与组别标识之间的对应关系;
所述确定模块,用于根据所述获取模块获取的所述组别标识确定属于同一个交易小组的第二节点设备。
29.根据权利要求27所述的区块链生成装置,其特征在于,所述区块链生成装置还包括获取模块和确定模块;
所述获取模块,用于所述发送模块向第二节点设备发送所述交易信息以及所述背书结果之前,获取所述交易信息所对应的目标通道标识,其中,所述目标通道标识用于表示具有通信连接关系的所述第一节点设备,所述目标通道标识所对应的通道用于所述客户端与所述第一节点设备的进行数据交互;
所述确定模块,用于根据组别对应关系确定所述获取模块获取的所述目标通道标识所对应的同一个交易小组,其中,所述组别对应关系为通道标识与交易小组之间的对应关系;
所述获取模块,用于获取所述确定模块确定的属于同一个交易小组的第二节点设备。
30.根据权利要求27至29中任一项所述的区块链生成装置,其特征在于,所述区块链生成装置还包括生成模块;
所述生成模块,用于若所述第二节点设备不属于同一个交易小组,则所述客户端生成提示消息,其中,所述提示消息用于指示交易出现错误。
31.一种区块链生成装置,其特征在于,所述区块链生成装置应用于客户端,包括:存储器、收发器、处理器以及总线系统;
其中,所述存储器用于存储程序和指令;
所述收发器用于在所述处理器的控制下接收或发送信息;
所述处理器用于执行所述存储器中的程序;
所述总线系统用于连接所述存储器、所述收发器以及所述处理器,以使所述存储器、所述收发器以及所述处理器进行通信;
所述处理器用于调用所述存储器中的程序指令,执行如权利要求1至3中任一项所述的方法,或执行如权利要求12至15中任一项所述的方法。
32.一种区块链生成装置,其特征在于,所述区块链生成装置应用于第一节点设备,包括:存储器、收发器、处理器以及总线系统;
其中,所述存储器用于存储程序和指令;
所述收发器用于在所述处理器的控制下接收或发送信息;
所述处理器用于执行所述存储器中的程序;
所述总线系统用于连接所述存储器、所述收发器以及所述处理器,以使所述存储器、所述收发器以及所述处理器进行通信;
所述处理器用于调用所述存储器中的程序指令,执行如权利要求4至8中任一项所述的方法。
33.一种区块链生成装置,其特征在于,所述区块链生成装置应用于第二节点设备,包括:存储器、收发器、处理器以及总线系统;
其中,所述存储器用于存储程序和指令;
所述收发器用于在所述处理器的控制下接收或发送信息;
所述处理器用于执行所述存储器中的程序;
所述总线系统用于连接所述存储器、所述收发器以及所述处理器,以使所述存储器、所述收发器以及所述处理器进行通信;
所述处理器用于调用所述存储器中的程序指令,执行如权利要求9至11中任一项所述的方法。
34.一种区块链生成系统,其特征在于,所述区块链生成系统包括客户端、第一节点设备以及第二节点设备;
所述客户端向所述第一节点设备发送第一交易信息,其中,所述第一交易信息包含第一基本信息以及第一摘要信息,所述第一基本信息包括交易数据和交易对象;
所述第一节点设备根据所述第一交易信息进行模拟交易;
所述第一节点设备向所述客户端发送第一背书结果,其中,所述第一背书结果包括所述第一节点设备进行模拟交易成功后生成的签名;
若所述第一背书结果满足预设交易条件,则所述客户端向所述第二节点设备发送所述第一摘要信息以及所述第一背书结果;
所述第二节点设备根据所述第一背书结果向所述第一节点设备发送用于生成完整区块链的所述第一摘要信息。
35.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1至3中任一项所述的方法,或执行如权利要求4至8中任一项所述的方法,或执行如权利要求9至11中任一项所述的方法,或执行如权利要求12至15中任一项所述的方法。
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201810154027.4A CN110163004B (zh) | 2018-02-14 | 2018-02-14 | 一种区块链生成的方法、相关设备及系统 |
| PCT/CN2019/074531 WO2019158001A1 (zh) | 2018-02-14 | 2019-02-02 | 一种区块链生成的方法、相关设备及系统 |
| EP19753677.4A EP3742323B1 (en) | 2018-02-14 | 2019-02-02 | Blockchain generating method, and related device and system |
| US16/992,455 US11902450B2 (en) | 2018-02-14 | 2020-08-13 | Blockchain generation method and system, and related device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201810154027.4A CN110163004B (zh) | 2018-02-14 | 2018-02-14 | 一种区块链生成的方法、相关设备及系统 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN110163004A CN110163004A (zh) | 2019-08-23 |
| CN110163004B true CN110163004B (zh) | 2023-02-03 |
Family
ID=67619729
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201810154027.4A Active CN110163004B (zh) | 2018-02-14 | 2018-02-14 | 一种区块链生成的方法、相关设备及系统 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US11902450B2 (zh) |
| EP (1) | EP3742323B1 (zh) |
| CN (1) | CN110163004B (zh) |
| WO (1) | WO2019158001A1 (zh) |
Families Citing this family (23)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11790368B2 (en) * | 2019-03-05 | 2023-10-17 | International Business Machines Corporation | Auto-evolving database endorsement policies |
| US12210511B2 (en) | 2019-03-05 | 2025-01-28 | International Business Machines Corporation | Smart contract endorsement architecture |
| US20210051019A1 (en) * | 2019-08-13 | 2021-02-18 | Realtime Applications, Inc. | Blockchain communication architecture |
| CN110581887B (zh) * | 2019-09-02 | 2021-03-30 | 北京海益同展信息科技有限公司 | 数据处理方法、装置、区块链节点及存储介质 |
| CN110704428A (zh) * | 2019-09-06 | 2020-01-17 | 深圳壹账通智能科技有限公司 | 区块链的数据索引方法、装置、计算机设备和存储介质 |
| US11488099B2 (en) | 2019-10-18 | 2022-11-01 | International Business Machines Corporation | Supply-chain simulation |
| CN110838924B (zh) * | 2019-11-19 | 2022-04-12 | 北京沃东天骏信息技术有限公司 | 区块传输方法及装置 |
| CN110992030A (zh) * | 2019-12-03 | 2020-04-10 | 银清科技有限公司 | 基于超级账本fabric的交易方法及系统 |
| CN111260349B (zh) * | 2020-01-10 | 2023-10-03 | 中国工商银行股份有限公司 | 基于区块链的实时支付方法及系统 |
| CN115136178A (zh) * | 2020-02-21 | 2022-09-30 | 松下电器(美国)知识产权公司 | 控制方法、控制装置及程序 |
| CN111385751B (zh) * | 2020-02-28 | 2021-09-14 | 腾讯科技(深圳)有限公司 | 信息发送方法、装置、终端及可读存储介质 |
| CN111464500B (zh) * | 2020-03-06 | 2023-03-17 | 深圳壹账通智能科技有限公司 | 协议数据共享的方法、装置、设备及存储介质 |
| CN111414633B (zh) * | 2020-03-18 | 2023-07-21 | 联想(北京)有限公司 | 一种信息处理方法和装置 |
| JP7663565B2 (ja) * | 2020-04-24 | 2025-04-16 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 制御方法、制御装置、および、プログラム |
| JPWO2021229691A1 (zh) * | 2020-05-12 | 2021-11-18 | ||
| CN111680111B (zh) * | 2020-05-29 | 2023-09-01 | 泰康保险集团股份有限公司 | 记账方法及装置、计算机设备及计算机可读存储介质 |
| CN111797160B (zh) * | 2020-06-16 | 2023-05-02 | 苏宁金融科技(南京)有限公司 | 共享智能合约的方法、系统及电子设备 |
| CA3091660A1 (en) * | 2020-08-31 | 2021-11-03 | Polymath Inc. | Method, system, and medium for blockchain-enabled atomic settlement |
| CN112613861B (zh) * | 2020-12-18 | 2024-02-02 | 国网浙江省电力有限公司嘉兴供电公司 | 一种基于联盟链的电力预售交易方法、装置及系统 |
| CN112671908B (zh) * | 2020-12-25 | 2023-03-21 | 成都质数斯达克科技有限公司 | 网络管理方法、装置、电子设备及可读存储介质 |
| CN115883094B (zh) * | 2021-09-28 | 2026-01-20 | 中国移动通信有限公司研究院 | 区块链共识方法、区块生成方法、节点及客户端 |
| US12045826B1 (en) | 2023-02-28 | 2024-07-23 | Blockaid Ltd | Techniques for decentralized application discovery and scanning |
| US11930043B1 (en) | 2023-02-28 | 2024-03-12 | Blockaid Ltd | Techniques for digital wallet integration and for scanning transactions using integrated modules |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN106372941A (zh) * | 2016-08-31 | 2017-02-01 | 江苏通付盾科技有限公司 | 基于区块链的ca认证管理方法、装置及系统 |
| CN106503995A (zh) * | 2016-11-17 | 2017-03-15 | 中国银行股份有限公司 | 一种数据分享方法、源节点、目标节点及系统 |
| WO2017182601A1 (de) * | 2016-04-22 | 2017-10-26 | Bundesdruckerei Gmbh | Elektronisches verfahren zur kryptographisch gesicherten überweisung eines betrags einer kryptowährung |
| CN107493162A (zh) * | 2017-07-25 | 2017-12-19 | 中国联合网络通信集团有限公司 | 区块链节点的实现方法及装置 |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| SG11201806404SA (en) * | 2016-02-04 | 2018-08-30 | Nasdaq Tech Ab | Systems and methods for storing and sharing transactional data using distributed computer systems |
| CA3015697C (en) * | 2016-02-29 | 2022-11-22 | Securekey Technologies Inc. | Systems and methods for distributed identity verification |
| WO2018020944A1 (ja) * | 2016-07-28 | 2018-02-01 | 日本電気株式会社 | 掲示板情報管理システム |
| CN106656974B (zh) * | 2016-10-17 | 2019-07-16 | 江苏通付盾科技有限公司 | 区块链的分组共识方法及系统 |
| CN107395557B (zh) * | 2017-03-28 | 2020-05-15 | 创新先进技术有限公司 | 一种业务请求的处理方法及装置 |
| CN107451874A (zh) * | 2017-07-27 | 2017-12-08 | 武汉天喻信息产业股份有限公司 | 基于区块链的电子发票综合处理方法及系统 |
| US11108553B2 (en) * | 2019-04-05 | 2021-08-31 | International Business Machines Corporation | Database transaction guaranteed commitment |
| US12155764B2 (en) * | 2019-10-29 | 2024-11-26 | International Business Machines Corporation | Optimal endorser node determination based on state |
| US20210209682A1 (en) * | 2020-01-07 | 2021-07-08 | International Business Machines Corporation | Artificial Intelligence (AI) Enabled Blockchain Based Trading Partner Onboarding Optimization |
| US11874804B2 (en) * | 2020-02-05 | 2024-01-16 | International Business Machines Corporation | Load balancing based blockchain transaction submission |
| US11362826B2 (en) * | 2020-03-18 | 2022-06-14 | International Business Machines Corporation | Endorsement process for non-deterministic application |
-
2018
- 2018-02-14 CN CN201810154027.4A patent/CN110163004B/zh active Active
-
2019
- 2019-02-02 EP EP19753677.4A patent/EP3742323B1/en active Active
- 2019-02-02 WO PCT/CN2019/074531 patent/WO2019158001A1/zh not_active Ceased
-
2020
- 2020-08-13 US US16/992,455 patent/US11902450B2/en active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2017182601A1 (de) * | 2016-04-22 | 2017-10-26 | Bundesdruckerei Gmbh | Elektronisches verfahren zur kryptographisch gesicherten überweisung eines betrags einer kryptowährung |
| CN106372941A (zh) * | 2016-08-31 | 2017-02-01 | 江苏通付盾科技有限公司 | 基于区块链的ca认证管理方法、装置及系统 |
| CN106503995A (zh) * | 2016-11-17 | 2017-03-15 | 中国银行股份有限公司 | 一种数据分享方法、源节点、目标节点及系统 |
| CN107493162A (zh) * | 2017-07-25 | 2017-12-19 | 中国联合网络通信集团有限公司 | 区块链节点的实现方法及装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| EP3742323A4 (en) | 2021-03-17 |
| WO2019158001A1 (zh) | 2019-08-22 |
| US20200374133A1 (en) | 2020-11-26 |
| CN110163004A (zh) | 2019-08-23 |
| EP3742323A1 (en) | 2020-11-25 |
| US11902450B2 (en) | 2024-02-13 |
| EP3742323B1 (en) | 2024-08-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN110163004B (zh) | 一种区块链生成的方法、相关设备及系统 | |
| CN108694668B (zh) | 数字资产交易方法、装置、介质以及设备 | |
| US11601439B2 (en) | Verifiable outsourced ledgers | |
| CN110545190B (zh) | 一种签名处理的方法、相关装置以及设备 | |
| TWI713855B (zh) | 憑證管理方法及系統 | |
| US20190236300A1 (en) | Service processing method and apparatus, data sharing system, and storage medium | |
| CN111475841B (zh) | 一种访问控制的方法、相关装置、设备、系统及存储介质 | |
| CN108696514A (zh) | 资源收集任务管理方法、装置、存储介质及系统 | |
| EP3526721A1 (en) | Method, device and system for validating sensitive user data transactions within trusted circle | |
| CN110674222B (zh) | 一种数据共享方法、装置、设备及介质 | |
| CN110601858B (zh) | 证书管理方法及装置 | |
| CN114092101B (zh) | 交易验证方法、装置、存储介质及电子设备 | |
| WO2020258857A1 (zh) | 一种基于区块链智能合约的转账方法及系统 | |
| CN112035897A (zh) | 区块链存证方法和相关装置 | |
| CN115328645A (zh) | 计算任务调度方法、计算任务调度装置及电子设备 | |
| JP2022539283A (ja) | ブロックチェーンとは異なる形式のストレージに格納されるブロックチェーンデータを検証する方法およびシステム | |
| CN114844629A (zh) | 区块链账户的验证方法、装置、计算机设备及存储介质 | |
| CN110585733A (zh) | 一种虚拟资产交易的方法以及相关装置 | |
| CN111476562B (zh) | 一种虚拟资源转移方法、装置、电子设备以及存储介质 | |
| CN111259452A (zh) | 一种基于区块链的数据管理方法以及相关装置 | |
| WO2023134259A1 (zh) | 基于点对点的数据处理方法、系统、计算设备及存储介质 | |
| CN120833158A (zh) | 一种虚拟资源调度方法、装置、存储介质及设备 | |
| CN118827664A (zh) | 一种多方协同交互方法、管控台及相关产品 | |
| HK40016929B (zh) | 一种签名处理的方法、相关装置以及设备 | |
| HK40016929A (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 |