CN109255709B - 一种基于区块链的结账方法及其系统 - Google Patents
一种基于区块链的结账方法及其系统 Download PDFInfo
- Publication number
- CN109255709B CN109255709B CN201811033592.1A CN201811033592A CN109255709B CN 109255709 B CN109255709 B CN 109255709B CN 201811033592 A CN201811033592 A CN 201811033592A CN 109255709 B CN109255709 B CN 109255709B
- Authority
- CN
- China
- Prior art keywords
- node
- transaction pool
- pool node
- block data
- checkout
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Strategic Management (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及区块链技术领域,特别是涉及一种基于区块链的结账方法及其系统。方法包括:第一交易池节点检测当前结账请求的总数是否大于第一交易池节点的吞吐率;若大于,第一交易池节点选择预设数量的结账请求发送至第二交易池节点;第一交易池节点将剩余结账请求打包成第一区块数据,并将第一区块数据发送至第一交易池节点对应的第一共识节点;第二交易池节点将预设数量的结账请求打包成第二区块数据,并将第二区块数据发送至第二交易池节点对应的第二共识节点。由于第一交易池节点在当前结账请求过多时,选择预设数量的结账请求发送至第二交易池节点,因此,第一交易池节点与第二交易池节点并行处理结账请求,从而提高处理结账交易的效率。
Description
技术领域
本发明涉及区块链技术领域,特别是涉及一种基于区块链的结账方法及其系统。
背景技术
区块链技术集合演算法、数学、密码学与经济模型等技术,基于点对点网路关系,建立信任机制,成为一个不需基于彼此信任基础、也不需依赖单一中心化机构便能够运作的分散式系统。因此,区块链技术能够广泛应用于各个行业领域,诸如无人商店等等行业领域,例如,区块链技术与商品结账结合,以实现安全可靠的交易。
发明人在实现本发明的过程中,发现传统技术至少存在以下问题:由于区块链节点接收过多结账访问请求,导致区块链节点未能够高效地处理相关交易。
发明内容
本发明实施例一个目的旨在提供一种基于区块链的结账方法及其系统,其能够提高处理结账交易的效率。
为解决上述技术问题,本发明实施例提供以下技术方案:
在第一方面,本发明实施例提供一种基于区块链的结账方法,所述方法包括:
第一交易池节点接收各个用户发送的结账请求,所述结账请求包括签名信息、支付金额、支付方哈希地址及收款方哈希地址;
所述第一交易池节点检测当前结账请求的总数是否大于所述第一交易池节点的吞吐率;
若大于,所述第一交易池节点选择预设数量的结账请求发送至第二交易池节点;
所述第一交易池节点将剩余结账请求打包成第一区块数据,并将所述第一区块数据发送至所述第一交易池节点对应的第一共识节点;
所述第二交易池节点将所述预设数量的结账请求打包成第二区块数据,并将所述第二区块数据发送至所述第二交易池节点对应的第二共识节点;
所述第一共识节点验证所述第一区块数据,以及,所述第二共识节点验证所述第二区块数据。
可选地,所述方法还包括:
若小于,所述第一交易池节点不选择预设数量的结账请求发送至第二交易池节点。
可选地,在所述第二共识节点验证通过所述第二区块数据后,所述方法还包括:
所述第二共识节点将所述第二区块数据上传至所述第二交易池节点;
所述第二交易池节点将验证通过后的第二区块数据发送至所述第一交易池节点;
所述第一交易池节点向各个所述第一共识节点广播暂停挖矿信息以及所述验证通过后的第二区块数据;
各个所述第一共识节点根据所述暂停挖矿信息停止当前的挖矿,并且开始验证所述验证通过后的第二区块数据。
可选地,每个所述结账请求还包括有效时间;
所述第一交易池节点将剩余结账请求打包成第一区块数据,并将所述第一区块数据发送至所述第一交易池节点对应的第一共识节点,包括:
所述第一交易池节点检测当前时间是否超过所述结账请求的有效时间;
若超过,丢弃所述结账请求;
若不超过,将剩余并且处于有效时间内的结账请求打包成第一区块数据,并将所述第一区块数据发送至所述第一交易池节点对应的第一共识节点。
可选地,所述共识验证的共识算法采用股份授权证明算法。
在第二方面,本发明实施例提供一种基于区块链的结账系统,所述系统包括:第一交易池节点、第一共识节点、第二交易池节点及第二共识节点;
所述第一交易池节点接收各个用户发送的结账请求,所述结账请求包括签名信息、支付金额、支付方哈希地址及收款方哈希地址;
所述第一交易池节点检测当前结账请求的总数是否大于所述第一交易池节点的吞吐率;
若大于,所述第一交易池节点选择预设数量的结账请求发送至第二交易池节点;
所述第一交易池节点将剩余结账请求打包成第一区块数据,并将所述第一区块数据发送至所述第一交易池节点对应的第一共识节点;
所述第二交易池节点将所述预设数量的结账请求打包成第二区块数据,并将所述第二区块数据发送至所述第二交易池节点对应的第二共识节点;
所述第一共识节点验证所述第一区块数据,以及,所述第二共识节点验证所述第二区块数据。
可选地,若小于,所述第一交易池节点不选择预设数量的结账请求发送至第二交易池节点。
可选地,所述第二共识节点将所述第二区块数据上传至所述第二交易池节点;
所述第二交易池节点将验证通过后的第二区块数据发送至所述第一交易池节点;
所述第一交易池节点向各个所述第一共识节点广播暂停挖矿信息以及所述验证通过后的第二区块数据;
各个所述第一共识节点根据所述暂停挖矿信息停止当前的挖矿,并且开始验证所述验证通过后的第二区块数据。
可选地,每个所述结账请求还包括有效时间;
所述第一交易池节点检测当前时间是否超过所述结账请求的有效时间;
若超过,丢弃所述结账请求;
若不超过,将剩余并且处于有效时间内的结账请求打包成第一区块数据,并将所述第一区块数据发送至所述第一交易池节点对应的第一共识节点。
可选地,所述共识验证的共识算法采用股份授权证明算法。
在本发明各个实施例提供的基于区块链的结账方法及其系统中,首先,第一交易池节点接收各个用户发送的结账请求,结账请求包括用户的公钥、签名信息、支付金额、支付方哈希地址及收款方哈希地址;其次,第一交易池节点检测当前结账请求的总数是否大于第一交易池节点的吞吐率,若大于,第一交易池节点选择预设数量的结账请求发送至第二交易池节点;再次,第一交易池节点将剩余结账请求打包成第一区块数据,并将第一区块数据发送至第一交易池节点对应的第一共识节点;再次,第二交易池节点将预设数量的结账请求打包成第二区块数据,并将第二区块数据发送至所述第二交易池节点对应的第二共识节点;最后,第一共识节点验证第一区块数据,以及,第二共识节点验证所述第二区块数据。由于第一交易池节点在当前结账请求过多时,选择预设数量的结账请求发送至第二交易池节点,因此,第一交易池节点与第二交易池节点并行处理结账请求,从而提高处理结账交易的效率。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是本发明实施例提供一种区块链网络的架构模型示意图;
图2是本发明实施例提供一种区块链系统的结构示意图;
图3是本发明实施例提供一种无人商店的结构示意图;
图3a是本发明实施例提供一种无人商店的电路原理示意图;
图4是本发明实施例提供一种基于区块链的结账方法的流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
区块链技术亦称为分布式账本技术,是一种分布式互联网数据库技术。基于区块链技术构建的网络可以称之为区块链网络,区块链网络包含多个区块链节点,每一个节点对应至少一个区块链,每一个区块链上至少包含一个区块。区块链技术具备去中心化、公开透明、不可篡改、可信任等特点,因此,区块链技术应用领域越来越广泛。
请参阅图1,图1是本发明实施例提供一种区块链网络的架构模型示意图。如图1所示,该区块链网络100包括数据层11、网络层12、共识层13以及智能合约层14。
数据层11封装了底层数据区块以及相关的数据加密和时间戳等基础数据和基本算法。网络层12包括分布式组网机制、数据传播机制和数据验证机制等等。共识层13封装网络节点的各类共识算法。智能合约层14封装各类脚本、算法和智能合约。
本发明实施例的,可以在任何合适类型、具有运算能力的区块链节点中执行,例如服务器、台式计算机、智能手机、平板电脑以及其他电子产品中。其中,此处的服务器可以是一个物理服务器或者多个物理服务器虚拟而成的一个逻辑服务器。服务器也可以是多个可互联通信的服务器组成的服务器群,且各个功能模块可分别分布在服务器群中的各个服务器上。
本发明实施例提供的区块链包括诸如公有区块链(Public Block Chains)、联合区块链(Consortium Block Chains)及私有区块链(Private Block Chains)。
请参阅图2,图2是本发明实施例提供一种区块链系统的结构示意图。如图2所示,区块链系统20包括主链21与侧链22,主链21与侧链22通过侧链协议互相通讯。
主链21包括第一普通节点211、第一交易池节点212及第一共识节点213,第一普通节点211与第一交易池节点212通讯连接,第一交易池节点212还与第一共识节点213通讯连接。
侧链22包括第二普通节点221、第二交易池节点222及第二共识节点223,第二普通节点221与第二交易池节点222通讯连接,第二交易池节点222还与第二共识节点223通讯连接。
在本实施例中,第一交易池节点212可与第二交易池节点222通讯连接。其中,各个区块链节点之间的通讯支持点对点通讯方式(Point to point communication,P2P)。
每条区块链上的各个普通节点持有流通的电子货币,在区块链系统中拥有投票选举的权利。普通节点可以进行相关交易操作,但是没有区块的打包记账权,只能从拥有打包记账权的相关节点处同步记录区块数据。
每条区块链上的交易池节点可相当于交易池节点,其编写有智能合约代码,普通节点向交易池节点发送原始区块数据,触发交易池节点的智能合约,使得交易池节点的智能合约执行原始区块数据。其中,普通节点维护有智能合约列表,该智能合约列表记录能够执行智能合约的各个交易池节点名单。每当普通节点接收到原始区块数据时,普通节点调取智能合约列表,从智能合约列表中查找出各个交易池节点的地址,并向各个交易池节点发送原始区块数据。
在本实施例中,交易池节点可以预存多种类型智能合约,其可以根据普通节点发送的触发请求,解析出智能合约的执行类型。交易池节点再根据解析出的智能合约的执行类型,执行对应的智能合约。
当某个交易池节点陷入故障,其余交易池节点将该某个交易池节点的地址广播至全网,普通节点监测到该广播信息,并更新智能合约列表,后续发送原始区块数据时,普通节点不向该某个交易池节点发送数据,以提高工作效率。智能合约的代码是根据业务场景逻辑编写的。
交易池节点根据智能合约执行原始区块数据后,输出待验证的区块数据。接着,交易池节点还将待验证的区块数据作签名,并将签名后的区块数据打包发送至共识节点。共识节点利用交易池节点的公钥验证签名后的区块数据,若验证成功,则认为该签名后的区块数据是合法交易池节点发送的,后续接着对该区块数据进行共识处理。若验证未成功,则认为该签名后的区块数据是非法交易池节点发送的。例如,交易池节点使用自身私钥对当前区块的哈希内容作签名运算,得到该签名。
每条区块链上的共识节点用于共识验证交易池节点上传的区块数据。其中,共识节点可以支持以下任意一种共识算法:工作量证明(Proof of Work,PoW)、权益证明(Proofof Stake,POS)、股份授权证明(Delegate proof of Stake,DPoS)、实用拜占庭容错(practical Byzantine Fault Tolerance,PBFT)、授权拜占庭容错(Delegated ByzantineFault Tolerance,DBFT)等等。
每个共识节点皆需要在交易池节点注册,待注册成功后,该共识节点便为合法共识节点。注册过程如下:
1、共识节点向交易池节点提交注册信息。
其中,该注册信息包括以下一种或多种信息:共识节点的设备序列号SN、用户信息及矿工钱包地址。
2、交易池节点对注册信息进行检查。
检查过程包括:检测SN编号格式是否正确、SN是否存在数据库中、SN是否已被绑定了其他用户等等。
3、交易池节点记录注册信息。
4、交易池节点将注册结果返回给共识节点。
5、交易池节点将新的注册数据广播至区块链系统20。
在上述区块链系统20中,区块是用于存储交易摘要信息的载体,每个区块皆包含区块头与区块体,区块头记载的信息用于标识区块本身、前一个区块的信息摘要以及区块在整个账本中的位置。区块体用于存储交易摘要信息以及验证交易信息并保存交易不被篡改。
区块链为将每个区块按照生成时间的顺序逐个连接起来,便形成了一个链式的数据存储结构。在整个区块链中,第一个区块称为创世区块,其区块高度为0,之后的每个区块的区块高度依次加1,并且在区块头中写入前一个区块头的哈希值。区块链上的各个区块之间由各个区块上的上一个区块头哈希值进行链接。
请参阅图3,图3是本发明实施例提供一种无人商店的结构示意图。如图3所示,该无人商店300设有结账区域30和商品区,商品区用于摆放商品,结账区域30用于对商品进行结算,该结账区域30设有第一出口31和第二出口32,当第一出口31开启时,结账区域30和商品区连通,用户可以从商品区进入该结账区域30,当第二出口32开启时,用户可以从结账区域30步行至无人商店300的外界环境,离开无人商店。
可选地,该结账区域30为“Z”形状,该第一出口31和第二出口32分别设置在该“Z”形状的结账区域。
该无人商店300还设有入口,该入口用于使用户进入该无人商店300,并且该入口只允许用户进入。
请一并参阅图3和图3a,该无人商店300还包括传感器33、摄像头34、射频读写设备35以及处理器36。
其中,传感器33、摄像头34以及射频读写设备35分别连接处理器36。
传感器33具体用于检测第一出口31的预设区域内是否存在用户的感应信号,当该预设区域内存在用户时,即触发该感应信号产生。该预设区域具体是商品区内接近第一出口31的区域,用户只有通过该区域才能进入结账区域30。因此,当检测到预设区域内存在用户的感应信号时,即表示有用户想离开无人商店,并且其当前状态是待进入结账区域30。
摄像头34包含多个,并且设置在无人商店300内,其具体设置在结账区域30内、第一出口31处、第二出口32处、无人商店300的进口处以及商品区等等。该摄像头34用于采集用户图像,并且将采集到的用户图像发送至处理器36。
在一些实施例中,摄像头34可以对同一用户进行运动轨迹追踪。例如,当无人商店300的进口处拍摄到用户A进入无人商店后,根据用户A在无人商店300内的活动区域,由该区域对应的摄像头34拍摄用户A的图像,一直到用户A离开该无人商店300,才结束对用户A的图像采集,获取用户A在无人商店内活动时的全部图像后,可以根据图像采集的先后顺序分析用户A的运动轨迹,从而可以根据该运动轨迹准确识别用户A,以及分析用户A所购买的商品的类别等。
射频读写设备35用于识别结账区域内是否存在商品,并且还用于读取用户所购买的商品的信息,该信息包括商品价格、商品品名、商品类别等等。该射频读写设备35将读取到的商品信息发送至处理器36。该射频读写设备35具体可以是RFID读写器。
处理器36用于接收传感器33、摄像头34以及射频读写设备35发送的相关信息,并且对这些相关信息进行处理。本实施例中的处理器36具体用于处理自动结账的问题。
具体地,当传感器33检测到第一出口31的预设区域内存在用户的感应信号后,将该感应信号发送至处理器36,此时,处理器36控制摄像头34采集该结账区域30内的第一区域图像,摄像头34将采集到的第一区域图像发送至处理器36。处理器36用于根据该第一区域图像,判断结账区域30内是否有人;如果没有人,控制第一出口31的门开启,以及控制摄像头34采集所述结账区域30的第二区域图像,并且获取所述第二区域图像,从而根据所述第二区域图像,判断所述结账区域30内是否只有一位用户;如果结账区域30内只有一位用户,并且通过射频读写设备35检测到结账区域30内存在商品时,则控制第一出口31的门关闭,以及获取所述用户的面部特征,并且根据所述面部特征获取所述用户的账号,以及通过所述射频读写设备35获取所述用户选购的商品信息以及其对应的价格;根据所述价格从所述用户的账号中扣除相应的金额,并且控制所述第二出口32的门开启。在这里,只有在结账区域30内只有一位用户并且存在商品时,才执行相应的结账操作,而且在结账时通过人脸识别来识别当前用户,从而能够准确的识别用户,以保证结账更准确。
请参阅图4,基于区块链的结账方法S400包括:
S41、第一交易池节点接收各个用户发送的结账请求,结账请求包括签名信息、支付金额、支付方哈希地址及收款方哈希地址;
在本实施例中,一个地区可以布设多个无人商店的交易点,各个用户在不同无人商店实施结账行为时,各个无人商店向普通节点发送结账请求,普通节点将来自各个无人商店发送的结账请求转发给第一交易池节点。
在本实施例中,每个用户在无人商店APP注册有账号时,无人商店皆为每个用户配置属于用户的私钥以及公钥,用户的公钥由私钥通过加密算法产生的,并且,用户的公钥广播于区块链中。
第一交易池节点可使用用户的公钥验证签名信息,若合法,则认为该结账请求是合法的。并且,第一交易池节点还可以根据支付方哈希地址验证支付方上一笔交易是否存在,查看该支付方对应的总额是否大于支付金额。若存在并且大于支付金额,则第一交易池节点认为该结账请求为合法有效的。
S42、第一交易池节点检测当前结账请求的总数是否大于第一交易池节点的吞吐率,若是,跳转至S43。若否,跳转至S47。
吞吐率为第一交易池节点在单位时间内处理结账请求的请求数。当当前结账请求的总数大于第一交易池节点的吞吐率时,第一交易池节点的处理效率受到极大降低,为了提高第一交易池节点的处理效率,需要监控当前结账请求的总数。
S43、若大于,第一交易池节点选择预设数量的结账请求发送至第二交易池节点;
预设数量由设计者自定义,例如,第一交易池节点每秒接收到5000条,设计者从5000条选择1000条结账请求发送至第二交易池节点,因此,1000为预设数量。
第一交易池节点在选择预设数量的结账请求发送至第二交易池节点的过程中,其可以按照结账请求的生成时间的顺序来选择,例如,第一交易池节点可以选择生成时间最晚的预设数量的结账请求发送至第二交易池节点,以避免生成时间越早的结账请求延时更严重的问题出现。
S44、第一交易池节点将剩余结账请求打包成第一区块数据,并将第一区块数据发送至第一交易池节点对应的第一共识节点;
举例而言,承接上述例子,第一交易池节点将剩余4000条结账请求打包成第一区块数据。
一般的,若结账请求在交易池节点存在的时间过长并且尚未得到处理,会给第一交易池节点造成冗余,影响第一交易池节点的处理效率。在一些实施例中,为了提高第一交易池节点的处理效率,每个结账请求还包括有效时间。第一交易池节点将剩余结账请求打包成第一区块数据,并将第一区块数据发送至所述第一交易池节点对应的第一共识节点的过程中,首先,第一交易池节点检测当前时间是否超过结账请求的有效时间;若超过,丢弃结账请求;若不超过,将剩余并且处于有效时间内的结账请求打包成第一区块数据,并将第一区块数据发送至第一交易池节点对应的第一共识节点。
通过此种方式,其能够提高第一交易池节点的处理效率。
S45、第二交易池节点将预设数量的结账请求打包成第二区块数据,并将第二区块数据发送至第二交易池节点对应的第二共识节点;
S46、第一共识节点验证第一区块数据,以及,第二共识节点验证第二区块数据;
S47、若小于,第一交易池节点不选择预设数量的结账请求发送至第二交易池节点。
由于第一交易池节点在当前结账请求过多时,选择预设数量的结账请求发送至第二交易池节点,因此,第一交易池节点与第二交易池节点并行处理结账请求,从而提高处理结账交易的效率。
在一些实施例中,在第二共识节点验证通过第二区块数据后,为了保证第一交易池节点所在主链的区块信息的一致性,首先,第二共识节点将第二区块数据上传至第二交易池节点。其次,第二交易池节点将验证通过后的第二区块数据发送至第一交易池节点。再次,第一交易池节点向各个第一共识节点广播暂停挖矿信息以及验证通过后的第二区块数据。再次,各个第一共识节点根据暂停挖矿信息停止当前的挖矿,并且开始验证通过验证后的第二区块数据,当验证通过,主链再次存储第二区块数据。
在上述各个实施例中,主链或侧链的交易池节点将区块数据发送给共识节点时,交易池节点使用自身私钥对区块数据作签名运算,得到区块签名,其中与私钥对应的公钥广播至区块链系统。其次,交易池节点再将区块签名与区块数据封装并向共识节点发送,共识节点验证签名后的区块数据时,共识节点使用交易池节点的合法公钥验证区块签名,若区块签名合法,便认为区块数据由合法交易池节点发送的。若区块签名非法,便认为区块数据由非法交易池节点发送的,因此,采用此种方式能够提高区块数据的安全性。
当共识节点验证区块数据为合法交易池节点发送时,各个共识节点采用股份证明算法(Proof of Stake,POS)或者委任权益证明算法(Delegated Proof of Stake,DPOS)对区块数据进行验证。当验证通过该区块数据后,共识节点补全其它区块信息,其它区块信息包括区块签名、时间戳等等,打包区块数据,广播全网。
当共识节点验证区块数据为非法交易池节点发送的,丢弃该区块数据。
在一些实施例中,该基于区块链的结账方法应用于联盟链,当采用股份授权证明算法作为共识机制时,股份授权证明算法的股份占比按照各个运营商的无人商店规模分配。例如,联盟链的各个区块链节点为无人商店的各个运营商架设的服务器,无人商店规模包括无人商店总面积或注册用户量等等。其中,运营商A的无人商店规模最大,占比为10%,运营商B为6%,运营商C为3%......,以此类推。
有些共识节点陷入故障或者作恶(不签署验证新区块链数据),为了保证区块链系统能够正常出块,其余共识节点可以作视图更新,停止故障或作恶共识节点的共识权利。因此,在一些实施例中,共识节点共识验证区块数据的过程中,在检测到共识验证失败的次数大于预设阈值时,共识节点组成的共识服务器群确定恶意共识节点,恶意共识节点为未签署验证区块数据并导致共识验证失败次数最多的节点。共识节点组成的共识服务器群禁止恶意共识节点参与共识验证,并在剩余的共识节点重新分配股份并共识验证区块数据,例如,占比为10%的共识节点A作恶,于是,首先共识服务器群停止共识节点A的投票权利,其次,共识服务器将共识节点A的占比10%按照预设规则分配给其余共识节点,例如,均分给其余共识节点,或者,按照共识节点的工作年龄分配给其余节点,工作年龄越长,分配占比越高,工作年龄越短,分配占比越低。
再次,共识服务器群在检测到共识验证失败的次数小于预设阈值时,继续共识验证区块数据。
采用此种方式,其保证区块链系统能够顺利出块。
需要说明的是,在上述各个实施例中,上述各步骤之间并不必然存在一定的先后顺序,本领域普通技术人员,根据本发明实施例的描述可以理解,不同实施例中,上述各步骤可以有不同的执行顺序,亦即,可以并行执行,亦可以交换执行等等。
作为本发明实施例另一方面,本发明实施例提供一种基于区块链的结账系统。基于区块链的结账系统包括:第一交易池节点、第一共识节点、第二交易池节点及第二共识节点;
所述第一交易池节点接收各个用户发送的结账请求,所述结账请求包括签名信息、支付金额、支付方哈希地址及收款方哈希地址;
所述第一交易池节点检测当前结账请求的总数是否大于所述第一交易池节点的吞吐率;
若大于,所述第一交易池节点选择预设数量的结账请求发送至第二交易池节点;
所述第一交易池节点将剩余结账请求打包成第一区块数据,并将所述第一区块数据发送至所述第一交易池节点对应的第一共识节点;
所述第二交易池节点将所述预设数量的结账请求打包成第二区块数据,并将所述第二区块数据发送至所述第二交易池节点对应的第二共识节点;
所述第一共识节点验证所述第一区块数据,以及,所述第二共识节点验证所述第二区块数据。
综上所述,由于第一交易池节点在当前结账请求过多时,选择预设数量的结账请求发送至第二交易池节点,因此,第一交易池节点与第二交易池节点并行处理结账请求,从而提高处理结账交易的效率。
可选地,若小于,所述第一交易池节点不选择预设数量的结账请求发送至第二交易池节点。
可选地,所述第二共识节点将所述第二区块数据上传至所述第二交易池节点;
所述第二交易池节点将验证通过后的第二区块数据发送至所述第一交易池节点;
所述第一交易池节点向各个所述第一共识节点广播暂停挖矿信息以及所述验证通过后的第二区块数据;
各个所述第一共识节点根据所述暂停挖矿信息停止当前的挖矿,并且开始验证所述验证通过后的第二区块数据。
可选地,每个所述结账请求还包括有效时间;
所述第一交易池节点检测当前时间是否超过所述结账请求的有效时间;
若超过,丢弃所述结账请求;
若不超过,将剩余并且处于有效时间内的结账请求打包成第一区块数据,并将所述第一区块数据发送至所述第一交易池节点对应的第一共识节点。
可选地,所述共识验证的共识算法采用股份授权证明算法。
以上所描述的装置或设备实施例仅仅是示意性的,其中所述作为分离部件说明的单元模块可以是或者也可以不是物理上分开的,作为模块单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络模块单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (10)
1.一种基于区块链的结账方法,其特征在于,所述方法包括:
第一交易池节点接收各个用户发送的结账请求,所述结账请求包括签名信息、支付金额、支付方哈希地址及收款方哈希地址;
所述第一交易池节点检测当前结账请求的总数是否大于所述第一交易池节点的吞吐率;
若大于,所述第一交易池节点选择预设数量的结账请求发送至第二交易池节点;
所述第一交易池节点将剩余结账请求打包成第一区块数据,并将所述第一区块数据发送至所述第一交易池节点对应的第一共识节点;
所述第二交易池节点将所述预设数量的结账请求打包成第二区块数据,并将所述第二区块数据发送至所述第二交易池节点对应的第二共识节点;
所述第一共识节点验证所述第一区块数据,以及,所述第二共识节点验证所述第二区块数据;
每条区块链上的共识节点用于共识验证交易节点上传的区块数据,所述共识节点支持共识算法。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若小于,所述第一交易池节点不选择预设数量的结账请求发送至第二交易池节点。
3.根据权利要求1所述的方法,其特征在于,在所述第二共识节点验证通过所述第二区块数据后,所述方法还包括:
所述第二共识节点将所述第二区块数据上传至所述第二交易池节点;
所述第二交易池节点将验证通过后的第二区块数据发送至所述第一交易池节点;
所述第一交易池节点向各个所述第一共识节点广播暂停挖矿信息以及所述验证通过后的第二区块数据;
各个所述第一共识节点根据所述暂停挖矿信息停止当前的挖矿,并且开始验证所述验证通过后的第二区块数据。
4.根据权利要求1所述的方法,其特征在于,每个所述结账请求还包括有效时间;
所述第一交易池节点将剩余结账请求打包成第一区块数据,并将所述第一区块数据发送至所述第一交易池节点对应的第一共识节点,包括:
所述第一交易池节点检测当前时间是否超过所述结账请求的有效时间;
若超过,丢弃所述结账请求;
若不超过,将剩余并且处于有效时间内的结账请求打包成第一区块数据,并将所述第一区块数据发送至所述第一交易池节点对应的第一共识节点。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述共识验证的共识算法采用股份授权证明算法。
6.一种基于区块链的结账系统,其特征在于,所述系统包括:第一交易池节点、第一共识节点、第二交易池节点及第二共识节点;
所述第一交易池节点接收各个用户发送的结账请求,所述结账请求包括签名信息、支付金额、支付方哈希地址及收款方哈希地址;
所述第一交易池节点检测当前结账请求的总数是否大于所述第一交易池节点的吞吐率;
若大于,所述第一交易池节点选择预设数量的结账请求发送至第二交易池节点;
所述第一交易池节点将剩余结账请求打包成第一区块数据,并将所述第一区块数据发送至所述第一交易池节点对应的第一共识节点;
所述第二交易池节点将所述预设数量的结账请求打包成第二区块数据,并将所述第二区块数据发送至所述第二交易池节点对应的第二共识节点;
所述第一共识节点验证所述第一区块数据,以及,所述第二共识节点验证所述第二区块数据;
每条区块链上的共识节点用于共识验证交易节点上传的区块数据,所述共识节点支持共识算法。
7.根据权利要求6所述的系统,其特征在于,若小于,所述第一交易池节点不选择预设数量的结账请求发送至第二交易池节点。
8.根据权利要求6所述的系统,其特征在于,
所述第二共识节点将所述第二区块数据上传至所述第二交易池节点;
所述第二交易池节点将验证通过后的第二区块数据发送至所述第一交易池节点;
所述第一交易池节点向各个所述第一共识节点广播暂停挖矿信息以及所述验证通过后的第二区块数据;
各个所述第一共识节点根据所述暂停挖矿信息停止当前的挖矿,并且开始验证所述验证通过后的第二区块数据。
9.根据权利要求6所述的系统,其特征在于,每个所述结账请求还包括有效时间;
所述第一交易池节点检测当前时间是否超过所述结账请求的有效时间;
若超过,丢弃所述结账请求;
若不超过,将剩余并且处于有效时间内的结账请求打包成第一区块数据,并将所述第一区块数据发送至所述第一交易池节点对应的第一共识节点。
10.根据权利要求6至9任一项所述的系统,其特征在于,所述共识验证的共识算法采用股份授权证明算法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811033592.1A CN109255709B (zh) | 2018-09-05 | 2018-09-05 | 一种基于区块链的结账方法及其系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811033592.1A CN109255709B (zh) | 2018-09-05 | 2018-09-05 | 一种基于区块链的结账方法及其系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109255709A CN109255709A (zh) | 2019-01-22 |
CN109255709B true CN109255709B (zh) | 2020-11-03 |
Family
ID=65047331
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811033592.1A Active CN109255709B (zh) | 2018-09-05 | 2018-09-05 | 一种基于区块链的结账方法及其系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109255709B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109785135A (zh) * | 2019-01-23 | 2019-05-21 | 珠海横琴跨境说网络科技有限公司 | 一种基于区块链技术的交易方法、系统和存储介质 |
CN109859024B (zh) * | 2019-01-23 | 2023-06-13 | 陕西优米数据技术有限公司 | 一种基于联盟链的税务系统共识方法 |
CN112612856B (zh) * | 2019-07-09 | 2024-03-29 | 创新先进技术有限公司 | 基于区块链的数据处理方法和装置 |
CN110535933B (zh) * | 2019-08-26 | 2021-07-06 | 杭州复杂美科技有限公司 | 平行链共识方法、设备和存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106528746B (zh) * | 2016-10-26 | 2019-07-16 | 江苏通付盾科技有限公司 | 交易信息查询方法、装置及系统 |
US20180158034A1 (en) * | 2016-12-07 | 2018-06-07 | International Business Machines Corporation | Dynamic reordering of blockchain transactions to optimize performance and scalability |
CN107704269A (zh) * | 2017-10-16 | 2018-02-16 | 中国银行股份有限公司 | 一种基于区块链生成区块的方法以及系统 |
CN108053211B (zh) * | 2017-12-27 | 2021-04-06 | 北京欧链科技有限公司 | 基于区块链的交易处理方法及装置 |
-
2018
- 2018-09-05 CN CN201811033592.1A patent/CN109255709B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109255709A (zh) | 2019-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109034851B (zh) | 基于区块链的商品防伪溯源方法及其装置、区块链节点 | |
CN109255709B (zh) | 一种基于区块链的结账方法及其系统 | |
US11488455B1 (en) | Registry verification with authentication using a mobile device | |
CN109146645A (zh) | 基于区块链的商品推荐方法、区块链节点及系统 | |
CN110602248B (zh) | 异常行为信息的识别方法、系统、装置、设备及介质 | |
CN110322327A (zh) | 一种基于区块链技术的商场消费者购物推荐方法及装置 | |
US20190244243A1 (en) | Scalable decentralized digital and programmatic advertising analytics system | |
CN110458699A (zh) | 基于分布式帐簿的、实现金融包容性和可持续性的供应链应用的身份和起源 | |
CN105247541B (zh) | 改进的从卡的数字图像中提取金融账户信息 | |
CN109102308A (zh) | 基于区块链的商品信息维护方法、区块链节点及其系统 | |
CN109146573A (zh) | 基于区块链的商品积分方法及其装置、区块链节点 | |
CN107665432A (zh) | 在用户与各种银行服务的交互中识别可疑用户行为的系统和方法 | |
US10685348B2 (en) | System and method for secured tax refund for cross border transactions with mobile device wallet application | |
TWI715866B (zh) | 基於射頻識別技術實現身份識別的系統和方法 | |
KR20190115525A (ko) | 블록체인을 이용한 물류 관리 시스템 및 방법 | |
CN109272383A (zh) | 基于区块链的商品信息生成方法、区块链节点及其系统 | |
US20210049576A1 (en) | Point-of-sale system and method | |
CN103325038A (zh) | 移动终端根据销售终端提供的购物清单进行电子支付的系统和方法 | |
CN113409078A (zh) | 积分发放方法、装置、设备和存储介质 | |
CN113574843A (zh) | 用于异常监测的分布式日志 | |
WO2023114331A2 (en) | Framework for blockchain development | |
CN110941840B (zh) | 一种数据处理方法、系统及终端 | |
KR102333811B1 (ko) | 블록체인 기반의 카드 결제 처리 시스템 및 방법 | |
JP2024019528A (ja) | 電子レシート発行装置、電子レシート発行方法及びプログラム | |
CN111681010A (zh) | 一种交易验证方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |