WO2020077613A1 - 基于区块链交易平台的交易支付系统和方法 - Google Patents

基于区块链交易平台的交易支付系统和方法 Download PDF

Info

Publication number
WO2020077613A1
WO2020077613A1 PCT/CN2018/111009 CN2018111009W WO2020077613A1 WO 2020077613 A1 WO2020077613 A1 WO 2020077613A1 CN 2018111009 W CN2018111009 W CN 2018111009W WO 2020077613 A1 WO2020077613 A1 WO 2020077613A1
Authority
WO
WIPO (PCT)
Prior art keywords
transaction
account
energy
user
settlement
Prior art date
Application number
PCT/CN2018/111009
Other languages
English (en)
French (fr)
Inventor
徐琨
张建军
Original Assignee
北京兆信通能科技有限公司
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 北京兆信通能科技有限公司 filed Critical 北京兆信通能科技有限公司
Priority to PCT/CN2018/111009 priority Critical patent/WO2020077613A1/zh
Publication of WO2020077613A1 publication Critical patent/WO2020077613A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme

Definitions

  • This application generally relates to a blockchain-based trading platform, and in particular, to a transaction payment system and method based on a blockchain trading platform.
  • the payment method for energy transactions based on the blockchain trading platform is relatively simple, and only supports payment and settlement of a certain fiat currency. This is inconvenient for users, so a flexible and convenient payment method for energy transactions based on the blockchain trading platform is needed to improve the convenience of payment settlement on the blockchain trading platform.
  • the first aspect of the present invention discloses a transaction payment method based on a blockchain transaction platform.
  • the blockchain trading platform includes multiple nodes, and the multiple nodes constitute a blockchain network. Each node in the plurality of nodes can communicate with other nodes in the plurality of nodes, and the blockchain network can also communicate with clients.
  • the method includes: receiving a transaction proposal of a user from a client, the user has a virtual currency account and an actual currency account; endorsing the transaction proposal based on a smart contract to generate an endorsement result; The contract executes the transaction.
  • the smart contract includes at least a payment agreement related to the user, the payment agreement at least specifies an account for clearing the transaction, and the account for clearing the transaction is the virtual currency account of the user or the actual At least one of the currency accounts.
  • the execution of the transaction includes settlement of the account used to settle the transaction based on the smart contract.
  • the second aspect of the present invention discloses a transaction payment system based on a blockchain transaction platform.
  • the blockchain trading platform includes multiple nodes, and the multiple nodes constitute a blockchain network. Each node in the plurality of nodes can communicate with other nodes in the plurality of nodes, and the blockchain network can also communicate with clients.
  • the system may include an acquisition module, an endorsement module, and a transaction module.
  • the acquisition module may be used to receive a transaction proposal from a client, who has a virtual currency account and an actual currency account.
  • the endorsement module may be used to endorse the transaction proposal based on a smart contract to generate an endorsement result.
  • the transaction module may be used to execute the transaction based on the endorsement result and the smart contract.
  • the smart contract includes at least a payment agreement related to the user, the payment agreement at least specifies an account for clearing the transaction, and the account for clearing the transaction is the virtual currency account of the user or the actual At least one of the currency accounts.
  • the execution of the transaction includes settlement of the account used to settle the transaction based on the smart contract.
  • the third aspect of the present invention discloses a transaction payment system based on a blockchain transaction platform.
  • the blockchain trading platform includes multiple nodes, and the multiple nodes constitute a blockchain network. Each node in the plurality of nodes can communicate with other nodes in the plurality of nodes, and the blockchain network can also communicate with clients.
  • the system may include at least one storage medium and at least one processor.
  • the at least one storage medium may include a set of instructions.
  • the at least one processor may be configured to communicate with the at least one storage medium, wherein when the instruction is executed, the system is configured to perform one or more of the following operations.
  • the smart contract includes at least a payment agreement related to the user, the payment agreement at least specifies an account for clearing the transaction, and the account for clearing the transaction is the virtual currency account of the user or the actual At least one of the currency accounts.
  • the execution of the transaction includes settlement of the account used to settle the transaction based on the smart contract.
  • the user's virtual currency account is associated with a virtual currency service provider platform, and the user's actual currency account is associated with a banking platform.
  • the settlement of the account used for settlement transactions based on the smart contract includes determining a settlement amount based on the smart contract and the transaction proposal, and settlement based on the account used for settlement transactions based on the settlement amount.
  • the settlement of the account used for settlement transactions based on the smart contract includes converting the settlement amount into a token amount, and determining the settlement amount corresponding to the account used for settlement transactions based on the token amount, And based on the settlement amount of the account corresponding to the settlement transaction, settle the account used for the settlement transaction.
  • the method further includes receiving a registration request of the user, the registration request including at least a virtual currency type selected by the user; and in response to the registration request, generating the virtual currency account and the actual currency Account, the virtual currency account corresponds to the type of virtual currency selected by the user.
  • receiving the user's registration request includes receiving the user's login request, the login request includes at least a private key associated with the virtual currency account and the actual currency account, and the private key is never online From your storage device.
  • the transaction is an energy transaction.
  • the smart contract further includes an energy trading agreement related to the user, the energy trading agreement at least specifies the type of energy to be traded, the total amount of the energy to be traded, the unit price or energy of the energy to be traded At least one of the validity periods of the trading agreement.
  • the type of energy traded includes at least one of electric energy, solar energy, wind energy, fuel energy, water energy, or nuclear energy.
  • the virtual currency account supports Bitcoin (BTC), Ethereum (ETH), EOS coin, Litecoin (LTC), Ripple (XRP), Bitcoin Cash (BCH), Dash ( At least one of Dash, NEM or Monero.
  • the actual currency account supports fiat currency.
  • a fourth aspect of the invention discloses a non-transitory computer-readable storage medium.
  • the computer-readable storage medium may store computer instructions, and when one or more processors execute the computer instructions, the one or more processors may perform one or more of the following operations.
  • the smart contract includes at least a payment agreement related to the user, the payment agreement at least specifies an account for clearing the transaction, and the account for clearing the transaction is the virtual currency account of the user or the actual At least one of the currency accounts.
  • the execution of the transaction includes settlement of the account used to settle the transaction based on the smart contract.
  • FIG. 1 is a schematic diagram of an exemplary blockchain-based trading platform according to some embodiments of the present application
  • FIG. 2 is a schematic diagram of an exemplary blockchain network according to some embodiments of the present application.
  • FIG. 3 is a schematic diagram of exemplary hardware and / or software components of a computing device according to some embodiments of the present application.
  • FIG. 4 is a schematic diagram of exemplary hardware and / or software components of a mobile device according to some embodiments of the present application.
  • FIG. 5 is a block diagram of a payment settlement device according to some embodiments of the present application.
  • FIG. 6 is a flowchart of a transaction payment process based on a blockchain transaction platform according to some embodiments of the present application.
  • FIG. 7 is a schematic diagram of an exemplary process of a transaction process based on a blockchain network according to some embodiments of the present application.
  • FIG. 8 is a schematic diagram of an exemplary smart contract according to some embodiments of the present application.
  • 9 is a flowchart of account registration according to some embodiments of the present application.
  • This application uses a flowchart to illustrate the operations performed by the system according to the embodiments of the application. It should be understood that the operations of the flowcharts are not necessarily performed accurately in order. Instead, the various steps can be performed in reverse order or processed simultaneously. In addition, one or more other operations can be added to the flowchart. One or more operations can also be deleted from the flowchart.
  • FIG. 1 is a schematic diagram of an exemplary blockchain-based trading platform 100 according to some embodiments of the present application.
  • the blockchain-based trading platform 100 (hereinafter also referred to as the trading platform 100) can be used as a trading platform for any product.
  • the product may be a tangible product or an intangible product.
  • the tangible product may include energy, food, medicine, daily necessities, chemical products, electrical appliances, clothing, automobiles, houses, luxury goods, or the like, or any combination thereof.
  • the intangible products may include service products, financial products, knowledge products, Internet products or the like or any combination thereof.
  • this article takes the blockchain-based energy trading platform as an example to expand the description. It should be understood that it is not intended to limit the scope of this application.
  • the trading platform 100 can be used as an energy trading platform that implements peer-to-peer transactions in the energy network based on the blockchain network 110.
  • the trading platform 100 can also be used as an intelligent communication and management platform, which can provide features such as energy efficiency analysis, energy efficiency control, energy distribution, user management, information publishing, transaction monitoring, marketing analysis, contract management, transaction settlement, Services such as energy demand forecasting, or any combination of said services.
  • the trading platform 100 can implement multi-currency payments.
  • the trading platform 100 may receive energy trading proposals from users who have virtual currency accounts and real currency accounts.
  • the trading platform 100 may endorse the transaction proposal based on a smart contract to generate an endorsement result.
  • the trading platform 100 may execute the transaction based on the endorsement result and the smart contract.
  • the smart contract includes at least a payment agreement related to the user, and the payment agreement at least specifies an account used to settle the energy transaction, and the account used to settle the energy transaction is the user's virtual currency account or actual At least one of the currency accounts.
  • the execution of the transaction includes settlement of the account used to settle the energy transaction based on the smart contract.
  • the energy network may be a distributed energy network including one or more network elements.
  • network elements may refer to entities that can participate in energy exchanges and / or transactions.
  • the energy exchanged and / or traded within the energy network may include any type of energy, for example, electrical energy, solar energy, wind energy, fuel energy (eg, gas, gasoline, or coal), water energy, nuclear energy, ocean energy, sea salt energy , Biomass energy, etc. or any combination thereof.
  • Exemplary network elements in the energy network may include energy providers, energy consumers, energy producers, energy storage devices, energy intermediaries, etc., or any combination thereof.
  • Energy providers may include any entity capable of providing energy.
  • Exemplary energy providers may include wind power plants, photovoltaic devices, photovoltaic power plants, nuclear power plants, hydro energy devices, thermal power plants, marine energy power plants, seawater salt power plants, biomass power plants, etc., or any combination thereof.
  • Energy consumers can include any entity that can consume energy.
  • Exemplary energy consumers may include buildings, institutions, electrical equipment (eg, laptop computers, smart phones, electric vehicles), etc., or any combination thereof.
  • the buildings 120 may include residential buildings (eg, residential buildings), commercial buildings (eg, shopping mall buildings, supermarket buildings), industrial buildings (eg, factory buildings), school teaching buildings, administrative office buildings, and the like.
  • Electrical equipment may include laptop computers, smart phones, electric cars, and so on.
  • the energy storage device may include any entity capable of storing energy. Exemplary energy storage devices may include pumped energy storage devices, compressed air energy storage devices, superconducting magnetic energy storage devices, batteries / rechargeable batteries, thermal energy storage devices, hydrogen energy storage devices, flywheel energy storage devices, etc., or any combination thereof .
  • the network elements of the energy network may include buildings 120, energy storage systems 130, power plants 140 (eg, thermal power plants), solar photovoltaic devices 150, and electric vehicles 160.
  • network elements may be associated with multiple types of devices, such as energy supply devices, energy consumption devices, energy storage devices, and so on.
  • the network element may be an energy provider, an energy consumer, and / or an energy storage device at the same time.
  • a building 120 including multiple electrical devices and photovoltaic devices can not only consume power but also generate power.
  • the solar photovoltaic device 150 can supply energy, and also includes solar cells for storing solar energy.
  • the network element and the device associated therewith may serve as a network element.
  • the device associated with the network element may participate as an independent network element in energy exchange and / or transactions in the trading platform 100.
  • the building 120 and the devices in it may be regarded as a network element building 120.
  • the photovoltaic devices of the building 120 can act as independent network elements.
  • two or more network elements of the energy network may be connected to each other to exchange energy.
  • the energy storage system 130, the power plant 140, and / or the solar photovoltaic device 150 may supply power to the building 120 and the electric vehicle 160.
  • the energy storage system 130 may obtain energy from one or more other network elements and store the energy.
  • the building 120, the power plant 140, and / or the solar photovoltaic device 150 may obtain energy from the energy storage system 130 or provide energy to the energy storage system 130.
  • the blockchain network 110 may be configured to process and / or store energy transactions occurring in the transaction platform 100.
  • energy trading can refer to any successful or failed energy trading.
  • the energy transaction can be initiated by any network element in the energy network.
  • an energy transaction may be an energy purchase transaction initiated by an energy consumer or an energy sales transaction initiated by an energy provider.
  • the blockchain network 110 can utilize decentralized, distributed, and public digital ledgers to maintain a growing list of transaction records.
  • the blockchain network 110 can ensure that transaction records can be stored in a verifiable and permanent manner and cannot be modified.
  • the blockchain network 110 may be any type of regional chain network, such as a public regional chain network, a private regional chain network, a semi-private blockchain network, an alliance chain, etc., or any combination thereof.
  • the blockchain network 110 may be a consortium chain. In the alliance chain, the consensus process is controlled by a pre-selected group of nodes, and the right to read the blockchain may be public or limited to the pre-selected node or nodes. In some embodiments, the blockchain network 110 may be based on a Hyperledger (Fabric) blockchain.
  • the blockchain network 110 may include multiple nodes, which may be assigned different functions, such as data analysis, data storage, transaction approval, smart contract execution, transaction verification, etc., or any combination.
  • the blockchain network 110 may allow users associated with network elements (eg, energy providers and / or energy consumers) to sell energy to and / or purchase energy from another network element.
  • the user of the network element can initiate a transaction through the client (not shown in FIG. 1) to interact with the blockchain network 110.
  • the blockchain network 110 can verify the transaction according to the smart contract, and if the transaction is valid, store the transaction in a block sealed with a lock (also called a “hash”).
  • a lock also called a “hash”.
  • the trading platform 100 is provided for illustrative purposes only, and is not intended to limit the scope of the present application.
  • various modifications and changes can be made according to the description of the present application. However, these amendments and changes do not depart from the scope of this application.
  • one or more optional components may be added to the trading platform 100, or one or more components of the trading platform 100 described above may be omitted.
  • the electric car 160 may be omitted.
  • the energy network may exchange energy with an external energy network (eg, national grid, another energy network).
  • the trading platform 100 may include a server (not shown in FIG.
  • the server may be connected to the trading platform 100 and communicate with one or more components in the trading platform 100.
  • the server may collect transaction-related information of various components of the trading platform 100 (for example, network elements of the energy network) and perform payment settlement between users, thereby achieving the convenience and flexibility of payment settlement of the trading platform 100.
  • FIG. 2 is a schematic diagram of an exemplary blockchain network 110 according to some embodiments of the present application. As described in connection with FIG. 1, the blockchain network 110 may be configured to process and record energy transactions occurring in the trading platform 100.
  • the blockchain network 110 may be a decentralized network of multiple nodes 210.
  • the nodes 210 may be connected to each other via the network 220 instead of being connected to a central server.
  • the node 210 may refer to a computing unit capable of performing one or more functions of the node 210 disclosed in itself.
  • the node 210 may be implemented on any type of computing device.
  • the node 210 may be implemented on a computing device such as a personal computer, tablet computer, notebook computer, mobile device, or a portion of a computing device.
  • the node 210 may be implemented on a computing system containing multiple computing devices.
  • node 210 may be implemented on one or more components of computing device 300 as shown in FIG. 3.
  • multiple nodes 210 may have the same or different functions in the blockchain network 110.
  • the node 210 may include a peer node, an orderer node, and / or an authentication center.
  • the peer node may refer to a node 210 that maintains a ledger and / or runs a smart contract (also called chain code) to perform read / write operations on the ledger.
  • the ledger can be used to store the blockchain, and optionally other information related to the trading platform 100 (eg, world state information). Smart contracts can refer to the automatic execution of contract coding rules for energy transactions.
  • the peer node may further include an endorser and an submitter.
  • the endorser endorser may refer to the node 210 configured to endorse the transaction proposal received from the client 240 to generate an endorsement result.
  • the submitting node committer may refer to the node 210 configured to verify the transaction and / or endorsement results.
  • the ordering node orderer may refer to a node 210 configured to order one or more transactions to generate blocks.
  • An authentication center may refer to a node 210 configured to manage membership in the transaction system 100.
  • node 210 may be used as a type of node.
  • the node 210 may be used as various types of nodes.
  • the node 210 may be used as both an endorser and a committer.
  • one or more nodes 210 of the blockchain network 110 may be configured to analyze and / or manage information related to the trading platform 100 to provide various services, such as contract management, transaction settlement, energy demand Forecasting, energy efficiency analysis, energy distribution, user management, information release, transaction monitoring, marketing analysis, etc. or any combination thereof.
  • the node 210 may provide user management services, such as user registration, user authentication, user information update, user account monitoring, user account suspension, etc., or any combination thereof.
  • the node 210 may provide contract management services, such as contract creation, contract execution, contract query, contract confirmation, contract cancellation, etc., or any combination thereof.
  • a user associated with a network element may send a request for a particular service to node 210 via client 240.
  • the node 210 may execute the request and send the execution result to the client 240 to provide the requested service to the user.
  • the node 210 of the blockchain network 110 may be owned and maintained by the entity (eg, organization, person) that maintains the transaction platform 100.
  • node 210 may be owned and maintained by users associated with network elements of the energy network.
  • the network 220 may facilitate the exchange of information and / or data.
  • multiple nodes 210 of the blockchain network 110 may be connected to and / or communicate with each other via the network 220.
  • one or more nodes 210 of the blockchain network 110 may connect to and / or communicate with the client 240 via the network 220.
  • the network 220 may be any form of wired or wireless network, or any combination thereof.
  • the network 220 may include a wired network, a wired network, a fiber optic network, a telecommunications network, an intranet, the Internet, a local area network (LAN), a wide area network (WAN), a wireless local area network (WLAN), and a metropolitan area network (MAN), public switched telephone network (PSTN), Bluetooth network, ZigBee network, near field communication (NFC) network, etc. or a combination thereof.
  • the network 220 may include one or more network access points.
  • the network 220 may include wired or wireless network access points, such as base stations and / or Internet exchange points 220-1, 220-2, ..., through which one or more components of the trading platform 100 may be connected to
  • the network 220 exchanges data and / or information.
  • the blockchain network 110 can communicate with the client 240 and the storage device 230.
  • the storage device 230 may store data and / or instructions.
  • the storage device 230 may store data obtained from the node 210 and / or the client 240.
  • the storage device 230 may store information related to the transaction platform 100, such as user information, transaction information, policy information, news information, etc., or any combination thereof.
  • the storage device 230 may store the block index and the historical index of the key.
  • the storage device 230 may store data and / or instructions that the blockchain network 110 may execute or use to perform the exemplary methods described in this application.
  • the storage device 230 may include mass storage, removable memory, volatile read-write memory, read-only memory (ROM), etc., or a combination thereof.
  • Exemplary mass storage devices may include magnetic disks, optical disks, solid state disks, and the like.
  • Exemplary removable memory may include flash drives, floppy disks, optical disks, memory cards, compact disks, magnetic tape, and the like.
  • Exemplary volatile read-only memory may include random access memory (RAM).
  • Exemplary RAM may include dynamic RAM (DRAM), double-rate synchronous dynamic RAM (DDR SDRAM), static RAM (SRAM), thyristor RAM (T-RAM), zero-capacitance RAM (Z-RAM), and the like.
  • Exemplary ROMs can include mask ROM (MROM), programmable ROM (PROM), erasable programmable ROM (PEROM), electronically erasable programmable ROM (EEPROM), compact disc ROM (CD-ROM), and digital Universal disk ROM, etc.
  • the storage device 230 may be implemented on a cloud platform.
  • the cloud platform may include a private cloud, a public cloud, a hybrid cloud, a community cloud, a distributed cloud, an internal cloud, a multi-layer cloud, etc., or any combination thereof.
  • one or more components of the trading platform 100 may access the storage device 230.
  • one or more components of the trading platform 100 may read and / or write information related to one or more transactions.
  • the node 210 may read and / or modify information related to one or more transactions stored in the storage device 230.
  • the client 240 may access the information stored in the storage device 230, but does not have permission to modify the information stored in the storage device 230.
  • the client 240 may be associated with the network element of the energy network, and may be used to enable user interaction between the user associated with the network element and the blockchain network 110.
  • the client 240 may be associated with the thermal power plant 140.
  • the administrator or employee of the thermal power plant 140 can send a transaction proposal to the blockchain network 110 via the client 240 to sell the excess energy.
  • the client 240 may be associated with the building 120. residents of the building 120 can send transaction proposals to the blockchain network 110 via the client 240 to purchase energy. Additionally or alternatively, the resident may submit a request to the blockchain network 110 via the client 240 to predict his / her energy demand for the next month.
  • the client 240 may include a software development kit (SDK).
  • SDK may provide an application programming interface (API) to connect to the blockchain network 110 and enable the client 240 to interact with the blockchain network 110.
  • API application programming interface
  • the SDK may package the transaction proposal entered by the user into an appropriate architectural format and / or generate a unique signature (eg, digital signature) for the transaction proposal.
  • the client 240 may install a client application.
  • the client application can be designed to enable users of the client 240 to trade and / or manage energy based on the blockchain network 110.
  • the user may send a transaction proposal for energy to the blockchain network 110 via the application of the client 240.
  • the user can view information on the client application (for example, predicted energy demand, settlement results regarding historical energy consumption, analysis results of energy efficiency, and warning information).
  • the client application can be a mobile application, a web application, a cloud application, a website, or any other software used for energy trading.
  • the wallet application may be installed on the client 240.
  • the user can perform asset management on the wallet application, such as transactions, withdrawals and / or recharges of fiat and virtual currencies.
  • the user can also perform rate inquiry, transaction record inquiry and management, etc. on the wallet application.
  • the client 240 may connect to or communicate with one or more components of the blockchain network 110 (eg, one or more nodes 210) via the network 220. Additionally or alternatively, the client 240 may be directly connected to one or more components of the blockchain network 110. In some embodiments, depending on the type of user (eg, registered user, VIP, guest), different users of the client 240 may have different user rights. For example, a registered user may have the right to trade energy on the blockchain network 110 and read transaction information related to the blockchain network 110. The visitor may only have the right to read the transaction information related to the blockchain network 110.
  • a registered user may have the right to trade energy on the blockchain network 110 and read transaction information related to the blockchain network 110. The visitor may only have the right to read the transaction information related to the blockchain network 110.
  • the client 240 may be configured to encrypt and decrypt information.
  • the client 240 may hold a private key and / or a public key.
  • the public key may be public, and may be obtained by any component in the trading platform 100.
  • the client 240 can use its private key to encrypt the message and digitally sign the message.
  • the client 240 may use the public key of the other component to decrypt the message and / or verify the message.
  • a component that cannot be accessed by the network can be utilized to store or manage the user's private key.
  • the private key may be stored in any device with a storage function, such as a computer, mobile phone, U disk, or hard disk that is not connected to the network.
  • the client 240 may include a mobile device 240-1, a tablet 240-2, a laptop 240-3, a built-in device 240-4, etc., or a combination thereof.
  • the mobile device 240-1 may include a smart home device, a wearable device, a smart mobile device, a virtual reality device, an augmented reality device, etc., or any combination thereof.
  • the smart home devices may include smart lighting devices, smart appliance control devices, smart monitoring devices, smart TVs, smart cameras, walkie-talkies, etc., or any combination thereof.
  • the wearable device may include a smart bracelet, smart footwear, smart glass, smart helmet, smart watch, smart clothing, smart backpack, smart accessory, etc., or any combination thereof.
  • the smart mobile device may include a smart phone, personal digital assistant (PDA), gaming device, navigation device, POS machine, etc., or any combination thereof.
  • the virtual reality device and / or the augmented virtual reality device may include a virtual reality helmet, virtual reality glasses, virtual reality eye mask, enhanced virtual reality helmet, enhanced virtual reality glasses, enhanced virtual reality eye mask, etc. or Any combination.
  • the virtual reality device and / or augmented reality device may include Google GlassTM, RiftConTM, FragmentsTM, Gear VRTM, and so on.
  • the blockchain network 110 may include any number of component nodes 210.
  • the node 210 may be assigned any function.
  • the storage device 230 may be omitted.
  • FIG. 3 is a schematic diagram of exemplary hardware and / or software components of a computing device 300 according to some embodiments of the present application.
  • the computing device 300 may be used to implement any components of the trading platform 100 as described herein.
  • the node 210, client 240, and / or server of the blockchain network 110 may be implemented on the computing device 300 through its hardware, software programs, firmware, or a combination thereof.
  • computer functions related to the trading platform 100 described herein may be implemented in a distributed manner on multiple similar platforms to distribute processing load.
  • the computing device 300 may include a COM port 350 connected to a network connected thereto to facilitate data communication.
  • the computing device 300 may also include a processor 320 configured to execute instructions. Instructions may include, for example, programs, objects, components, signals, data structures, procedures, modules, and functions that perform specific functions described herein.
  • the processor 320 may process information related to transaction energy, account management, and payment settlement in the transaction platform 100. For example, the processor 320 may endorse the transaction proposal based on the smart contract. As another example, the processor 320 may execute the transaction based on the endorsement result and the smart contract.
  • the processor 320 may include at least one hardware processor, such as a microcontroller, microprocessor, reduced instruction set computer (RISC), application specific integrated circuit (ASIC), application specific instruction set processor (ASIP ), Central processing unit (CPU), graphics processing unit (GPU), physical processing unit (PPU), microcontroller unit, digital signal processor (DSP), field programmable gate array (FPGA), advanced RISC machine (ARM ), A programmable logic device (PLD), any circuit or processor capable of performing at least one function, etc., or any combination thereof.
  • RISC reduced instruction set computer
  • ASIC application specific integrated circuit
  • ASIP application specific instruction set processor
  • CPU Central processing unit
  • GPU graphics processing unit
  • PPU physical processing unit
  • DSP digital signal processor
  • FPGA field programmable gate array
  • ARM advanced RISC machine
  • PLD programmable logic device
  • the computing device 300 may also include an internal communication bus 310, different types of program storage and data storage, including, for example, a hard disk 370, read only memory (ROM) 330, or random access memory (RAM) 340.
  • the exemplary computing device may also include program instructions stored in ROM 330, RAM 340, and / or other types of non-transitory storage media executed by processor 320.
  • the method and / or process of the present application may be implemented in the form of program instructions.
  • the computing device 300 also includes an I / O component 360 that supports input / output between the computing device 300 and other components.
  • the computing device 300 may also receive programming and data via network communication.
  • the computing device 300 in this application may also include multiple processors. Therefore, the operations and / or method operations performed by one processor described in this application may also be performed jointly or separately by multiple processors. For example, if in this application, the processor of the computing device 300 performs operations A and B, then it should be understood that operations A and B may also be performed jointly or separately by two different processors in the calculation. Device 300 (eg, the first processor performs operation A, the second processor performs operation B, or the first and second processors collectively perform operations A and B).
  • the mobile device 400 may be used to implement any components of the transaction system 100 as described herein.
  • the node 210 and / or the client 240 of the blockchain network 110 may be implemented on the mobile device 400.
  • the mobile device 400 may include a communication platform 410, a display 420, a graphics processing unit (GPU) 430, a central processing unit (CPU) 440, I / O 450, a memory 460, and a storage 490.
  • any other suitable components including but not limited to a system bus or controller (not shown), may also be included in the mobile device 400.
  • the mobile operating system 470 eg, IOSTM, AndroidTM, Windows PhoneTM, etc.
  • the application 480 may include a browser or any other suitable mobile application for receiving and presenting information related to the trading platform 100 or 300.
  • the application program 480 may include applications designed for energy trading, energy efficiency control as described elsewhere in this disclosure (eg, FIGS. 2-3 and related descriptions). The user's interaction with the information flow can be achieved via I / O 450 and provided to the regional chain network 110 and other components of the trading platform 100 via the network.
  • a computer hardware platform may be used as a hardware platform for one or more components described herein.
  • a computer with user interface components can be used to implement a personal computer (PC) or any other type of workstation or terminal device. If properly programmed, the computer can also be used as a server.
  • PC personal computer
  • FIG. 5 is a block diagram of a payment settlement device according to some embodiments of the present application.
  • the payment settlement device 500 may include an acquisition module 510, a registration / login module 520, an account management module 530, an endorsement module 540, and a transaction module 550.
  • the payment settlement device 500 may be implemented by one or more components in the blockchain network 110, a server in the transaction platform 100, or the like.
  • the payment settlement device 500 may be implemented via one or more nodes 210 in the blockchain network 110.
  • different modules in the payment settlement system 500 may be implemented by the same or different nodes 210.
  • the registration / login module 520 and the account management module 530 may be implemented via the same or the same group of nodes 210.
  • the acquisition module 510 and the transaction module 540 may be implemented via the same or the same group of nodes 210.
  • the acquisition module 510 may be configured to receive the user's transaction proposal from the client 240, such as an energy transaction proposal. A detailed description of the transaction proposal can be found in step 610, and will not be repeated here.
  • the registration / login module 520 may be configured to implement login / registration of user accounts.
  • the account may include a virtual currency account and / or an actual currency account. The user's virtual currency account and / or actual currency account can be found in step 610 and process 900, which will not be repeated here.
  • the account management module 530 may be configured to manage the user's virtual currency account and / or real currency account.
  • the endorsement module 540 may be configured to endorse the transaction proposal based on a smart contract to generate an endorsement result.
  • the transaction module 550 may be configured to execute transactions based on endorsement results and smart contracts.
  • the execution of the transaction may include settlement of an account used by the user to settle the transaction based on the smart contract.
  • a detailed description of the execution of the transaction can be found in step 630 and will not be repeated here.
  • the payment settlement device 500 may further include one or more other modules (for example, a storage module). Alternatively, one or more modules of the payment settlement device 500 described above may be omitted. Alternatively, one or more modules of the payment settlement device 500 described above may be combined into a single module. Or alternatively, one module of the payment settlement device 500 described above may be split into multiple sub-modules.
  • process 600 is a flowchart of a transaction payment process based on a blockchain transaction platform according to some embodiments of the present application.
  • the transaction process described in process 600 can be applied to any transaction system, such as an energy transaction system, a financial transaction system, and a daily necessities transaction system.
  • the description of the process 600 in this document is carried out by taking energy trading as an example. It should be understood that it is just for convenience of description and is not intended to limit the scope of the present application.
  • FIG. 6 corresponds to one or more modules in FIG. 5, and each step of the process 600 may be implemented by one or more modules in FIG. 5.
  • the process 600 may be performed by the trading platform 100.
  • the process 600 may be implemented as a set of instructions (eg, application programs) stored in a storage device (eg, the storage device / storage device 230 of the node 210).
  • One or more elements in the trading platform 100 may execute the set of instructions, and when the instructions are executed, one or more elements in the trading platform 100 may be configured to perform the process 600.
  • the operations of the illustrated flow presented below are intended to be illustrative.
  • the process 600 may be completed by one or more additional operations not described and / or omitting one or more of the operations discussed.
  • the arrangement of operations in the flow shown in FIG. 6 and described below is not limitative.
  • step 610 the user's transaction proposal may be received from the client.
  • step 610 may be implemented by acquisition module 510.
  • the transaction proposal may be an energy transaction proposal.
  • the energy transaction proposal may be initiated by any network element in the energy network.
  • the transaction proposal may be a proposal to buy energy, sell energy, and / or exchange energy in the trading platform 100.
  • the transaction proposal may be sent via the client 240 by the user associated with the network element.
  • a user may use a client application installed on the client 240 to send a transaction proposal.
  • the client application can use the SDK (eg, Node SDK, Java SDK, or Python SDK) and utilize the API to generate transaction proposals.
  • the client application can use the user's encrypted credentials to generate a digital signature.
  • the transaction proposal may include the user ID of the client 240, the user's digital signature, time stamp, ID of the smart contract corresponding to the transaction proposal, the type of energy to be traded in this transaction, this time At least one of the amount of energy to be traded in the transaction, the transaction method in this transaction, etc., or any combination thereof.
  • the user has a virtual currency account and / or an actual currency account.
  • the virtual currency account is related to the user's virtual currency asset, and may be related to the virtual currency service provider platform corresponding to the user's virtual asset.
  • the user's actual currency account is related to the user's actual currency assets and can be managed with the banking platform.
  • the virtual currency account can support any virtual currency circulating in the virtual currency market, for example, Bitcoin (BTC), Ethereum (ETH), EOS Coin, Litecoin (LTC), Ripple (XRP), Bitcoin Cash One or more of (BCH), Dash, NEM, Monero, etc.
  • the virtual currency account may support virtual currency issued by the platform itself.
  • the actual currency account can support any fiat currency.
  • Fiat currency refers to currency issued by various countries that can be used in circulation.
  • Legal currency may include, but is not limited to, RMB, US dollar, Japanese yen, South Korean won, Euro, British pound, Thai baht, Rupee or ruble.
  • the user may have multiple virtual currency accounts and / or real currency accounts.
  • the user may have multiple virtual currency accounts, respectively corresponding to different types of virtual currency assets, and associated with corresponding different virtual currency service provider platforms.
  • the user's virtual currency account and / or actual currency account may be referred to as the user's hot wallet account.
  • the user's virtual currency account and / or actual currency account may be generated by one or more components in the trading platform 100 (eg, the registration / login module 520) when the user registers with the trading platform 100.
  • the registration / login module 520 e.g. the registration / login module 520
  • FIG. 9 For further description of user virtual currency account and / or actual currency account generation, reference may be made to FIG. 9 and related content.
  • step 620 the transaction proposal may be endorsed based on the smart contract to generate an endorsement result.
  • step 610 may be implemented by endorsement module 540.
  • the endorsement module 540 may be implemented by one or more endorsers.
  • this document takes the endorser as an example to describe the implementation process of step 620. It should be understood that this is for illustrative purposes only and is not intended to limit the scope of this application.
  • the endorser in response to the received transaction proposal, may first verify the transaction proposal. For example, the endorser can verify that the transaction proposal is complete and / or that the transaction proposal has not been submitted in the past. Additionally or alternatively, the endorser can verify that the digital signature of the transaction proposal is valid, and the user who submitted the transaction proposal is properly authorized to be able to submit the transaction proposal. After verifying the transaction proposal, the endorser can each use the transaction proposal to simulate the execution of a smart contract to generate a simulated transaction result, and then digitally sign the simulated transaction result to generate an endorsement result. Alternatively, the endorser of the endorsement node may send the endorsement result including the simulated transaction result and its digital signature back to the client 240. In some embodiments, the endorser may be any node of the regional chain network 110. Optionally, the endorser node may be selected in the node 210 according to the endorsement strategy.
  • the smart contract refers to an automatic execution contract that encodes energy trading rules.
  • a smart contract may specify terms of agreement between the two parties, for example, it may include a payment agreement and / or an energy transaction agreement.
  • the payment agreement may specify other payment-related terms such as settlement account and / or payment time.
  • the settlement account may be the actual currency account and / or virtual currency account of both parties to the contract.
  • the payment time may stipulate the time when the payer pays, for example, prepayment before the transaction is performed, payment immediately after the transaction system 100 executes the transaction, or payment at a specific moment after the transaction is executed.
  • the energy trading agreement may include one or more of the types of traded energy, the total amount of traded energy, the unit price of the traded energy, the total price of the traded energy, etc. Combination.
  • the unit price and / or the total price of the traded energy can be expressed in any type of legal currency or digital currency combination.
  • the total price of the transaction may be 50 bitcoins.
  • the total price of the transaction may be 30 ethers and 30 fiat currencies (for example, 30 dollars).
  • the endorser can store smart contracts.
  • the endorser endorser may endorse the transaction proposal according to the smart contract associated with the transaction proposal.
  • the transaction proposal may define the ID of the smart contract to be executed, and the endorser may execute the endorsement based on the defined smart contract.
  • the endorser endorser may perform endorsement based on a smart contract signed by a user (eg, a manager of a corresponding network element) associated with the client 240.
  • smart contracts may include different types of smart contracts, such as custom smart contracts, prefabricated smart contracts, open smart contracts, long-term smart contracts, and short-term smart contracts. Details about smart contracts can be found elsewhere in this application (for example, Figure 8 and related descriptions), and will not be repeated here.
  • Step 630 the transaction may be executed based on the endorsement result and the smart contract.
  • step 630 may be implemented by the transaction module 550.
  • the smart contract may include a payment protocol and / or energy transaction protocol related to the user.
  • the payment agreement may specify a settlement account.
  • the settlement account may be at least one of a virtual currency account or an actual currency account of the user for energy transaction settlement.
  • the energy transaction may specify the energy transaction unit price and the like.
  • the executing the transaction may include determining a settlement amount of the energy transaction based on the smart contract and the transaction proposal. For example, the settlement amount of this energy transaction can be determined based on the type, quantity, and corresponding unit price of the energy to be traded in this transaction in the transaction proposal. Further, the settlement account may be settled based on the settlement amount, for example, the settlement account is transferred out and / or transferred into the corresponding settlement amount.
  • performing the transaction may include deducting the corresponding settlement amount from the virtual account of the user.
  • the trading platform 100 can directly settle the settlement account when executing the transaction. For example, when the settlement amount of the transaction is N Ether and the settlement account is an Ether account, the transaction platform 100 can directly transfer N Ether from the user's Ether account or transfer N to the user's Ether account when executing the transaction Ethereum.
  • the trading platform 100 needs to convert the settlement amount and settle the settlement account based on the converted settlement amount. Specifically, the trading platform 100 may first convert the settlement amount into a token amount.
  • the token may be any virtual currency supported by the trading platform 100, such as Ether or Bitcoin. In some embodiments, the token may be ether based on the Ethereum ERC20 protocol. After determining the token amount, the trading platform 100 may further determine the settlement amount corresponding to the settlement account based on the token amount, and settle the settlement account based on the settlement amount of the corresponding settlement account.
  • the trading platform 100 may first convert 50 Bitcoins to a certain number of tokens, and then determine the corresponding Ethereum account based on the token amount Settlement amount. Accordingly, the trading platform 100 may deduct a certain amount of ether from the user's ether account to complete the settlement.
  • the trading platform 100 may first convert 50 Bitcoins to a certain number of tokens, and then determine the settlement amount of the corresponding fiat currency account based on the token amount . Accordingly, the trading platform 100 can deduct a certain amount of fiat currency from the user's fiat currency account to complete the settlement.
  • the trading platform 100 may first convert 50 Bitcoins to a certain number of tokens, and then determine based on the token amount Corresponds to the settlement amount of the Ethereum account. It is assumed that the balance of the user's Ethereum account at this time is insufficient to pay the above settlement amount. For the insufficient part, the trading platform 100 may determine the settlement amount of the fiat currency account based on the insufficient part. Accordingly, the trading platform 100 may deduct a certain amount of ether from the user's ether account, and deduct a certain amount of fiat currency from the fiat account to complete the settlement.
  • the trading platform 100 can realize multi-currency payment and settlement of energy transactions, improving the convenience and flexibility of transaction payment on the blockchain platform.
  • the payment ratio of different currencies during settlement can be specified in the smart contract, or can be set by the user via the client 240 autonomously.
  • the payment ratio of different currencies may also be set by the trading platform 100 by default. For example, assuming that the user has both a Bitcoin account and a fiat currency account, it can be set to pay the currency at a 2: 1 ratio during payment settlement.
  • the exchange of different currencies may be based on the exchange ratio between different currencies. For example, if the conversion ratio between Bitcoin and Ether is 1: 2, then 1 Bitcoin can be exchanged for 2 Ether.
  • the exchange ratio between different currencies may be determined by the trading platform 100. For example, the trading platform 100 may obtain exchange rates of different currencies from external sources (eg, financial websites) through the network 220 in real time or periodically (eg, every 1 second), and then determine the exchange ratio based on the exchange rates.
  • the exchange ratio between different currencies may be set by the user of the transaction system 100.
  • the exchange ratio between different currencies may be the default setting of the transaction system 100.
  • the transaction will only be executed if the endorsement result meets certain conditions. For example, as described in step 620, one or more endorser nodes in the blockchain network 110 will endorse the transaction proposal, and the transaction will only be executed when more than a certain number of endorsers generate endorsement results. It is executed according to the smart contract. For another example, the transaction will be executed only when the endorsement result is verified. Specifically, the endorser may send the endorsement result to the client 240 after generating the endorsement result, and the client 240 may generate a transaction and send it to the orderer orderer after receiving a certain number of endorsement results. The ordering node orderer will sort the transactions received from the client 240 and other clients, and generate blocks to record these transactions.
  • the commit node committer in the blockchain network will verify the transaction. For example, the commit node committer can verify that the endorsement strategy of the transaction has been implemented, and / or verify that the current state of the ledger is compatible with the state of the ledger when the block is generated. If the submit node commuter determines that the endorsement strategy of the transaction has been satisfied and the current state of the ledger is compatible with the state of the ledger when the block is generated, the submit node commuter can generate a verification result that the transaction is valid and write the transaction into the ledger to update the ledger. At this time, the trading platform 100 may execute the transaction in accordance with the smart contract to settle the settlement account.
  • step 610 and step 620 may be combined.
  • the steps in the process 600 may be implemented by any component in the trading platform 100.
  • the blockchain network 700 may be an exemplary embodiment of the regional chain network 110 described elsewhere in this disclosure. As shown in FIG. 7, the blockchain network 700 may include multiple peers (ie, endorser nodes E 0 to E 2 and submitting nodes communicators C 3 and C 4 ) and multiple ordering nodes orderers O 0 to O 4 . Each peer can be configured to maintain a ledger and / or run one or more smart contracts. The ledger may include multiple blocks. Ordering nodes orderer O 0 to O 4 can provide ordering services.
  • the transaction process 600 described in FIG. 6 may be implemented by executing the transaction process described in FIG. 7 or some steps in the transaction process.
  • the user may submit a transaction proposal to the blockchain network 700 via the client 240.
  • one or more endorser nodes in the blockchain network 700 may endorse the transaction proposal based on a smart contract to generate an endorsement result.
  • the user may have a virtual currency account and / or an actual currency account.
  • the smart contract may include a payment agreement, which may specify the relevant settlement account and / or transaction amount.
  • the endorser or endorsers that require an endorsement transaction proposal may be defined by an endorsement strategy.
  • the endorsement strategy may define that endorsers E 0 , E 1 and E 2 need to participate in the transaction proposal endorsement. In this case, the transaction proposal is sent to each of E 0 , E 1 and E 2 respectively.
  • each endorser E 0 , E 1, and E 2 may execute the transaction proposal according to the smart contract simulation to generate an endorsement result.
  • each endorser may not update to the ledger stored therein, but sign the endorsement result and return the endorsement result to the client 240.
  • the client 240 may generate a transaction including the signed endorsement result and send the transaction to the sorting node One or more of orderer O 1 -O 4 are ordered.
  • the ordering node orderer that receives the transaction from the client 240 may order the transaction together with other transactions received from other clients (not shown in FIG. 7).
  • the ordering node orderer may package transactions received from the client 240 and other clients into blocks, and then allocate the block to each peer node connected to the ordering node orderer.
  • the ordering node orderer may send the block including the transaction submitted by the client 240 and other transactions to the peer nodes E 0 , E 1 , E 2 , C 3, and C 4 for use in verification.
  • each peer node receiving the block from the sorter orderer can verify each transaction in the block, including the transaction submitted by the client 240. For transactions submitted by the client 240, each peer node can verify whether the endorsement result of the transaction is correct and whether the transaction is compatible with the current state of the ledger. In response to determining that the endorsement result is correct and the transaction is compatible with the current state of the ledger, each peer node may determine that the transaction submitted by the client 240 is valid. According to the verification result that the transaction is valid, each peer node can update its ledger by writing the transaction submitted by the client 240 to the ledger.
  • a notification about the verification result may be sent to the client 240.
  • the notification may be sent by each peer connected to the client 240. For example, when the transaction submitted by the client 240 passes verification, each of peers E 0 , E 1 , E 2 , C 3, and C 4 may send a notification to the client 240.
  • step 702 when a certain number or more than a certain number of endorsers generate endorsement results, the blockchain 700 may execute a transaction based on the smart contract to settle the account used for settlement.
  • step 708 when the transaction is verified to be valid, the blockchain 700 may execute the transaction based on the smart contract to settle the account used for settlement.
  • a detailed description of energy transaction settlement can be found in step 630, and will not be repeated here.
  • the smart contract 800 may be an exemplary embodiment of a smart contract described elsewhere herein. As described in connection with FIG. 2, the smart contract 800 may be an automatic execution contract that encodes transaction rules. For example, the smart contract 800 may include the terms of the agreement between the parties (e.g., energy buyers and energy sellers).
  • the smart contract 800 may specify the first and second parties signing the smart contract 800, the energy transaction agreement and / or payment agreement between the first party and the second party, the status of the smart contract 800, the contract Validity period etc. or any combination thereof.
  • the first party and the second party may be respectively associated with network elements registered in the energy network.
  • the energy trading agreement may include the type of energy to be traded between the first party and the second party, the type of energy to be traded, the total price / unit price of the energy to be traded, the energy trading agreement Effective date, expiration date of the energy trading agreement, validity period of the energy trading agreement, etc. or any combination thereof.
  • the types of energy to be traded may include electrical energy, solar energy, wind energy, fuel energy, water energy, nuclear energy, ocean energy, seawater salt difference energy, biomass energy, etc., or any combination thereof.
  • the total price / unit price of the energy to be traded can be expressed in any type of legal currency or digital currency combination.
  • the payment agreement may specify terms related to payment.
  • the payment protocol may specify one or a combination of several types of settlement accounts and / or payment time.
  • the account for settlement may be an actual currency account and / or a virtual currency account of the first party and / or the second party.
  • the payment time may stipulate the time when the payer pays, for example, prepayment before the transaction is performed, payment immediately after the transaction system 100 executes the transaction, or payment at a specific moment after the transaction is executed.
  • the types of smart contracts 800 may include, for example, custom smart contracts, prefabricated smart contracts, open smart contracts, long-term smart contracts, short-term smart contracts, etc., or any combination thereof.
  • a custom smart contract may refer to a smart contract based at least in part on data related to the smart contract entered by the user via the client 240.
  • the first party and / or the second party of the smart contract may input data via the client 240 to add, remove, and / or modify one or more agreement terms in the smart contract.
  • the custom smart contract may be written by the first party and / or the second party using a domain-specific language (DSL) (eg, go, node.js).
  • DSL domain-specific language
  • the first party and / or the second party of the custom smart contract may input one or more agreement terms to the client 240 in natural language. Then, the node 210 and / or the client 240 of the regional chain network 110 may convert the entered terms into a custom smart contract.
  • the prefabricated smart contract may be one selected from a plurality of prefabricated smart contracts stored in one or more nodes 210 (eg, one or more endorser nodes) of the area chain network 110.
  • the plurality of pre-made smart contracts may include one or more predetermined agreement terms between the first and second parties.
  • machine learning algorithms may be used to generate pre-made smart contracts based on sample data.
  • the sample data may include, for example, multiple custom smart contracts, common sense, national policies and / or rules on energy trading, etc., or any combination thereof.
  • a machine learning algorithm may be used to generate a pre-made smart contract based on a plurality of user-defined smart contracts defined by the user of the trading platform 100.
  • Exemplary machine learning algorithms can include but are not limited to artificial neural network algorithms, deep learning algorithms, decision tree algorithms, association rules algorithms, inductive logic programming algorithms, support vector machine algorithms, clustering algorithms, Bayesian network algorithms, reinforcement learning algorithms , Knowledge representation learning algorithm, similarity and metric learning algorithm, sparse dictionary learning algorithm, genetic algorithm, rule-based machine learning algorithm, etc. or any combination thereof.
  • Open smart contracts may include contracts constructed by individual participants of the trading platform 100. When another participant of the trading platform 100 meets all contract terms, the open smart contract can be automatically executed. Additionally or alternatively, the open smart contract may include a contract in which one or more terms are not a complete agreement between the two parties. For example, an open smart contract can be constructed without an end date, and the contract can continue as long as both parties are satisfied with the contract.
  • a long-term smart contract may refer to a smart contract whose duration is equal to or longer than a first threshold (for example, one year or six months).
  • a short-term smart contract may refer to a smart contract whose duration is equal to or shorter than a first threshold (for example, one month).
  • the long-term smart contract may be an annual contract.
  • the short-term smart contract may be a monthly contract.
  • both parties may sign an annual smart contract regarding energy traded within one year. When a party has unexpected energy needs, they can also sign monthly smart contracts.
  • the smart contract 800 may be constructed by the first party and / or the second party through a client application installed in the client 240 for energy trading.
  • the first party may enter the terms of the agreement into the client application installed in his / her client 240 to build the initial smart contract.
  • the second party confirms the initial smart contract, it can become a formal smart contract.
  • the smart contract 800 may be managed by the first party and / or the second party through the client application.
  • the first party and / or the second party can search, view, modify, cancel, download, print, and / or confirm the smart contract 800 on the client application.
  • the smart contract 800 may include one or more additional terms. Additionally or alternatively, one or more terms of the smart contract 800 described above may be omitted.
  • the process 900 may be performed by the trading platform 100.
  • the process 900 may be implemented as a set of instructions (eg, application programs) stored in a storage device (eg, the storage device / storage device 230 of the node 210).
  • a storage device eg, the storage device / storage device 230 of the node 210.
  • One or more elements in the trading platform 100 can execute the set of instructions, and when the instructions are executed, one or more elements in the trading platform 100 can be configured to perform the process 900.
  • the operations of the illustrated flow presented below are intended to be illustrative.
  • the process 900 may be completed by one or more additional operations not described and / or omitting one or more of the operations discussed.
  • the process 900 may be used to generate real currency accounts and / or virtual currency accounts for users of the trading platform 100.
  • the actual currency account and / or virtual currency account may be used for transaction settlement.
  • step 910 a user's registration request may be received.
  • step 910 may be implemented by the registration / login module 520.
  • the registration request may include the user's basic information (eg, name, gender, occupation, address, phone, etc.), account name, preference information (eg, preferred transaction type, preferred transaction area, preferred transaction object), etc.
  • the account name may be a mobile phone number and / or an email account.
  • the user may send an account registration request to the trading platform 100 through the client terminal 240.
  • Step 920 in response to the registration request, a request to select a type of virtual currency may be sent to the user.
  • step 920 may be implemented by the registration / login module 520.
  • the request to select the type of virtual currency may be sent to the client 240 used by the user when sending the registration request. Further, the client 240 may present the request for selecting the type of virtual currency to the user in any form of text, graphics, lists, voice, and the like.
  • the trading platform 100 may provide one or more selectable virtual currency types to the user, and the user may select one or more virtual currency types from the selectable virtual currency types. Alternatively, the trading platform 100 may allow the user to input the type of virtual currency he / she wants to choose.
  • the virtual currency types may include but are not limited to Bitcoin (BTC), Ethereum (ETH), EOS coin, Litecoin (LTC), Ripple (XRP), Bitcoin Cash (BCH), At least one of Dash, NEM, or Monero.
  • the trading platform 100 before sending a request to select a virtual currency type to the user, the trading platform 100 (eg, the registration / login module 520) may first perform an account (eg, mobile phone number and / or email account) for the user to register Verification to determine the authenticity of the account. Only after the user's account is verified, the trading platform 100 (for example, the registration / login module 520) will send the user a request to select the type of virtual currency.
  • an account eg, mobile phone number and / or email account
  • steps 910 and 920 may be combined into one step.
  • the trading platform 100 may accept a user's registration request, which at least includes the virtual currency type selected by the user. For example, the trading platform 100 may require the user to fill in the type of virtual currency he / she wants to select when registering.
  • Step 930 in response to the virtual currency type selected by the user, generate an account address of the user on the corresponding virtual currency service provider platform.
  • step 930 may be implemented by the registration / login module 520.
  • the trading platform 100 may call the interface of the virtual currency service provider corresponding to the virtual currency based on the type of virtual currency selected by the user to generate the account address of the user on the virtual service provider platform. Taking Ether as an example, when the virtual currency type selected by the user is Ether, the trading platform 100 may call the web3j address to generate the Ethereum interface, and then generate the user's account address in the Ethereum platform.
  • the account address in the Ethereum can be a character string composed of random numbers, used to represent the unique identifier of the user in the Ethereum platform.
  • the account address in the Ethereum platform may be generated based on a blockchain wallet address generation algorithm.
  • the Ethereum interface or Ethereum platform may first generate a random private key (for example, a 32-byte hexadecimal string). Further, the Ethereum interface or the Ethereum platform can derive a public key based on the random private key through a specific algorithm (for example, an elliptic curve digital signature algorithm), and then determine the public key hash value based on the public key, and then An account address in the Ethereum platform is generated based on the public key hash value.
  • a random private key for example, a 32-byte hexadecimal string.
  • a specific algorithm for example, an elliptic curve digital signature algorithm
  • step 940 a user's virtual currency account may be generated, and the virtual currency account corresponds to the virtual currency type selected by the user.
  • step 940 may be implemented by the registration / login module 520.
  • the address of the virtual currency account may be a character string composed of random numbers.
  • the address of the virtual currency account may be generated by the trading platform 100 based on a blockchain wallet address generation algorithm. A detailed description of the blockchain wallet address generation algorithm can be found in step 930 and will not be repeated here.
  • the trading platform 100 may further convert the character string into a barcode (for example, a one-dimensional code, a two-dimensional code, a three-dimensional code, a bar code) or a web address, etc. In the transaction settlement, you can scan the two-dimensional code and click The address of the virtual currency account is obtained through a website or the like.
  • the trading platform 100 may directly use the account address on the virtual currency service provider platform generated in step 930 as the user's virtual currency account. During the transaction, the trading platform 100 can perform corresponding settlement through the user's account in the virtual currency service platform. Alternatively, the trading platform 100 may generate the user's virtual currency account by himself and associate it with the account address on the virtual currency service provider platform generated in step 930. When trading a user's virtual currency account, the trading platform 100 can determine the user's account in the virtual currency service provider platform through the user's virtual currency account and perform corresponding settlement.
  • step 950 an actual currency account may be generated.
  • step 910 may be implemented by the registration / login module 520.
  • the actual currency account may support any type of fiat currency, such as RMB, US dollar, Japanese yen, South Korean won, Euro, British pound, Thai baht, Rupee, Ruble, etc.
  • the actual currency account may be associated with a banking platform.
  • the bank may be any bank platform that supports actual currency transactions.
  • the address of the actual currency account may be a character string composed of random numbers.
  • the address of the actual currency account may be generated by the trading platform 100 based on a blockchain wallet address generation algorithm. A detailed description of the blockchain wallet address generation algorithm can be found in step 930 and will not be repeated here.
  • the trading platform 100 may further convert the character string into a barcode (for example, a one-dimensional code, a two-dimensional code, a three-dimensional code, a bar code) or a web address, etc.
  • a barcode for example, a one-dimensional code, a two-dimensional code, a three-dimensional code, a bar code
  • the user may register multiple virtual currency accounts and / or real currency accounts on the trading platform 100.
  • the user may select Bitcoin and Ether, and the trading platform 100 may register the user's account address on the Bitcoin and Ethereum platforms, respectively, and generate an Ethereum account and a Bitcoin account.
  • the user may log in to his account (eg, real currency account and / or virtual currency account) on a networked device (eg, client 240) to interact with the trading platform 100.
  • the user can issue a login request via a networked device.
  • the login request includes at least a private key associated with the account.
  • the trading platform 100 verifies the private key information included in the login request to determine whether the user logging in the account is the user himself.
  • the private key is obtained from an unconnected storage device.
  • the non-networked storage device may be any device with a storage function, such as a non-networked computer, mobile phone, U disk, or hard disk.
  • the device that stores the private key and is not connected to the network may also be referred to as a cold wallet.
  • the cold wallet can prevent the user's private key from being stolen and ensure the security of the user's private key.
  • step 930 and step 940 may be combined into one step, in which a user's virtual currency account may be generated.
  • steps 930-950 may be performed in any order.
  • this application uses specific words to describe the embodiments of this application.
  • the terms “one embodiment”, “some embodiments”, and / or “some embodiments” mean that a particular feature, structure, or characteristic described in connection with some embodiments is included in at least one embodiment of the present application. Therefore, it should be emphasized and noted that “one embodiment” or “one embodiment” or “an alternative embodiment” mentioned twice or more at different positions in this specification does not necessarily refer to the same embodiment .
  • certain features, structures, or characteristics in one or more embodiments of the present application may be combined as appropriate.
  • the computer-readable signal medium may contain a propagated data signal containing a computer program code, for example, on baseband or as part of a carrier wave. This propagated signal can take any of a variety of forms, including electromagnetic, optical, etc., or any suitable combination thereof.
  • the computer-readable signal medium may be any computer-readable medium except the computer-readable storage medium, and the medium may be connected to an instruction execution system, apparatus, or device to communicate, propagate, or transmit a program for use.
  • Program code located on a computer-readable signal medium may be propagated through any suitable medium, including radio, cable, fiber-optic cable, RF, or similar media, or any combination of the foregoing.
  • the computer program code required for the operation of various aspects of this application can be written in any combination of one or more programming languages, including object-oriented programming, such as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C ++, C #, VB. NET, Python or similar conventional programming languages such as "C" programming language, Visual Basic, Fortran 1703, Perl, COBOL 1702, PHP, ABAP, dynamic programming languages such as Python, Ruby and Groovy or other programming languages.
  • the program code may run entirely on the user's computer, or as an independent software package on the user's computer, or partly on the user's computer, partly on a remote computer, or entirely on the remote computer or server.
  • the remote computer can be connected to the user's computer through any network, such as a local area network (LAN) or a wide area network (WAN), or connected to an external computer (eg, via the Internet), or in a cloud computing environment, or as a service Use as software as a service (SaaS).
  • LAN local area network
  • WAN wide area network
  • SaaS software as a service

Landscapes

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

Abstract

一种基于区块链交易平台的交易支付方法。所述区块链交易平台包括多个节点,所述多个节点组成区块链网络。所述多个节点中的每一个节点可以与所述多个节点中的其他节点进行通信,所述区块链网络也可以与客户端进行通信。所述方法包括:从客户端接收用户的交易提议,所述用户拥有虚拟货币账户和实际货币账户(610);基于智能合约对所述交易提议进行背书以生成背书结果(620);基于所述背书结果和所述智能合约执行所述交易(630)。其中,所述智能合约至少包括与所述用户有关的支付协议。所述支付协议至少规定用于结算所述交易的账户,所述用于结算交易的账户为所述用户的虚拟货币账户或实际货币账户中的至少一种。所述执行所述交易包括基于所述智能合约对所述用于结算交易的账户进行结算。该方法能够有效地提高区块链交易平台支付结算的便利性、灵活性。

Description

基于区块链交易平台的交易支付系统和方法 技术领域
本申请一般涉及基于区块链的交易平台,具体地,涉及一种基于区块链交易平台的交易支付系统和方法。
背景技术
能源供应的可靠性和充分性对社会的发展至关重要。传统上,能源分配由中央系统(例如,国家电网)控制。例如,诸如燃煤电厂、燃气电厂、核电厂和水电站坝的传统发电厂是集中式的,且通常需要将电能长距离传输,可能导致浪费资源。近年来出现了由多个网络单元(如能源供应商、能源消费者和/或能源存储)组成的分布式网络(如微电网),为能源分配和管理提供了一种更有效的方式。在能量网络中,能量可以在不同的网络节点之间进行交换。区块链技术可以用来存储不断增长的交易记录,它可以保证交易记录可以以可验证的、永久的方式存储,而无法进行追溯性的修改。
目前,基于区块链交易平台的能源交易的支付手段较为单一,仅支持某一种法币的支付结算。这对于用户来说是不方便的,因此需要一种灵活、方便的基于区块链交易平台的能源交易的支付方法,以提高区块链交易平台的支付结算的便利性。
发明内容
本发明的第一方面披露了一种基于区块链交易平台的交易支付方法。所述区块链交易平台包括多个节点,所述多个节点组成区块链网络。所述多个节点中的每一个节点可以与所述多个节点中的其他节点进行通信,所述区块链网络也可以与客户端进行通信。所述方法包括:从客户端接收用户的交易提议,所述用户拥有虚拟货币账户和实际货币账户;基于智能合约对所述交易提议进行背书以生成背书结果;基于所述背书结果和所述智能合约执行所述交易。其中,所述智能合约至少包括与所述用户有关的支付协议,所述支付协议至少规定用于结算所述交易的账户,所述用于结算交易的账户为所述用户的虚拟货币账户或实际货币账户中的至少一种。所述执行所述交易包括基于所述智能合约对所述用于结算交易的账户进行结算。
本发明的第二方面披露了一种基于区块链交易平台的交易支付系统。所述区块链交易平台包括多个节点,所述多个节点组成区块链网络。所述多个节点中的每一个节点可以与所述多个节点中的其他节点进行通信,所述区块链网络也可以与客户端进 行通信。所述系统可以包括获取模块、背书模块和交易模块。所述获取模块可以用于从客户端接收用户的交易提议,所述用户拥有虚拟货币账户和实际货币账户。所述背书模块可以用于基于智能合约对所述交易提议进行背书以生成背书结果。所述交易模块可以用于基于所述背书结果和所述智能合约执行所述交易。其中,所述智能合约至少包括与所述用户有关的支付协议,所述支付协议至少规定用于结算所述交易的账户,所述用于结算交易的账户为所述用户的虚拟货币账户或实际货币账户中的至少一种。所述执行所述交易包括基于所述智能合约对所述用于结算交易的账户进行结算。
本发明的第三方面披露了一种基于区块链交易平台的交易支付系统。所述区块链交易平台包括多个节点,所述多个节点组成区块链网络。所述多个节点中的每一个节点可以与所述多个节点中的其他节点进行通信,所述区块链网络也可以与客户端进行通信。所述系统可以包括至少一个存储介质和至少一个处理器。所述至少一个存储介质可以包括一组指令。所述至少一个处理器可以被配置为与所述至少一个存储介质通信,其中当执行所述指令时,所述系统被配置为执行以下操作中的一个或多个。从客户端接收用户的交易提议,所述用户拥有虚拟货币账户和实际货币账户;基于智能合约对所述交易提议进行背书以生成背书结果;基于所述背书结果和所述智能合约执行所述交易。其中,所述智能合约至少包括与所述用户有关的支付协议,所述支付协议至少规定用于结算所述交易的账户,所述用于结算交易的账户为所述用户的虚拟货币账户或实际货币账户中的至少一种。所述执行所述交易包括基于所述智能合约对所述用于结算交易的账户进行结算。
在一些实施例中,所述用户的虚拟货币账号与虚拟货币服务商平台相关联,所述用户的实际货币账户与银行平台相关联。
在一些实施例中,基于智能合约对所述用于结算交易的账户进行结算包括基于所述智能合约和交易提议确定结算金额,以及基于所述结算金额所述用于结算交易的账户进行结算。
在一些实施例中,基于智能合约对所述用于结算交易的账户进行结算包括将所述结算金额转化为代币金额,基于所述代币金额确定对应用于结算交易的账户的结算金额,以及基于所述对应用于结算交易的账户的结算金额,对所述用于结算交易的账户进行结算。
在一些实施例中,所述方法进一步包括接收所述用户的注册请求,所述注册请 求至少包括用户所选择的虚拟货币种类;以及响应于所述注册请求,生成所述虚拟货币账户和实际货币账户,所述虚拟货币账户对应用户所选择的虚拟货币种类。
在一些实施例中,接收用户的注册请求包括接收所述用户的登录请求,所述登录请求至少包括与所述虚拟货币账号和实际货币账号相关联的私钥,所述私钥存从未联网的存储设备中获取。
在一些实施例中,所述交易为能源交易。所述智能合约进一步包括与所述用户有关的能源交易协议,所述能源交易协议至少规定被交易的能源的类型、所述被交易的能源的总量、所述被交易的能源的单价或能源交易协议有效期中的至少一种。
在一些实施例中,所述被交易的能源的类型包括电能源、太阳能源、风能源、燃料能源、水能源或核能源中的至少一种。
在一些实施例中,所述虚拟货币账户支持比特币(BTC)、以太币(ETH)、EOS币、莱特币(LTC)、瑞波币(XRP)、比特币现金(BCH)、达世币(Dash)、新经币(NEM)或门罗币(Monero)中的至少一种。
在一些实施例中,所述实际货币账户支持法币。
本发明的第四方面披露了一种非短暂性的计算机可读存储介质。所述计算机可读存储介质可以存储有计算机指令,当一个或多个处理器执行所述计算机指令时,所述一个或多个处理器可以执行以下操作中的一个或多个。从客户端接收用户的交易提议,所述用户拥有虚拟货币账户和实际货币账户;基于智能合约对所述交易提议进行背书以生成背书结果;基于所述背书结果和所述智能合约执行所述交易。其中,所述智能合约至少包括与所述用户有关的支付协议,所述支付协议至少规定用于结算所述交易的账户,所述用于结算交易的账户为所述用户的虚拟货币账户或实际货币账户中的至少一种。所述执行所述交易包括基于所述智能合约对所述用于结算交易的账户进行结算。
另外的特征将在接下来的描述中部分地阐述,并且对于本领域技术人员在查阅下文和附图时将部分地变得显而易见,或者可以通过示例的生产或操作而被学习。本申请的特征可以通过对以下描述的具体实施例的各种方面的方法、手段和组合的实践或使用得以实现和达到。
附图说明
本申请将结合示例性实施例进一步进行描述。这些示例性的实施例将结合参考 图示进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的组件符号表示相同的结构,其中:
图1是根据本申请的一些实施例所示的示例性基于区块链交易平台的示意图;
图2是根据本申请的一些实施例所示的示例性区块链网络的示意图;
图3是根据本申请的一些实施例所示的计算设备的示例性硬件和/或软件组件的示意图;
图4是根据本申请的一些实施例所示的移动设备的示例性硬件和/或软件组件的示意图;
图5是根据本申请的一些实施例所示的支付结算设备的模块图;
图6是根据本申请的一些实施例所示的基于区块链交易平台的交易支付过程的流程图;
图7是根据本申请的一些实施例所示的基于区块链网络的交易过程的示例性流程的示意图;
图8是根据本申请的一些实施例所示的示例性智能合约的示意图;以及
图9是根据本申请的一些实施例所示的账户注册的流程图。
具体实施方式
以下描述是为了使本领域的普通技术人员能够实施和利用本申请,并在特定应用及其要求的上下文中提供。对于本领域的普通技术人员来讲,对本申请披露的实施例进行的各种修改是显而易见的,并且本文中定义的通则在不背离本申请的精神及范围的情况下,可以适用于其他实施例及应用。因此,本申请不限于所示的一些实施例,而是与权利要求一致的最宽范围。
本文中所使用的术语仅用于描述特定示例性实施例,并不限制本申请的范围。如本文使用的单数形式“一”、“一个”及“该”可以同样包括复数形式,除非上下文明确提示例外情形。还应当理解,如在本说明书中,术语“包括”、“包含”仅提示存在所述特征、整体、步骤、操作、组件和/或部件,但并不排除存在或添加一个或多个其他特征、整体、步骤、操作、组件、部件和/或其组合的情况。
根据以下对附图的描述,本申请的这些和其他的特征、特点、以及结构的相关元件的功能和操作方法,以及部件组合和制造经济更加显而易见,这些都构成说明书的一部分。然而,应当理解,附图仅仅是为了说明和描述的目的,并不旨在限制本申 请的范围。应当理解的是,附图并不是按比例的。
本申请中使用了流程图用来说明根据本申请的实施例的系统所执行的操作。应当理解的是,流程图的操作不一定按照顺序来精确地执行。相反,可以按照倒序执行或同时处理各种步骤。此外,可以向流程图添加一个或多个其他操作。一个或多个操作也可以从流程图中删除。
图1是根据本申请的一些实施例所示的示例性基于区块链的交易平台100的示意图。基于区块链的交易平台100(在下文中也称为交易平台100)可以作为任何产品的交易平台。所述产品可以是一有形产品或一无形产品。所述有形产品可以包括能源、食物、药物、日用品、化学产物、电器用品、衣服、汽车、住宅、奢侈品或类似物或其任意组合。所述无形产品可以包括服务产品、金融产品、知识产品、因特网产品或类似物或其任意组合。为方便描述,本文以基于区块链的能源交易平台为例展开说明。应当理解的是,并不旨在限制本申请的范围。
交易平台100可以用作能源交易平台,其基于区块链网络110在能源网络中实现点对点(peer-to-peer)交易。在一些实施例中,交易平台100还可以用作智能通信和管理平台,其可以提供诸如能效分析、能效控制、能源分配、用户管理、信息发布、交易监控、营销分析、合同管理、交易结算、能源需求预测等服务,或所述服务的任何组合。例如,交易平台100可以实现多币种支付。交易平台100可以从客户端接收用户的能源交易提议,所述用户拥有虚拟货币账户和实际货币账户。交易平台100可以基于智能合约对所述交易提议进行背书以生成背书结果。交易平台100可以基于所述背书结果和所述智能合约执行所述交易。所述智能合约至少包括与所述用户有关的支付协议,所述支付协议至少规定用于结算所述能源交易的账户,所述用于结算能源交易的账户为所述用户的虚拟货币账户或实际货币账户中的至少一种。所述执行交易包括基于所述智能合约对所述用于结算能源交易的账户进行结算。
能源网络可以是包括一个或多个网络元素的分布式能源网络。如本文所描述的,网络元素可以指代可以参与能源交换和/或交易的实体。在能源网络内交换和/或交易的能源可包括任何类型的能源,例如,电能、太阳能、风能、燃料能源(例如、燃气、汽油或煤)、水能、核能、海洋能、海水盐差能、生物质能等或其任何组合。
能源网络中的示例性网络元素可包括能源提供方、能源消费方、能源产消者、能源存储设备、能源中介方等或其任何组合。能源提供方可包括能够提供能源的任何 实体。示例性能源提供方可包括风力发电厂、光伏装置、光伏电站、核电站、水能装置、火力发电厂、海洋能源发电厂、海水盐差能发电厂、生物质能发电厂等或其任何组合。能源消费方可包括可消耗能源的任何实体。示例性能源消费方可包括建筑物、机构、电气设备(例如,手提电脑、智能电话、电动汽车)等或其任何组合。建筑物120可以包括住宅建筑(例如,小区住宅楼)、商业建筑(例如,商场建筑、超市建筑)、工业建筑(例如,工厂厂房)、学校教学楼、行政办公楼等。电气设备可以包括手提电脑、智能电话、电动汽车等。能源存储设备可包括能够存储能源的任何实体。示例性能源存储设备可包括抽水能源存储设备、压缩空气能源存储设备、超导磁能源存储设备、电池/可充电电池、热能源存储设备、氢能源存储设备、飞轮能源存储设备等或其任何组合。仅作为示例,如图1所示,能源网络的网络元素可包括建筑物120、储能系统130、发电厂140(例如火力发电厂)、太阳能光伏装置150和电动汽车160。
在一些实施例中,网络元素可以与多种类型的设备相关联,例如能源供应设备、能源消耗设备、能源存储设备等。在某些情况下,网络元素可以同时是能源提供方、能源消费方和/或能源存储设备。例如,包括多个电气设备和光伏设备的建筑物120不仅可以消耗电力而且还可以产生电力。又例如,太阳能光伏装置150可以供应能源,同时也包括用于存储太阳能的太阳能电池。在一些实施例中,网络元素和与之相关联的设备一起可以作为一个网络元素。附加地和/或替代地,与网络元素相关联的设备可以作为独立的网络元素,参与交易平台100中的能源交换和/或交易。仅作为示例,建筑物120及其中的设备可以被视为网络元素建筑物120。附加地和/或替代地,建筑物120的光伏设备可以作为独立的网络元素。
在一些实施例中,能源网络的两个或以上网络元素可以彼此连接以交换能源。仅作为示例,储能系统130、发电厂140和/或太阳能光伏装置150可以向建筑物120和电动汽车160供电。又如,储能系统130可以从一个或多个其他网络元素获得能源并存储能源。再如,建筑物120、发电厂140和/或太阳能光伏装置150可以从储能系统130获得能源或向储能系统130提供能源。
区块链网络110可以被配置用于处理和/或存储交易平台100中发生的能源交易。如本文所描述的,能源交易可以指任何成功的或失败的能源交易。所述能源交易可以由能源网络中的任何网络元素发起。例如,能源交易可以是由能源消费方发起的 能源购买交易或由能源提供方发起的能源销售交易。
区块链网络110可以利用去中心的、分布式的和公共的数字账本,来维持不断增长的交易记录列表。区块链网络110可以保证交易记录可以以可验证和永久的方式存储,并且不能被修改。区块链网络110可以是任何类型的区域链网络,例如公有区域链网络、私有区域链网络、半私有区块链网络、联盟链等或其任何组合。
在一些实施例中,区块链网络110可以是联盟链。在联盟链中,共识过程由预先选择的一组节点控制,读取区块链的权利可以是公开的或限于所述预先选择的一个或多个节点。在一些实施例中,区块链网络110可以基于超级账本(Hyperledger Fabric)区块链构建。区块链网络110可以包括多个节点,其可以被分配有不同的功能,诸如数据分析、数据存储、交易认可、智能合约执行、交易验证等或者任何组合。
在运行时,区块链网络110可以允许与网络元素(例如,能源提供方和/或能源消费方)相关联的用户向另一网络元素销售能源和/或从另一网络元素购买能源。网络元素的用户可以通过客户端(图1中未示出)发起交易来与区块链网络110交互。响应于交易,区块链网络110可以根据智能合约对交易进行验证,如果该交易是有效的,将交易存储到用锁(也称为“哈希”)密封的区块中。关于终端设备和能源交易过程的描述可以参考本申请的其他地方(例如,图2至4及其相关描述)。
应当注意的是,以上对交易平台100的描述仅仅是出于说明的目的而提供的,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出各种各样的修正和改变。然而,这些修正和改变不会背离本申请的范围。在一些实施例中,可以在交易平台100中添加一个或多个任选的组件,或者可以省略上述交易平台100的一个或多个组件。例如,可以省略电动汽车160。在一些实施例中,能源网络可以与外部能源网络(例如,国家电网、另一能源网络)交换能源。在一些实施例中,交易平台100可以包括服务器(图1中未示出),或者,服务器可以连接至交易平台100,并与交易平台100中的一个或多个部件进行通信。服务器可以收集交易平台100各部件(例如,能源网络的网络元素)的与交易相关的信息并进行用户间的支付结算,从而实现交易平台100的支付结算的便利性、灵活性。
图2是根据本申请的一些实施例所示的示例性区块链网络110的示意图。如结合图1所描述的,区块链网络110可以被配置用于处理和记录在交易平台100中发生 的能源交易。
如图2所示,区块链网络110可以是多个节点210的去中心网络。节点210可以经由网络220彼此连接,而不是连接到中央服务器。如本文所使用的,节点210可以指能够执行在本身中所披露的节点210的一个或多个功能的计算单元。节点210可以在任何类型的计算设备上实现。例如,节点210可以在诸如个人计算机、平板电脑、笔记本电脑、移动设备等计算设备或计算设备的一部分上实现。又例如,节点210可以在包含多个计算设备的计算系统上实现。在一些实施例中,节点210可以在如图3所示的计算设备300的一个或以上组件上实现。
在一些实施例中,多个节点210可以在区块链网络110中具有相同或不同的功能。仅作为示例,节点210可以包括peer节点、排序节点orderer和/或认证中心。所述peer节点可以指维持账本和/或运行智能合约(也被称为链代码)以对账本执行读/写操作的节点210。账本可以用于存储区块链,以及可选地存储与交易平台100有关的其他信息(例如,世界状态信息)。智能合约可以指能源交易的自动执行合同编码规则。在一些实施例中,peer节点可以进一步包括背书节点endorser和提交节点committer。背书节点endorser可以指被配置为背书从客户端240接收到的交易提议以生成背书结果的节点210。提交节点committer可以指被配置为验证交易和/或背书结果的节点210。排序节点orderer可以指被配置为排序一个或以上交易,以生成区块的节点210。认证中心可以指被配置为管理交易系统100中的成员资格的节点210。在一些实施例中,节点210可以用作一种类型的节点。或者,节点210可以用作多种类型的节点。仅作为示例,节点210可以同时用作背书节点endorser和提交节点committer。
在一些实施例中,区块链网络110的一个或以上的节点210可以被配置用于分析和/或管理与交易平台100相关的信息以提供多种服务,例如合同管理、交易结算、能源需求预测、能效分析、能源分配、用户管理、信息发布、交易监控、营销分析等或其任何组合。例如,节点210可以提供用户管理服务,诸如用户注册、用户认证、用户信息更新、用户账户监控、用户账户暂停等或其任何组合。又例如,节点210可以提供合同管理服务,例如合同创建、合同执行、合同查询、合同确认、合同取消等或其任何组合。在一些实施例中,与网络元素相关联的用户可以经由客户端240向节点210发送对特定服务的请求。响应于该请求,节点210可以执行该请求并将执行结 果发送到客户端240,以便向用户提供所请求的服务。
在一些实施例中,区块链网络110的节点210可以由维护交易平台100的实体(例如,组织、人)拥有和维护。或者,节点210可以由与能源网络的网络元素相关联的用户拥有和维护。
网络220可以促进信息和/或数据的交换。例如,区块链网络110的多个节点210可以经由网络220连接到彼此和/或彼此通信。又例如,区块链网络110的一个或以上节点210可以经由网络220连接到客户端240和/或与客户端240通信。在一些实施例中,网络220可以为任意形式的有线或无线网络,或其任意组合。仅作为示例,网络220可以包括有线网络、有线网络、光纤网络、远程通信网络、内联网、互联网、局域区域网络(LAN)、广域网(WAN)、无线局部区域网络(WLAN)、城域网(MAN)、公共电话交换网(PSTN)、蓝牙网络、ZigBee网络,近场通信(NFC)网络等或其组合。在一些实施例中,网络220可以包括一个或多个网络接入点。例如,网络220可以包括有线或无线网络接入点,例如基站和/或互联网交换点220-1、220-2、......,交易平台100的一个或以上组件可以通过它们连接到网络220以交换数据和/或信息。
如图2所示,区块链网络110可以与客户端240和存储设备230进行通信连接。其中,存储设备230可以存储数据和/或指令。在一些实施例中,存储设备230可以存储从节点210和/或客户端240获得的数据。例如,存储设备230可以存储与交易平台100相关的信息,诸如用户信息、交易信息、政策信息、新闻信息等或其任何组合。又例如,存储设备230可以存储区块索引和键的历史索引。在一些实施例中,存储设备230可以存储区块链网络110可以执行或用于执行本申请中描述的示例性方法的数据和/或指令。
在一些实施例中,存储设备230可包括大容量存储器、可移除存储器、易失性读写存储器、只读存储器(ROM)等或其组合。示例性的大容量储存器可以包括磁盘、光盘、固态磁盘等。示例性可移动存储器可以包括闪存驱动器、软盘、光盘、存储卡、压缩盘、磁带等。示例性的易失性只读存储器可以包括随机存取内存(RAM)。示例性的RAM可包括动态RAM(DRAM)、双倍速率同步动态RAM(DDR SDRAM)、静态RAM(SRAM)、闸流体RAM(T-RAM)和零电容RAM(Z-RAM)等。示例性的ROM可以包括掩模ROM(MROM)、可编程ROM(PROM)、 可擦除可编程ROM(PEROM)、电子可擦除可编程ROM(EEPROM)、光盘ROM(CD-ROM)和数字通用磁盘ROM等。在一些实施例中,所述存储设备230可以在云平台上实现。仅作为示例,所述云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等或其任意组合。
在一些实施例中,交易平台100的一个或以上组件(例如,节点210和客户端240)可以访问存储设备230。在一些实施例中,当满足一个或以上条件时,交易平台100的一个或以上组件可以读取和/或写入与一个或以上交易有关的信息。例如,节点210可以读取和/或修改与存储设备230中存储的一个或以上交易有关的信息。又例如,客户端240可以访问存储设备230中存储的信息,但是不具有修改存储设备230中存储的信息的许可。
客户端240可以与能源网络的网络元素相关联,并且可以用于实现与网络元素相关联的用户与区块链网络110之间的用户交互。例如,客户端240可以与火力发电厂140相关联。火力发电厂140的管理员或雇员可以经由客户端240发送交易提议给区块链网络110以将多余能源出售。又例如,客户端240可以与建筑物120相关联。建筑物120的居民可以经由客户端240发送交易提议给区块链网络110以购买能源。附加地或替代地,居民可以经由客户端240向区块链网络110提交预测他/她的下个月的能源需求的请求。
在一些实施例中,客户端240可以包括软件开发工具包(SDK)。SDK可以提供应用编程接口(API)以连接到区块链网络110,并且使客户端240能够与区块链网络110交互。例如,SDK可以将用户输入的交易提议打包成适当的架构格式和/或为该交易提议产生唯一签名(例如,数字签名)。在一些实施例中,客户端240可以安装客户端应用程序。客户端应用程序可以被设计为使客户端240的用户能够基于区块链网络110来交易和/或管理能源。例如,用户可以经由客户端240的应用向区块链网络110发送用于能源的交易提议。又例如,用户可以在客户端应用上查看信息(例如,预测的能源需求、关于历史能源消耗的结算结果、能源效率的分析结果、警告信息)。客户端应用程序可以是移动应用程序、web应用程序、云应用程序、网站或用于能源交易的任何其他软件。在一些实施例中,客户端240上可以装有钱包应用。用户可以在所述钱包应用上进行资产管理,例如进行法币和虚拟货币的交易、提现和/或充值等。用户还可以在所述钱包应用上进行费率查询、交易记录查询和管理等。
在一些实施例中,客户端240可以经由网络220连接到区块链网络110的一个或以上组件(例如,一个或以上节点210)或者与其通信。附加地或替代地,客户端240可以直接连接到区块链网络110的一个或以上组件。在一些实施例中,取决于用户的类型(例如,注册用户、VIP、访客),客户端240的不同用户可以具有不同的用户权限。例如,注册用户可以具有在区块链网络110上交易能源的权限并且读取与区块链网络110相关的交易信息。访问者可能仅具有阅读与区块链网络110相关的交易信息的权限。
在一些实施例中,客户端240可以被配置为加密和解密信息。例如,客户端240可以持有私钥和/或公钥。公钥可以是公共的,并且可以被交易平台100中的任何组件获取。当将消息发送到交易平台100的另一个组件时,客户端240可以使用其私钥对消息进行加密并对消息进行数字签名。当从交易平台100的另一组件接收消息时,客户端240可以使用另一个组件的公钥来解密该消息和/或验证消息。在一些实施例中,可以利用某个无法被网络所访问的组件存储或管理用户的私钥。例如,所述私钥可以存储于未连接网络的电脑、手机、U盘、硬盘等任何具备存储功能的设备中。
在一些实施例中,客户端240可以包括移动设备240-1、平板电脑240-2、膝上型计算机240-3、内置设备240-4等或者组合它们。在一些实施例中,移动设备240-1可以包括智能家居设备、可穿戴设备、智能移动设备、虚拟现实设备、增强现实设备等,或其任意组合。在一些实施例中,智能家居设备可以包括智能照明设备、智能电器控制设备、智能监控设备、智能电视、智能摄像机、对讲机等,或其任意组合。在一些实施例中,可穿戴设备可包括智能手环、智能鞋袜、智能玻璃、智能头盔、智能手表、智能服装、智能背包、智能配件等或其任意组合。在一些实施例中,智能移动设备可以包括智能电话、个人数字助理(PDA)、游戏设备、导航设备、POS机等或其任意组合。在一些实施例中,虚拟现实设备和/或增强型虚拟现实设备可以包括虚拟现实头盔、虚拟现实眼镜、虚拟现实眼罩、增强型虚拟现实头盔、增强型虚拟现实眼镜、增强型虚拟现实眼罩等或其任意组合。例如,虚拟现实设备和/或增强现实设备可以包括Google GlassTM、RiftConTM、FragmentsTM、Gear VRTM等。
应当注意的是,图2中所示的示例及其描述仅出于说明的目的而提供,并且不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出各种各样的修正和改变。然而,这些修正和改变不会背离本申请的范围。在一些 实施例中,区块链网络110可包括任何数量的组件节点210。可以为节点210分配任何功能。在一些实施例中,可以省略存储设备230。
图3是根据本申请的一些实施例所示的计算设备300的示例性硬件和/或软件组件的示意图。计算设备300可用于实现如本文所述的交易平台100的任何组件。例如,区块链网络110的节点210、客户端240和/或服务器可以通过其硬件、软件程序、固件或其组合在计算设备300上实现。尽管仅示出了一个这样的计算设备,但是为了方便,与本文所述的交易平台100相关的计算机功能可以在多个类似平台上以分布式方式实现,以分配处理负荷。
计算设备300可以包括连接到与其连接的网络的COM端口350,以促进数据通信。计算设备300还可以包括被配置为执行指令的处理器320。指令可以包括例如执行本文描述的特定功能的程序、对象、组件、信号、数据结构、过程、模块和功能。在一些实施例中,处理器320可以处理与交易平台100中的交易能源、账户管理、支付结算有关的信息。例如,处理器320可以基于智能合约来背书交易提议。又如,处理器320可以基于背书结果和智能合约执行交易。在一些实施例中,处理器320可以包括至少一个硬件处理器,例如微控制器、微处理器、简化指令集计算机(RISC)、应用专用集成电路(ASIC)、应用特定指令集处理器(ASIP)、中央处理单元(CPU)、图形处理单元(GPU)、物理处理单元(PPU)、微控制器单元、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、高级RISC机器(ARM)、可编程逻辑设备(PLD)、任何能够执行至少一个功能的电路或处理器等或其任意组合。
计算设备300还可以包括内部通信总线310、不同类型的程序存储和数据存储、包括例如硬盘370、只读存储器(ROM)330或随机存取存储器(RAM)340。示例性计算设备还可以包括存储在ROM 330、RAM 340和/或由处理器320执行的其他类型的非暂时性存储介质中的程序指令。本申请的方法和/或流程可以以程序指令的方式实现。计算设备300还包括I/O组件360,其支持计算设备300与其他组件之间的输入/输出。计算装置300也可以通过网络通信接收程序设计和数据。
仅仅为了说明,图3中仅示出了一个处理器。然而,应该注意,本申请中的计算设备300还可以包括多个处理器。因此,由本申请中描述的由一个处理器执行的操作和/或方法操作也可以由多个处理器联合或单独执行。例如,如果在本申请中,计算设备300的处理器执行操作A和操作B,则应当理解,操作A和操作B也可以由计算 中的两个不同处理器联合或单独执行。设备300(例如,第一处理器执行操作A,第二处理器执行操作B,或者第一和第二处理器共同执行操作A和B)。
图4是根据本申请的一些实施例所示的移动设备400的示例性硬件和/或软件组件的示意图。移动设备400可用于实现如本文所述的交易系统100的任何组件。例如,区块链网络110的节点210和/或客户端240可以在移动设备400上实现。如图4所示,移动设备400可以包括通信平台410、显示器420、图形处理单元(GPU)430、中央处理单元(CPU)440、I/O 450、内存460、存储器490。在一些实施例中,任何其他合适的组件,包括但不限于系统总线或控制器(未示出),也可包括在移动设备400内。
在一些实施例中,移动操作系统470(例如,IOSTM、AndroidTM、Windows PhoneTM等)和一个或多个应用程序480可从存储器490装载至内存460以由CPU 440执行。应用程序480可以包括浏览器或用于接收和呈现与交易平台100 300有关的信息的任何其他合适的移动应用程序。在一些实施例中,应用程序480可以包括如本公开中其他地方所描述(例如,图2-3和相关描述)的被设计用于能源交易、能效控制的应用。用户与信息流的交互可以经由I/O 450实现,并且经由网络提供给区域链网络110、交易平台100的其他组件。
为了实施本申请描述的各种模块、单元及其功能,计算机硬件平台可用作本文中描述之一个或多个组件的硬件平台。具有用户接口组件的计算机可用于实施个人计算机(PC)或任何其他类型的工作站或终端设备。如果适当编程,计算机也可用作服务器。
图5是根据本申请的一些实施例所示的支付结算设备的模块图。支付结算设备500可以包括获取模块510、注册/登陆模块520、账户管理模块530、背书模块540和交易模块550。在一些实施例中,支付结算设备500可以通过区块链网络110中的一个或多个组件、交易平台100中的服务器等实现。例如,所述支付结算设备500可以经由区块链网络110中的一个或多个节点210实现。可选地,支付结算系统500中的不同模块可以通过相同或不同的节点210来实现。仅作为示例,注册/登陆模块520和账户管理模块530可以经由同一个或同一组节点210来实现。获取模块510和交易模块540可以经由同一个或同一组节点210来实现。
获取模块510可以被配置为从客户端240接收用户的交易提议,例如能源交易 提议。关于交易提议的详细描述可以在步骤610找到,在此不再赘述。注册/登陆模块520可以被配置为实现用户账户的登陆/注册。所述账户可以包括虚拟货币账户和/或实际货币账户。关于用户的虚拟货币账户和/或实际货币账户可以在步骤610和流程900找到,在此不再赘述。账户管理模块530可以被配置为管理用户的虚拟货币账户和/或实际货币账户。背书模块540可以被配置为基于智能合约对所述交易提议进行背书以生成背书结果。关于交易提议背书的详细描述可以在步骤620找到,在此不再赘述。交易模块550可以被配置为基于背书结果和智能合约执行交易。所述执行交易可以包括基于所述智能合约对用户用于结算交易的账户进行结算。关于交易执行的详细描述可以在步骤630找到,在此不再赘述。
应当注意的是,上述有关支付结算设备500的描述仅仅是为了示例和说明,而不限定本申请的适用范围。对于本领域技术人员来说,在本申请的指导下可以对流程600进行各种修正和改变。然而,这些修正和改变仍在本申请的范围之内。例如,支付结算设备500可以进一步包括一个或多个其他模块(例如,存储模块)。或者,上文中所描述的支付结算设备500的一个或多个模块可以省略。又或者,上文中所描述的支付结算设备500的一个或多个模块可以合并为单个模块。又或者,上文中所描述的支付结算设备500的一个模块可以拆分为多个子模块。
图6是根据本申请的一些实施例所示的基于区块链交易平台的交易支付过程的流程图。流程600所描述的交易流程可以应用于任一交易系统,例如能源交易系统、金融交易系统、日用品交易系统等。本文对于流程600的描述以能源交易为例展开,应当理解的是只是为了方便描述,并不旨在限制本申请的范围。
在一些实施例中,图6与图5中的一个或多个模块对应,流程600的各个步骤可以由图5中的一个或多个模块实现。在一些实施例中,流程600可以由交易平台100执行。例如,流程600可以实现为存储设备(例如,节点210的存储设备/存储设备230)中存储的一组指令(例如,应用程序)。交易平台100中的一个或多个元件可以执行该组指令,并且当执行指令时,交易平台100中的一个或多个元件可以被配置用于执行流程600。以下呈现的所示流程的操作旨在是说明性的。在一些实施例中,流程600可以通过未描述的一个或多个以上附加操作和/或省略一个或以上所讨论的操作来完成。另外,其中如图6所示和下面描述的流程的操作的排列不是限制性的。
步骤610,可以从客户端接收用户的交易提议。在一些实施例中,步骤610可 以由获取模块510实现。
在一些实施例中,所述交易提议可以是能源交易提议。所述能源交易提议可以由能源网络中的任何网络元素发起。所述交易提议可以是在交易平台100中买入能源、卖出能源和/或交换能源的提议。在一些实施例中,交易提议可以由与网络元素相关联的用户经由客户端240发送。例如,用户可以使用安装在客户端240上的客户端应用程序来发送交易提议。在一些实施例中,客户端应用程序可以使用SDK(例如,Node SDK、Java SDK或Python SDK)并利用API来生成交易提议。可选地,客户端应用程序可以使用用户的加密凭证来产生数字签名。在一些实施例中,交易提议可以包括客户端240的用户的ID、用户的数字签名、时间戳、与交易提议相对应的智能合约的ID、本次交易中要交易的能源的类型、本次交易中要交易的能源的量、本次交易中的交易方法等或其任何组合中的至少一个。
在一些实施例中,所述用户拥有虚拟货币账户和/或实际货币账户。所述虚拟货币账号与用户的虚拟货币资产有关,可以与用户的虚拟资产所对应的虚拟货币服务商平台相关联。所述用户的实际货币账户与用户的实际货币资产有关,可以与银行平台管理。所述虚拟货币账户可以支持任何在虚拟货币市场上流通的虚拟货币,例如,比特币(BTC)、以太币(ETH)、EOS币、莱特币(LTC)、瑞波币(XRP)、比特币现金(BCH)、达世币(Dash)、新经币(NEM)、门罗币(Monero)等中的一种或多种。又例如,所述虚拟货币账户可以支持平台自己发行的虚拟货币。所述实际货币账户可以支持任何法币。法币是指由各个国家发行的、可以流通使用的货币。法币可以包括但不限于人民币、美元、日元、韩元、欧元、英镑、泰铢、卢比或卢布等。在一些实施例中,所述用户可以拥有多个虚拟货币账户和/或实际货币账户。例如,所述用户可以拥有多个虚拟货币账户,分别对应不同类型的虚拟货币资产,与对应的不同的虚拟货币服务商平台相关联。在一些实施例中,所述用户的虚拟货币账户和/或实际货币账户可以被称为用户的热钱包账户。在一些实施例中,所述用户的虚拟货币账户和/或实际货币账户可以在用户注册交易平台100时由交易平台100中的一个或多个组件(例如,注册/登录模块520)生成。关于用户虚拟货币账户和/或实际货币账户生成的进一步描述可以参考图9及其相关内容。
步骤620,可以基于智能合约对所述交易提议进行背书以生成背书结果。在一些实施例中,步骤610可以由背书模块540实现。可选地,背书模块540可以由一个 或多个背书节点endorser来实现。为方便描述,本文以背书节点endorser为例来描述步骤620的实施过程。应当理解的是,这只是出于说明目的,并不旨在限定本申请的范围。
在一些实施例中,响应于收到的交易提议,背书节点endorser可以首先验证交易提议。例如,背书节点endorser可以验证交易提议是完整的和/或交易提议未在过去已经提交。附加地或替代地,背书节点endorser可以验证交易提议的数字签名是有效的,并且提交交易提议的用户被适当地授权为能够提交交易提议。在验证交易提议之后,背书节点endorser可以各自使用交易提议来模拟智能合约的执行以生成模拟交易结果,进而对所述模拟交易结果进行数字签名以生成背书结果。可选地,背书节点endorser可以将包含模拟交易结果和其数字签名的背书结果发送回客户端240。在一些实施例中,所述背书节点endorser可以是区域链网络110的任何节点。可选地,可以根据背书策略在节点210中选择背书节点endorser。
所述智能合约是指编码能源交易规则的自动执行合同。例如,智能合约可以规定双方之间协议条款,例如,可以包括支付协议和/或能源交易协议。所述支付协议可以规定结算账户和/或支付时间等其他与支付有关的条款。所述结算账户可以合同签订双方的实际货币账户和/或虚拟货币账户。所述支付时间可以规定付款方付款的时间,例如在交易进行前预付、交易系统100执行交易后即刻支付或在执行交易后的特定时刻支付。所述能源交易协议可以包括被交易的能源的种类、所述被交易的能源的总量、所述被交易的能源的单价、所述被交易的能源的总价格等中的一种或几种的组合等。所述被交易的能源的单价和/或总价格可以以任意类型的法定货币或数字货币的组合来表示。例如交易的总价格可以是50个比特币。又例如,所述交易总价格可以是30个以太币和30个法币(比如,30美元)。
在一些实施例中,背书节点endorser可以存储智能合约。在一些实施例中,背书节点endorser可以根据与交易提议相关联的智能合约来背书交易提议。仅作为示例,交易提议可以定义要执行的智能合约的ID,并且背书节点endorser可以基于所定义的智能合约来执行背书。又例如,背书节点endorser可以基于由与客户端240相关联的用户(例如,相应网络元素的管理者)签署的智能合约来执行背书。在一些实施例中,智能合约可以包括不同类型的智能合约,例如自定义智能合约、预制智能合约、开放式智能合约、长期智能合约、短期智能合约。关于智能合约的细节可以在本 申请的其他地方找到(例如,图8及其相关描述),在此不再赘述。
步骤630,可以基于所述背书结果和所述智能合约执行所述交易。在一些实施例中,步骤630可以由交易模块550实现。
如步骤620所述,智能合约可以包括与所述用户有关的支付协议和/或能源交易协议。所述支付协议可以规定结算账户所述结算账户可以是用于能源交易结算的所述用户的虚拟货币账户或实际货币账户中的至少一种。所述能源交易可以规定能源交易单价等。步骤630中,所述执行所述交易可以包括基于所述智能合约和交易提议确定能源交易的结算金额。例如,可以基于交易提议中本次交易中要交易的能源的类型、数量及其对应的单价确定本次能源交易的结算金额。进一步地,可以基于所述结算金额对结算账户进行结算,例如,对结算账户转出和/或转入相应的结算金额。仅作为示例,如果所述用户为能源买家,当所述支付协议规定结算账户为该用户的虚拟账户时,执行交易时可以包括对该用户的虚拟账户扣除相应的结算金额。
在一些实施例中,如果基于智能合约和交易提议确定的结算金额和结算账户所对应的货币种类相同,交易平台100在执行交易时可以直接对结算账户进行结算。例如,当所述交易的结算金额为N以太币,结算账户为以太币账户,执行交易时交易平台100可以直接从用户的以太币账户转出N以太币或者向用户的以太币账户转入N以太币。
如果基于智能合约和交易提议确定的结算金额和结算账户所对应的货币种类不同,交易平台100则需要将结算金额转化,在基于转化后的结算金额对结算账户进行结算。具体地,交易平台100可以先将结算金额转化成代币(Token)金额。所述代币可以是交易平台100支持的任何虚拟货币,例如以太币或比特币。在一些实施例中,所述代币可以是基于以太坊ERC20协议的以太币。确定代币金额后,交易平台100可以进一步基于所述代币金额确定对应于结算账户的结算金额,并基于所述对应结算账户的结算金额对结算账户进行结算。例如,假设结算金额为50个比特币,而结算账户为以太币账户,则交易平台100可以先将50比特币兑换为一定数量的代币,再基于所述代币金额确定对应以太币账户的结算金额。相应地,交易平台100可以从用户的以太币账户中扣除一定数量的以太币以完成结算。又例如,假设结算金额为50个比特币,而结算账户为法币账户,交易平台100可以先将50比特币兑换为一定数量的代币,再基于所述代币金额确定对应法币账户的结算金额。相应地,交易平台100可以 从用户的法币账户中扣除一定数量的法币以完成结算。再例如,假设结算金额为50个比特币,而结算账户为以太币账户和/或法币账户,交易平台100可以先将50比特币兑换为一定数量的代币,再基于所述代币金额确定对应以太币账户的结算金额。假设,此时用户的以太币账户的余额不足以支付上述结算金额,对于不足部分,交易平台100可以基于不足部分确定法币账户的结算金额。相应地,交易平台100可以从用户的以太币账户中扣除一定数量的以太币,并且从法币账户中扣除一定数量的法币以完成结算。在此情况下,交易平台100可以实现能源交易的多币种支付结算,提高区块链平台交易支付的便利性、灵活性。在一些实施例中,对于多币种混合支付的情况,结算时不同币种的支付比例可以在智能合约中规定,也可以由用户经由客户端240自主设置。在一些实施例中,不同币种的支付比例也可以由交易平台100默认设置。例如,假设用户同时拥有比特币账户和法币账户,可以设置在支付结算时按照2:1的比例支付货币。
在上述支付结算过程中,可能会涉及到了不同货币(如不同数字货币、不同实际货币、数字货币和实际货币)之间的兑换。在一些实施例中,不同货币的兑换可以基于不同货币之间的兑换比例进行。例如,比特币和以太币的兑换比例为1:2,则1个比特币可以兑换为2个以太币。在一些实施例中,不同货币之间的兑换比例可以由交易平台100确定。例如,交易平台100可以实时或定期(例如,每隔1秒)通过网络220从外部来源(例如,金融网站)获取不同货币的交换汇率,然后基于所述交换汇率确定兑换比例。或者,不同货币之间的兑换比例可以由交易系统100的用户设定。又或者,不同货币之间的兑换比例可以是交易系统100的默认设定。
在一些实施例中,仅有当背书结果符合一定条件时,所述交易才会被执行。例如,如步骤620所述,区块链网络110中的一个或多个背书节点endorser会对所述交易提议进行背书,只有当超过一定数量的背书节点endorser生成背书结果时,所述交易才会按照智能合约被执行。又例如,只有当所述背书结果得到验证时,所述交易才会被执行。具体地,背书节点endorser在生成背书结果后可以将背书结果发送给客户端240,客户端240在接收到一定数量的背书结果后可以生成交易发送给排序节点orderer。所述排序节点orderer会对从客户端240和其他客户端接收到的交易进行排序,并生成记录这些交易的区块。进一步地,区块链网络中的提交节点committer会对交易进行验证。例如,提交节点committer会可以验证该交易的背书策略已被实 现,和/或验证账本的当前状态和生成区块时账本的状态相兼容。如果提交节点committer确定交易的背书策略已经被满足并且账本的当前状态和生成区块时账本的状态相兼容,则提交节点committer可以生成交易是有效的验证结果,并将交易写入账本来更新账本。此时,交易平台100可以依照智能合约执行所述交易,以对结算账户进行结算。
应当注意的是,上述有关流程600的描述仅仅是为了示例和说明,而不限定本申请的适用范围。对于本领域技术人员来说,在本申请的指导下可以对流程600进行各种修正和改变。然而,这些修正和改变仍在本申请的范围之内。例如,步骤610和步骤620可以合并。又例如,流程600中的步骤可以由交易平台100中的任何组件实施。
图7是根据本申请的一些实施例所示的基于区块链网络的交易过程的示例性流程的示意图。区块链网络700可以是本公开中其他地方所描述的区域链网络110的示例性实施例。如图7所示,区块链网络700可以包括多个peer(即,背书节点endorser E 0至E 2和提交节点committer C 3和C 4)和多个排序节点orderer O 0至O 4。每个peer可以被配置为保持账本和/或运行一个或以上智能合约。账本可包括多个区块。排序节点orderer O 0至O 4可以提供排序服务。在一些实施例中,可以通过执行图7所描述的交易流程或交易流程中的部分步骤,以实现图6所描述的交易流程600。
在702中,用户可以经由客户端240向区块链网络700提交交易提议。如结合操作620所描述的,区块链网络700中的一个或多个的背书节点endorser可以基于智能合约对所述交易提议进行背书以生成背书结果。所述用户可以拥有虚拟货币账户和/或实际货币账户。所述智能合约可以包括支付协议,所述支付协议可以规定有关结算账户和/或交易金额。在一些实施例中,需要背书交易提议的一个或多个背书节点endorser可以由背书策略定义。例如,如图7所示,背书策略可以定义背书节点endorser E 0、E 1和E 2需要参与交易提议背书。在这种情况下,交易提议分别被发送到E 0、E 1和E 2中的每一个。响应于所接收的交易提议,每个背书节点endorser E 0、E 1和E 2可以根据智能合约模拟执行交易提议以生成背书结果。可选地,每个背书节点endorser可以不更新到存储在其中的账本,而是签署背书结果并将背书结果返回到客户端240。
在704中,当从特定数量或超过特定数量的背书节点endorser接收到已签名的 背书结果时和/或之后,客户端240可以生成包括已签名的背书结果的交易,并且将交易发送到排序节点orderer O 1-O 4中的一个或以上排序。
在706中,从客户端240接收交易的排序节点orderer可以将交易与从其他客户端(图7中未示出)接收的其他交易一起进行排序。排序节点orderer可以将从客户端240和其他客户端接收的交易打包到区块中,并且随后将区块分配给连接到排序节点orderer的每个peer节点。如图7所示,在706中,排序节点orderer可以将包括客户端240提交的交易和其他交易的区块发送给peer节点E 0、E 1、E 2、C 3以及C 4,以用于验证。
在708中,从排序节点orderer接收区块的每个peer节点可以验证区块中的每个交易,包括客户端240提交的交易。对于客户端240提交的交易,每个peer节点可以验证交易的背书结果是否正确以及交易是否与账本的当前状态兼容。响应于确定背书结果是正确的并且交易与账本的当前状态兼容,每个peer节点可以确定客户端240提交的交易是有效的。根据交易是有效的验证结果,每个peer节点可以通过将客户端240提交的交易写入账本来更新其账本。
在一些实施例中,当客户端240提交的交易成功或失败时和/或当相应的区块被添加到账本时,可以将关于验证结果的通知发送到客户端240。通知可以由连接到客户端240的每个peer发送出去。例如,当客户端240提交的交易通过验证时,peer E 0、E 1、E 2、C 3和C 4中的每一个可以向客户端240发送通知。
应当注意的是,上述有关流程700的描述仅仅是为了示例和说明,而不限定本申请的适用范围。对于本领域技术人员来说,在本申请的指导下可以对流程700进行各种修正和改变。然而,这些修正和改变仍在本申请的范围之内。例如,步骤702中,当特定数量或超过特定数量的背书节点endorser生成背书结果后,区块链700可以基于所述智能合约执行交易,以对用于结算账户进行结算。或者,在步骤708中,当交易被验证是有效时,区块链700可以基于所述智能合约执行交易,以对用于结算账户进行结算。关于能源交易结算的详细描述可以在步骤630中找到,在此不再赘述。
图8是根据本申请的一些实施例所示的示例性智能合约的示意图。智能合约800可以是本文其他地方所描述的智能合约的示例性实施例。如结合图2所述,智能合约800可以是编码交易规则的自动执行合约。例如,智能合约800可以包括协议双 方(例如,能源购买者和能源销售者)之间的协议条款。
如图8所示,智能合约800可以规定签署智能合约800的第一方和第二方、第一方和第二方之间的能源交易协议和/或支付协议、智能合约800的状态、合约有效期等或其任何组合。在一些实施例中,第一方和第二方可以分别与在能源网络中注册的网络元素相关联。所述能源交易协议可以包括第一方和第二方之间待交易的能源的类型、所述待交易的能源的类型、所述待交易的能源的总价格/单价、所述能源交易协议的生效日、所述能源交易协议的到期日、所述能源交易协议有效期等或其任何组合。所述待交易的能源类型可包括电能、太阳能、风能、燃料能源、水能、核能、海洋能、海水盐差能、生物质能等或其任何组合。所述待交易的能源的总价格/单价可以以任意类型的法定货币或数字货币的组合来表示。
所述支付协议可以规定与支付有关的条款。例如所述支付协议可以规定用于结算账户和/或支付时间等中的一种或几种的组合。所述用于结算账户可以是第一方和/或第二方的实际货币账户和/或虚拟货币账户。所述支付时间可以规定付款方付款的时间,例如在交易进行前预付、交易系统100执行交易后即刻支付或在执行交易后的特定时刻支付。
在一些实施例中,智能合约800的类型可以包括,例如,自定义智能合约、预制智能合约、开放式智能合约、长期智能合约、短期智能合约等或其任何组合。如本文所使用的,自定义智能合约可以指至少部分基于用户经由客户端240输入的与智能合约相关的数据的智能合约。例如,智能合约的第一方和/或第二方可以经由客户端240输入数据以添加、移除和/或修改智能合约中的一个或以上的协议条款。在一些实施例中,自定义智能合约可以由第一方和/或第二方使用域特定语言(DSL)(例如,go、node.js)来编写。或者,自定义智能合约的第一方和/或第二方可以以自然语言将一个或以上的协议条款输入到客户端240。然后,区域链网络110的节点210和/或客户端240可以将输入的条款转换为自定义智能合约。
预制智能合约可以是选自存储在区域链网络110的一个或以上节点210(例如,一个或以上背书节点endorser)中的多个预制智能合约中的一个。多个预制智能合约可以包括第一和第二方之间的一个或以上预定的协议条款。在一些实施例中,可以使用机器学习算法基于样本数据来生成预制智能合约。所述样本数据可以包括诸如多个自定义智能合约、常识、关于能源交易的国家政策和/或规则等或其任何组合。例 如,可以使用机器学习算法基于交易平台100的用户定义的多个自定义智能合约来生成预制智能合约。示例性机器学习算法可以包括但不限于人工神经网络算法、深度学习算法、决策树算法、关联规则算法、归纳逻辑编程算法、支持向量机算法、聚类算法、贝叶斯网络算法、强化学习算法、知识表示学习算法、相似性和度量学习算法、稀疏字典学习算法、遗传算法、基于规则的机器学习算法等或其任何组合。
开放式智能合约可包括由交易平台100的单个参与者构建的合约。当交易平台100的另一参与者满足所有合约条款时,开放式智能合约可自动执行。附加地或替代地,开放式智能合约可以包括一种合约,其中的一个或多个条款并非双方之间的完整协议。例如,可以在没有结束日期的情况下构建开放式智能合约,并且只要双方对合约满意,合约就可以继续。
长期智能合约可以指持续时间等于或长于第一阈值(例如,一年、半年)的智能合约。短期智能合约可以指持续时间等于或短于第一阈值(例如,一个月)的智能合约。在一些实施例中,长期智能合约可以是年度合约。短期智能合约可以是月度合约。在一些实施例中,双方可签署关于一年内交易的能源的年度智能合约。当一方具有意外的能源需求时,他们还可以签署月度智能合约。
在一些实施例中,智能合约800可以由第一方和/或第二方通过安装在客户端240中的用于能源交易的客户端应用构建。例如,第一方可以将协议条款输入到安装在他/她的客户端240中的客户端应用程序中,以构建初始智能合约。在第二方确认初始智能合约之后,它可以成为正式的智能合约。在一些实施例中,智能合约800可以由第一方和/或第二方通过客户端应用进行管理。例如,第一方和/或第二方可以在客户端应用上搜索、查看、修改、取消、下载、打印和/或确认智能合约800。
应当注意的是,图8中所示的示例及其上述描述仅出于说明的目的而提供,并且不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出各种各样的修正和改变。然而,这些修正和改变不会背离本申请的范围。在一些实施例中,智能合约800可包括一个或以上附加条款。另外或可选地,可以省略上述智能合约800的一个或以上条款。
图9是根据本申请的一些实施例所示的账户注册的流程图。在一些实施例中,流程900可以由交易平台100执行。例如,流程900可以实现为存储设备(例如,节点210的存储设备/存储设备230)中存储的一组指令(例如,应用程序)。交易平台 100中的一个或多个元件可以执行该组指令,并且当执行指令时,交易平台100中的一个或多个元件可以被配置用于执行流程900。以下呈现的所示流程的操作旨在是说明性的。在一些实施例中,流程900可以通过未描述的一个或多个以上附加操作和/或省略一个或以上所讨论的操作来完成。另外,其中如图9所示和下面描述的流程的操作的排列不是限制性的。在一些实施例中,流程900可以用于生成交易平台100用户的实际货币账户和/或虚拟货币账户。当用户在交易平台100中进行交易时,所述实际货币账户和/或虚拟货币账户可以被用于进行交易结算。
步骤910,可以接收用户的注册请求。在一些实施例中,步骤910可以由注册/登录模块520实现。
所述注册请求可以包括用户的基本信息(例如,姓名、性别、职业、地址、电话等)、账户名、偏好信息(例如,偏好的交易类型、偏好的交易领域、偏好的交易对象)等中的一种或几种的组合。可选地,所述账户名可以是手机号和/或邮箱账号等。在一些实施例中,用户可以通过客户端240向交易平台100发送账户注册请求。
步骤920,响应于所述注册请求,可以向用户发送选择虚拟货币种类的请求。在一些实施例中,步骤920可以由注册/登录模块520实现。
在一些实施例中,所述选择虚拟货币种类的请求可以发送至用户发送注册请求时所用的客户端240。进一步地,所述客户端240可以以文字、图形、列表、语音等任意形式向用户呈现所述选择虚拟货币种类的请求。在一些实施例中,交易平台100可以提供一个或多个可选择的虚拟货币种类给用户,所述用户可以从可选择的虚拟货币种类中选择一个或多个虚拟货币种类。或者,交易平台100可以让用户自行输入他/她想要选择的虚拟货币种类。在一些实施例中,所述虚拟货币种类可以包括但不限于比特币(BTC)、以太币(ETH)、EOS币、莱特币(LTC)、瑞波币(XRP)、比特币现金(BCH)、达世币(Dash)、新经币(NEM)或门罗币(Monero)中的至少一种。
在一些实施例中,在向用户发送选择虚拟货币种类的请求前,交易平台100(例如,注册/登录模块520)可以先对用户注册用的账户(例如,手机号和/或邮箱账号)进行验证,以确定所述账户的真实有效。只有用户的账户通过验证后,交易平台100(例如,注册/登录模块520)才会向用户发送选择虚拟货币种类的请求。
在一些实施例中,步骤910和920可以合并为一步。交易平台100可以接受用户的注册请求,所述注册请求至少包括用户所选择的虚拟货币种类。例如,交易平台 100可以要求用户在注册时就填写他/她想要选择的虚拟货币种类。
步骤930,响应于用户所选择的虚拟货币种类,生成该用户在对应的虚拟货币服务商平台上的账户地址。在一些实施例中,步骤930可以由注册/登录模块520实现。
在一些实施例中,交易平台100可以基于用户所选的虚拟货币种类,调用所述虚拟货币对应的虚拟货币服务商的接口,以生成所述用户在所述虚拟服务商平台上的账户地址。以以太币为例,当用户选择的虚拟货币种类为以太币时,交易平台100可以调用web3j地址生成以太坊的接口,进而生成该用户在以太坊平台中的账户地址。所述以太坊中的账户地址可以是随机数组成的字符串,用以代表该用户在以太坊平台中的唯一标识。在一些实施例中,所述以太坊平台中的账户地址可以基于区块链钱包地址生成算法生成。例如,所述以太坊接口或以太坊平台可以先生成随机私钥(例如,32字节的16进制字符串)。进一步地,所述以太坊接口或以太坊平台可以通过特定算法(例如,椭圆曲线数字签名算法)基于所述随机私钥推导出公钥,再基于所述公钥确定公钥哈希值,进而基于所述公钥哈希值生成以太坊平台中的账户地址。
步骤940,可以生成用户的虚拟货币账户,所述虚拟货币账户对应用户所选择的虚拟货币种类。在一些实施例中,步骤940可以由注册/登录模块520实现。
在一些实施例中,所述虚拟货币账户的地址可以是由随机数组成的字符串。所述虚拟货币账户的地址可以有交易平台100基于区块链钱包地址生成算法生成。关于区块链钱包地址生成算法的详细描述在步骤930中可以找到,在此不再赘述。可选地,交易平台100可以进一步将所述字符串转化为条码(例如,一维码、二维码、三维码、条形码)或网址等形式,在交易结算时可以通过扫描二维码、点击网址等方式获取所述虚拟货币账户地址。
在一些实施例中,交易平台100可以将步骤930中生成的虚拟货币服务商平台上的账户地址直接作为用户的虚拟货币账户。在交易时,交易平台100可以通过用户在虚拟货币服务平台中的账户,进行相应结算。或者,交易平台100可以自行生成用户的虚拟货币账户,并将其与步骤930中生成的虚拟货币服务商平台上的账户地址相关联。在对用户的虚拟货币账户进行交易时,交易平台100可以通过用户的虚拟货币账户确定其在虚拟货币服务商平台中的账户,并进行相应的结算。
步骤950,可以生成实际货币账户。在一些实施例中,步骤910可以由注册/登 录模块520实现。
所述实际货币账户可以支持任何类型的法币,例如人民币、美元、日元、韩元、欧元、英镑、泰铢、卢比、卢布等。所述实际货币账户可以与银行平台相关联。所述银行可以是任何支持实际货币交易的银行平台。在一些实施例中,所述实际货币账户的地址可以是由随机数组成的字符串。所述实际货币账户的地址可以由交易平台100基于区块链钱包地址生成算法生成。关于区块链钱包地址生成算法的详细描述在步骤930中可以找到,在此不再赘述。可选地,交易平台100可以进一步将所述字符串转化为条码(例如,一维码、二维码、三维码、条形码)或网址等形式,在交易结算时可以通过扫描二维码、点击网址等方式获取所述实际货币账户地址。
在一些实施例中,用户可以在交易平台100上注册多个虚拟货币账户和/或实际货币账户。例如,在步骤920中,用户可以选择比特币和以太币,交易平台100可以在所述比特币平台和以太币平台上分别注册该用户的账户地址,并生成以太币账户和比特币账户。
在一些实施例中,当完成账户注册后,用户可以在联网设备(如客户端240)上登陆其账户(例如,实际货币账户和/或虚拟货币账户)以与交易平台100进行交互。在一些实施例中,用户可以经由联网设备发出登陆请求。所述登录请求至少包括与所述账户相关联的私钥。交易平台100会对登陆请求中包含的私钥信息进行验证,以确定登陆账户的用户是否为用户本人。可选地,所述私钥由未联网的存储设备中获取。所述未联网的存储设备可以是未联网的电脑、手机、U盘、硬盘等任何具备存储功能的设备。在一些实施例中,所述存储私钥、未联网的设备也可以被称为冷钱包。冷钱包可以避免用户私钥被盗,保证用户私钥的安全。
应当注意的是,上述有关流程900的描述仅仅是为了示例和说明,而不限定本申请的适用范围。对于本领域技术人员来说,在本申请的指导下可以对流程900进行各种修正和改变。然而,这些修正和改变仍在本申请的范围之内。例如,步骤930和步骤940可以合并为一个步骤,该步骤中可以生成用户的虚拟货币账户。又例如,步骤930-950可以以任意顺序执行。
应该注意的是,上述仅出于说明性目的而提供,并不旨在限制本申请的范围。对于本领域技术人员而言,在本申请内容的指导下,可作出多种变形和修改。然而,变形和修改不会背离本申请的范围。
上文已对基本概念做了描述,显然,对于阅读此申请后的本领域的普通技术人员来说,上述发明披露仅作为示例,并不构成对本申请的限制。虽然此处并未明确说明,但本领域的普通技术人员可以进行各种变更、改良和修改。该类修改、改进和修正在本申请中被建议,所以该类修改、改进、修正仍属于本申请示范实施例的精神和范围。
同时,本申请使用了特定词语来描述本申请的实施例。例如,术语“一实施例”,“一些实施例”和/或“一些实施例”意味着结合一些实施例描述的特定特征,结构或特性包括在本申请的至少一个实施例中。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本申请的一个或多个实施例中的某些特征、结构或特性可以进行适当的组合。
此外,本领域的普通技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的制程、机器、产品或物质的组合,或对其任何新的和有用的改良。相应地,本申请的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本申请的各方面可以表现为位于一个或多个计算机可读介质中的计算机产品,所述产品包括计算机可读程序编码。
计算机可读信号介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。这种传播信号可以采用多种形式中的任何一种,包括电磁,光学等,或其任何合适的组合。计算机可读信号介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机可读信号介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质、或任何上述介质的组合。
本申请各方面操作所需的计算机程序码可以用一种或多种程序语言的任意组合编写,包括面向对象程序设计,如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET,Python或类似的常规程序编程语言,如"C"编程语言,Visual Basic、Fortran 1703、Perl、COBOL 1702、PHP、ABAP、动态编程语言如Python、 Ruby和Groovy或其它编程语言。程序代码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机上运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本申请所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本申请流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本申请实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本申请实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本申请对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。

Claims (22)

  1. 一种基于区块链交易平台的交易支付方法,其中所述区块链交易平台包括多个节点,所述多个节点组成区块链网络,所述多个节点中的每一个节点可以与所述多个节点中的其他节点进行通信;所述区块链网络可以与客户端进行通信;其特征在于,所述方法包括:
    从客户端接收用户的交易提议,所述用户拥有虚拟货币账户和实际货币账户;
    基于智能合约对所述交易提议进行背书以生成背书结果;以及
    基于所述背书结果和所述智能合约执行所述交易;其中,
    所述智能合约至少包括与所述用户有关的支付协议,所述支付协议至少规定用于结算所述交易的账户,所述用于结算交易的账户为所述用户的虚拟货币账户或实际货币账户中的至少一种;以及
    所述执行所述交易包括基于所述智能合约对所述用于结算交易的账户进行结算。
  2. 如权利要求1所述的基于区块链交易平台的交易支付方法,其特征在于:
    所述用户的虚拟货币账号与虚拟货币服务商平台相关联;以及
    所述用户的实际货币账户与银行平台相关联。
  3. 如权利要求1所述的基于区块链交易平台的交易支付方法,其特征在于,所述基于智能合约对所述用于结算交易的账户进行结算进一步包括:
    基于所述智能合约和交易提议确定结算金额;
    基于所述结算金额所述用于结算交易的账户进行结算。
  4. 如权利要求3所述的基于区块链交易平台的交易支付方法,其特征在于,所述基于所述结算金额对所述用于结算交易的账户进行结算进一步包括:
    将所述结算金额转化为代币金额;
    基于所述代币金额确定对应用于结算交易的账户的结算金额;以及
    基于所述对应用于结算交易的账户的结算金额,对所述用于结算交易的账户进行结算。
  5. 如权利要求1所述的基于区块链交易平台的交易支付方法,其特征在于,所述方法进一步包括:
    接收所述用户的注册请求,所述注册请求至少包括用户所选择的虚拟货币种类;以及
    响应于所述注册请求,生成所述虚拟货币账户和实际货币账户,所述虚拟货币账户对应用户所选择的虚拟货币种类。
  6. 如权利要求5所述的基于区块链交易平台的交易支付方法,其特征在于,所述接收用户的注册请求进一步包括:
    接收所述用户的登录请求,所述登录请求至少包括与所述虚拟货币账号和实际货币账号相关联的私钥,所述私钥存从未联网的存储设备中获取。
  7. 如权利要求1所述的基于区块链交易平台的交易支付方法,其特征在于:
    所述交易为能源交易;
    所述智能合约进一步包括与所述用户有关的能源交易协议,所述能源交易协议至少规定被交易的能源的类型、所述被交易的能源的总量、所述被交易的能源的单价、所述被交易的能源的总价格或能源交易协议有效期中的至少一种。
  8. 如权利要求7所述的基于区块链交易平台的能源交易支付方法,其特征在于,所述被交易的能源的类型包括电能源、太阳能源、风能源、燃料能源、水能源或核能源中的至少一种。
  9. 如权利要求1所述的基于区块链交易平台的能源交易支付方法,其特征在于,所述虚拟货币账户支持比特币(BTC)、以太币(ETH)、EOS币、莱特币(LTC)、瑞波币(XRP)、比特币现金(BCH)、达世币(Dash)、新经币(NEM)或门罗币(Monero)中的至少一种。
  10. 如权利要求1所述的基于区块链交易平台的能源交易支付方法,其特征在于,所述 实际货币账户支持法币。
  11. 一种基于区块链交易平台的交易支付系统,其中所述区块链交易平台包括多个节点,所述多个节点组成区块链网络,所述多个节点中的每一个节点可以与所述多个节点中的其他节点进行通信;所述区块链网络可以与客户端进行通信;其特征在于,所述系统包括:获取模块、背书模块和交易模块;
    所述获取模块用于从客户端接收用户的交易提议,所述用户拥有虚拟货币账户和实际货币账户;
    所述背书模块用于基于智能合约对所述交易提议进行背书以生成背书结果;以及
    所述交易模块用于基于所述背书结果和所述智能合约执行所述交易;其中,
    所述智能合约至少包括与所述用户有关的支付协议,所述支付协议至少规定用于结算所述交易的账户,所述用于结算交易的账户为所述用户的虚拟货币账户或实际货币账户中的至少一种;以及
    所述执行所述交易包括基于所述智能合约对所述用于结算交易的账户进行结算。
  12. 如权利要求11所述的基于区块链交易平台的交易支付系统,其特征在于,
    所述用户的虚拟货币账号与虚拟货币服务商平台相关联;以及
    所述用户的实际货币账户与银行平台相关联。
  13. 如权利要求11所述的基于区块链交易平台的交易支付系统,其特征在于,所述交易模块还用于:
    基于所述智能合约和交易提议确定结算金额;
    基于所述结算金额所述用于结算交易的账户进行结算。
  14. 如权利要求13所述的基于区块链交易平台的交易支付系统,其特征在于,所述交易模块还用于:
    将所述结算金额转化为代币金额;
    基于所述代币金额确定对应用于结算交易的账户的结算金额;以及
    基于所述对应用于结算交易的账户的结算金额,对所述用于结算交易的账户进行结算。
  15. 如权利要求11所述的基于区块链交易平台的交易支付系统,其特征在于,所述系统进一步包括:注册/登录模块;
    所述注册/登录模块用于:
    接收所述用户的注册请求,所述注册请求至少包括用户所选择的虚拟货币种类;以及
    响应于所述注册请求,生成所述虚拟货币账户和实际货币账户,所述虚拟货币账户对应用户所选择的虚拟货币种类。
  16. 如权利要求15所述的基于区块链交易平台的交易支付系统,其特征在于,所述注册/登录模块进一步用于:
    接收所述用户的登录请求,所述登录请求至少包括与所述虚拟货币账号和实际货币账号相关联的私钥,所述私钥存从未联网的存储设备中获取。
  17. 如权利要求11所述的基于区块链交易平台的交易支付系统,其特征在于,
    所述交易为能源交易;
    所述智能合约进一步包括与所述用户有关的能源交易协议,所述能源交易协议至少规定被交易的能源的类型、所述被交易的能源的总量、所述被交易的能源的单价、所述被交易的能源的总价格、或能源交易协议有效期中的至少一种。
  18. 如权利要求17所述的基于区块链交易平台的交易支付系统,其特征在于,所述被交易的能源的类型包括电能源、太阳能源、风能源、燃料能源、水能源或核能源中的至少一种。
  19. 如权利要求11所述的基于区块链交易平台的交易支付系统,其特征在于,所述虚拟货币账户支持比特币(BTC)、以太币(ETH)、EOS币、莱特币(LTC)、瑞波币(XRP)、 比特币现金(BCH)、达世币(Dash)、新经币(NEM)或门罗币(Monero)中的至少一种。
  20. 如权利要求11所述的基于区块链交易平台的交易支付系统,其特征在于,所述实际货币账户支持法币。
  21. 一种基于区块链交易平台的交易支付系统,其中所述区块链交易平台包括多个节点,所述多个节点组成区块链网络,所述多个节点中的每一个节点可以与所述多个节点中的其他节点进行通信;所述区块链网络可以与客户端进行通信。所述系统包括:
    至少一个存储介质,所述存储介质包括一组指令;以及
    至少一个处理器,所述处理器与所述至少一个存储介质通信,当执行所述指令时,所述系统被配置为:
    从客户端接收用户的交易提议,所述用户拥有虚拟货币账户和实际货币账户;
    基于智能合约对所述交易提议进行背书以生成背书结果;以及
    基于所述背书结果和所述智能合约执行所述交易;其中,
    所述智能合约至少包括与所述用户有关的支付协议,所述支付协议至少规定用于结算所述交易的账户,所述用于结算交易的账户为所述用户的虚拟货币账户或实际货币账户中的至少一种;以及
    所述执行所述交易包括基于所述智能合约对所述用于结算交易的账户进行结算。
  22. 一个非短暂性的计算机可读存储介质,存储有计算机指令,当一个或多个处理器执行所述计算机指令时,所述一个或多个处理器可以执行如下操作:
    从客户端接收用户的交易提议,所述用户拥有虚拟货币账户和实际货币账户;
    基于智能合约对所述交易提议进行背书以生成背书结果;以及
    基于所述背书结果和所述智能合约执行所述交易;其中,
    所述智能合约至少包括与所述用户有关的支付协议,所述支付协议至少规定用于结算所述交易的账户,所述用于结算交易的账户为所述用户的虚拟货币账户或实际货币账户中的至少一种;以及
    所述执行所述交易包括基于所述智能合约对所述用于结算交易的账户进行结算。
PCT/CN2018/111009 2018-10-19 2018-10-19 基于区块链交易平台的交易支付系统和方法 WO2020077613A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/111009 WO2020077613A1 (zh) 2018-10-19 2018-10-19 基于区块链交易平台的交易支付系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/111009 WO2020077613A1 (zh) 2018-10-19 2018-10-19 基于区块链交易平台的交易支付系统和方法

Publications (1)

Publication Number Publication Date
WO2020077613A1 true WO2020077613A1 (zh) 2020-04-23

Family

ID=70284397

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/111009 WO2020077613A1 (zh) 2018-10-19 2018-10-19 基于区块链交易平台的交易支付系统和方法

Country Status (1)

Country Link
WO (1) WO2020077613A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11734677B1 (en) * 2022-10-20 2023-08-22 Touch Point Worldwide, Inc. Systems and methods for exchanging electronic tokens
WO2024151263A1 (en) * 2023-01-12 2024-07-18 Ali Khan Cryptocurrency wallet that supports every cryptocurrency

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107851245A (zh) * 2015-05-21 2018-03-27 万事达卡国际股份有限公司 用于将基于区块链的资产关联到法定货币账户的方法和系统
CN108492550A (zh) * 2018-05-17 2018-09-04 济南浪潮高新科技投资发展有限公司 基于区块链的v2x高速车队自组织系统
CN108520463A (zh) * 2018-04-16 2018-09-11 安徽中科智链信息科技有限公司 一种基于区块链技术的数据订单交易系统及其方法
CN108665253A (zh) * 2018-05-18 2018-10-16 百度在线网络技术(北京)有限公司 一种区块链网络的数据处理方法、装置、设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107851245A (zh) * 2015-05-21 2018-03-27 万事达卡国际股份有限公司 用于将基于区块链的资产关联到法定货币账户的方法和系统
CN108520463A (zh) * 2018-04-16 2018-09-11 安徽中科智链信息科技有限公司 一种基于区块链技术的数据订单交易系统及其方法
CN108492550A (zh) * 2018-05-17 2018-09-04 济南浪潮高新科技投资发展有限公司 基于区块链的v2x高速车队自组织系统
CN108665253A (zh) * 2018-05-18 2018-10-16 百度在线网络技术(北京)有限公司 一种区块链网络的数据处理方法、装置、设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11734677B1 (en) * 2022-10-20 2023-08-22 Touch Point Worldwide, Inc. Systems and methods for exchanging electronic tokens
WO2024151263A1 (en) * 2023-01-12 2024-07-18 Ali Khan Cryptocurrency wallet that supports every cryptocurrency

Similar Documents

Publication Publication Date Title
Kirli et al. Smart contracts in energy systems: A systematic review of fundamental approaches and implementations
Agung et al. Blockchain for smart grid
Andoni et al. Blockchain technology in the energy sector: A systematic review of challenges and opportunities
US11501389B2 (en) Systems and methods for advanced energy settlements, network-based messaging, and applications supporting the same on a blockchain platform
Chitchyan et al. Review of blockchain technology and its expectations: Case of the energy sector
Mengelkamp et al. A blockchain-based smart grid: towards sustainable local energy markets
Hrga et al. Demystifying distributed ledger technologies: limits, challenges, and potentials in the energy sector
WO2020160530A1 (en) Systems, methods, and program products for issuing, managing, valuing and trading digital asset tokens backed by a value bank comprising the residual value of a portfolio of ground leases
US20080301055A1 (en) unified platform for reputation and secure transactions
KR102255291B1 (ko) 블록체인 기반의 공유 보조배터리의 대여 및 반납 시스템 및 방법
Bhattacharya et al. A blockchain based peer-to-peer framework for exchanging leftover foreign currency
WO2020042129A1 (en) Systems and methods for blockchain-based energy grid transaction
Lu et al. Smart contract for distributed energy trading in virtual power plants based on blockchain
US20220114580A1 (en) Tokenized energy settlements application
Zahid et al. Balancing electricity demand and supply in smart grids using blockchain
WO2020077613A1 (zh) 基于区块链交易平台的交易支付系统和方法
CN110956750A (zh) 一种带数字资产的区块链燃气表
Rajasekar et al. Blockchain utility in renewable energy
Xu et al. BIT: A blockchain integrated time banking system for community exchange economy
Wang et al. The Best Decision for E‐Commerce Funds Transfer Based on Cloud Computing Technique
WO2021249208A1 (zh) 采用码链区块的数字货币模型、方法、系统及装置
Saeed et al. Decentralized peer-to-peer energy trading in microgrids: Leveraging blockchain technology and smart contracts
Enwerem et al. Regulation and Standardization of Blockchain Technology for Improved Benefit Realization
de Villiers et al. Dissolving Metaphors in Peer-to-Peer Energy Trading: Towards a More Concrete Understanding of Metering, Legitimacy and Revenue Flows
Chernyshenko et al. Perspective Chapter: Blockchain Technology in the Field of Energetics–Organization of Effective Energy Market

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18937019

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205 DATED 11/06/2021)

122 Ep: pct application non-entry in european phase

Ref document number: 18937019

Country of ref document: EP

Kind code of ref document: A1