CN110197433B - 数值转移方法、装置及系统 - Google Patents
数值转移方法、装置及系统 Download PDFInfo
- Publication number
- CN110197433B CN110197433B CN201811250024.7A CN201811250024A CN110197433B CN 110197433 B CN110197433 B CN 110197433B CN 201811250024 A CN201811250024 A CN 201811250024A CN 110197433 B CN110197433 B CN 110197433B
- Authority
- CN
- China
- Prior art keywords
- data set
- transaction
- account
- node
- value transfer
- 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; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/389—Keeping log of transactions for guaranteeing non-repudiation of a transaction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/10—Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- 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; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- 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/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/386—Payment protocols; Details thereof using messaging services or messaging apps
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- 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/3236—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 using cryptographic hash functions
- H04L9/3239—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 using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- 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/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q2220/00—Business processing using cryptography
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Theoretical Computer Science (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Signal Processing (AREA)
- Marketing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Human Resources & Organizations (AREA)
- Entrepreneurship & Innovation (AREA)
- Development Economics (AREA)
- Technology Law (AREA)
- Data Mining & Analysis (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Computing Systems (AREA)
Abstract
本发明涉及了一种数值转移方法、装置及系统,应用于互联网技术领域。所述数值转移方法包括:当接收到交易发起方的数值转移请求时,在交易节点上生成交易参与方对应的非完整数据集;合并交易参与方对应的非完整数据集得到完整数据集,所述完整数据集包括所有交易参与方进行数值转移前后的加密账户数值;请求第三方节点对所述完整数据集进行完整性验证,得到由第三方背书的账户数据集;当区块链网络中的区块链节点对所述账户数据集达成共识时,根据达成共识的账户数据集在区块链节点上进行本地账本写入。采用本发明所提供的数值转移方法、装置及系统解决了现有技术中数值转移的私密性不足的技术问题。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种数值转移方法、装置及系统。
背景技术
随着互联网技术的发展,人们可以足不出户地借由互联网进行数值转移。例如,将账户A中的若干金额转移至账户B。
基于区块链网络所实现的数值转移过程中,以上述例子进行说明,当接收到账户A向账户B发起的转账请求时,便根据转账请求将账户A中的若干金额转移至账户B,并通过区块链网络中的区块链节点记录本次交易。
然而,无论账户A还是账户B,账户中的金额均以明文形式存在,而实际的应用场景中,交易参与方可能会有对数据隐私的需求,即期望账户中的金额无法被其余任何人查看,因此,如何在保证数据隐私的前提下,基于区块链网络进行数值转移的问题亟待解决。
发明内容
为了解决相关技术中数值转移的私密性不足的技术问题,本发明各实施例提供一种数值转移方法、装置及系统。
其中,本发明所采用的技术方案为:
第一方面,一种数值转移方法,包括:当接收到交易发起方的数值转移请求时,在交易节点上生成交易参与方对应的非完整数据集,所述非完整数据集包括对应交易参与方进行数值转移前后的加密账户数值、以及第二交易参与方进行数值转移前的加密账户数值;合并交易参与方对应的非完整数据集得到完整数据集,所述完整数据集包括所有交易参与方进行数值转移前后的加密账户数值;请求第三方节点对所述完整数据集进行完整性验证,得到由第三方背书的账户数据集;当区块链网络中的区块链节点对所述账户数据集达成共识时,根据达成共识的账户数据集在区块链节点上进行本地账本写入。
第二方面,一种数值转移装置,包括:数据集生成模块,用于当接收到交易发起方的数值转移请求时,在交易节点上生成交易参与方对应的非完整数据集,所述非完整数据集包括对应交易参与方进行数值转移前后的加密账户数值;数据集合并模块,用于合并交易参与方对应的非完整数据集得到完整数据集,所述完整数据集包括所有交易参与方进行数值转移前后的加密账户数值;数据集背书模块,用于请求第三方节点对所述完整数据集进行完整性验证,得到由第三方背书的账户数据集;账本写入模块,用于当区块链网络中的区块链节点对所述账户数据集达成共识时,根据达成共识的账户数据集在区块链节点上进行本地账本写入。
第三方面,一种数值转移系统,所述系统包括交易参与方所在客户端和区块链网络中的区块链节点,所述交易参与方所在客户端包括交易发起方所在客户端和交易接收方所在客户端,所述区块链节点包括请求处理节点、交易节点、第三方节点、共识节点,其中,所述交易发起方所在客户端,用于为交易发起方发起数值转移请求;所述请求处理节点,用于接收交易发起方的数值转移请求,并通知所述交易节点生成交易参与方对应的非完整数据集,所述非完整数据集包括对应交易参与方进行数值转移前后的加密账户数值;所述请求处理节点,用于合并交易参与方对应的非完整数据集得到完整数据集,所述完整数据集包括所有交易参与方进行数值转移前后的加密账户数值;所述第三方节点,用于对所述完整数据集进行完整性验证,得到由第三方背书的账户数据集;所述共识节点,用于实现区块链网络中的区块链节点对所述账户数据集达成共识,并当所述区块链网络中的区块链节点对所述账户数据集达成共识时,通知区块链节点根据达成共识的账户数据集进行本地账本写入;所述请求处理节点,用于当本地账本完成写入时,向所述交易参与方所在客户端下发数值转移结果,所述数值转移结果用于指示交易发起方账户中的指定数值是否成功转移至交易接收方账户。
第四方面,一种服务器,包括处理器及存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现如上所述的数值转移方法。
第五方面,一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的数值转移方法。
在上述技术方案中,通过在请求处理节点接收到交易发起方的数值转移请求时,在交易节点上生成交易参与方对应的非完整数据集,并由请求处理节点合并交易参与方对应的非完整数据集得到完整数据集,该完整数据集包括所有交易参与方进行数值转移前后的加密账户数值,进而由第三方节点对完整数据集进行完整性验证,得到第三方背书的账户数据集,最终在区块链网络中区块链节点对账户数据集达成共识时,根据达成共识的账户数据集在区块链节点上进行本地账本写入,由此,整个数值转移过程中,账户数值以密文形式存在,即加密账户数值,仅交易参与方才知道自身账户中的数值,而对于其余交易参与方或者第三方而言,均无法查看,充分保证了数值转移的私密性,并且,整个数值转移过程均基于区块链网络进行,无需协调,仍然确保了区块链去中心化的优势。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并于说明书一起用于解释本发明的原理。
图1是根据本发明所涉及的实施环境的示意图。
图2是根据一示例性实施例示出的一种服务器的硬件结构框图。
图3是根据一示例性实施例示出的一种数值转移方法的流程图。
图4是图3对应实施例中步骤310在一个实施例的流程图。
图5是图3对应实施例中步骤350在一个实施例的流程图。
图6是根据一示例性实施例示出的另一种数值转移方法的流程图。
图7是一应用场景中一种数值转移方法的具体时序图。
图8是根据一示例性实施例示出的一种数值转移装置的框图。
图9是根据一示例性实施例示出的一种数值转移系统的框图。
图10是根据一示例性实施例示出的一种服务器的框图。
通过上述附图,已示出本发明明确的实施例,后文中将有更详细的描述,这些附图和文字描述并不是为了通过任何方式限制本发明构思的范围,而是通过参考特定实施例为本领域技术人员说明本发明的概念。
具体实施方式
这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1为一种数值转移方法所涉及的实施环境的示意图。该实施环境包括数值转移系统100,该数值转移系统包括用户所持终端110、130、以及区块链网络300中的各区块链节点,各区块链节点包括交易节点Peer A和Peer B、请求处理节点Peer X、第三方节点Peer C和共识节点Order。
其中,用户所持终端110、130可供客户端运行,可以是台式电脑、笔记本电脑、平板电脑、智能手机、掌上电脑、个人数字助理等,在此不进行限定。
在此说明的是,客户端,是指提供数值转移功能的客户端,例如,可以是支付客户端、即时通信客户端、购物客户端、或者打车客户端等等,该客户端可以是应用程序形式的,还可以是网页形式的,相应地,客户端向用户展示的用户界面可以是程序窗口形式的,也可以是网页页面形式的,在此也并未加以限定。
进一步地,用户所持终端110是指交易发起方所持终端,用户所持终端130则是指交易接收方所持终端,数值转移过程即是指将交易发起方账户中的指定数值转移至交易接收方账户,那么,对于交易发起方、交易接收方而言,均参与了数值转移过程,故而,均可视为交易参与方。
值得一提的是,账户,可以是指用户的网银账户、微信零钱账户、游戏账户等等,相应地,账户中的数值,可以是指实体的货币金额,还可以是指虚拟的货币(例如游戏币)、优惠券等等。
区块链网络300,本实施环境中,实质由多台服务器构成,该服务器即是为数值转移系统100配置的区块链节点,用于执行数值转移过程,也可以理解为,用于执行数值转移过程的区块链节点部署于服务器。
当然,根据实际运营的需要,用于执行数值转移过程的各区块链节点并不局限于独立部署于多台服务器,也可以全部部署于同一台服务器,本发明各实施例并未对此进行具体限定。
在数值转移过程中,各区块链节点所承担的角色包括:请求处理、背书、共识、记账等,应当理解,在不同的数值转移过程中,同一区块链节点所承担的角色可能有所区别。
为了方便于描述,本发明各实施例将根据区块链节点在同一次数值转移过程中承担的角色,对区块链节点进行如下定义。
具体而言,交易节点Peer A和Peer B分别部署于服务器310、330,与用户所持终端110、130交互,以便于通过智能合约的执行向交易参与方提供基于区块链网络的数值转移服务,即为交易参与方生成对应的非完整数据集,并借由区块链网络记录数值转移过程中的数值转移事件,即还同时承担“记账”角色。
请求处理节点Peer X部署于服务器390,用于处理交易发起方的数值转移请求,即合并交易参与方对应的非完整数据集,并在交易完成时,通知交易参与方本次数值转移过程的数值转移结果。
第三方节点Peer C部署于服务器350,用于为用户提供数值转移过程中的背书服务,也即是,区块链网络300中,区别于交易节点Peer A和Peer B的其余区块链节点,均可视为相对于交易节点Peer A和Peer B而言的“第三方”。值得一提的是,第三方节点Peer C还同时用于记录数值转移过程中的数值转移事件,即也承担了“记账”角色。
共识节点Order,顾名思义,用于为用户提供数值转移过程中的区块链节点共识服务,部署于服务器370。
当然,区块链网络300中还存在其余区块链节点,主要用于记录数值转移过程中的数值转移事件,即承担“记账”角色。
用户所持终端110、130与区块链网络300中区块链节点之间、以及区块链网络300中各区块链节点之间,通过无线或者有线预先建立网络连接,以通过该网络连接实现彼此之间的数据传输。例如,传输的数据包括但不限于:数值转移请求、非完整数据集、完整数据集、账户数据集、数值转移结果等等。
当客户端在用户所持终端110上运行,交易发起方便可借由运行的客户端发起针对交易接收方的数值转移请求,以此请求将交易发起方账户中的指定数值转移至交易接收方账户。
如图7所示,在交易发起方发起数值转移请求时,区块链网络中的各区块链节点便可为交易参与方执行数值转移过程,进而实现去中心化的不可篡改的分布式账本技术。
图2是根据一示例性实施例示出的一种服务器的硬件结构框图。该服务器适用于图1所示出实施环境中区块链网络中的各区块链节点。
需要说明的是,该服务器只是一个适配于本发明的示例,不能认为是提供了对本发明的使用范围的任何限制。该服务器也不能解释为需要依赖于或者必须具有图2中示出的示例性的服务器200中的一个或者多个组件。
该服务器的硬件结构可因配置或者性能的不同而产生较大的差异,如图2所示,服务器200包括:电源210、接口230、至少一存储器250、以及至少一中央处理器(CPU,CentralProcessing Units)270。
其中,电源210用于为服务器200上的各硬件设备提供工作电压。
接口230包括至少一有线或无线网络接口231、至少一串并转换接口233、至少一输入输出接口235以及至少一USB接口237等,用于与外部设备通信。
存储器250作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统251、应用程序253及数据255等,存储方式可以是短暂存储或者永久存储。其中,操作系统251用于管理与控制服务器200上的各硬件设备以及应用程序253,以实现中央处理器270对海量数据255的计算与处理,其可以是WindowsServerTM、Mac OSXTM、UnixTM、LinuxTM、FreeBSDTM等。应用程序253是基于操作系统251之上完成至少一项特定工作的计算机程序,其可以包括至少一模块(图2中未示出),每个模块都可以分别包含有对服务器200的一系列计算机可读指令。数据255可以是存储于磁盘中的照片、图片等。
中央处理器270可以包括一个或多个以上的处理器,并设置为通过总线与存储器250通信,用于运算与处理存储器250中的海量数据255。
如上面所详细描述的,适用本发明的服务器200将通过中央处理器270读取存储器250中存储的一系列计算机可读指令的形式来完成数值转移方法。
此外,通过硬件电路或者硬件电路结合软件也能同样实现本发明,因此,实现本发明并不限于任何特定硬件电路、软件以及两者的组合。
请参阅图3,在一示例性实施例中,一种数值转移方法适用于图1所示实施环境的服务器,该服务器的结构可以如图2所示。
该种数值转移方法可以由服务器执行,
该种数值转移方法可以包括以下步骤:
步骤310,当接收到交易发起方的数值转移请求时,在交易节点上生成交易参与方对应的非完整数据集。
其中,数值转移请求,用于指示交易发起方请求转移的指定数值,亦即指示了在数值转移过程中,将交易发起方账户中的指定数值转移至交易接收方账户。
由此,数值转移请求,至少包括交易发起方账户、交易接收方账户、请求转移的指定数值等等。
需要说明的是,交易发起方并非局限于仅能够向一个交易接收方发起数值转移请求,还可以同时向多个交易接收方请求进行数值转移,故而,数值转移请求,还可以包括多个交易接收方账户。那么,在本次数值转移过程中,交易参与方至少包括一个交易发起方和多个交易接收方。
请求处理节点,在接收到交易发起方的数值转移请求之后,便会转发至交易节点,以使交易节点继续执行数值转移过程。
可以理解,在实际的应用场景中,交易参与方会有对数据隐私的需求,即期望账户中的金额无法被其余交易参与方查看,也就是说,对于每一个交易参与方而言,其仅能够知道其自身账户中的数值,而无法查看其余交易参与方账户中的数值。
故而,对于每一个交易节点而言,基于请求转移的指定数值和交易参与方自身进行数值转移前的账户数值,便能够获得交易参与方自身进行数值转移后的账户数值,并且,为了保证交易参与方自身进行数值转移前后的账户数值的私密性,数值转移过程中,该账户数值将以密文形式存在。
因此,非完整数据集至少包括:交易参与方进行数值转移前后的加密账户数值。应当理解,交易参与方不同,非完整数据集将有所区别,也即是,对于配置了区块链节点的每一个交易参与方而言,每一个交易参与方对应于一个非完整数据集。
举例来说,数值转移过程中,交易参与方包括交易发起方A和交易接收方B。相应地,为交易发起方A配置交易节点A1,为交易接收方B配置交易节点B1。
那么,在交易节点A1、B1上生成交易参与方对应的非完整数据集过程中:
对于交易节点A1而言,交易发起方A对应的非完整数据集包括:交易发起方A进行数值转移前后的加密账户数值。
对于交易节点B1而言,交易发起方B对应的非完整数据集包括:交易发起方B进行数值转移前后的加密账户数值。
可选地,考虑数值转移的并发性,即同一个账户同时进行数值转移,例如,账户a转入若干金额至账户b,同时账户c转入若干金额至账户a,此时,对于账户a中的数值,可能存在读写冲突,故而,非完整数据集还可以包括:交易参与方账户中数值的版本号,以此避免同一个交易参与方账户中数值的读写冲突。
可选地,非完整数据集还可以包括:交易节点采用自身的私钥对非完整数据集的签名,以使接收到该非完整数据集的请求处理节点可以采用与私钥成对存在的公钥,即交易节点自身的公钥进行交易参与方所对应非完整数据集的有效性验证,也即是,用于验证发送该非完整数据集的交易节点的身份。
可选地,非完整数据集还可以包括:交易标识号,用于唯一地表示本次数值转移过程。
步骤330,合并交易参与方对应的非完整数据集得到完整数据集。
其中,所述完整数据集包括所有交易参与方进行数值转移前后的加密账户数值。
在交易节点上生成交易参与方对应的非完整数据集之后,对于请求处理节点而言,便可获得交易节点返回的交易参与方对应的非完整数据集,进而合并得到完整数据集。
仍以上述例子加以说明,请求处理节点所获得的非完整数据集包括:交易发起方A对应的非完整数据集、交易发起方B对应的非完整数据集。
由此,通过合并,所得到的完整数据集包括:交易发起方A进行数值转移前后的加密账户数值、交易发起方B进行数值转移前后的加密账户数值。
进一步地,在进行非完整数据集的合并之前,还可以对交易参与方对应的非完整数据集进行有效性验证,以此验证发送该非完整数据集的交易节点的身份合法性。
具体地,在交易节点上,非完整数据集在发送至请求处理节点之前,会根据交易节点的私钥进行签名,以便于请求处理节点能够以此验证交易节点的身份。
相应地,对于请求处理节点而言,在接收到非完整数据集之后,便可根据交易节点的公钥对交易参与方对应的非完整数据集进行签名验证,如果签名验证成功,则表示非完整数据集通过有效性验证,也即是,非完整数据集确实是交易节点发送的,表明发送了该非完整数据集的交交易节点的身份合法。
需要说明的是,交易节点的公钥与私钥是成对存在的,是由非对称加密算法生成的,故而,由交易节点的私钥签名得到的非完整数据集,便可通过交易参与方的公钥进行签名验证。其中,非对称加密算法包括但不限于:RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)等等,本实施例并未对此进行具体限定。
通过如此设置,仅当交易参与方对应的非完整数据集通过有效性验证,视为发送该非完整数据集的交易节点的身份合法,方才进行非完整数据集的合并,以此充分地保障了数据的有效性,进而有利于提高数据转移过程的安全性。
步骤350,请求第三方节点对所述完整数据集进行完整性验证,得到由第三方背书的账户数据集。
为了保证数值转移的完整有效,并确认数值转移确实发生在交易发起方与交易接收方之间,本实施例中,将通过第三方节点对完整数据集进行完整性验证。
当完整数据集通过完整性验证之后,再由第三方节点对完整数据集进行签名,上述过程即视为第三方的背书行为,也即是,通过第三方的背书,账户数据集便可视为具有完整性的完整数据集。
步骤370,当区块链网络中的区块链节点对所述账户数据集达成共识时,根据达成共识的账户数据集在区块链节点上进行本地账本写入。
本实施例中,共识,是指账户数据集同步至区块链网络中的各区块链节点。
下面对账户数据集的共识过程加以说明。
对于区块链网络而言,在共识节点接收到请求处理节点发送的账户数据集之后,便可由共识节点将该账户数据集转发至各区块链节点,当任意一个区块链节点接收到账户数据集时,便将确认消息发送至其他区块链节点,进而当每一个区块链节点接收到指定数量的确认消息时,视为账户数据集至少已同步至指定数量的区块链节点,则触发各区块链节点对账户数据集达成共识。
其中,指定数量是指已配置的达成共识所要求的区块链节点数量,可根据应用场景的实际需要灵活地调整,本实施例并未对此进行具体限定。
在账户数据集在各区块链节点达成共识之后,共识节点便通知区块链网络中的区块链节点根据达成共识的账户数据集进行本地账本写入。
具体而言,在账本数据集达成共识之后,区块链网络中的各区块链节点均存在达成共识的账本数据集,便可通过签名验证从中得到完整数据集,进而根据自身的私钥对该完整数据集签名,并写入对应的本地账本中。
随着本地账本完成写入,也即是,该本地账本记录了本次数值转移的全过程,交易不可篡改,从而实现去中心化的不可篡改的分布式账本技术。
通过如上所述的过程,实现了基于区块链网络的数值转移过程中的数据隐私保护,不仅充分地保证了交易参与方的个人权益,而且充分地利用了区块链去中心化的优势,技术实现门槛低。
请参阅图4,在一示例性实施例中,步骤310可以包括以下步骤:
步骤311,根据请求转移的指定数值和第一交易参与方进行数值转移前的账户数值,在交易节点上计算第一交易参与方进行数值转移后的账户数值。
步骤313,在交易节点上,对第一交易参与方进行数值转移前后的账户数值进行加密。
步骤315,在交易节点上,根据第一交易参与方进行数值转移前后的加密账户数值、以及第二交易参与方进行数值转移前的加密账户数值,生成交易参与方对应的非完整数据集。
其中,所述第一交易参与方为所述非完整数据集对应的交易参与方,所述第二交易参与方为交易参与方中区别于第一交易参与方的其余交易参与方。
如前所述,对于配置了交易节点的每一个交易参与方而言,每一个交易参与方对应于一个非完整数据集,也就是说,第一交易参与方将随着交易节点的变化而相应地更改。
举例来说,数值转移过程中,交易参与方包括交易发起方A、交易接收方B和交易接收方C。相应地,为交易发起方A配置交易节点A1,为交易接收方B配置交易节点B1,为交易接收方C配置交易节点C1。
那么,对于交易节点A1而言,第一交易参与方即为交易发起方A,第二交易参与方为交易接收方B和交易接收方C。
对于交易节点B1而言,第一交易参与方即为交易发起方B,第二交易参与方为交易接收方A和交易接收方C。
对于交易节点C1而言,第一交易参与方即为交易发起方C,第二交易参与方为交易接收方A和交易接收方B。
由上可知,就交易节点来说,第一交易参与方,实质就是指配置了该交易节点的交易参与方,即交易参与方自身,那么,第二交易参与方,则是指所有交易参与方中,区别于配置了该交易节点的交易参与方的其余交易参与方。
进一步地,考虑数值转移的并发性,例如,多个交易发起方向同一个交易接收方进行数值转移,此时,对于同一个交易接收方的账户,可能存在账户中数值的写冲突,故而,非完整数据集还将包括:第二交易参与方进行数值转移前的加密账户数值。
为何非完整数据集中未包含第二交易参与方进行数值转移后的加密账户数值呢?在此说明理由如下:
由于每一个交易参与方是无法查看其余交易参与方账户中数值的,也即是,其余交易参与方账户中的数值也是以密文形式存在的,故而,数值转移过程中,对于每一个交易节点而言,仅能够获知其余交易参与方进行数值转移前的加密账户数值,而无法基于请求转移的指定数值,计算出其余交易参与方进行数值转移后的账户数值,因此,非完整数据集中并未包含第二交易参与方进行数值转移后的加密账户数值。
换而言之,由于不清楚第二交易参与方进行数值转移后的加密账户数值,故而,对于每一个交易节点而言,得到的仅是交易参与方对应的非完整数据集,而并非是完整数据集。
下面举例说明交易参与方对应的非完整数据集的生成过程。
假设数值转移过程中,交易参与方包括交易发起方A(第一交易参与方)和交易接收方B(第二交易参与方)。相应地,为交易发起方A配置交易节点A1,为交易接收方B配置交易节点B1。
就交易节点A1而言,可获知交易发起方A进行数值转移前的账户数值为a1,那么,基于请求转移的指定数值a和交易参与方A进行数值转移前的账户数值a1,便可计算得到交易发起方A进行数值转移后的账户数值为a1+a=a2。
为了满足交易发起方A对数据隐私的需求,将对交易发起方A进行数值转移前后的账户数值进行加密,得到交易参与方A进行数值转移前后的加密账户数值为F(a1)和F(a2),其中,F表示加密函数。
并且,考虑数值转移的并发性,进一步获知交易接收方B进行数值转移前的加密账户数值为F(b1)。
故而,交易发起方A对应的非完整数据集可以表示为:
{TransID Mxxx,sign=sA,Set(A:F(a1),Vx,F(a2);B:F(b1),Vy)}。
同理,交易接收方B对应的非完整数据集则可以表示为:
{TransID Mxxx,sign=sB,Set(B:F(b1),Vy,F(b2);A:F(a1),Vx)}。
其中,TransID Mxxx表示本次数值转移过程的交易识别号为Mxxx。
sign=sA表示交易发起方A对所对应非完整数据集的签名为sA,sign=sB表示交易接收方B对所对应非完整数据集的签名为sB。
Vx表示交易发起方A账户中数值的版本号,Vy则表示交易接收方B账户中数值的版本号。
在上述实施例的作用下,实现了交易参与方账户中数值以密文形式存在,使得交易参与方可以充分地得到完全的数据隐私保护,最大化地降低账户数值暴露的风险,进而充分地保障了交易参与方的个人权益。
请参阅图5,在一示例性实施例中,步骤350可以包括以下步骤:
步骤351,在第三方节点上,对所述完整数据集中的加密账户数值进行加法同态运算,得到同态运算结果。
步骤353,在第三方节点上,如果所述同态运算结果指示所述完整数据集通过完整性验证,则根据第三方的私钥对所述完整数据集进行签名,得到由第三方背书的账户数据集。
仍以上述例子说明第三方的背书行为。
假设数值转移过程中,交易参与方包括交易发起方A和交易接收方B。相应地,为交易发起方A配置交易节点A1,为交易接收方B配置交易节点B1。
进一步假设完整数据集至少包括:Set(A:F(a1),Vx,F(a2);B:F(b1),Vy,F(b2)。
加法同态运算,指的是直接基于加密数据进行加法运算,本实施例中,加密数据即为完整数据集中的加密账户数值。
具体而言,数值转移前,即F(a1)+F(b1);数值转移后,即F(a2)+F(b2)。
如果F(a1)+F(b1)=F(a2)+F(b2),便可根据同态加密原理,进一步地推算得到F(a1+b1)=F(a2+b2),也即是a1+b1=a2+b2,从而得到同态运算结果指示了完整数据集通过完整性验证。
当完整数据集通过完整性验证时,便采用第三方的私钥进行完整数据集的签名,得到由第三方背书的账户数据集。
也就是说,在第三方完全不知道a1、a2、b1、b2具体数值的情况下,通过同态运算结果的指示,便可确认数值转移确实发生在交易发起方A与交易接收方B之间,且数值转移完整有效,进而完成第三方的背书行为,以此保障了基于区块链网络的数值转移过程得以实现。
值得一提的是,完整数据集在发送至第三方节点之前,也会根据请求处理节点的私钥进行签名,以便于第三方能够以此验证请求处理节点的身份,也即是,验证发送该完整数据集的请求处理节点的身份合法性。
那么,对于第三方节点而言,便是需要对完整数据集进行有效性验证,以在完整数据集通过有效性验证之后,方才进一步履行第三方的背书行为,具体验证过程与非完整数据集的有效性验证过程基本一致,在此不重复描述。
请参阅图6,在一示例性实施例中,步骤370之前,如上所述的方法还可以包括以下步骤:
步骤410,当所述区块链网络中的区块链节点对所述账户数据集达成共识时,在区块链节点上根据第三方的公钥对所述账户数据集进行签名验证,得到所述完整数据集。
如前所述,账户数据集,实质为具有完整性的完整数据集,由第三方背书,也即是,采用第三方的私钥对具有完整性的完整数据集进行签名所形成的。
由于第三方的公钥与私钥是成对存在的,由非对称加密算法生成,故而,由第三方的私钥签名得到的账户数据集,便可通过第三方的公钥进行签名验证,以此得到完整数据集。
其中,非对称加密算法包括但不限于:RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)等等,本实施例并未对此进行具体限定。
步骤430,在区块链节点上,进行所述完整数据集的完整性二次验证。
本实施例中,完整性二次验证,在区块链节点上实施,与第三方背书过程中完整数据集所进行的完整性验证基本一致,在此不重复描述。
如果所述完整数据集在区块链节点上通过完整性二次验证,则执行步骤370,根据达成共识的账户数据集在区块链节点上进行本地账本写入。
上述过程中,基于第三方对完整数据集的完整性预验证,实现了区块链节点对完整数据集的完整性二次验证,从而在保证数据隐私的前提下,进一步地保证了数值转移过程的安全性。
在一示例性实施例中,如上所述的方法还可以包括以下步骤:
当本地账本完成写入时,在所述区块链网络中的区块链节点上,将区块链节点所遵循智能合约的合约状态更新为交易完成状态。
对于区块链网络中各区块链节点,执行数值转移过程均是遵循智能合约的,因此,随着数值转移的逐步展开,智能合约的合约状态将相应地更改。
当智能合约的合约状态更改为交易完成状态,即表示本次数值转移过程已完成,也即是交易完成。
那么,对于请求处理节点而言,便可在区块链节点上查询智能合约的合约状态,而及时获知本次交易的完成情况。当智能合约的合约状态为交易完成状态,便会向交易参与方所在客户端下发数值转移结果,如图7所示,以通过数值转移结果指示交易参与方本次交易的完成情况,即交易发起方账户中的指定数值是否成功转移至交易接收方账户。
在上述实施例的配合下,实现了智能合约的合约状态的更新,以此防止交易参与方抵赖已完成的数值转移事件,从而保证了数值转移过程的可靠性。
此外,各区块链节点遵循智能合约执行数值转移过程,不仅使得数值转移过程可以在完全保持数据隐私的前提下,仍然顺利地执行,而且整个数值转移过程中无需协调,进而充分地保持了区块链去中心化的优势。
下述为本发明装置实施例,可以用于执行本发明所涉及的数值转移方法。对于本发明装置实施例中未披露的细节,请参照本发明所涉及的数值转移方法的方法实施例。
请参阅图8,在一示例性实施例中,一种数值转移装置900包括但不限于:数据集生成模块910、数据集合并模块930、数据集背书模块950和账本写入模块970。
其中,数据集生成模块910用于当接收到交易发起方的数值转移请求时,在交易节点上生成交易参与方对应的非完整数据集,所述非完整数据集包括对应交易参与方进行数值转移前后的加密账户数值。
数据集合并模块930用于合并交易参与方对应的非完整数据集得到完整数据集,所述完整数据集包括所有交易参与方进行数值转移前后的加密账户数值。
数据集背书模块950用于请求第三方节点对所述完整数据集进行完整性验证,得到由第三方背书的账户数据集。
账本写入模块970用于当区块链网络中的区块链节点对所述账户数据集达成共识时,根据达成共识的账户数据集在区块链节点上进行本地账本写入。
请参阅图9,在一示例性实施例中,一种数值转移系统1100,所述系统1100包括交易参与方所在客户端1110和区块链网络中的区块链节点1130,所述交易参与方所在客户端1110包括交易发起方所在客户端和交易接收方所在客户端,所述区块链节点1130包括请求处理节点、交易节点、第三方节点、共识节点。
其中,所述交易发起方所在客户端,用于为交易发起方发起数值转移请求。
所述请求处理节点,用于接收交易发起方的数值转移请求,并通知所述交易节点生成交易参与方对应的非完整数据集,所述非完整数据集包括对应交易参与方进行数值转移前后的加密账户数值。
所述请求处理节点,用于合并交易参与方对应的非完整数据集得到完整数据集,所述完整数据集包括所有交易参与方进行数值转移前后的加密账户数值。
所述第三方节点,用于对所述完整数据集进行完整性验证,得到由第三方背书的账户数据集。
所述共识节点,用于实现区块链网络中的区块链节点对所述账户数据集达成共识,并当所述区块链网络中的区块链节点对所述账户数据集达成共识时,通知区块链节点根据达成共识的账户数据集进行本地账本写入。
所述请求处理节点,用于当本地账本完成写入时,向所述交易参与方所在客户端1110下发数值转移结果,所述数值转移结果用于指示交易发起方账户中的指定数值是否成功转移至交易接收方账户。
需要说明的是,上述实施例所提供的数值转移装置、系统在进行数值转移时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即数值转移装置、系统的内部结构将划分为不同的功能模块,以完成以上描述的全部或者部分功能。
另外,上述实施例所提供的数值转移装置、系统与数值转移方法的实施例属于同一构思,其中各个模块执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。
请参阅图10,在一示例性实施例中,一种服务器1000,包括至少一处理器1001、至少一存储器1002、以及至少一通信总线1003。
其中,存储器1002上存储有计算机可读指令,处理器1001通过通信总线1003读取存储器1002中存储的计算机可读指令。
该计算机可读指令被处理器1001执行时实现上述各实施例中的数值转移方法。
在一示例性实施例中,一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各实施例中的数值转移方法。
上述内容,仅为本发明的较佳示例性实施例,并非用于限制本发明的实施方案,本领域普通技术人员根据本发明的主要构思和精神,可以十分方便地进行相应的变通或修改,故本发明的保护范围应以权利要求书所要求的保护范围为准。
Claims (15)
1.一种数值转移方法,其特征在于,包括:
当接收到交易发起方的数值转移请求时,在交易节点上生成交易参与方对应的非完整数据集,所述非完整数据集包括对应交易参与方进行数值转移前后的加密账户数值,每一个交易参与方对应于一个非完整数据集;
合并交易参与方对应的非完整数据集得到完整数据集,所述完整数据集包括所有交易参与方进行数值转移前后的加密账户数值;
请求第三方节点对所述完整数据集进行完整性验证,得到由第三方背书的账户数据集;
当区块链网络中的区块链节点对所述账户数据集达成共识时,根据达成共识的账户数据集在区块链节点上进行本地账本写入。
2.如权利要求1所述的方法,其特征在于,所述在交易节点上生成交易参与方对应的非完整数据集,包括:
根据请求转移的指定数值和第一交易参与方进行数值转移前的账户数值,在交易节点上计算第一交易参与方进行数值转移后的账户数值;
在交易节点上,对第一交易参与方进行数值转移前后的账户数值进行加密;
在交易节点上,根据第一交易参与方进行数值转移前后的加密账户数值、以及第二交易参与方进行数值转移前的加密账户数值,生成交易参与方对应的非完整数据集;
其中,所述第一交易参与方为所述非完整数据集对应的交易参与方,所述第二交易参与方为交易参与方中区别于第一交易参与方的其余交易参与方。
3.如权利要求1所述的方法,其特征在于,所述合并交易参与方对应的非完整数据集得到完整数据集之前,所述方法还包括:
根据交易参与方的公钥验证交易参与方所对应非完整数据集的有效性;
如果交易参与方对应的非完整数据集通过有效性验证,则执行所述合并交易参与方对应的非完整数据集得到所述完整数据集步骤。
4.如权利要求1所述的方法,其特征在于,所述请求第三方节点对所述完整数据集进行完整性验证,得到由第三方背书的账户数据集,包括:
在第三方节点上,对所述完整数据集中的加密账户数值进行加法同态运算,得到同态运算结果;
在第三方节点上,如果所述同态运算结果指示所述完整数据集通过完整性验证,则根据第三方的私钥对所述完整数据集进行签名,得到由第三方背书的账户数据集。
5.如权利要求1至4任一项所述的方法,其特征在于,所述根据达成共识的账户数据集在区块链节点上进行本地账本写入之前,所述方法还包括:
当所述区块链网络中的区块链节点对所述账户数据集达成共识时,在区块链节点上根据第三方的公钥对所述账户数据集进行签名验证,得到所述完整数据集;
在区块链节点上,进行所述完整数据集的完整性二次验证;
如果所述完整数据集在区块链节点上通过完整性二次验证,则执行所述根据达成共识的账户数据集在区块链节点上进行本地账本写入步骤。
6.如权利要求5所述的方法,其特征在于,所述方法还包括:
当本地账本完成写入时,在所述区块链网络中的区块链节点上,将区块链节点所遵循智能合约的合约状态更新为交易完成状态。
7.一种数值转移装置,其特征在于,包括:
数据集生成模块,用于当接收到交易发起方的数值转移请求时,在交易节点上生成交易参与方对应的非完整数据集,所述非完整数据集包括对应交易参与方进行数值转移前后的加密账户数值,每一个交易参与方对应于一个非完整数据集;
数据集合并模块,用于合并交易参与方对应的非完整数据集得到完整数据集,所述完整数据集包括所有交易参与方进行数值转移前后的加密账户数值;
数据集背书模块,用于请求第三方节点对所述完整数据集进行完整性验证,得到由第三方背书的账户数据集;
账本写入模块,用于当区块链网络中的区块链节点对所述账户数据集达成共识时,根据达成共识的账户数据集在区块链节点上进行本地账本写入。
8.如权利要求7所述的装置,其特征在于,所述数据集生成模块包括:
数值计算单元,用于根据请求转移的指定数值和第一交易参与方进行数值转移前的账户数值,在交易节点上计算第一交易参与方进行数值转移后的账户数值;
数值加密单元,用于在交易节点上,对第一交易参与方进行数值转移前后的账户数值进行加密;
数据集生成单元,用于在交易节点上,根据第一交易参与方进行数值转移前后的加密账户数值、以及第二交易参与方进行数值转移前的加密账户数值,生成交易参与方对应的非完整数据集;
其中,所述第一交易参与方为所述非完整数据集对应的交易参与方,所述第二交易参与方为交易参与方中区别于第一交易参与方的其余交易参与方。
9.如权利要求7所述的装置,其特征在于,所述装置还包括:
有效性验证模块,用于根据交易参与方的公钥验证交易参与方所对应非完整数据集的有效性;
如果交易参与方对应的非完整数据集通过有效性验证,则通知所述数据集合并模块,合并交易参与方对应的非完整数据集得到所述完整数据集。
10.如权利要求7所述的装置,其特征在于,所述数据集背书模块包括:
同态运算单元,用于在第三方节点上,对所述完整数据集中的加密账户数值进行加法同态运算,得到同态运算结果;
数据集签名单元,用于在第三方节点上,如果所述同态运算结果指示所述完整数据集通过完整性验证,则根据第三方的私钥对所述完整数据集进行签名,得到由第三方背书的账户数据集。
11.如权利要求7至10任一项所述的装置,其特征在于,所述装置还包括:
数据集签名验证模块,用于当所述区块链网络中的区块链节点对所述账户数据集达成共识时,在区块链节点上根据第三方的公钥对所述账户数据集进行签名验证,得到所述完整数据集;
完整性验证模块,用于在区块链节点上,进行所述完整数据集的完整性二次验证;
如果所述完整数据集在区块链节点上通过完整性二次验证,则通知所述账本写入模块,根据达成共识的账户数据集在区块链节点上进行本地账本写入。
12.如权利要求11所述的装置,其特征在于,所述装置还包括:
合约状态更新模块,用于当本地账本完成写入时,在所述区块链网络中的区块链节点上,将区块链节点所遵循智能合约的合约状态更新为交易完成状态。
13.一种数值转移系统,其特征在于,所述系统包括交易参与方所在客户端和区块链网络中的区块链节点,所述交易参与方所在客户端包括交易发起方所在客户端和交易接收方所在客户端,所述区块链节点包括请求处理节点、交易节点、第三方节点、共识节点,其中,
所述交易发起方所在客户端,用于为交易发起方发起数值转移请求;
所述请求处理节点,用于接收交易发起方的数值转移请求,并通知所述交易节点生成交易参与方对应的非完整数据集,所述非完整数据集包括对应交易参与方进行数值转移前后的加密账户数值,每一个交易参与方对应于一个非完整数据集;
所述请求处理节点,用于合并交易参与方对应的非完整数据集得到完整数据集,所述完整数据集包括所有交易参与方进行数值转移前后的加密账户数值;
所述第三方节点,用于对所述完整数据集进行完整性验证,得到由第三方背书的账户数据集;
所述共识节点,用于实现区块链网络中的区块链节点对所述账户数据集达成共识,并当所述区块链网络中的区块链节点对所述账户数据集达成共识时,通知区块链节点根据达成共识的账户数据集进行本地账本写入;
所述请求处理节点,用于当本地账本完成写入时,向所述交易参与方所在客户端下发数值转移结果,所述数值转移结果用于指示交易发起方账户中的指定数值是否成功转移至交易接收方账户。
14.一种服务器,其特征在于,包括:
处理器;及
存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现如权利要求1至6中任一项所述的数值转移方法。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的数值转移方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811250024.7A CN110197433B (zh) | 2018-10-25 | 2018-10-25 | 数值转移方法、装置及系统 |
PCT/CN2019/111914 WO2020083112A1 (zh) | 2018-10-25 | 2019-10-18 | 数值转移方法、装置及系统 |
EP19875662.9A EP3872737B1 (en) | 2018-10-25 | 2019-10-18 | Numerical value transfer method, device, and computer storage medium |
US17/077,051 US11797985B2 (en) | 2018-10-25 | 2020-10-22 | Value transfer method, apparatus, and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811250024.7A CN110197433B (zh) | 2018-10-25 | 2018-10-25 | 数值转移方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110197433A CN110197433A (zh) | 2019-09-03 |
CN110197433B true CN110197433B (zh) | 2021-07-27 |
Family
ID=67751388
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811250024.7A Active CN110197433B (zh) | 2018-10-25 | 2018-10-25 | 数值转移方法、装置及系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11797985B2 (zh) |
EP (1) | EP3872737B1 (zh) |
CN (1) | CN110197433B (zh) |
WO (1) | WO2020083112A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110197433B (zh) | 2018-10-25 | 2021-07-27 | 腾讯科技(深圳)有限公司 | 数值转移方法、装置及系统 |
CN113781021A (zh) * | 2020-06-10 | 2021-12-10 | 徐蔚 | 采用码链区块的数字货币模型、方法、系统及装置 |
US11641665B2 (en) | 2020-09-09 | 2023-05-02 | Self Financial, Inc. | Resource utilization retrieval and modification |
US20220075877A1 (en) | 2020-09-09 | 2022-03-10 | Self Financial, Inc. | Interface and system for updating isolated repositories |
US11588617B2 (en) * | 2020-11-01 | 2023-02-21 | The Toronto-Dominion Bank | Validating confidential data using homomorphic computations |
CN114499869B (zh) * | 2020-11-13 | 2024-05-17 | 顺丰科技有限公司 | 基于区块链的资源跨链交换方法、装置和计算机设备 |
CN113409102B (zh) * | 2021-05-24 | 2023-02-21 | 支付宝(杭州)信息技术有限公司 | 一种交易对象转移方法、装置及设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106549749A (zh) * | 2016-12-06 | 2017-03-29 | 杭州趣链科技有限公司 | 一种基于加法同态加密的区块链隐私保护方法 |
CN106548330A (zh) * | 2016-10-27 | 2017-03-29 | 上海亿账通区块链科技有限公司 | 基于区块链的交易验证方法及系统 |
CN106845960A (zh) * | 2017-01-24 | 2017-06-13 | 上海亿账通区块链科技有限公司 | 基于区块链的安全交易方法及系统 |
CN107911216A (zh) * | 2017-10-26 | 2018-04-13 | 矩阵元技术(深圳)有限公司 | 一种区块链交易隐私保护方法及系统 |
CN108418783A (zh) * | 2017-09-01 | 2018-08-17 | 矩阵元技术(深圳)有限公司 | 一种保护区块链智能合约隐私的方法、介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11182781B2 (en) * | 2014-06-16 | 2021-11-23 | Bank Of America Corporation | Block chain encryption tags |
CN108171494A (zh) * | 2017-11-23 | 2018-06-15 | 阿里巴巴集团控股有限公司 | 一种数据处理方法和装置 |
GB201720389D0 (en) * | 2017-12-07 | 2018-01-24 | Nchain Holdings Ltd | Computer-implemented system and method |
CN108241979B (zh) | 2017-12-20 | 2021-03-16 | 深圳壹账通智能科技有限公司 | 基于区块链的多账本转账方法、电子装置及可读存储介质 |
CN108520412A (zh) * | 2018-04-18 | 2018-09-11 | 北京天德科技有限公司 | 一种面向区块链的清结算交易分账算法的设计方法 |
CN112651740B (zh) * | 2018-08-30 | 2024-10-29 | 蚂蚁链技术有限公司 | 区块链交易方法及装置、电子设备 |
CN110197433B (zh) * | 2018-10-25 | 2021-07-27 | 腾讯科技(深圳)有限公司 | 数值转移方法、装置及系统 |
-
2018
- 2018-10-25 CN CN201811250024.7A patent/CN110197433B/zh active Active
-
2019
- 2019-10-18 EP EP19875662.9A patent/EP3872737B1/en active Active
- 2019-10-18 WO PCT/CN2019/111914 patent/WO2020083112A1/zh unknown
-
2020
- 2020-10-22 US US17/077,051 patent/US11797985B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106548330A (zh) * | 2016-10-27 | 2017-03-29 | 上海亿账通区块链科技有限公司 | 基于区块链的交易验证方法及系统 |
CN106549749A (zh) * | 2016-12-06 | 2017-03-29 | 杭州趣链科技有限公司 | 一种基于加法同态加密的区块链隐私保护方法 |
CN106845960A (zh) * | 2017-01-24 | 2017-06-13 | 上海亿账通区块链科技有限公司 | 基于区块链的安全交易方法及系统 |
CN108418783A (zh) * | 2017-09-01 | 2018-08-17 | 矩阵元技术(深圳)有限公司 | 一种保护区块链智能合约隐私的方法、介质 |
CN107911216A (zh) * | 2017-10-26 | 2018-04-13 | 矩阵元技术(深圳)有限公司 | 一种区块链交易隐私保护方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
EP3872737A1 (en) | 2021-09-01 |
EP3872737B1 (en) | 2024-07-10 |
EP3872737C0 (en) | 2024-07-10 |
WO2020083112A1 (zh) | 2020-04-30 |
US11797985B2 (en) | 2023-10-24 |
US20210042740A1 (en) | 2021-02-11 |
CN110197433A (zh) | 2019-09-03 |
EP3872737A4 (en) | 2021-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110197433B (zh) | 数值转移方法、装置及系统 | |
CN109756582B (zh) | 区块链网络中的信息记录方法、装置、节点及存储介质 | |
US20210160082A1 (en) | Blockchain transaction method and apparatus | |
CN111095899B (zh) | 针对可信执行环境的分布式密钥管理 | |
US20240296429A1 (en) | Information transaction infrastructure | |
CN110366738B (zh) | 在区块链网络中的跨资产交易 | |
CN110612700B (zh) | 基于恢复的公钥进行认证 | |
EP3859647A1 (en) | Blockchain transaction generation method and device | |
CN111066047A (zh) | 实现基于区块链的工作流 | |
KR102050007B1 (ko) | 블록체인 기반 외부 서비스 지원 시스템 및 그 방법 | |
CN111047443A (zh) | 用户评分方法及装置、电子设备、计算机可读存储介质 | |
CN110998633B (zh) | 在区块链技术中避免双花问题的方法和设备 | |
CN110070357B (zh) | 数据处理方法、装置和系统 | |
CN109345251A (zh) | 可协商的区块链交易方法、装置、设备及存储介质 | |
EP4287102A1 (en) | Cross-chain transaction processing method and apparatus, electronic device, and storage medium | |
CN111464315A (zh) | 数字签名处理方法、装置、计算机设备以及存储介质 | |
Sureshkumar et al. | A lightweight two-gateway based payment protocol ensuring accountability and unlinkable anonymity with dynamic identity | |
CN111738857B (zh) | 应用于区块链的隐匿支付证明的生成与验证方法及装置 | |
CN109948370A (zh) | 一种基于区块链的业务处理方法、装置和电子设备 | |
CN111311259A (zh) | 票据处理方法、装置、终端及计算机可读存储介质 | |
CN117561508A (zh) | 可验证凭证的跨会话颁发 | |
CN111915302B (zh) | 关联数据处理方法、装置、电子设备及计算机可读介质 | |
CN112860805A (zh) | 一种区块链数据交互方法及系统 | |
US11811866B2 (en) | Computer-implemented system and method for controlling processing steps of a distributed system | |
CN110443596A (zh) | 数据处理方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40009419 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |