+

CN110009323A - Block chain transaction method and device, electronic equipment and storage medium - Google Patents

Block chain transaction method and device, electronic equipment and storage medium Download PDF

Info

Publication number
CN110009323A
CN110009323A CN201910104654.1A CN201910104654A CN110009323A CN 110009323 A CN110009323 A CN 110009323A CN 201910104654 A CN201910104654 A CN 201910104654A CN 110009323 A CN110009323 A CN 110009323A
Authority
CN
China
Prior art keywords
transaction
volume
amount
remaining sum
turnover
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910104654.1A
Other languages
Chinese (zh)
Other versions
CN110009323B (en
Inventor
张文彬
陈盛龙
胡丹青
蒋国飞
马宝利
马环宇
闫雪冰
陈春伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ant Chain Technology Co ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201910104654.1A priority Critical patent/CN110009323B/en
Priority to CN202110391044.1A priority patent/CN113128989B/en
Publication of CN110009323A publication Critical patent/CN110009323A/en
Application granted granted Critical
Publication of CN110009323B publication Critical patent/CN110009323B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Technology Law (AREA)
  • Computer Security & Cryptography (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

One or more embodiments of the present specification provide a blockchain transaction method and apparatus, an electronic device, and a storage medium, which are applied to a remitter device, where the method includes: determining a transaction amount to be remitted from a remittance account to a recipient account, the remittance account including a remittance primary balance using a commitment amount, a remittance income balance using the commitment amount, and a remittance expenditure balance of a plaintext amount, the recipient account including a recipient primary balance using the commitment amount, a recipient income balance using the commitment amount, and a recipient expenditure balance of the plaintext amount; and submitting public transfer transaction to a blockchain, wherein the public transfer transaction comprises a public transaction amount corresponding to the public transaction amount, so that the public transaction amount is deducted from the remittance expenditure balance after the transaction is completed, and the public transaction amount is increased after the transaction is completed by the receiver expenditure balance.

Description

区块链交易方法及装置、电子设备、存储介质Blockchain transaction method and device, electronic device, storage medium

技术领域technical field

本说明书一个或多个实施例涉及区块链技术领域,尤其涉及一种区块链交易方法及装置、电子设备、存储介质。One or more embodiments of this specification relate to the field of blockchain technology, and in particular, to a blockchain transaction method and device, electronic equipment, and storage medium.

背景技术Background technique

区块链可以通过在各个区块链节点之间达成共识,从而在各个区块链节点之间共同维护统一的区块链账本,以永久记载区块链网络中发生的交易信息。区块链账本是完全公开的,以便于随时查看和验证已发生交易的历史数据。The blockchain can maintain a unified blockchain ledger among the blockchain nodes by reaching a consensus among the blockchain nodes to permanently record the transaction information that occurs in the blockchain network. The blockchain ledger is completely public, so that the historical data of the transactions that have occurred can be viewed and verified at any time.

发明内容SUMMARY OF THE INVENTION

有鉴于此,本说明书一个或多个实施例提供一种区块链交易方法及装置、电子设备、存储介质。In view of this, one or more embodiments of this specification provide a blockchain transaction method and device, an electronic device, and a storage medium.

本说明书一个或多个实施例提供技术方案如下:One or more embodiments of this specification provide technical solutions as follows:

根据本说明书一个或多个实施例的第一方面,提出了一种区块链交易方法,应用于汇出方设备,所述方法包括:According to a first aspect of one or more embodiments of the present specification, a blockchain transaction method is proposed, applied to a sender device, and the method includes:

确定将要从汇出方账户汇入接收方账户的交易额,所述汇出方账户包括采用承诺数额的汇出方主余额、采用承诺数额的汇出方收入余额和明文数额的汇出方支出余额,所述接收方账户包括采用承诺数额的接收方主余额、采用承诺数额的接收方收入余额和明文数额的接收方支出余额;Determine the transaction amount to be remitted from the sender's account to the recipient's account, which includes the sender's main balance in the committed amount, the sender's income balance in the committed amount, and the sender's payout in the express amount Balance, the receiver's account includes the receiver's main balance using the committed amount, the receiver's income balance using the committed amount, and the receiver's expenditure balance using the clear text amount;

向区块链提交公开转账交易,所述公开转账交易包含所述公开交易额对应的公开交易额,使得所述汇出方支出余额在交易完成后扣除所述公开交易额、所述接收方支出余额在交易完成后增加所述公开交易额。Submit a public transfer transaction to the blockchain, and the public transfer transaction includes the public transaction amount corresponding to the public transaction amount, so that the sender's expenditure balance deducts the public transaction amount and the recipient's expenditure after the transaction is completed. The balance is added to the public transaction amount after the transaction is completed.

根据本说明书一个或多个实施例的第二方面,提出了一种区块链交易装置,应用于汇出方设备,所述装置包括:According to a second aspect of one or more embodiments of the present specification, a blockchain transaction device is proposed, which is applied to a sender device, and the device includes:

确定单元,确定将要从汇出方账户汇入接收方账户的交易额,所述汇出方账户包括采用承诺数额的汇出方主余额、采用承诺数额的汇出方收入余额和明文数额的汇出方支出余额,所述接收方账户包括采用承诺数额的接收方主余额、采用承诺数额的接收方收入余额和明文数额的接收方支出余额;A determination unit, which determines the transaction amount to be remitted from the sender's account to the receiver's account, where the sender's account includes the sender's main balance using the committed amount, the sender's income balance using the promised amount, and the clear-text amount of the remittance. The sender's expenditure balance, the receiver's account includes the receiver's main balance using the committed amount, the receiver's income balance using the committed amount, and the receiver's expenditure balance using the plaintext amount;

提交单元,向区块链提交公开转账交易,所述公开转账交易包含所述公开交易额对应的公开交易额,使得所述汇出方支出余额在交易完成后扣除所述公开交易额、所述接收方支出余额在交易完成后增加所述公开交易额。The submitting unit submits a public transfer transaction to the blockchain, where the public transfer transaction includes the public transaction amount corresponding to the public transaction amount, so that after the transaction is completed, the payout balance of the sender deducts the public transaction amount, the public transaction amount, and the The recipient payout balance increases the public transaction amount after the transaction is completed.

根据本说明书一个或多个实施例的第三方面,提出了一种电子设备,包括:According to a third aspect of one or more embodiments of the present specification, an electronic device is proposed, including:

处理器;processor;

用于存储处理器可执行指令的存储器;memory for storing processor-executable instructions;

其中,所述处理器通过运行所述可执行指令以实现如第一方面所述的方法。Wherein, the processor implements the method according to the first aspect by executing the executable instructions.

根据本说明书一个或多个实施例的第四方面,提出了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如第一方面所述方法的步骤。According to a fourth aspect of one or more embodiments of the present specification, there is provided a computer-readable storage medium having computer instructions stored thereon, the instructions implementing the steps of the method according to the first aspect when executed by a processor.

附图说明Description of drawings

图1是一示例性实施例提供的一种示例环境的示意图。FIG. 1 is a schematic diagram of an example environment provided by an example embodiment.

图2是一示例性实施例提供的一种概念架构的示意图。Figure 2 is a schematic diagram of a conceptual architecture provided by an exemplary embodiment.

图3是一示例性实施例提供的一种账户创建方法的流程图。FIG. 3 is a flowchart of an account creation method provided by an exemplary embodiment.

图4是一示例性实施例提供的一种区块链账户结构的示意图。FIG. 4 is a schematic diagram of a blockchain account structure provided by an exemplary embodiment.

图5是一示例性实施例提供的一种区块链交易方法的流程图。Fig. 5 is a flowchart of a blockchain transaction method provided by an exemplary embodiment.

图6是一示例性实施例提供的一种基于支出余额实施的有限公开的汇款交易的流程图。FIG. 6 is a flowchart of a limited disclosure remittance transaction based on a spending balance, provided by an exemplary embodiment.

图7是一示例性实施例提供的一种汇款前后的账户余额变化情况的示意图。FIG. 7 is a schematic diagram of changes in account balances before and after remittance according to an exemplary embodiment.

图8是一示例性实施例提供的另一种区块链账户结构的示意图。FIG. 8 is a schematic diagram of another blockchain account structure provided by an exemplary embodiment.

图9是一示例性实施例提供的一种主余额对支出余额进行充值的交互示意图。FIG. 9 is an interactive schematic diagram of recharging the spending balance with the main balance according to an exemplary embodiment.

图10是一示例性实施例提供的一种充值前后的账户余额变化情况的示意图。FIG. 10 is a schematic diagram of changes in account balances before and after recharging provided by an exemplary embodiment.

图11是一示例性实施例提供的一种合并操作的交互示意图。FIG. 11 is an interactive schematic diagram of a merge operation provided by an exemplary embodiment.

图12是一示例性实施例提供的一种合并前后的账户余额变化情况的示意图。FIG. 12 is a schematic diagram of changes in account balances before and after consolidation provided by an exemplary embodiment.

图13是一示例性实施例提供的另一种区块链交易方法的流程图。FIG. 13 is a flowchart of another blockchain transaction method provided by an exemplary embodiment.

图14是一示例性实施例提供的一种基于主余额实施的完全隐私的汇款交易的流程图。FIG. 14 is a flow chart of a fully privacy-based remittance transaction based on a master balance provided by an exemplary embodiment.

图15是一示例性实施例提供的另一种汇款前后的账户余额变化情况的示意图。FIG. 15 is a schematic diagram of another account balance change before and after remittance provided by an exemplary embodiment.

图16是一示例性实施例提供的又一种区块链交易方法的流程图。Fig. 16 is a flowchart of yet another blockchain transaction method provided by an exemplary embodiment.

图17是一示例性实施例提供的一种基于支出余额实施的公开汇款交易的流程图。FIG. 17 is a flow chart of a public remittance transaction implemented based on a spending balance provided by an exemplary embodiment.

图18是一示例性实施例提供的又一种汇款前后的账户余额变化情况的示意图。FIG. 18 is a schematic diagram of another account balance change before and after remittance provided by an exemplary embodiment.

图19是一示例性实施例提供的一种设备的结构示意图。FIG. 19 is a schematic structural diagram of a device provided by an exemplary embodiment.

图20是一示例性实施例提供的一种区块链交易装置的框图。Fig. 20 is a block diagram of a blockchain transaction apparatus provided by an exemplary embodiment.

具体实施方式Detailed ways

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。Exemplary embodiments will be described in detail herein, examples of which are illustrated in the accompanying drawings. Where the following description refers to the drawings, the same numerals in different drawings refer to the same or similar elements unless otherwise indicated. The implementations described in the exemplary embodiments below are not intended to represent all implementations consistent with one or more embodiments of this specification. Rather, they are merely examples of apparatus and methods consistent with some aspects of one or more embodiments of this specification, as recited in the appended claims.

需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。It should be noted that: in other embodiments, the steps of the corresponding methods are not necessarily performed in the order shown and described in this specification. In some other embodiments, the method may include more or fewer steps than described in this specification. In addition, a single step described in this specification may be decomposed into multiple steps for description in other embodiments; and multiple steps described in this specification may also be combined into a single step in other embodiments. describe.

图1是一示例性实施例提供的一种示例环境的示意图。如图1所示,示例环境100允许实体参与区块链网络102。区块链网络102可以为公有类型、私有类型或联盟类型的区块链网络。示例环境100可以包括计算设备104、106、108、110、112和网络114;在一实施例中,网络114可以包括局域网(Local Area Network,LAN)、广域网(Wide Area Network,WAN)、因特网或其组合,并连接至网站、用户设备(例如计算设备)和后端系统。在一实施例中,可以通过有线和/或无线通信方式访问网络114。FIG. 1 is a schematic diagram of an example environment provided by an example embodiment. As shown in FIG. 1 , an example environment 100 allows entities to participate in a blockchain network 102 . The blockchain network 102 may be a public type, a private type or a consortium type of blockchain network. The example environment 100 may include computing devices 104, 106, 108, 110, 112, and a network 114; in one embodiment, the network 114 may include a Local Area Network (LAN), a Wide Area Network (WAN), the Internet, or It combines and connects to websites, user devices (eg, computing devices) and back-end systems. In one embodiment, the network 114 may be accessed through wired and/or wireless communications.

在某些情况下,计算设备106、108可以是云计算系统的节点(未显示),或者每个计算设备106、108可以是单独的云计算系统,包括由网络互连并作为分布式处理系统工作的多台计算机。In some cases, computing devices 106, 108 may be nodes of a cloud computing system (not shown), or each computing device 106, 108 may be a separate cloud computing system, including interconnected by a network and functioning as a distributed processing system Working on multiple computers.

在一实施例中,计算设备104~108可以运行任何适当的计算系统,使其能够作为区块链网络102中的节点;例如,计算设备104~108可以包括但不限于服务器、台式计算机、笔记本电脑、平板电脑计算设备和智能手机。在一实施例中,计算设备104~108可以归属于相关实体并用于实现相应的服务,例如该服务可以用于对某一实体或多个实体之间的交易进行管理。In one embodiment, computing devices 104-108 may run any suitable computing system enabling them to function as nodes in blockchain network 102; for example, computing devices 104-108 may include, but are not limited to, servers, desktop computers, laptops Computers, tablet computing devices and smartphones. In one embodiment, the computing devices 104-108 may belong to a related entity and be used to implement a corresponding service, for example, the service may be used to manage transactions between an entity or entities.

在一实施例中,计算设备104~108分别存储有区块链网络102对应的区块链账本。计算设备104可以是(或包含)用于提供浏览器功能的网络服务器,该网络服务器可基于网络114提供与区块链网络102相关的可视化信息。在一些情况下,计算设备104可以不参与区块验证,而是监控区块链网络102以确定其他节点(譬如可以包括计算设备106-108)何时达成共识,并据此生成相应的区块链可视化用户界面。In one embodiment, the computing devices 104 to 108 store blockchain ledgers corresponding to the blockchain network 102, respectively. Computing device 104 may be (or include) a web server for providing browser functionality that may provide visualization information related to blockchain network 102 based on network 114 . In some cases, computing device 104 may not participate in block verification, but instead monitor blockchain network 102 to determine when other nodes (eg, which may include computing devices 106-108) reach consensus and generate corresponding blocks accordingly Chain visualization user interface.

在一实施例中,计算设备104可接收客户端设备(例如计算设备110或计算设备112)针对区块链可视化用户界面发起的请求。在一些情况下,区块链网络102的节点也可以作为客户端设备,比如计算设备108的用户可以使用运行在计算设备108上的浏览器向计算设备104发送上述请求。In an embodiment, computing device 104 may receive a request initiated by a client device (eg, computing device 110 or computing device 112 ) for a blockchain visual user interface. In some cases, the nodes of the blockchain network 102 may also act as client devices, such as a user of the computing device 108 may use a browser running on the computing device 108 to send the above request to the computing device 104 .

响应于上述请求,计算设备104可以基于存储的区块链账本生成区块链可视化用户界面(如网页),并将生成的区块链可视化用户界面发送给请求的客户端设备。如果区块链网络102是私有类型或联盟类型的区块链网络,对区块链可视化用户界面的请求可以包括用户授权信息,在生成区块链可视化用户界面并发送给请求的客户端设备之前,可以由计算设备104对该用户授权信息进行验证,并在验证通过后返回相应的区块链可视化用户界面。In response to the above request, computing device 104 may generate a blockchain visualization user interface (eg, a web page) based on the stored blockchain ledger, and transmit the generated blockchain visualization user interface to the requesting client device. If the blockchain network 102 is a private-type or consortium-type blockchain network, the request for the blockchain visualization user interface may include user authorization information before the blockchain visualization user interface is generated and sent to the requesting client device , the user authorization information can be verified by the computing device 104, and the corresponding blockchain visual user interface is returned after the verification is passed.

区块链可视化用户界面可以显示在客户端设备上(例如可显示在图1所示的用户界面116中)。当区块链账本发生更新时,用户界面116的显示内容也可以随之发生更新。此外,用户与用户界面116的交互可能导致对其他用户界面的请求,例如显示区块列表、区块详情、交易列表、交易详情、账户列表、账户详情、合约列表、合约详情或者用户对区块链网络实施搜索而产生的搜索结果页面等。The blockchain visualization user interface may be displayed on the client device (eg, may be displayed in the user interface 116 shown in FIG. 1 ). When the blockchain ledger is updated, the display content of the user interface 116 may also be updated accordingly. In addition, user interaction with user interface 116 may result in requests for other user interfaces, such as displaying a block list, block details, transaction list, transaction details, account list, account details, contract list, contract details, or the user's interest in blocks The search result page, etc. generated by the chain network implementing the search.

图2是一示例性实施例提供的一种概念架构的示意图。如图2所示,该概念架构200包括实体层202、托管服务层204和区块链网络层206。例如,实体层202可以包括三个实体:实体1、实体2和实体3,每个实体都有各自的交易管理系统208。Figure 2 is a schematic diagram of a conceptual architecture provided by an exemplary embodiment. As shown in FIG. 2 , the conceptual architecture 200 includes an entity layer 202 , a managed services layer 204 and a blockchain network layer 206 . For example, the entity layer 202 may include three entities: Entity 1, Entity 2, and Entity 3, each of which has its own transaction management system 208.

在一实施例中,托管服务层204可以包括每个事务管理系统208对应的接口210。例如,各个事务管理系统208使用协议(例如超文本传输协议安全(HTTPS)等)通过网络(例如图1中的网络114)与各自的接口210通信。在一些例子中,每个接口210可以提供各自对应的交易管理系统208与区块链网络层206之间的通信连接;更具体地,接口210可与区块链网络层206的区块链网络212通信。在一些例子中,接口210和区块链网络层206之间的通信可以使用远程过程调用(Remote Procedure Calls,RPCs)而实现。在一些例子中,接口210可以向交易管理系统208提供用于访问区块链网络212的API接口。In one embodiment, the managed services layer 204 may include an interface 210 corresponding to each transaction management system 208 . For example, each transaction management system 208 communicates with a respective interface 210 over a network (eg, network 114 in FIG. 1 ) using a protocol (eg, Hypertext Transfer Protocol Secure (HTTPS), etc.). In some examples, each interface 210 may provide a communication connection between the respective transaction management system 208 and the blockchain network layer 206 ; 212 Communications. In some examples, the communication between the interface 210 and the blockchain network layer 206 may be implemented using Remote Procedure Calls (RPCs). In some examples, interface 210 may provide transaction management system 208 with an API interface for accessing blockchain network 212 .

如本文所述,区块链网络212以对等网络的形式提供,该对等网络包括多个节点214,这些节点214分别用于对块链数据所形成的区块链账本216进行持久化;其中,图2中仅示出了一份区块链账本216,但区块链网络212中可以存在多份区块链账本216或其副本,比如每一节点214可以分别维护一份区块链账本216或其副本。As described herein, the blockchain network 212 is provided in the form of a peer-to-peer network that includes a plurality of nodes 214, each of which is used to persist the blockchain ledger 216 formed by the blockchain data; Among them, only one blockchain ledger 216 is shown in FIG. 2 , but there may be multiple blockchain ledgers 216 or copies thereof in the blockchain network 212 , for example, each node 214 can maintain a separate blockchain Ledger 216 or a copy thereof.

需要指出的是:在本说明书中所描述的交易(transaction),是指用户通过区块链的客户端创建,并需要最终发布至区块链的分布式数据库中的一笔数据。其中,区块链中的交易,存在狭义的交易以及广义的交易之分。狭义的交易是指用户向区块链发布的一笔价值转移;例如,在传统的比特币区块链网络中,交易可以是用户在区块链中发起的一笔转账。而广义的交易是指用户向区块链发布的一笔具有业务意图的业务数据;例如,运营方可以基于实际的业务需求搭建一个联盟链,依托于联盟链部署一些与价值转移无关的其它类型的在线业务(比如,租房业务、车辆调度业务、保险理赔业务、信用服务、医疗服务等),而在这类联盟链中,交易可以是用户在联盟链中发布的一笔具有业务意图的业务消息或者业务请求。It should be pointed out that the transaction described in this specification refers to a piece of data that is created by the user through the client of the blockchain and needs to be finally released to the distributed database of the blockchain. Among them, transactions in the blockchain can be divided into narrow transactions and broad transactions. A transaction in a narrow sense refers to a transfer of value issued by a user to the blockchain; for example, in the traditional Bitcoin blockchain network, a transaction can be a transfer initiated by a user in the blockchain. In a broad sense, a transaction refers to a piece of business data with business intent released by a user to the blockchain; for example, an operator can build a consortium chain based on actual business needs, and rely on the consortium chain to deploy some other types that have nothing to do with value transfer. Online business (such as rental business, vehicle scheduling business, insurance claim business, credit service, medical service, etc.), and in this type of alliance chain, the transaction can be a business with business intent published by the user in the alliance chain message or business request.

在本说明书的技术方案中,通过对区块链中的账户结构进行改进,可以实现新的账户交易形式,从而在保障交易隐私的前提下,实现账户模型下的并发交易,从而提升交易吞吐量。In the technical solution of this specification, by improving the account structure in the blockchain, a new account transaction form can be realized, so that concurrent transactions under the account model can be realized under the premise of ensuring transaction privacy, thereby improving transaction throughput. .

图3是一示例性实施例提供的一种账户创建方法的流程图。如图3所示,该方法应用于区块链节点,所述方法包括:FIG. 3 is a flowchart of an account creation method provided by an exemplary embodiment. As shown in Figure 3, the method is applied to a blockchain node, and the method includes:

步骤302,接收区块链交易,所述区块链交易的类型为账户创建类型。Step 302: Receive a blockchain transaction, where the type of the blockchain transaction is an account creation type.

在一实施例中,用户可以在客户端生成区块链交易,并通过该客户端将区块链交易提交至区块链节点,以由区块链节点进行处理。In one embodiment, a user may generate a blockchain transaction at the client and submit the blockchain transaction to the blockchain node through the client for processing by the blockchain node.

在一实施例中,区块链交易包含若干字段。比如在以太坊区块链中,区块链交易通常可以包括from字段、to字段、data字段等,以分别表示交易发起方的账户地址、需调用的智能合约的合约地址、交易相关内容等。而在本说明书的技术方案,可以在区块链交易中设置一类型字段,该类型字段所含的内容用于表明相关区块链交易的类型,使得区块链节点可以据此实施对应的处理。例如,可以将区块链交易标注为账户创建类型,使得区块链节点可以据此创建新的账户。In one embodiment, the blockchain transaction contains several fields. For example, in the Ethereum blockchain, a blockchain transaction can usually include a from field, a to field, a data field, etc., to indicate the account address of the transaction initiator, the contract address of the smart contract to be invoked, and transaction-related content, etc., respectively. In the technical solution of this specification, a type field can be set in the blockchain transaction, and the content contained in the type field is used to indicate the type of the relevant blockchain transaction, so that the blockchain node can perform corresponding processing accordingly. . For example, blockchain transactions can be marked as account creation types so that blockchain nodes can create new accounts accordingly.

步骤304,执行所述区块链交易以创建第一账户,所述第一账户包括采用密文数额的收入余额和明文数额的支出余额。Step 304: Execute the blockchain transaction to create a first account, where the first account includes an income balance in a ciphertext amount and a payout balance in a plaintext amount.

区块链网络中通常采用两种交易模型,即UTXO(Unspent Transaction Output,未花费的交易输出)模型和账户模型。UTXO模型的典型应用场景为比特币区块链,该模型下的链上资产以交易输出的形式存在,当一笔交易存在未花费的交易输出时,该未花费的交易输出归私钥持有者所有;在使用时,可以将一个或多个未花费的交易输出作为输入,并指定一个或多个输出,从而形成新的一笔或多笔未花费的交易输出。虽然UTXO模型被多种区块链网络所采用,但对智能合约的支持很弱,从而对应用场景造成了较大限制。而账户模型的典型应用场景为以太坊区块链,该模型下通过创建账户,将账户持有的链上资产表现为账户地址对应的余额,每笔转账交易可以将资产从一个账户地址转移至另一个账户地址,且交易的金额直接更新至账户地址对应的余额。相比于UTXO模型而言,账户模型能够支持完备的智能合约功能,具有较好的场景扩展性。Two transaction models are usually used in the blockchain network, namely the UTXO (Unspent Transaction Output) model and the account model. The typical application scenario of the UTXO model is the Bitcoin blockchain. The assets on the chain under this model exist in the form of transaction outputs. When there is an unspent transaction output in a transaction, the unspent transaction output is held by the private key. It is owned by the owner; when used, one or more unspent transaction outputs can be used as input, and one or more outputs are specified, thereby forming a new one or more unspent transaction outputs. Although the UTXO model is adopted by a variety of blockchain networks, the support for smart contracts is weak, which limits the application scenarios. The typical application scenario of the account model is the Ethereum blockchain. Under this model, by creating an account, the on-chain assets held by the account are represented as the balance corresponding to the account address. Each transfer transaction can transfer assets from an account address to Another account address, and the transaction amount is directly updated to the balance corresponding to the account address. Compared with the UTXO model, the account model can support complete smart contract functions and has better scene scalability.

出于交易隐私保护的目的,相关技术中提出了对区块链交易的改进。在UTXO模型下,可以通过同态加密或同态承诺技术对交易金额进行保护,以及利用区间证明技术保证交易的输出非负等。而在账户模型下,可以通过同态加密或同态承诺技术对交易金额进行保护,以及利用区间证明技术保证交易额非负且账户余额足够支付。For the purpose of transaction privacy protection, improvements to blockchain transactions have been proposed in related technologies. Under the UTXO model, the transaction amount can be protected through homomorphic encryption or homomorphic commitment technology, and interval proof technology can be used to ensure that the output of the transaction is non-negative, etc. Under the account model, the transaction amount can be protected by homomorphic encryption or homomorphic commitment technology, and the interval proof technology can be used to ensure that the transaction amount is non-negative and the account balance is sufficient to pay.

在UTXO模型下,将一个或多个交易输出作为一笔转账交易的输入,并在转账完成后形成一个或多个新的交易输出。可见,一个交易输出只会在一笔转账交易中被花费,无法被多笔转账交易所花费,使得针对一笔转账交易生成的区间证明仅与该转账交易输入相关,与其他转账交易的输入无关,因而UTXO模型天然地具有高的交易并发性。而在账户模型下,每笔交易的输入均为账户的余额,每笔交易的区间证明都与账户的余额相关,而账户的余额在每笔交易后都会发生更新,使得同一账户下的所有交易需要按顺序串行执行,即一笔交易结束并导致账户的余额发生更新后,才能够针对下一笔交易生成区间证明、触发实施下一笔交易,否则交易会因为区间证明不合法而被共识节点拒绝执行。因此,在账户模型下使用带有区间证明的隐私保护技术时,会严重地阻碍交易的吞吐量。Under the UTXO model, one or more transaction outputs are used as the input of a transfer transaction, and one or more new transaction outputs are formed after the transfer is completed. It can be seen that a transaction output can only be spent in one transfer transaction and cannot be spent by multiple transfer transactions, so that the interval proof generated for a transfer transaction is only related to the input of the transfer transaction and has nothing to do with the input of other transfer transactions , so the UTXO model naturally has high transaction concurrency. Under the account model, the input of each transaction is the account balance, the interval proof of each transaction is related to the account balance, and the account balance will be updated after each transaction, making all transactions under the same account It needs to be executed in sequence, that is, after a transaction ends and the account balance is updated, the interval proof can be generated for the next transaction and the next transaction can be triggered. Otherwise, the transaction will be agreed because the interval proof is illegal. Node refuses to execute. Therefore, when using privacy-preserving techniques with interval proofs under the account model, the throughput of transactions will be severely hindered.

为了解决账户模型下的并发性问题,确保对智能合约功能的充分支持,本说明书针对相关技术中的账户模型下的账户结构提出了改进,以使其能够适应于高吞吐量的并发交易。In order to solve the concurrency problem under the account model and ensure sufficient support for smart contract functions, this specification proposes improvements to the account structure under the account model in related technologies so that it can be adapted to high-throughput concurrent transactions.

区块链网络中的账户可以包括外部账户和合约账户等。外部账户通常为用户(个人或机构)所有,而合约账户则对应于区块链中的智能合约。各类账户的结构都类似,例如图4所示,可以包含Nonce字段、Balance字段、Code字段和Storage字段等。每个账户的Nonce字段的取值从0开始,且Nonce字段的取值随相应账户所发起的交易而依次递增,使得该账户发起的每一交易所含Nonce取值均不相同,从而避免重放攻击。Balance字段用于存放余额。Code字段用于存放智能合约的代码,因而外部账户的Code字段通常为空。Storage字段用于存放账户在状态树中对应节点处的取值。Accounts in the blockchain network can include external accounts and contract accounts, etc. External accounts are usually owned by users (individuals or institutions), while contract accounts correspond to smart contracts in the blockchain. The structures of various types of accounts are similar. For example, as shown in Figure 4, the Nonce field, the Balance field, the Code field, and the Storage field can be included. The value of the Nonce field of each account starts from 0, and the value of the Nonce field increases sequentially with the transactions initiated by the corresponding account, so that each transaction initiated by the account contains a different value of Nonce, so as to avoid repeated Let go of the attack. The Balance field is used to store the balance. The Code field is used to store the code of the smart contract, so the Code field of the external account is usually empty. The Storage field is used to store the value of the account at the corresponding node in the state tree.

在不考虑隐私保护的情况下,Balance字段的取值为账户持有的明文余额。在考虑隐私保护的情况下,可以通过诸如Pedersen承诺机制将明文余额生成为相应的密文承诺,使得区块链账本上仅记录该密文承诺、只有持有者能够对该密文承诺进行解密;但是,这种情况下由于区间证明的限制,使其存在上文所述的并发性不足的问题。而本说明书中针对Balance字段进行了结构改进,对Balance字段做了进一步划分,比如使得该Balance字段包含收入余额和支出余额,其中收入余额在区块链账本中记录为密文数额、支付余额在区块链账本中记录为明文数额。Without considering privacy protection, the value of the Balance field is the plaintext balance held by the account. In the case of considering privacy protection, the balance of plaintext can be generated into the corresponding ciphertext commitment through a mechanism such as Pedersen commitment, so that only the ciphertext commitment is recorded on the blockchain ledger, and only the holder can decrypt the ciphertext commitment. ; However, in this case, due to the limitation of interval proof, it has the problem of insufficient concurrency mentioned above. In this manual, the structure of the Balance field is improved, and the Balance field is further divided, for example, the Balance field contains the income balance and the expenditure balance, and the income balance is recorded in the blockchain ledger as the ciphertext amount, and the payment balance is in The amount is recorded in plaintext in the blockchain ledger.

基于上述改进后的账户结构,当第一账户作为汇出方账户、用于向作为接收方账户的第二账户进行转账时,相关转账过程将结合图5进行介绍。图5是一示例性实施例提供的一种区块链交易方法的流程图。如图5所示,该方法应用于汇出方设备,所述方法包括:Based on the above-mentioned improved account structure, when the first account is used as the sender's account to transfer money to the second account as the receiver's account, the relevant transfer process will be introduced in conjunction with FIG. 5 . Fig. 5 is a flowchart of a blockchain transaction method provided by an exemplary embodiment. As shown in FIG. 5 , the method is applied to the equipment of the exporter, and the method includes:

步骤502,根据将要从汇出方账户汇入接收方账户的有限公开交易额,确定对应的扣款额;其中,所述汇出方账户包括采用承诺数额的收入余额和明文数额的支出余额。Step 502: Determine the corresponding debit amount according to the limited public transaction amount to be remitted from the sender's account to the receiver's account; wherein the sender's account includes the income balance of the promised amount and the expenditure balance of the plaintext amount.

在一实施例中,本说明书提供了有限公开类型的转账交易模式,该模式下可以通过采用承诺数额的收入余额、明文数额的支出余额实施具有隐私保护的转账交易。In one embodiment, this specification provides a limited disclosure type of transfer transaction mode, in which a transfer transaction with privacy protection can be implemented by adopting the income balance of the promised amount and the expenditure balance of the plaintext amount.

在一实施例中,扣款额可以为任意不小于有限公开交易额的数值。例如,汇出方账户可以根据预先定义的每种类型的转账场景下的转账数额上限,分别设定针对各类转账场景的备选扣款额,形成备选扣款额集合。或者,也可以根据其他方式确定各个备选扣款额的取值,本说明书并不对此进行限制。然后,只需要选取一不小于有限公开交易额的扣款额即可。当然,也可以根据有限公开交易额的数值,临时生成一扣款额。扣款额的取值最好与有限公开交易额本身无关,否则当生成扣款额的算法被泄露后,可能导致不法分子根据扣款额的数值逆推出有限公开交易额的取值。In one embodiment, the debit amount can be any value not less than the limited public transaction amount. For example, the sender's account may set alternative deduction amounts for various transfer scenarios according to the pre-defined upper limit of the transfer amount in each type of transfer scenario to form a set of alternative deduction amounts. Alternatively, the value of each alternative deduction amount may also be determined according to other methods, which is not limited in this specification. Then, simply select a deduction amount not less than the limited public transaction amount. Of course, it is also possible to temporarily generate a deduction amount based on the value of the limited public transaction amount. The value of the deduction amount should preferably have nothing to do with the limited public transaction amount itself. Otherwise, when the algorithm for generating the deduction amount is leaked, it may cause criminals to inversely deduce the value of the limited public transaction amount based on the value of the deduction amount.

步骤504,向区块链提交有限公开转账交易,所述有限公开转账交易包含所述有限公开交易额对应的有限公开交易额承诺、所述扣款额、用于证明所述交易额非负且所述扣款额不小于所述有限公开交易额的区间证明。Step 504, submit a limited public transfer transaction to the blockchain, the limited public transfer transaction includes the limited public transaction amount commitment corresponding to the limited public transaction amount, the deduction amount, and the amount used to prove that the transaction amount is non-negative and The deduction amount is not less than the interval proof of the limited public transaction amount.

在一实施例中,当所述有限公开转账交易完成后,可使所述支出余额在交易完成后扣除所述扣款额、所述收入余额在交易完成后增加所述扣款额并扣除所述有限公开交易额(即增加了找零额,该找零额的取值即扣款额与有限公开交易额之差)、所述接收方账户在交易完成后增加所述有限公开交易额。那么,在从支出余额扣除所述扣款额时,由于支出余额、扣款额均采用明文形式,使得不需要生成余额充足的区间证明(可以直接比对明文数额),从而在转账交易与汇出方账户的余额之间实现了解绑,使得账户模型下能够实现并发交易。同时,由于收入余额采用承诺数额的形式,因而向收入余额中增加的找零额也采用承诺数额进行记录,又由于有限公开交易额也表现为相应的承诺数额,因而整个交易过程中仅暴露了明文的扣款额、其余数额均表现为密文形式的承诺数额,所以能够在实现并发交易的同时,确保足够的隐私保护。In one embodiment, after the limited public transfer transaction is completed, the deduction amount can be deducted from the expenditure balance after the transaction is completed, and the deduction amount can be added to the income balance after the transaction is completed and the deduction amount is deducted. The limited public transaction amount (that is, the change amount is increased, and the value of the change amount is the difference between the deduction amount and the limited public transaction amount), and the recipient account increases the limited public transaction amount after the transaction is completed. Then, when the deduction amount is deducted from the expenditure balance, since the expenditure balance and the deduction amount are both in plaintext, it is not necessary to generate an interval proof of sufficient balance (the plaintext amount can be directly compared), so that between the transfer transaction and the remittance The balances of the outgoing accounts are unbound, enabling concurrent transactions under the account model. At the same time, since the income balance is in the form of the commitment amount, the amount of change added to the income balance is also recorded in the commitment amount, and because the limited public transaction amount is also expressed as the corresponding commitment amount, only the exposed amount is exposed in the entire transaction process. The deduction amount and the remaining amount in plaintext are all commitment amounts in the form of ciphertext, so it can ensure sufficient privacy protection while realizing concurrent transactions.

在一实施例中,当接收方账户在交易完成后增加所述有限公开交易额时,如果接收方账户采用本说明书的账户结构,那么该有限公开交易额可以增加至接收方账户的收入余额中。具体的,由于接收方账户的收入余额采用承诺数额的形式,因此有限公开交易额同样会以相应的承诺数额的形式被增加至接收方账户的收入余额中。类似地,当所述汇出方账户的汇出方余额增大时,譬如某一账户向该汇出方账户进行转账时,相应的金额被增加至该汇出方账户的收入余额。In one embodiment, when the limited open transaction amount is added to the recipient's account after the transaction is completed, if the recipient's account adopts the account structure of this specification, the limited open transaction amount can be added to the income balance of the recipient's account. . Specifically, since the income balance of the receiver's account is in the form of a committed amount, the limited public transaction amount will also be added to the income balance of the receiver's account in the form of a corresponding committed amount. Similarly, when the sender's balance of the sender's account increases, eg, when an account transfers money to the sender's account, the corresponding amount is added to the income balance of the sender's account.

可见,通过在账户结构中分别设置承诺数额的收入余额和明文数额的支出余额,不仅可以在保证交易隐私性的同时,实现账户模型下的并发交易,而且可以将同一账户所参与的汇出交易与汇入交易之间的解耦,确保汇出方账户能够同时参与汇出交易和汇入交易,能够提升交易吞吐量。It can be seen that by setting the income balance of the committed amount and the expenditure balance of the clear text amount in the account structure, not only can the concurrent transactions under the account model be realized while ensuring transaction privacy, but also the remittance transactions that the same account participates in can be transferred. The decoupling from the inward transaction ensures that the account of the sender can participate in the outward transaction and the inward transaction at the same time, which can improve the transaction throughput.

下面以作为汇出方的用户A、作为接收方的用户B为例,对有限公开交易的实施过程进行描述。图6是一示例性实施例提供的一种基于支出余额实施的有限公开的汇款交易的流程图;如图6所示,汇出方、接收方和区块链节点之间的交互过程可以包括以下步骤:The implementation process of limited public transaction is described below by taking user A as the sender and user B as the receiver as examples. Fig. 6 is a flow chart of a limited public remittance transaction based on expenditure balance provided by an exemplary embodiment; as shown in Fig. 6, the interaction process between the sender, the receiver and the blockchain node may include: The following steps:

步骤601,汇出方确定转账金额t。Step 601, the sender determines the transfer amount t.

在一实施例中,汇出方是指汇款交易中对款项等资源进行汇出的角色,相应地接收方是指汇款交易中对款项等资源进行接收的角色。例如,用户A使用的用户设备可以被配置为汇出方,而用户B使用的用户设备可以被配置为接收方。In one embodiment, the sender refers to a role that remits resources such as money in a remittance transaction, and correspondingly, the receiver refers to a role that receives resources such as money in a remittance transaction. For example, the user equipment used by user A may be configured as the sender, and the user equipment used by user B may be configured as the receiver.

在一实施例中,在起草汇款交易时,汇款额t可由汇出方与接收方之间进行协商。当然,汇出方也可以自行确定汇款额t,由接收方在后续步骤中予以确认。In one embodiment, when drafting the remittance transaction, the remittance amount t can be negotiated between the sender and the receiver. Of course, the sender can also determine the remittance amount t by itself, which will be confirmed by the receiver in subsequent steps.

步骤602,汇出方确定汇款额t对应的随机数r。Step 602, the sender determines the random number r corresponding to the remittance amount t.

在一实施例中,汇出方可以基于Pedersen承诺机制为该汇款额t产生随机数r,则汇款额t对应的汇款承诺T=PC(t,r),其中PC()为预设算法。In one embodiment, the sender can generate a random number r for the remittance amount t based on the Pedersen commitment mechanism, and the remittance commitment T=PC(t,r) corresponding to the remittance amount t, where PC() is a preset algorithm.

步骤603,汇出方通过链下通道将(r,t,T)发送至接收方。Step 603, the sender sends (r, t, T) to the receiver through the off-chain channel.

在一实施例中,通过将(r,t,T)由链下通道而非区块链网络进行发送,可以避免汇款随机数r和汇款额t被记录至区块链账本中,确保汇款额t除汇出方和接收方之外不可知。In one embodiment, by sending (r, t, T) through the off-chain channel instead of the blockchain network, the remittance random number r and the remittance amount t can be prevented from being recorded in the blockchain ledger, and the remittance amount can be ensured. tAgnostic other than the sender and receiver.

步骤604,接收方对收到的(r,t,T)进行验证。Step 604, the receiver verifies the received (r, t, T).

在一实施例中,接收方可以对汇款额t进行验证,以确定为希望收取的汇款数额。In one embodiment, the receiver can verify the remittance amount t to determine the amount of the remittance desired to be collected.

在一实施例中,接收方可以对汇款承诺T进行验证,即接收方可以通过Perdersen承诺机制对随机数r和汇款额t进行计算,以验证汇款承诺T=PC(t,r)是否正确,若正确则表明验证通过,否则验证不通过。In one embodiment, the receiver can verify the remittance commitment T, that is, the receiver can calculate the random number r and the remittance amount t through the Perdersen commitment mechanism to verify whether the remittance commitment T=PC(t,r) is correct, If it is correct, it means that the verification is passed, otherwise the verification is not passed.

步骤605,接收方在验证通过后,生成签名并返回至汇出方。Step 605, after the receiver passes the verification, a signature is generated and returned to the sender.

在一实施例中,在验证通过后,接收方可以利用接收方私钥对(A,B:T)进行签名,生成签名SigB并返回至汇出方。该签名SigB表明接收方同意由用户A的区块链账户1向用户B的区块链账户2实施承诺为T的汇款交易。In one embodiment, after the verification is passed, the receiver can use the receiver's private key to sign (A, B:T), generate a signature SigB and return it to the sender. The signature SigB indicates that the recipient agrees to implement the remittance transaction committed to T by user A's blockchain account 1 to user B's blockchain account 2.

步骤606,在收到签名SigB后,汇出方根据扣款额L生成区间证明PR。Step 606, after receiving the signature SigB, the sender generates the interval proof PR according to the deduction amount L.

在一实施例中,扣款额L由汇出方根据转账金额t确定得到。例如,汇出方可以预先维护有若干扣款额L1~Ln,而汇出方可以随意选取一扣款额L,只要确保t≤L≤w即可,其中w为用户A的区块链账户1中的支出余额的取值。In one embodiment, the debit amount L is determined by the sender according to the transfer amount t. For example, the sender can maintain a number of deduction amounts L1 to Ln in advance, and the sender can choose a deduction amount L at will, as long as t≤L≤w, where w is user A's blockchain account The value of the spending balance in 1.

在一实施例中,汇出方可以在生成区间证明PR之前的任意时刻确定出扣款额L,本说明书并不对此进行限制。In one embodiment, the sender may determine the deduction amount L at any time before generating the interval proof PR, which is not limited in this specification.

在一实施例中,为了确保汇款交易顺利完成,区块链节点需要确定汇款额t、扣款额L满足下述条件:0≤t≤L;而区间证明技术可以使得区块链节点在密文状态下验证交易是否符合预设条件,譬如本说明书中可以采用相关技术中的Bulletproofs方案、Borromean环签名方案等实现,本说明书并不对此进行限制。汇出方可以利用区间证明技术生成区间证明PR,以供后续过程中由区块链节点进行验证是否满足0≤t≤L。In one embodiment, in order to ensure the successful completion of the remittance transaction, the blockchain node needs to determine that the remittance amount t and the deduction amount L satisfy the following conditions: 0≤t≤L; It can be used to verify whether the transaction meets the preset conditions in the text state. For example, the Bulletproofs scheme and the Borromean ring signature scheme in related technologies can be used in this specification to realize, but this specification does not limit this. The sender can use the interval proof technology to generate the interval proof PR for verification by the blockchain node in the subsequent process whether 0≤t≤L is satisfied.

步骤607,汇出方对交易内容(A,B:T,L,PR;SigB)进行签名,生成签名SigA。Step 607, the exporter signs the transaction content (A, B: T, L, PR; SigB) to generate a signature SigA.

在一实施例中,该汇出方可以利用汇出方私钥对交易内容(A,B:T,L,PR;SigB)进行签名,生成签名SigA。In one embodiment, the sender can use the sender's private key to sign the transaction content (A, B: T, L, PR; SigB) to generate the signature SigA.

步骤608,汇出方向区块链提交交易。Step 608, the exporter submits the transaction to the blockchain.

在一实施例中,汇出方被配置为区块链的客户端,可以将汇款交易提交至区块链网络中的某一区块链节点,并进而被传输至区块链网络中的所有区块链节点,并由各个区块链节点分别对该汇款交易进行验证,以在验证通过时执行汇款操作、在验证未通过时拒绝汇款。In one embodiment, the remittance party is configured as a client of the blockchain, and can submit the remittance transaction to a certain blockchain node in the blockchain network, and then transmit it to all the blockchain nodes in the blockchain network. The blockchain node, and each blockchain node verifies the remittance transaction separately, so as to perform the remittance operation when the verification is passed, and reject the remittance when the verification fails.

步骤609,区块链节点检查交易是否执行过。Step 609, the blockchain node checks whether the transaction has been executed.

在一实施例中,此处的区块链节点可以表示区块链网络中的任意一个区块链节点,即区块链网络中的每一区块链节点均会收到上述汇款交易,并通过步骤609~612等实施验证等操作。In one embodiment, the blockchain node here may represent any blockchain node in the blockchain network, that is, each blockchain node in the blockchain network will receive the above remittance transaction, and Operations such as verification are performed through steps 609 to 612 and the like.

在一实施例中,区块链节点在收到上述汇款交易后,可以利用相关技术中的防双花或防重放机制,验证该汇款交易是否已经执行过;如果已经执行过,可以拒绝执行该汇款交易,否则转入步骤610。In one embodiment, after receiving the above-mentioned remittance transaction, the blockchain node can use the anti-double-spending or anti-replay mechanism in the related art to verify whether the remittance transaction has been executed; if it has been executed, it can refuse to execute. The remittance transaction, otherwise, go to step 610.

步骤610,区块链节点检查签名。Step 610, the blockchain node checks the signature.

在一实施例中,区块链节点可以检查该汇款交易中包含的签名SigA、SigB是否正确;如果不正确,可以拒绝执行该汇款交易,否则转入步骤611。In one embodiment, the blockchain node can check whether the signatures SigA and SigB included in the remittance transaction are correct; if not, the remittance transaction can be refused to be executed, otherwise, go to step 611 .

步骤611,区块链节点检查区间证明PR。Step 611, the blockchain node checks the interval proof PR.

在一实施例中,区块链节点可以基于区间证明技术对该汇款交易包含的区间证明PR进行检查,以确定是否满足0≤t≤L。如果不满足,可以拒绝执行该汇款交易,否则转入步骤612。In one embodiment, the blockchain node may check the interval proof PR included in the remittance transaction based on the interval proof technology to determine whether 0≤t≤L is satisfied. If not satisfied, the remittance transaction can be rejected, otherwise, go to step 612.

步骤612,区块链节点检查支出余额是否充足。Step 612, the blockchain node checks whether the spending balance is sufficient.

在一实施例中,由于区块链账户1的支出余额w以明文形式被记录于区块链账本中,使得区块链节点可以直接读取区块链账户1的支出余额w,并将该支出余额w与扣款额L进行比较,从而在w≥L时确定支出余额充足。In one embodiment, since the expenditure balance w of the blockchain account 1 is recorded in the blockchain ledger in plaintext, the blockchain node can directly read the expenditure balance w of the blockchain account 1, and store the expenditure balance w of the blockchain account 1 directly. The disbursement balance w is compared with the debit amount L to determine that the disbursement balance is sufficient when w≥L.

因此,汇出方在步骤606中只需要针对交易额t和扣款额L生成上述的区间证明PR,而不需要针对扣款额L和支出余额w生成相应的区间证明,这样既可以省去区间证明的生成过程、提升交易的生成效率,又可以省去区间证明的验证过程、提升交易的执行效率。Therefore, in step 606, the sender only needs to generate the above-mentioned interval proof PR for the transaction amount t and the deduction amount L, but does not need to generate the corresponding interval proof for the deduction amount L and the expenditure balance w, which can save the The generation process of interval proof can improve the efficiency of transaction generation, and it can save the verification process of interval proof and improve the execution efficiency of transaction.

步骤613,区块链节点在维护的区块链账本中更新用户A、用户B分别对应的区块链账户。Step 613: The blockchain node updates the blockchain accounts corresponding to user A and user B in the maintained blockchain ledger.

在一实施例中,在通过步骤609~612的验证后,区块链节点可以分别对区块链账本中记载的区块链账户1、区块链账户2进行更新,如图7所示:In one embodiment, after passing the verification in steps 609 to 612, the blockchain node can update the blockchain account 1 and the blockchain account 2 recorded in the blockchain ledger respectively, as shown in Figure 7:

在用户A的区块链账户1中,交易前的收入余额为v、在区块链账本中被记录为相应的承诺数额PC(v,y),交易前的支出余额为w、在区块链账本中被记录为明文数额w。在交易完成后,支出余额被扣除了上述的扣款额L,因而在区块链账本中被记录为明文数额w-L,而收入余额则增加了找零额、即扣款额L与汇款额t之差,因而在区块链账本中被记录为相应的承诺数额PC(v,y)+PC(L,0)-PC(t,r),其中PC(L,0)为扣款额L对应的承诺值(预先约定采用的随机数为0;当然,也可以采用约定的其他数值)。In user A's blockchain account 1, the income balance before the transaction is v, which is recorded as the corresponding commitment amount PC(v,y) in the blockchain ledger, and the expenditure balance before the transaction is w. The chain ledger is recorded as the plaintext amount w. After the transaction is completed, the expenditure balance is deducted from the above-mentioned deduction amount L, so it is recorded as the plaintext amount w-L in the blockchain ledger, while the income balance is increased by the change amount, that is, the deduction amount L and the remittance amount t The difference is recorded in the blockchain ledger as the corresponding commitment amount PC(v,y)+PC(L,0)-PC(t,r), where PC(L,0) is the deduction amount L The corresponding commitment value (the pre-agreed random number is 0; of course, other agreed-upon values can also be used).

在用户B的区块链账户2中,交易前的收入余额为v’、在区块链账本中被记录为相应的承诺数额PC(v’,y’),交易前的支出余额为w’、在区块链账本中被记录为明文数额w’。在交易完成后,支出余额w’不变,而收入余额则增加了汇款额t,因而在区块链账本中被记录为相应的承诺数额PC(v’,y’)+PC(t,r)。In user B's blockchain account 2, the income balance before the transaction is v', which is recorded as the corresponding commitment amount PC(v', y') in the blockchain ledger, and the expenditure balance before the transaction is w' , is recorded as the plaintext amount w' in the blockchain ledger. After the transaction is completed, the expenditure balance w' remains unchanged, while the income balance increases the remittance amount t, so it is recorded in the blockchain ledger as the corresponding commitment amount PC(v',y')+PC(t,r ).

如上文所述,当账户包含上述的收入余额和支出余额时,可以在保障交易隐私的情况下,实现账户模型下的高并发转账。但是,由于汇入账户的资金都记入收入余额、而汇出的资金都从支出余额中扣除,因而支出余额的数额在不断下降。为了确保支出余额的数额总是能够处于充足状态、足够完成交易,可以定期或随时向支出余额中进行充值。As mentioned above, when the account contains the above-mentioned income balance and expenditure balance, high concurrent transfers under the account model can be achieved while ensuring transaction privacy. However, the amount of the outgoing balance is declining, as all incoming funds are credited to the incoming balance and all outgoing funds are deducted from the outgoing balance. In order to ensure that the amount of the spending balance is always sufficient to complete the transaction, the spending balance can be recharged periodically or at any time.

虽然可以从收入余额向支出余额进行充值,但是:由于支出余额本身是以明文形式而存在,实际上是在有限程度上暴露了部分隐私(表明相关账户中的余额不少于支出余额的数值),因而用户往往不希望使支出余额的数额过高,以控制和限制对隐私的暴露范围。那么,当账户向外汇出的交易较为频繁、交易额较大时,需要向支出余额频繁充值,导致收入余额频繁参与资金的汇入与汇出(充值),甚至使得汇入交易与充值交易之间相应影响,反而造成效率下降。Although it is possible to recharge from the income balance to the expenditure balance, but: because the expenditure balance itself exists in the form of clear text, it actually exposes part of the privacy to a limited extent (indicating that the balance in the relevant account is not less than the value of the expenditure balance) , so users often do not want to make the amount of the spending balance too high to control and limit the scope of exposure to privacy. Then, when the account's outbound transactions are frequent and the transaction amount is large, the expenditure balance needs to be recharged frequently, resulting in the frequent participation of the income balance in the remittance and remittance (recharge) of funds, and even the inward transaction and recharge transaction. Corresponding impact, but lead to a decrease in efficiency.

因此,本说明书针对图4所示的账户结构提出了进一步改进。例如图8所示,可以在Balance字段中进一步增加一主余额,使得Balance字段总共包含三个余额:主余额、收入余额和支出余额。其中,收入余额专用于收取汇入交易的交易额、支出余额专用于参与汇出交易,而主余额用于对支出余额进行充值,从而避免由收入余额承担充值任务,防止产生上文所述的影响。Therefore, this specification proposes further improvements to the account structure shown in FIG. 4 . For example, as shown in FIG. 8, a main balance can be further added in the Balance field, so that the Balance field contains three balances in total: main balance, income balance and expenditure balance. Among them, the income balance is dedicated to receiving the transaction amount of the incoming transaction, the expenditure balance is dedicated to participating in the outgoing transaction, and the main balance is used to recharge the expenditure balance, so as to avoid the recharge task of the income balance and prevent the occurrence of the above-mentioned problems. influences.

图9是一示例性实施例提供的一种主余额对支出余额进行充值的交互示意图。如图9所示,该交互过程可以包括以下步骤:FIG. 9 is an interactive schematic diagram of recharging the spending balance with the main balance according to an exemplary embodiment. As shown in Figure 9, the interaction process may include the following steps:

步骤901,汇出方确定充值金额m。Step 901, the sender determines the recharge amount m.

在一实施例中,充值金额m可以为任意金额,只要汇出方的主余额的数额充足即可。例如,可以为支出余额设置一最高水位,而充值金额m可以为最高水位与支出余额的剩余数值之差。In one embodiment, the recharge amount m may be any amount, as long as the amount of the main balance of the sender is sufficient. For example, a maximum water level can be set for the spending balance, and the recharge amount m can be the difference between the maximum water level and the remaining value of the spending balance.

步骤902,汇出方生成区间证明RF。Step 902, the exporter generates an interval proof RF.

在一实施例中,由于主余额的取值u在区块链账本中记录为相应的承诺数额PC(u,x),其中x为u对应的随机数,因而需要通过生成区间证明RF,以用于验证主余额的取值u≥m。In one embodiment, since the value u of the main balance is recorded as the corresponding commitment amount PC(u,x) in the blockchain ledger, where x is the random number corresponding to u, it is necessary to generate an interval proof RF to verify the The value u≥m used to verify the main balance.

步骤903,汇出方对交易Topup(A:m,RF)签名后,提交至区块链。Step 903: After the sender signs the transaction Topup(A:m,RF), submit it to the blockchain.

在一实施例中,以上述用户A的区块链账户1为例,上述交易中的“A”代表该区块链账户1的账户地址,表明需要对该区块链账户1的支出余额进行充值、充值金额为m。In one embodiment, taking the blockchain account 1 of the above-mentioned user A as an example, "A" in the above transaction represents the account address of the blockchain account 1, indicating that the expenditure balance of the blockchain account 1 needs to be processed. The recharge and recharge amount is m.

在一实施例中,交易中可以增加一类型字段,而汇出方在创建每一交易时,可以通过对类型字段进行赋值,以标注所提交的交易的类型,从而对本说明书中所涉及的有限公开转账交易、充值交易以及下文所述的合并交易、主余额转账交易、公开转账交易等进行区分。例如,在图6所示的实施例中,可以通过取值“Transfer”来标注有限公开转账交易,而此处可以通过取值“Topup”来标注充值交易。In one embodiment, a type field may be added to the transaction, and the sender may assign a value to the type field to mark the type of the submitted transaction when creating each transaction, so as to limit the limitations involved in this specification. Distinguish between public transfer transactions, top-up transactions, and merge transactions, master balance transfer transactions, and public transfer transactions as described below. For example, in the embodiment shown in FIG. 6 , the limited public transfer transaction can be marked by the value of “Transfer”, and the recharge transaction can be marked by the value of “Topup” here.

步骤904,区块链节点验证交易。Step 904, the blockchain node verifies the transaction.

在一实施例中,区块链节点可以验证该交易Topup(A:m,RF)的签名是否正确;如果不正确,可以拒绝执行该交易。In one embodiment, the blockchain node can verify whether the signature of the transaction Topup(A:m,RF) is correct; if not, it can refuse to execute the transaction.

在一实施例中,区块链节点可以验证该交易Topup(A:m,RF)的充值金额m是否满足m≥0;如果不正确,可以拒绝执行该交易。In one embodiment, the blockchain node can verify whether the recharge amount m of the transaction Topup(A:m,RF) satisfies m≥0; if it is not correct, the transaction can be refused to be executed.

在一实施例中,区块链节点可以验证该交易Topup(A:m,RF)所含的区间证明RF,以确定是否满足0≤m≤u;如果不正确,可以拒绝执行该交易。In one embodiment, the blockchain node can verify the interval proof RF contained in the transaction Topup(A:m,RF) to determine whether 0≤m≤u is satisfied; if it is incorrect, the transaction can be refused to execute.

当所有验证均通过后,可以转入步骤905。After all the verifications are passed, step 905 may be entered.

步骤905,区块链节点更新账户。Step 905, the blockchain node updates the account.

在一实施例中,在通过步骤904的验证后,区块链节点可以对区块链账本中记载的区块链账户1进行更新,如图10所示:In one embodiment, after passing the verification in step 904, the blockchain node can update the blockchain account 1 recorded in the blockchain ledger, as shown in Figure 10:

在用户A的区块链账户1中,交易前的主余额为u、在区块链账本中被记录为相应的承诺数额PC(u,x),交易前的收入余额为v、在区块链账本中被记录为相应的承诺数额PC(v,y),交易前的支出余额为w、在区块链账本中被记录为明文数额w。In user A's blockchain account 1, the main balance before the transaction is u, which is recorded as the corresponding committed amount PC(u,x) in the blockchain ledger, and the income balance before the transaction is v. The corresponding commitment amount PC(v,y) is recorded in the chain ledger, and the expenditure balance before the transaction is w, which is recorded as the plaintext amount w in the blockchain ledger.

在交易完成后,主余额被扣除了上述的充值数额m,因而在区块链账本中被记录为相应的承诺数额PC(u,x)-PC(m,0),而支出余额w增加了充值数额m,因而在区块链账本中被记录为明文数额w+m;同时,收入余额的取值不变。After the transaction is completed, the main balance is deducted from the above-mentioned recharge amount m, so it is recorded in the blockchain ledger as the corresponding committed amount PC(u,x)-PC(m,0), while the expenditure balance w increases The recharge amount m is thus recorded as the plaintext amount w+m in the blockchain ledger; at the same time, the value of the income balance remains unchanged.

随着账户中的支出余额不断参与汇出交易,而主余额不断向支出余额进行充值,会导致主余额逐步减少;当主余额减少至一定程度或减少至0时,将无法继续维持支出余额参与汇出交易,因而可以将收入余额中获得的资金转入主余额中,以便于维持账户不断地参与汇出交易。As the expenditure balance in the account continues to participate in remittance transactions, and the main balance continues to recharge the expenditure balance, the main balance will gradually decrease. outgoing transactions, so the funds obtained in the income balance can be transferred to the main balance in order to maintain the account continuously participating in outgoing transactions.

图11是一示例性实施例提供的一种合并操作的交互示意图。如图11所示,该交互过程可以包括以下步骤:FIG. 11 is an interactive schematic diagram of a merge operation provided by an exemplary embodiment. As shown in Figure 11, the interaction process may include the following steps:

步骤1101,汇出方确定提取金额n。Step 1101, the sender determines the amount n to be withdrawn.

在一实施例中,合并操作用于将账户中的收入余额的全部资金、支出余额的指定资金转入主余额,该指定资金的数额可由上述的提取金额n来指定。如果提取金额n为0,相当于仅将收入金额的资金转入主余额,或者可以将n设定为其他任意数值,本说明书并不对此进行限制。In one embodiment, the merging operation is used to transfer all the funds of the income balance and the specified funds of the expenditure balance in the account to the main balance, and the amount of the specified funds can be specified by the above-mentioned withdrawal amount n. If the withdrawal amount n is 0, it is equivalent to transferring only the funds of the income amount to the main balance, or n can be set to any other value, which is not limited in this specification.

步骤1102,汇出方对交易Merge(A:n)签名后,提交至区块链。Step 1102, after the sender signs the transaction Merge(A:n), and submits it to the blockchain.

在一实施例中,以上述用户A的区块链账户1为例,上述交易中的“A”代表该区块链账户1的账户地址,表明需要对该区块链账户1实施合并操作,具体将收入余额全部转入主余额、将支出余额中的资金n转入主余额。而Merge表明当前的交易类型为合并交易,以用于针对区块链账户1实施合并操作。In one embodiment, taking the blockchain account 1 of the above-mentioned user A as an example, "A" in the above transaction represents the account address of the blockchain account 1, indicating that a merge operation needs to be performed on the blockchain account 1, Specifically, all the income balance is transferred to the main balance, and the funds n in the expenditure balance are transferred to the main balance. Merge indicates that the current transaction type is a merge transaction, which is used to implement a merge operation for blockchain account 1.

在一实施例中,由于将收入余额全部转入主余额、而非部分转入,因而无需针对收入余额的部分生成区间证明;而提取金额n和支出余额均为明文,也不需要生成区间证明。In one embodiment, since the entire income balance is transferred to the main balance instead of part of it, there is no need to generate an interval certificate for part of the income balance; and the withdrawal amount n and the expenditure balance are both plaintext, and there is no need to generate an interval certificate. .

步骤1103,区块链节点验证交易。Step 1103, the blockchain node verifies the transaction.

在一实施例中,区块链节点可以验证该交易Merge(A:n)的签名是否正确;如果不正确,可以拒绝执行该交易。In one embodiment, the blockchain node may verify that the signature of the transaction Merge(A:n) is correct; if not, the transaction may be refused to execute.

在一实施例中,区块链节点可以验证该交易Merge(A:n)的提取金额n是否满足1≤n≤w,w为支出余额的取值;如果不正确,可以拒绝执行该交易。In one embodiment, the blockchain node can verify whether the withdrawal amount n of the transaction Merge(A:n) satisfies 1≤n≤w, where w is the value of the spending balance; if it is incorrect, the transaction can be rejected.

当所有验证均通过后,可以转入步骤1104。When all the verifications are passed, the process can go to step 1104 .

步骤1104,区块链节点更新账户。Step 1104, the blockchain node updates the account.

在一实施例中,在通过步骤1103的验证后,区块链节点可以对区块链账本中记载的区块链账户1进行更新,如图12所示:In one embodiment, after passing the verification in step 1103, the blockchain node can update the blockchain account 1 recorded in the blockchain ledger, as shown in Figure 12:

在用户A的区块链账户1中,交易前的主余额为u、在区块链账本中被记录为相应的承诺数额PC(u,x),交易前的收入余额为v、在区块链账本中被记录为相应的承诺数额PC(v,y),交易前的支出余额为w、在区块链账本中被记录为明文数额w。In user A's blockchain account 1, the main balance before the transaction is u, which is recorded as the corresponding committed amount PC(u,x) in the blockchain ledger, and the income balance before the transaction is v. The corresponding commitment amount PC(v,y) is recorded in the chain ledger, and the expenditure balance before the transaction is w, which is recorded as the plaintext amount w in the blockchain ledger.

在交易完成后,收入余额变为0;主余额增加了收入余额的全部资金和上述的提取金额n,因而在区块链账本中被记录为相应的承诺数额PC(u,x)+PC(v,y)+PC(n,0),而支出余额w减少了提取金额n,因而在区块链账本中被记录为明文数额w-n。After the transaction is completed, the income balance becomes 0; the main balance increases the total funds of the income balance and the above-mentioned withdrawal amount n, so it is recorded in the blockchain ledger as the corresponding committed amount PC(u,x)+PC( v,y)+PC(n,0), and the expenditure balance w reduces the withdrawal amount n, so it is recorded as the plaintext amount w-n in the blockchain ledger.

虽然在本说明书提供的实施例中,针对账户所含的主余额、收入余额、支出余额,可以通过由支出余额参与汇出交易、收入余额参与汇入交易(收入余额也在汇出交易中收取找零额)、主余额参与上述的充值交易和合并交易,但是并不意味着每一余额仅能够参与上述类型的交易。例如,本说明书的账户结构,还可以兼容:由主余额参与汇出资金的主余额转账交易、由支出余额参与公开转账交易等,下文分别予以介绍。Although in the embodiments provided in this specification, for the main balance, income balance, and expenditure balance contained in the account, it is possible to use the expenditure balance to participate in the outgoing transaction, and the income balance to participate in the inward transaction (the income balance is also collected in the outgoing transaction). change), the main balance participates in the above-mentioned recharge transactions and merger transactions, but it does not mean that each balance can only participate in the above-mentioned types of transactions. For example, the account structure of this manual can also be compatible: the main balance participating in the main balance transfer transaction of remitted funds, and the expenditure balance participating in the public transfer transaction, etc., which will be introduced separately below.

图13是一示例性实施例提供的另一种区块链交易方法的流程图。如图13所示,该方法应用于汇出方设备,所述方法包括:FIG. 13 is a flowchart of another blockchain transaction method provided by an exemplary embodiment. As shown in Figure 13, the method is applied to the exporter device, and the method includes:

步骤1302,确定将要从汇出方账户汇入接收方账户的交易额,所述汇出方账户包括采用承诺数额的汇出方主余额、采用承诺数额的汇出方收入余额和明文数额的汇出方支出余额,所述接收方账户包括采用承诺数额的接收方主余额、采用承诺数额的接收方收入余额和明文数额的接收方支出余额。Step 1302: Determine the transaction amount to be remitted from the sender's account to the receiver's account, where the sender's account includes the sender's main balance using the committed amount, the sender's income balance using the promised amount, and the clear-text amount of the remittance. The sender's expenditure balance, the receiver's account includes the receiver's main balance in the committed amount, the receiver's income balance in the committed amount, and the receiver's expenditure balance in the plaintext amount.

在一实施例中,汇出方账户、接收方账户均采用如图8所示的账户结构,分别为汇出方账户中的汇出方主余额、汇出方收入余额和汇出方支出余额,接收方账户中的接收方主余额、接收方收入余额和接收方支出余额。In one embodiment, the account of the sender and the account of the receiver all adopt the account structure shown in Figure 8, which are the master balance of the sender, the income balance of the sender, and the expenditure balance of the sender in the account of the sender respectively. , the receiver's main balance, the receiver's income balance, and the receiver's payout balance in the receiver's account.

步骤1304,向区块链提交主余额转账交易,所述主余额转账交易包含所述交易额对应的交易额承诺和用于证明所述交易额非负且所述汇出方主余额不小于所述交易额的区间证明,使得所述汇出方主余额在交易完成后扣除所述交易额、所述接收方收入余额在交易完成后增加所述交易额。Step 1304, submit the main balance transfer transaction to the blockchain, the main balance transfer transaction includes the transaction amount commitment corresponding to the transaction amount and the transaction amount used to prove that the transaction amount is not negative and the main balance of the sender is not less than the specified amount. The interval proof of the transaction amount, so that the main balance of the sender deducts the transaction amount after the transaction is completed, and the income balance of the receiver increases the transaction amount after the transaction is completed.

在一实施例中,由于汇出方主余额、接收方收入余额均在区块链账本中以承诺数额的形式予以记录,因而通过上述的主余额转账交易,可以保证交易过程中不会发生数据泄露,从而确保数据的隐私安全。In one embodiment, since the main balance of the sender and the income balance of the receiver are recorded in the blockchain ledger in the form of a committed amount, it can be ensured that no data will occur during the transaction through the above-mentioned transfer transaction of the main balance. Leakage, thereby ensuring the privacy and security of data.

在一实施例中,汇出方可以将交易额与上文所述的备选扣款额集合包含的备选扣款额进行比较;如果所有备选扣款额均小于交易额,则汇出方创建并提交上述的主余额转账交易,如果存在不小于交易额的任一备选扣款项,则汇出方可以创建并提交有限公开转账交易,从而通过如图5所示的实施例,由汇出方支出余额和汇出方汇入余额参与实施有限公开类型的转账操作,有助于实现高并发性。In one embodiment, the sending party can compare the transaction amount with the alternative deduction amounts included in the set of alternative deduction amounts described above; if all the alternative deduction amounts are less than the transaction amount, the remittance The sender creates and submits the above-mentioned main balance transfer transaction. If there is any alternative deduction amount not less than the transaction amount, the sender can create and submit a limited public transfer transaction, so that through the embodiment shown in FIG. 5, by The outgoing balance of the sender and the inward balance of the sender participate in the implementation of limited public type transfer operations, which helps to achieve high concurrency.

在一实施例中,汇出方可以根据用户的设定操作,确定选用上述的主余额转账交易、有限公开转账交易或其他类型的转账交易。In one embodiment, the sender may determine to select the above-mentioned main balance transfer transaction, limited public transfer transaction or other types of transfer transactions according to the user's setting operation.

在一实施例中,由于汇出方主余额与汇出方支出余额属于相互独立的两部分,因而汇出方甚至可以同时通过汇出方主余额与汇出方支出余额分别发起不同的交易。例如,可以通过汇出方支出余额参与数额较小的有限公开转账交易,而通过汇出方主余额参与数额较大的主余额转账交易,以提升交易效率。In one embodiment, since the main balance of the sender and the expenditure balance of the sender belong to two independent parts, the sender can even initiate different transactions through the main balance of the sender and the payment balance of the sender at the same time. For example, it is possible to participate in limited public transfer transactions with a small amount through the payout balance of the sender, and participate in the transfer transaction with a larger amount of the main balance through the main balance of the sender, so as to improve transaction efficiency.

下面以作为汇出方的用户A、作为接收方的用户B为例,对有限公开交易的实施过程进行描述。图14是一示例性实施例提供的一种基于主余额实施的完全隐私的汇款交易的流程图;如图14所示,汇出方、接收方和区块链节点之间的交互过程可以包括以下步骤:The implementation process of limited public transaction is described below by taking user A as the sender and user B as the receiver as examples. Fig. 14 is a flow chart of a fully private remittance transaction based on the main balance provided by an exemplary embodiment; as shown in Fig. 14, the interaction process between the sender, the receiver and the blockchain node may include: The following steps:

步骤1401,汇出方确定转账金额t。Step 1401, the sender determines the transfer amount t.

在一实施例中,汇出方是指汇款交易中对款项等资源进行汇出的角色,相应地接收方是指汇款交易中对款项等资源进行接收的角色。例如,用户A使用的用户设备可以被配置为汇出方,而用户B使用的用户设备可以被配置为接收方。In one embodiment, the sender refers to a role that remits resources such as money in a remittance transaction, and correspondingly, the receiver refers to a role that receives resources such as money in a remittance transaction. For example, the user equipment used by user A may be configured as the sender, and the user equipment used by user B may be configured as the receiver.

在一实施例中,在起草汇款交易时,汇款额t可由汇出方与接收方之间进行协商。当然,汇出方也可以自行确定汇款额t,由接收方在后续步骤中予以确认。In one embodiment, when drafting the remittance transaction, the remittance amount t can be negotiated between the sender and the receiver. Of course, the sender can also determine the remittance amount t by itself, which will be confirmed by the receiver in subsequent steps.

步骤1402,汇出方确定汇款额t对应的随机数r。Step 1402, the sender determines the random number r corresponding to the remittance amount t.

在一实施例中,汇出方可以基于Pedersen承诺机制为该汇款额t产生随机数r,则汇款额t对应的汇款承诺T=PC(t,r),其中PC()为预设算法。In one embodiment, the sender can generate a random number r for the remittance amount t based on the Pedersen commitment mechanism, and the remittance commitment T=PC(t,r) corresponding to the remittance amount t, where PC() is a preset algorithm.

步骤1403,汇出方通过链下通道将(r,t,T)发送至接收方。Step 1403, the sender sends (r, t, T) to the receiver through the off-chain channel.

在一实施例中,通过将(r,t,T)由链下通道而非区块链网络进行发送,可以避免汇款随机数r和汇款额t被记录至区块链账本中,确保汇款额t除汇出方和接收方之外不可知。In one embodiment, by sending (r, t, T) through the off-chain channel instead of the blockchain network, the remittance random number r and the remittance amount t can be prevented from being recorded in the blockchain ledger, and the remittance amount can be ensured. tAgnostic other than the sender and receiver.

步骤1404,接收方对收到的(r,t,T)进行验证。Step 1404, the receiver verifies the received (r, t, T).

在一实施例中,接收方可以对汇款额t进行验证,以确定为希望收取的汇款数额。In one embodiment, the receiver can verify the remittance amount t to determine the amount of the remittance desired to be collected.

在一实施例中,接收方可以对汇款承诺T进行验证,即接收方可以通过Perdersen承诺机制对随机数r和汇款额t进行计算,以验证汇款承诺T=PC(t,r)是否正确,若正确则表明验证通过,否则验证不通过。In one embodiment, the receiver can verify the remittance commitment T, that is, the receiver can calculate the random number r and the remittance amount t through the Perdersen commitment mechanism to verify whether the remittance commitment T=PC(t,r) is correct, If it is correct, it means that the verification is passed, otherwise the verification is not passed.

步骤1405,接收方在验证通过后,生成签名并返回至汇出方。Step 1405, after the receiver passes the verification, generates a signature and returns to the sender.

在一实施例中,在验证通过后,接收方可以利用接收方私钥对(A,B:T)进行签名,生成签名SigB并返回至汇出方。该签名SigB表明接收方同意由用户A的区块链账户1向用户B的区块链账户2实施承诺为T的汇款交易。In one embodiment, after the verification is passed, the receiver can use the receiver's private key to sign (A, B:T), generate a signature SigB and return it to the sender. The signature SigB indicates that the recipient agrees to implement the remittance transaction committed to T by user A's blockchain account 1 to user B's blockchain account 2.

步骤1406,在收到签名SigB后,汇出方根据主余额u生成区间证明RP。Step 1406, after receiving the signature SigB, the sender generates an interval proof RP according to the main balance u.

在一实施例中,为了确保汇款交易顺利完成,区块链节点需要确定汇款额t、主余额u满足下述条件:0≤t≤u;而区间证明技术可以使得区块链节点在密文状态下验证交易是否符合预设条件,譬如本说明书中可以采用相关技术中的Bulletproofs方案、Borromean环签名方案等实现,本说明书并不对此进行限制。汇出方可以利用区间证明技术生成区间证明RP,以供后续过程中由区块链节点进行验证是否满足0≤t≤u。In one embodiment, in order to ensure the successful completion of the remittance transaction, the blockchain node needs to determine that the remittance amount t and the main balance u meet the following conditions: 0≤t≤u; Verify whether the transaction meets the preset conditions in the state. For example, the Bulletproofs scheme and the Borromean ring signature scheme in related technologies can be used in this manual to realize, but this manual does not limit this. The sender can use the interval proof technology to generate the interval proof RP for verification by the blockchain node in the subsequent process whether 0≤t≤u is satisfied.

步骤1407,汇出方对交易内容PrimaryTransfer(A,B:T,RP;SigB)进行签名,生成签名SigA。Step 1407, the exporter signs the transaction content PrimaryTransfer(A, B: T, RP; SigB) to generate the signature SigA.

在一实施例中,该汇出方可以利用汇出方私钥对交易内容PrimaryTransfer(A,B:T,RP;SigB)进行签名,生成签名SigA。In one embodiment, the sender may use the sender's private key to sign the transaction content PrimaryTransfer(A,B:T,RP; SigB) to generate the signature SigA.

其中,PrimaryTransfer用于表明交易类型为主余额转账交易(或称为,主余额汇款交易)。Among them, PrimaryTransfer is used to indicate that the transaction type is a primary balance transfer transaction (or referred to as a primary balance remittance transaction).

步骤1408,汇出方向区块链提交交易。Step 1408, the exporter submits the transaction to the blockchain.

在一实施例中,汇出方被配置为区块链的客户端,可以将汇款交易提交至区块链网络中的某一区块链节点,并进而被传输至区块链网络中的所有区块链节点,并由各个区块链节点分别对该汇款交易进行验证,以在验证通过时执行汇款操作、在验证未通过时拒绝汇款。In one embodiment, the remittance party is configured as a client of the blockchain, and can submit the remittance transaction to a certain blockchain node in the blockchain network, and then transmit it to all the blockchain nodes in the blockchain network. The blockchain node, and each blockchain node verifies the remittance transaction separately, so as to perform the remittance operation when the verification is passed, and reject the remittance when the verification fails.

步骤1409,区块链节点检查交易是否执行过。Step 1409, the blockchain node checks whether the transaction has been executed.

在一实施例中,此处的区块链节点可以表示区块链网络中的任意一个区块链节点,即区块链网络中的每一区块链节点均会收到上述汇款交易,并通过步骤1409~1411等实施验证等操作。In one embodiment, the blockchain node here may represent any blockchain node in the blockchain network, that is, each blockchain node in the blockchain network will receive the above remittance transaction, and Verification and other operations are performed through steps 1409 to 1411 and the like.

在一实施例中,区块链节点在收到上述汇款交易后,可以利用相关技术中的防双花或防重放机制,验证该汇款交易是否已经执行过;如果已经执行过,可以拒绝执行该汇款交易,否则转入步骤1410。In one embodiment, after receiving the above-mentioned remittance transaction, the blockchain node can use the anti-double-spending or anti-replay mechanism in the related art to verify whether the remittance transaction has been executed; if it has been executed, it can refuse to execute. The remittance transaction, otherwise, go to step 1410.

步骤1410,区块链节点检查签名。Step 1410, the blockchain node checks the signature.

在一实施例中,区块链节点可以检查该汇款交易中包含的签名SigA、SigB是否正确;如果不正确,可以拒绝执行该汇款交易,否则转入步骤1411。In one embodiment, the blockchain node can check whether the signatures SigA and SigB contained in the remittance transaction are correct; if they are incorrect, the remittance transaction can be refused to be executed, otherwise, go to step 1411 .

步骤1411,区块链节点检查区间证明RP。Step 1411, the blockchain node checks the interval proof RP.

在一实施例中,区块链节点可以基于区间证明技术对该汇款交易包含的区间证明RP进行检查,以确定是否满足0≤t≤u。如果不满足,可以拒绝执行该汇款交易,否则转入步骤1412。In one embodiment, the blockchain node may check the interval proof RP included in the remittance transaction based on the interval proof technology to determine whether 0≤t≤u is satisfied. If not satisfied, the remittance transaction can be rejected, otherwise, go to step 1412.

步骤1412,区块链节点在维护的区块链账本中更新用户A、用户B分别对应的区块链账户。Step 1412: The blockchain node updates the blockchain accounts corresponding to user A and user B in the maintained blockchain ledger.

在一实施例中,在通过步骤1409~1411的验证后,区块链节点可以分别对区块链账本中记载的区块链账户1、区块链账户2进行更新,如图15所示:In one embodiment, after passing the verification in steps 1409 to 1411, the blockchain node can update the blockchain account 1 and the blockchain account 2 recorded in the blockchain ledger respectively, as shown in Figure 15:

在用户A的区块链账户1中,交易前的主余额为u、在区块链账本中被记录为相应的承诺数额PC(u,x),交易前的收入余额为v、在区块链账本中被记录为相应的承诺数额PC(v,y),交易前的支出余额为w、在区块链账本中被记录为明文数额w。在交易完成后,主余额被扣除了上述的交易额t,因而在区块链账本中被记录为相应的承诺数额PC(u,x)-PC(t,r),而收入余额v、支出余额w不变。In user A's blockchain account 1, the main balance before the transaction is u, which is recorded as the corresponding committed amount PC(u,x) in the blockchain ledger, and the income balance before the transaction is v. The corresponding commitment amount PC(v,y) is recorded in the chain ledger, and the expenditure balance before the transaction is w, which is recorded as the plaintext amount w in the blockchain ledger. After the transaction is completed, the main balance is deducted from the above-mentioned transaction amount t, so it is recorded in the blockchain ledger as the corresponding committed amount PC(u,x)-PC(t,r), while the income balance v, expenditure The balance w remains unchanged.

在用户B的区块链账户2中,交易前的主余额为u’、在区块链账本中被记录为相应的承诺数额PC(u’,x’),交易前的收入余额为v’、在区块链账本中被记录为相应的承诺数额PC(v’,y’),交易前的支出余额为w’、在区块链账本中被记录为明文数额w’。在交易完成后,主余额为u’、支出余额w’不变,而收入余额则增加了汇款额t,因而在区块链账本中被记录为相应的承诺数额PC(v’,y’)+PC(t,r)。In user B's blockchain account 2, the main balance before the transaction is u', which is recorded as the corresponding commitment amount PC(u',x') in the blockchain ledger, and the income balance before the transaction is v' , is recorded as the corresponding commitment amount PC(v', y') in the blockchain ledger, the expenditure balance before the transaction is w', and is recorded as the plaintext amount w' in the blockchain ledger. After the transaction is completed, the main balance is u', the expenditure balance w' remains unchanged, and the income balance increases the remittance amount t, so it is recorded in the blockchain ledger as the corresponding commitment amount PC(v',y') +PC(t,r).

图16是一示例性实施例提供的又一种区块链交易方法的流程图。如图16所示,该方法应用于汇出方设备,所述方法包括:Fig. 16 is a flowchart of yet another blockchain transaction method provided by an exemplary embodiment. As shown in Figure 16, the method is applied to the exporter device, and the method includes:

步骤1602,确定将要从汇出方账户汇入接收方账户的交易额,所述汇出方账户包括采用承诺数额的汇出方主余额、采用承诺数额的汇出方收入余额和明文数额的汇出方支出余额,所述接收方账户包括采用承诺数额的接收方主余额、采用承诺数额的接收方收入余额和明文数额的接收方支出余额。Step 1602: Determine the transaction amount to be remitted from the sender's account to the receiver's account, where the sender's account includes the sender's main balance using the committed amount, the sender's income balance using the promised amount, and the clear-text amount. The sender's expenditure balance, the receiver's account includes the receiver's main balance in the committed amount, the receiver's income balance in the committed amount, and the receiver's expenditure balance in the plaintext amount.

在一实施例中,汇出方账户、接收方账户均采用如图8所示的账户结构,分别为汇出方账户中的汇出方主余额、汇出方收入余额和汇出方支出余额,接收方账户中的接收方主余额、接收方收入余额和接收方支出余额。In one embodiment, the account of the sender and the account of the receiver all adopt the account structure shown in Figure 8, which are the master balance of the sender, the income balance of the sender, and the expenditure balance of the sender in the account of the sender respectively. , the receiver's main balance, the receiver's income balance, and the receiver's payout balance in the receiver's account.

步骤1604,向区块链提交公开转账交易,所述公开转账交易包含所述公开交易额对应的公开交易额,使得所述汇出方支出余额在交易完成后扣除所述公开交易额、所述接收方支出余额在交易完成后增加所述公开交易额。Step 1604: Submit a public transfer transaction to the blockchain, where the public transfer transaction includes the public transaction amount corresponding to the public transaction amount, so that the payout balance of the sender deducts the public transaction amount, the The recipient payout balance increases the public transaction amount after the transaction is completed.

在一实施例中,在将汇出方支出余额的取值记录为明文数值时,可以通过牺牲这一明文数值来换取转账交易的高并发性。当汇出方接收上述设定时,表明汇出方在隐私保护与交易效率之间,允许通过牺牲部分隐私来换取更高的交易效率,因而在一些场景中,比如对于部分独立的、金额较小的转账而言,可以通过提交上述的公开转账交易,直接在汇出方支出余额与接收方支出余额之间实施转账,这一过程类似于相关技术中未实施隐私保护场景下的转账操作,由于不需要实施加密、生成区间证明、验证区间证明等多种复杂的处理操作,能够极大地提升交易效率。In one embodiment, when the value of the payout balance of the sender is recorded as a plaintext value, this plaintext value can be sacrificed in exchange for high concurrency of the transfer transaction. When the sender accepts the above settings, it means that the sender is between privacy protection and transaction efficiency, allowing to sacrifice some privacy in exchange for higher transaction efficiency. For small transfers, the transfer can be performed directly between the sender's spending balance and the receiver's spending balance by submitting the above-mentioned public transfer transaction. This process is similar to the transfer operation in the related technology where privacy protection is not implemented. Since there is no need to implement various complex processing operations such as encryption, generation of interval proofs, and verification of interval proofs, transaction efficiency can be greatly improved.

在一实施例中,可以获取隐私类型设定信息,该隐私类型设定信息可由用户根据实际需求进行临时设定,或设定为长期生效。当所述隐私类型设定信息为非私密类型时,表明用户相对更加看重交易效率,因而可以基于上文向区块链提交所述公开转账交易。而当隐私类型设定信息为私密类型时,表明用户相对更加看重隐私,因而可以基于图5或图13所示的实施例,向区块链提交有限公开转账交易或主余额转账交易。In one embodiment, privacy type setting information may be obtained, and the privacy type setting information may be temporarily set by the user according to actual needs, or set to take effect for a long time. When the privacy type setting information is a non-private type, it indicates that the user values transaction efficiency relatively more, so the public transfer transaction can be submitted to the blockchain based on the above. When the privacy type setting information is the private type, it indicates that the user values privacy relatively more. Therefore, based on the embodiment shown in FIG. 5 or FIG. 13 , a limited public transfer transaction or a main balance transfer transaction can be submitted to the blockchain.

其中,对于私密类型的场景下,用户可以进一步设定选用有限公开转账交易或主余额转账交易;或者如上文所述,可以优先选用有限公开转账交易,而在汇出方支出余额小于交易额时,选用主余额转账交易,这里可以参考图13所示的实施例,此次不再赘述。Among them, for private scenarios, the user can further set the selection of limited public transfer transactions or main balance transfer transactions; or as mentioned above, limited public transfer transactions can be preferred, and when the sender's spending balance is less than the transaction amount , the main balance transfer transaction is selected, and the embodiment shown in FIG. 13 may be referred to here, which will not be repeated here.

下面以作为汇出方的用户A、作为接收方的用户B为例,对有限公开交易的实施过程进行描述。图17是一示例性实施例提供的一种基于支出余额实施的公开汇款交易的流程图;如图17所示,汇出方、接收方和区块链节点之间的交互过程可以包括以下步骤:The implementation process of limited public transaction is described below by taking user A as the sender and user B as the receiver as examples. Fig. 17 is a flow chart of a public remittance transaction implemented based on the expenditure balance provided by an exemplary embodiment; as shown in Fig. 17, the interaction process between the sender, the receiver and the blockchain node may include the following steps :

步骤1701,汇出方确定转账金额t。Step 1701, the sender determines the transfer amount t.

在一实施例中,汇出方是指汇款交易中对款项等资源进行汇出的角色,相应地接收方是指汇款交易中对款项等资源进行接收的角色。例如,用户A使用的用户设备可以被配置为汇出方,而用户B使用的用户设备可以被配置为接收方。In one embodiment, the sender refers to a role that remits resources such as money in a remittance transaction, and correspondingly, the receiver refers to a role that receives resources such as money in a remittance transaction. For example, the user equipment used by user A may be configured as the sender, and the user equipment used by user B may be configured as the receiver.

在一实施例中,在起草汇款交易时,汇款额t可由汇出方与接收方之间进行协商。当然,汇出方也可以自行确定汇款额t。In one embodiment, when drafting the remittance transaction, the remittance amount t can be negotiated between the sender and the receiver. Of course, the sender can also determine the remittance amount t by itself.

步骤1702,汇出方对交易内容OpenTransfer(A,B:t)进行签名,生成签名SigA,并提交交易。Step 1702, the exporter signs the transaction content OpenTransfer(A,B:t), generates a signature SigA, and submits the transaction.

在一实施例中,该汇出方可以利用汇出方私钥对交易内容OpenTransfer(A,B:t)进行签名,生成签名SigA。In one embodiment, the exporter can use the private key of the exporter to sign the transaction content OpenTransfer(A,B:t) to generate the signature SigA.

其中,OpenTransfer用于表明交易类型为公开转账交易(或称为,公开汇款交易)。Among them, OpenTransfer is used to indicate that the transaction type is an open transfer transaction (or called, an open remittance transaction).

步骤1703,区块链节点验证交易。Step 1703, the blockchain node verifies the transaction.

在一实施例中,区块链节点在收到上述汇款交易后,可以利用相关技术中的防双花或防重放机制,验证该汇款交易是否已经执行过;如果已经执行过,可以拒绝执行该汇款交易,否则转入步骤1704。In one embodiment, after receiving the above-mentioned remittance transaction, the blockchain node can use the anti-double-spending or anti-replay mechanism in the related art to verify whether the remittance transaction has been executed; if it has been executed, it can refuse to execute. The remittance transaction, otherwise, go to step 1704.

在一实施例中,区块链节点可以检查该汇款交易中包含的签名SigA是否正确;如果不正确,可以拒绝执行该汇款交易,否则转入步骤1704。In one embodiment, the blockchain node can check whether the signature SigA contained in the remittance transaction is correct; if it is incorrect, it can refuse to execute the remittance transaction, otherwise, go to step 1704 .

步骤1704,区块链节点在维护的区块链账本中更新用户A、用户B分别对应的区块链账户。Step 1704: The blockchain node updates the blockchain accounts corresponding to user A and user B in the maintained blockchain ledger.

在一实施例中,在通过步骤1703的验证后,区块链节点可以分别对区块链账本中记载的区块链账户1、区块链账户2进行更新,如图18所示:In one embodiment, after passing the verification in step 1703, the blockchain node can respectively update the blockchain account 1 and blockchain account 2 recorded in the blockchain ledger, as shown in Figure 18:

在用户A的区块链账户1中,交易前的主余额为u、在区块链账本中被记录为相应的承诺数额PC(u,x),交易前的收入余额为v、在区块链账本中被记录为相应的承诺数额PC(v,y),交易前的支出余额为w、在区块链账本中被记录为明文数额w。在交易完成后,支出余额w被扣除了上述的交易额t,因而在区块链账本中被记录为相应的明文数额w-t,而收入余额v、主余额u不变。In user A's blockchain account 1, the main balance before the transaction is u, which is recorded as the corresponding committed amount PC(u,x) in the blockchain ledger, and the income balance before the transaction is v. The corresponding commitment amount PC(v,y) is recorded in the chain ledger, and the expenditure balance before the transaction is w, which is recorded as the plaintext amount w in the blockchain ledger. After the transaction is completed, the expenditure balance w is deducted from the above-mentioned transaction amount t, so it is recorded as the corresponding plaintext amount w-t in the blockchain ledger, while the income balance v and the main balance u remain unchanged.

在用户B的区块链账户2中,交易前的主余额为u’、在区块链账本中被记录为相应的承诺数额PC(u’,x’),交易前的收入余额为v’、在区块链账本中被记录为相应的承诺数额PC(v’,y’),交易前的支出余额为w’、在区块链账本中被记录为明文数额w’。在交易完成后,主余额为u’、收入余额为v’不变,而支出余额w’则增加了汇款额t,因而在区块链账本中被记录为相应的明文数额w’+t。In user B's blockchain account 2, the main balance before the transaction is u', which is recorded as the corresponding commitment amount PC(u',x') in the blockchain ledger, and the income balance before the transaction is v' , is recorded as the corresponding commitment amount PC(v', y') in the blockchain ledger, the expenditure balance before the transaction is w', and is recorded as the plaintext amount w' in the blockchain ledger. After the transaction is completed, the main balance is u', the income balance is v' unchanged, and the expenditure balance w' increases the remittance amount t, so it is recorded as the corresponding plaintext amount w'+t in the blockchain ledger.

图19是一示例性实施例提供的一种设备的示意结构图。请参考图19,在硬件层面,该设备包括处理器1902、内部总线1904、网络接口1906、内存1908以及非易失性存储器1910,当然还可能包括其他业务所需要的硬件。处理器1902从非易失性存储器1910中读取对应的计算机程序到内存1908中然后运行,在逻辑层面上形成区块链交易装置。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。Fig. 19 is a schematic structural diagram of a device provided by an exemplary embodiment. Referring to FIG. 19, at the hardware level, the device includes a processor 1902, an internal bus 1904, a network interface 1906, a memory 1908 and a non-volatile memory 1910, and of course may also include hardware required for other services. The processor 1902 reads the corresponding computer program from the non-volatile memory 1910 into the memory 1908 and then executes it, forming a blockchain transaction device on a logical level. Of course, in addition to software implementations, one or more embodiments of this specification do not exclude other implementations, such as logic devices or a combination of software and hardware, etc., that is to say, the execution subjects of the following processing procedures are not limited to each Logic unit, which can also be hardware or logic device.

请参考图20,在软件实施方式中,该区块链交易装置可以包括:Referring to FIG. 20, in a software implementation, the blockchain transaction device may include:

确定单元2001,确定将要从汇出方账户汇入接收方账户的交易额,所述汇出方账户包括采用承诺数额的汇出方主余额、采用承诺数额的汇出方收入余额和明文数额的汇出方支出余额,所述接收方账户包括采用承诺数额的接收方主余额、采用承诺数额的接收方收入余额和明文数额的接收方支出余额;Determining unit 2001, determining the transaction amount to be remitted from the sender's account to the receiver's account, where the sender's account includes the sender's main balance using the committed amount, the sender's income balance using the promised amount, and the clear text amount. The sender's expenditure balance, the receiver's account includes the receiver's main balance using the committed amount, the receiver's income balance using the committed amount, and the receiver's expenditure balance using the clear text amount;

提交单元2002,向区块链提交公开转账交易,所述公开转账交易包含所述公开交易额对应的公开交易额,使得所述汇出方支出余额在交易完成后扣除所述公开交易额、所述接收方支出余额在交易完成后增加所述公开交易额。Submitting unit 2002, submits a public transfer transaction to the blockchain, where the public transfer transaction includes the public transaction amount corresponding to the public transaction amount, so that after the transaction is completed, the payment balance of the sender deducts the public transaction amount, the amount of the public transaction amount, and the transaction amount. The recipient payout balance increases the open transaction amount after the transaction is completed.

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。The systems, devices, modules or units described in the above embodiments may be specifically implemented by computer chips or entities, or by products with certain functions. A typical implementing device is a computer, which may be in the form of a personal computer, laptop computer, cellular phone, camera phone, smart phone, personal digital assistant, media player, navigation device, email sending and receiving device, game control desktop, tablet, wearable device, or a combination of any of these devices.

在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。In a typical configuration, a computer includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。Memory may include non-persistent memory in computer readable media, random access memory (RAM) and/or non-volatile memory in the form of, for example, read only memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。Computer-readable media includes both persistent and non-permanent, removable and non-removable media, and storage of information may be implemented by any method or technology. Information may be computer readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read only memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), Flash Memory or other memory technology, Compact Disc Read Only Memory (CD-ROM), Digital Versatile Disc (DVD) or other optical storage, Magnetic tape cartridges, disk storage, quantum memory, graphene-based storage media or other magnetic storage devices or any other non-transmission media can be used to store information that can be accessed by computing devices. As defined herein, computer-readable media does not include transitory computer-readable media, such as modulated data signals and carrier waves.

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。It should also be noted that the terms "comprising", "comprising" or any other variation thereof are intended to encompass a non-exclusive inclusion such that a process, method, article or device comprising a series of elements includes not only those elements, but also Other elements not expressly listed, or which are inherent to such a process, method, article of manufacture, or apparatus are also included. Without further limitation, an element qualified by the phrase "comprising a..." does not preclude the presence of additional identical elements in the process, method, article of manufacture, or device that includes the element.

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。The foregoing describes specific embodiments of the present specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims can be performed in an order different from that in the embodiments and still achieve desirable results. Additionally, the processes depicted in the figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.

在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。The terminology used in one or more embodiments of this specification is for the purpose of describing a particular embodiment only and is not intended to limit the one or more embodiments of this specification. As used in the specification or embodiments and the appended claims, the singular forms "a," "the," and "the" are intended to include the plural forms as well, unless the context clearly dictates otherwise. It will also be understood that the term "and/or" as used herein refers to and includes any and all possible combinations of one or more of the associated listed items.

应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。It will be understood that although the terms first, second, third, etc. may be used in this specification to describe various information, such information should not be limited by these terms. These terms are only used to distinguish the same type of information from each other. For example, the first information may also be referred to as the second information, and similarly, the second information may also be referred to as the first information without departing from the scope of one or more embodiments of the present specification. Depending on the context, the word "if" as used herein can be interpreted as "at the time of" or "when" or "in response to determining."

以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。The above descriptions are only preferred embodiments of one or more embodiments of this specification, and are not intended to limit one or more embodiments of this specification. All within the spirit and principles of one or more embodiments of this specification, Any modifications, equivalent replacements, improvements, etc. made should be included within the protection scope of one or more embodiments of this specification.

Claims (13)

1. a kind of block chain method of commerce is applied to remittance abroad method, apparatus, which comprises
Determination will import the turnover of recipient's account from remittance abroad side's account, and remittance abroad side's account includes using committed amount The main remaining sum in remittance abroad side, remaining sum paid using the remittance abroad side that the remittance abroad side of committed amount takes in remaining sum and plaintext number, it is described to connect Debit's account includes the main remaining sum of recipient using committed amount, the income remaining sum of the recipient using committed amount and plaintext number Recipient pay remaining sum;
Open money transfer transactions are submitted to block chain, the open money transfer transactions include the corresponding open transaction of the open transaction volume Volume, so that remittance abroad side expenditure remaining sum deducts the open transaction volume after completion of transactions, the recipient pays remaining sum and exists Increase the open transaction volume after the completion of transaction.
2. according to the method described in claim 1,
Further include: obtain privacy type set information;
It is described to submit open money transfer transactions to block chain, comprising: when the privacy type set information is non-secret type, to Block chain submits the open money transfer transactions.
3. according to the method described in claim 2, further include:
When the privacy type set information is secret type, main cancellation of balances of accounts transaction, the main remaining sum are submitted to block chain Money transfer transactions include that the corresponding turnover of the turnover is promised to undertake and for proving that the turnover is non-negative and the remittance abroad side master Remaining sum is proved not less than the section of the turnover, so that the main remaining sum in the remittance abroad side deducts the transaction after completion of transactions Volume, the recipient take in remaining sum and increase the turnover after completion of transactions.
4. according to the method described in claim 2, further include:
When the privacy type set information is secret type, limited open money transfer transactions are submitted to block chain, it is described limited Open money transfer transactions include the corresponding turnover promise of the turnover, volume of withholing, for proving that the turnover is non-negative and institute State the volume of withholing proves not less than the section of the turnover, so that described in remittance abroad side expenditure remaining sum deducts after completion of transactions Volume, the remittance abroad side income remaining sum of withholing withhold described in increasing after completion of transactions and volume and deduct the turnover, the reception Side's income remaining sum increases the turnover after completion of transactions.
5. according to the method described in claim 4, further include:
The corresponding volume set of alternatively withholing of remittance abroad side's account is obtained, the volume set of alternatively withholing includes several predetermined values Alternatively withhold volume;
It chooses and alternatively withholds volume not less than any of the turnover, using as the volume of withholing.
6. according to the method described in claim 2, further include:
When the privacy type set information is secret type, the corresponding volume collection of alternatively withholing of remittance abroad side's account is obtained It closes, the volume set of alternatively withholing includes the volume of alternatively withholing of several predetermined values;
When the alternative volume of withholing is respectively less than the turnover, main cancellation of balances of accounts transaction, the main remaining sum are submitted to block chain Money transfer transactions include that the corresponding turnover of the turnover is promised to undertake and for proving that the turnover is non-negative and the remittance abroad side master Remaining sum is proved not less than the section of the turnover, so that the main remaining sum in the remittance abroad side deducts the transaction after completion of transactions Volume, the recipient take in remaining sum and increase the turnover after completion of transactions;
When any volume of alternatively withholing is not less than the turnover, any alternative volume of withholing is chosen for the volume of withholing;To area Block chain submits limited open money transfer transactions, the limited open money transfer transactions include the corresponding turnover of the turnover promise to undertake, Withhold volume, prove for proving that the turnover is non-negative and the volume of withholing is not less than the section of the turnover so that described Remittance abroad side expenditure remaining sum deducts after completion of transactions described in withhold volume, the remittance abroad side take in remaining sum increase institute after completion of transactions It states the volume of withholing and deducts the turnover, the recipient takes in remaining sum and increases the turnover after completion of transactions.
7. the method according to any one of claim 3-6, the turnover is promised to undertake as predetermined encryption algorithm according to Turnover and transaction random number are calculated;The method also includes:
Before submitting the main cancellation of balances of accounts transaction or the limited open money transfer transactions, by the turnover, the transaction Volume, which is promised to undertake, is sent to receiver equipment by chain outer tunnel with the transaction random number, as described in receiver equipment verifying Corresponding relationship between turnover promise, the transaction random number and the turnover;
Recipient's signature that the receiver equipment returns is received, to be added to the main cancellation of balances of accounts transaction or the limited public affairs It opens in money transfer transactions;Wherein, recipient's signature is generated after the corresponding relationship is by verifying by the receiver equipment.
8. according to the method described in claim 1, when remittance abroad side's account remittance abroad kelly-up volume increase when, corresponding amount of money quilt Increase to remittance abroad side's income remaining sum.
9. according to the method described in claim 1, further include:
Recharging payment is submitted to block chain, the recharging payment includes to supplement volume with money and for proving that the main remaining sum in the remittance abroad side is not small Proved in the section for supplementing volume with money so that the main remaining sum in the remittance abroad side deduct after completion of transactions described in supplement volume, the remittance with money Out side expenditure remaining sum increase after completion of transactions described in supplement volume with money.
10. according to the method described in claim 9,
It is submitted to block chain and merges transaction, the merging transaction includes merging volume;
Wherein, remaining sum deducts the merging volume to remittance abroad side's expenditure after completion of transactions, the main remaining sum in the remittance abroad side is being traded Increase after the completion the merging volume and/or the remittance abroad side income remaining sum reset after completion of transactions, the main remaining sum in the remittance abroad side Increase the income remaining sum after completion of transactions.
11. a kind of block chain the transaction device, is applied to remittance abroad method, apparatus, described device includes:
Determination unit, determination will import the turnover of recipient's account from remittance abroad side's account, and remittance abroad side's account includes adopting It is taken in the main remaining sum in the remittance abroad side of committed amount, using the remittance abroad side of committed amount more than remaining sum and remittance abroad side's expenditure of plaintext number Volume, recipient's account include the main remaining sum of recipient using committed amount, the income remaining sum of the recipient using committed amount Remaining sum is paid with the recipient of plaintext number;
Unit is submitted, submits open money transfer transactions to block chain, the open money transfer transactions are corresponding comprising the open transaction volume Open transaction volume so that the remittance abroad side expenditure remaining sum deduct the open transaction volume, the recipient after completion of transactions Expenditure remaining sum increases the open transaction volume after completion of transactions.
12. a kind of electronic equipment, comprising:
Processor;
Memory for storage processor executable instruction;
Wherein, the processor is by running the executable instruction to realize such as side of any of claims 1-10 Method.
13. a kind of computer readable storage medium, is stored thereon with computer instruction, realized such as when which is executed by processor The step of any one of claim 1-10 the method.
CN201910104654.1A 2019-02-01 2019-02-01 Block chain transaction method and device, electronic equipment and storage medium Active CN110009323B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910104654.1A CN110009323B (en) 2019-02-01 2019-02-01 Block chain transaction method and device, electronic equipment and storage medium
CN202110391044.1A CN113128989B (en) 2019-02-01 2019-02-01 Blockchain transaction method and device, electronic device, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910104654.1A CN110009323B (en) 2019-02-01 2019-02-01 Block chain transaction method and device, electronic equipment and storage medium

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202110391044.1A Division CN113128989B (en) 2019-02-01 2019-02-01 Blockchain transaction method and device, electronic device, and storage medium

Publications (2)

Publication Number Publication Date
CN110009323A true CN110009323A (en) 2019-07-12
CN110009323B CN110009323B (en) 2021-02-19

Family

ID=67165625

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201910104654.1A Active CN110009323B (en) 2019-02-01 2019-02-01 Block chain transaction method and device, electronic equipment and storage medium
CN202110391044.1A Active CN113128989B (en) 2019-02-01 2019-02-01 Blockchain transaction method and device, electronic device, and storage medium

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202110391044.1A Active CN113128989B (en) 2019-02-01 2019-02-01 Blockchain transaction method and device, electronic device, and storage medium

Country Status (1)

Country Link
CN (2) CN110009323B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110472957A (en) * 2019-08-20 2019-11-19 深圳市网心科技有限公司 A kind of block chain transaction verification method and relevant device
WO2021081866A1 (en) * 2019-10-31 2021-05-06 深圳市网心科技有限公司 Transaction method, device, and system based on account model, and storage medium
CN113592650A (en) * 2021-07-29 2021-11-02 成都质数斯达克科技有限公司 Transaction method, device and equipment based on block chain intelligent contract

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114581239B (en) * 2022-03-10 2025-09-12 中国工商银行股份有限公司 Processing method and device based on blockchain system transactions

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150170112A1 (en) * 2013-10-04 2015-06-18 Erly Dalvo DeCastro Systems and methods for providing multi-currency platforms comprising means for exchanging and interconverting tangible and virtual currencies in various transactions, banking operations, and wealth management scenarios
US20150363777A1 (en) * 2014-06-16 2015-12-17 Bank Of America Corporation Cryptocurrency suspicious user alert system
CN107911216A (en) * 2017-10-26 2018-04-13 矩阵元技术(深圳)有限公司 A kind of block chain transaction method for secret protection and system
KR101837170B1 (en) * 2016-12-29 2018-04-19 주식회사 코인플러그 Method for providing secret electronic voting service on the basis of blockchain by using zero knowledge proof algorithm, and voting coin minter server, voting token distributor server and voting supporting server using the same
CN108256999A (en) * 2018-01-19 2018-07-06 阿里巴巴集团控股有限公司 Fund transfer method and device, electronic equipment
US20180211332A1 (en) * 2017-01-24 2018-07-26 International Business Machines Corporation Decentralized computing with auditability and taxability
EP3385894A1 (en) * 2017-04-03 2018-10-10 PLC Group AG Method for producing a cryptographically signed transaction
CN109242450A (en) * 2018-09-21 2019-01-18 北京京东尚科信息技术有限公司 Block catenary system and based on block catenary system realize method of commerce and transaction system

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180075421A1 (en) * 2016-09-09 2018-03-15 BitPagos, Inc. Loan processing service utilizing a distributed ledger digital asset as collateral
US20180082290A1 (en) * 2016-09-16 2018-03-22 Kountable, Inc. Systems and Methods that Utilize Blockchain Digital Certificates for Data Transactions
CN106779913A (en) * 2016-11-25 2017-05-31 国云科技股份有限公司 A method for processing order deduction under multi-level agent mode
CN107248074A (en) * 2017-03-29 2017-10-13 阿里巴巴集团控股有限公司 A kind of method for processing business and equipment based on block chain
CN107358525B (en) * 2017-06-26 2021-05-25 中国人民银行数字货币研究所 An account transaction method and device
US10706395B2 (en) * 2017-07-11 2020-07-07 American Express Travel Related Services Company, Inc. Fund transfer service for multiple linked transaction accounts
GB2569207A (en) * 2017-07-19 2019-06-12 China Merchants Bank Company Remittance processing method and system, and computer-readable storage medium
CN108256841A (en) * 2017-12-28 2018-07-06 中国人民银行数字货币研究所 Actively turn the method, apparatus and system of coin
CN109242485B (en) * 2018-08-13 2020-07-10 阿里巴巴集团控股有限公司 Blockchain transaction method and device, electronic device
JP6445211B1 (en) * 2018-08-23 2018-12-26 寛 鳥居 Remittance instruction device, remittance instruction method, remittance instruction program, and remittance instruction system
CN109257182B (en) * 2018-10-24 2021-06-25 杭州趣链科技有限公司 Privacy protection method based on homomorphic cryptography commitment and zero knowledge range certification

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150170112A1 (en) * 2013-10-04 2015-06-18 Erly Dalvo DeCastro Systems and methods for providing multi-currency platforms comprising means for exchanging and interconverting tangible and virtual currencies in various transactions, banking operations, and wealth management scenarios
US20150363777A1 (en) * 2014-06-16 2015-12-17 Bank Of America Corporation Cryptocurrency suspicious user alert system
KR101837170B1 (en) * 2016-12-29 2018-04-19 주식회사 코인플러그 Method for providing secret electronic voting service on the basis of blockchain by using zero knowledge proof algorithm, and voting coin minter server, voting token distributor server and voting supporting server using the same
US20180211332A1 (en) * 2017-01-24 2018-07-26 International Business Machines Corporation Decentralized computing with auditability and taxability
EP3385894A1 (en) * 2017-04-03 2018-10-10 PLC Group AG Method for producing a cryptographically signed transaction
CN107911216A (en) * 2017-10-26 2018-04-13 矩阵元技术(深圳)有限公司 A kind of block chain transaction method for secret protection and system
CN108256999A (en) * 2018-01-19 2018-07-06 阿里巴巴集团控股有限公司 Fund transfer method and device, electronic equipment
CN109242450A (en) * 2018-09-21 2019-01-18 北京京东尚科信息技术有限公司 Block catenary system and based on block catenary system realize method of commerce and transaction system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110472957A (en) * 2019-08-20 2019-11-19 深圳市网心科技有限公司 A kind of block chain transaction verification method and relevant device
WO2021081866A1 (en) * 2019-10-31 2021-05-06 深圳市网心科技有限公司 Transaction method, device, and system based on account model, and storage medium
CN113592650A (en) * 2021-07-29 2021-11-02 成都质数斯达克科技有限公司 Transaction method, device and equipment based on block chain intelligent contract
CN113592650B (en) * 2021-07-29 2023-10-24 成都质数斯达克科技有限公司 Transaction method, device and equipment based on blockchain intelligent contract

Also Published As

Publication number Publication date
CN113128989B (en) 2024-11-08
CN110009323B (en) 2021-02-19
CN113128989A (en) 2021-07-16

Similar Documents

Publication Publication Date Title
TWI727292B (en) Block chain transaction method and device, and electronic equipment
CN110189131B (en) Method and device for realizing confidential blockchain transaction by adopting ring signature
US11182787B2 (en) System and method for scaling blockchain networks with secure off-chain payment hubs
TWI709319B (en) Block chain-based event processing method and device, and electronic equipment
US11238447B2 (en) Blockchain transactions with ring signatures
CN110458543B (en) Data processing method, related device and medium
JP6364132B2 (en) Blockchain transaction recording system and method
CN110033370A (en) Account creation method and device, electronic equipment and storage medium
CN110008716B (en) Block chain transaction method and device, electronic equipment and storage medium
EP3594884A1 (en) Electronic bill management method, device, and storage medium
TW202042134A (en) Event processing method, apparatus and electronic device based on blockchain technology
WO2020220760A1 (en) Blockchain-based payment withholding method and apparatus, electronic device and storage medium
KR20200091882A (en) Incremental digital asset collateral wallet
US20210295320A1 (en) Lightweight blockchain supported transaction platform with blockchain based checking enhancements
KR20200018069A (en) Method and system for secure payment of blockchain using intermediate node
TW202016820A (en) Block-chain transaction method and device, and electronic device
US20160196553A1 (en) System for electronically transferring assets
CN111461691B (en) Flow statistical system, method and device based on block chain
CN110009323A (en) Block chain transaction method and device, electronic equipment and storage medium
CN110458561B (en) Method and device for realizing confidential transaction in block chain network
CN110009492B (en) Blockchain transaction method and device, electronic device, storage medium
US20210374843A1 (en) Debt Resource Management in a Distributed Ledger System
US20200175502A1 (en) Confidential transaction in a blockchain network
AU2016272701A1 (en) Systems and methods for publicly verifiable authorization
WO2020119297A1 (en) Event processing method and apparatus based on blockchain, and electronic device

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20201016

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20201016

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240914

Address after: Guohao Times City # 20-01, 128 Meizhi Road, Singapore

Patentee after: Ant Chain Technology Co.,Ltd.

Country or region after: Singapore

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee before: Innovative advanced technology Co.,Ltd.

Country or region before: Cayman Islands

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载