CN108537522A - 一种区块链区块内账户余额计算方法 - Google Patents
一种区块链区块内账户余额计算方法 Download PDFInfo
- Publication number
- CN108537522A CN108537522A CN201810356411.2A CN201810356411A CN108537522A CN 108537522 A CN108537522 A CN 108537522A CN 201810356411 A CN201810356411 A CN 201810356411A CN 108537522 A CN108537522 A CN 108537522A
- Authority
- CN
- China
- Prior art keywords
- account
- transaction
- balance
- block
- block chain
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/02—Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
- G06Q20/023—Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP] the neutral party being a clearing house
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/085—Payment architectures involving remote charge determination or related payment systems
- G06Q20/0855—Payment architectures involving remote charge determination or related payment systems involving a third party
-
- 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/12—Accounting
- G06Q40/125—Finance or payroll
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Engineering & Computer Science (AREA)
- Finance (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明涉及一种区块链区块内账户余额计算方法,特别涉及到使用区块链实现第三方支付区块内账户余额计算,其特征在于包含以下步骤:(1)交易排序;(2)账户分组;(3)批量查询账户余额;(4)账户余额计算;(5)账户余额不足重验;(6)更新账户明细。本发明解决了采用区块链技术实现第三方支付账户余额计算的问题,即利用区块链技术的优点避免了第三方支付对账、清算、结算等繁杂问题,将业务化繁为简,优化流程,提高效率,降低成本,提高了生产力,又解决了区块链区块内账户复杂的余额计算问题,保证账户余额计算的正确。
Description
技术领域
本发明涉及一种区块链区块内账户余额计算方法,特别涉及到使用区块链实现第三方支付区块内账户余额计算。
背景技术
传统系统的第三方支付,交易如转账、充值、提现等在涉及对同一个账户的操作时,通常都是一笔一笔处理,即对同一个账户操作(账户余额增加或减少)是串行处理的,串行的含义是完成当前交易涉及的账户操作后再去执行下一个涉及到该账户的交易。
区块链是以块为单位组织的链式结构,每一块中可能有一个或多个交易,这些交易可能是充值、转账、提现等动账交易,也可能是余额查询或交易查询等查询交易,块中交易可能涉及一个用户的一个账户,也可能涉及多个用户的多个账户。
一个典型的区块(如附图1)包含如下交易(T表示交易,Tn表示第n个交易,如T1表示第1个交易):
(1)T1:用户A转账80人民币给用户B
(2)T2:用户B转账20人民币给用户C
(3)T3:用户C转账30人民币给用户D
(4)T4:用户D转账60人民币给用户A
(5)T5:用户E从自己的账户提现50人民币
(6)T6:用户E转账10人民币给用户A
(7)……。
分析上面的块内交易可以发现,T1与T2交易分别涉及到对用户B账户余额的增加与减少;而T1、T4与T6涉及到对用户A账户余额的不同操作,T2与T3涉及到对用户C账户余额的操作,T3与T4涉及到对用户D账户的操作,T5与T6涉及对用户E账户的操作,与传统系统的第三方支付相比较,使用区块链实现的第三方支付需要在区块内对同一账户进行批量余额计算。
发明内容
本发明的目的在于提供一种区块链区块内账户余额计算方法,包含以下步骤:
(1)交易排序;
(2)账户分组;
(3)批量查询账户余额;
(4)账户余额计算;
(5)账户余额不足重验;
(6)更新账户明细。
首先对附图1典型的业务场景进行抽象,演变(附图2)如下:
T1:A->B;
T2:B->C;
T3:C->D;
T4:D->A;
T5:E提现;
T6:E->A。
假设用户A、B、C、D与E,对应拥有账户a、账户b、账户c、账户d与账户e;T1、T2、T3、T4、T5与T6对应表示交易1、交易2、交易3、交易4、交易5与交易6;进而演变(附图3)如下:
T1:账户a -> 账户b;
T2:账户b ->账户c;
T3:账户c -> 账户d;
T4:账户d ->账户a;
T5:账户e提现;
T6:账户e ->账户a。
所述步骤(1)具体为:交易在客户端生成时统一打上时间戳,并随交易一块提交到服务端,区块链服务端对区块内交易按照交易中的时间戳升序排序,保证交易按照时间有序处理。
所述步骤(2)具体为:对块内交易按照交易涉及的账户分组,每一个账户关联记录一组交易对该账户的操作集。如附图4,图中+表示账户余额增加,-表示账户余额减少。
所述步骤(3)具体为:批量查询账户集中每一个账户的余额。当所述步骤(2)执行完后,得到关联当前区块中记录一组交易的账户集,如所述步骤(2)区块关联账户集{账户a,账户b,账户c,账户d,账户e},对账户进行余额计算,需要事先知道每一个账户的余额,可以对区块中关联的一组账户进行批量余额查询,查询出各个账户的余额。
所述步骤(4)具体为:当所述步骤(2)与所述步骤(3)执行完后,可以得到一组知道需要怎么执行操作的指令并知道每一个账户的初始余额,按照账户维度,循环从账户集中取出每一个账户,根据执行的指令(账户累加或累减)进行余额计算。
所述步骤(5)具体为:当在执行账户累减,比较当前余额与发生额,如果发生额大于当前余额,即余额不足时,标记当前交易,接着执行该账户的其他的交易,当其他交易执行完,再根据当前余额与标记交易的发生额比较,如果此时当前余额大于标记交易的发生额,正常执行并保留计算结果。
所述步骤(6)具体为,将所述步骤(4)与所述步骤(5)计算的各交易关联的账户余额记录进交易流水中,作为交易的一部分参与共识建块。
本发明提供的一种区块链区块内账户计算方法,解决了采用区块链技术实现第三方支付账户余额计算的问题,既利用区块链技术的优点避免了第三方支付对账、清结算等繁杂问题,将业务化繁为简,优化流程,提高效率,降低成本,提高了生产力,又解决了区块链区块内账户复杂的余额计算问题,保证账户余额计算的正确。
附图说明
图1是典型的第三方支付区块链业务场景示意图,选取某一区块(如区块id为15)进行分析。
图2是第三方支付区块链区块交易示意图,对图1进行业务抽象。
图3是第三方支付区块链区块中交易涉及到的账户及账户数据流转示意图,
如T1:a ->b表示交易1中,账户a转账给账户b。
图4是根据图1与图3拆解出来的一组账户集。
具体实施方式
在以下的叙述中,为了使读者更好的理解本申请而提出了许多技术细节,但是,本领域的普通技术人员可以理解,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也是本申请各权利要求所要求保护的技术方案。
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施方式作进一步的详细描述。
一般地,区块链建一个区块通常需要一定的时间,在这段时间里,通常有一部分时间用于扫描交易,假设区块链服务端在一次扫描交易的周期中,扫描到了6条交易:用户A转账80人民币给用户B;用户B转账20人民币给用户C;用户C转账30人民币给用户D;用户D转账60人民币给用户A;用户E从自己的账户提现50人民币;用户E转账10人民币给用户A,如图1所示。由于这6条交易中的多个交易多次关联同一个账户,为了保证计算结果的正确性和完整性,本发明采用下述步骤来完成。
步骤1:当交易在客户端生成时需要为交易打上时间戳,并随交易一块提交到服务端,将扫描到的交易按照客户端上送的时间进行升序排序。
步骤2:将排完序的交易(如图3)按照账户进行拆分,从图3可以看出,块号为15的区块涉及到账户a、账户b、账户c、账户d及账户e,{账户a,账户b,账户c,账户d,账户e}构成了块号为15的区块交易关联的账户集,其中,与账户a关联的交易有T1、T4、T6;与账户b关联的交易有T1、T2;与账户c关联的交易有T2、T3;与账户d关联的交易有T3、T4;与账户e关联的交易有T5、T6,如图4所示。
步骤3:批量查询账户a、账户b、账户c、账户d及账户e的账户余额。
步骤4:按照账户维度,循环从账户集中取出每一个账户,获取到这个账户关联的交易集,然后循环取出与这个账户关联的记录一组交易对该账户操作的指令元素,再根据指令元素决定与该账户余额进行累加或累减计算。
步骤5:当在执行账户累减,比较当前余额与发生额,如果发生额大于当前余额,即余额不足时,标记当前交易,接着执行该账户的其他交易,当其他交易执行完,再比较当前余额与标记交易的发生额,如果此时当前余额大于标记交易的发生额,正常执行并保留计算结果;如果此时当前余额还是小于标记交易的发生额,区块链忠实地记录本次流水,但结果不保留,并将该笔交易标记非法,将结果通知回客户端。
步骤6:将各交易关联的账户余额记录进交易流水中,作为交易的一部分参与共识建块。
Claims (7)
1.一种区块链区块内账户余额计算方法,其特征在于包含以下步骤:
(1)交易排序;
(2)账户分组;
(3)批量查询账户余额;
(4)账户余额计算;
(5)账户余额不足重验;
(6)更新账户明细。
2.根据权利要求1所述的一种区块链区块内账户余额计算方法,其特征在于:所述步骤(1)交易排序包括以下步骤:
步骤1.1交易在客户端生成时统一打上时间戳;
步骤1.2 时间戳随交易一块提交到服务端;
步骤1.3区块链服务端对区块内交易按照交易中的时间戳升序排序,保证交易按照时间有序处理。
3.根据权利要求1所述的一种区块链区块内账户余额计算方法,其特征在于:所述步骤(2)对块内交易按照账户分组,每一个账户关联记录一组交易对该账户的操作集,包括以下步骤:
步骤2.1循环从交易集中取出每一条原始交易;
步骤2.2构造账户关联记录交易对该账户的指令;
步骤2.3关联账户与对该账户操作的指令;
步骤2.4循环步骤2.1、2.2与2.3,将对相同账户的操作归集为一组。
4.根据权利要求1所述的一种区块链区块内账户余额计算方法,其特征在于:所述步骤(3)批量查询账户集中每一个账户的余额,包括以下步骤:
步骤3.1循环从分组后的账户指令集中取出每一个账户元素,构造账户集;
步骤3.2以账户集为输入条件,批量查询账户集中账户的信息;
步骤3.3循环取出账户信息集每一条记录,构造{账户:初始余额}集。
5.根据权利要求1所述的一种区块链区块内账户余额计算方法,其特征在于:当所述步骤(2)至(4)执行完后,可以得到一组知道需要怎么执行操作的指令并知道每一个账户的初始余额,按照账户维度,循环从账户集中取出每一个账户,根据执行的指令(账户累加或累减)进行余额计算,包括以下步骤:
步骤4.1循环从{账户:初始余额}集中取出每一个账户,并取出关联这个账户的交易操作集;
步骤4.2循环交易操作集,取出每一条操作指令,根据操作指令,并结合账户的初始余额,对账户进行累加或累减计算。
6.根据权利要求1所述的一种区块链区块内账户余额计算方法,其特征在于:所述步骤(5)账户余额不足重验包括以下步骤:
步骤5.1 当在执行账户累减,比较当前余额与发生额,如果发生额大于当前余额,即余额不足时,标记当前交易;
步骤5.2接着执行该账户的其他的交易,当其他交易执行完,再根据当前余额与标记交易的发生额比较,如果此时当前余额大于标记交易的发生额,正常执行并保留计算结果;如果此时当前余额还是小于标记交易的发生额,区块链忠实地记录本次流水,但结果不保留,将该笔交易标记非法,并将结果通知回客户端。
7.根据权利要求1所述的一种区块链区块内账户余额计算方法,其特征在于:将所述步骤(5)至(6)计算的各交易关联的账户余额记录进交易流水中,作为交易的一部分参与共识建块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810356411.2A CN108537522A (zh) | 2018-04-19 | 2018-04-19 | 一种区块链区块内账户余额计算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810356411.2A CN108537522A (zh) | 2018-04-19 | 2018-04-19 | 一种区块链区块内账户余额计算方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108537522A true CN108537522A (zh) | 2018-09-14 |
Family
ID=63478793
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810356411.2A Pending CN108537522A (zh) | 2018-04-19 | 2018-04-19 | 一种区块链区块内账户余额计算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108537522A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111192147A (zh) * | 2020-04-10 | 2020-05-22 | 支付宝(杭州)信息技术有限公司 | 基于区块链的资金核对方法、装置、电子设备及介质 |
CN112070602A (zh) * | 2020-09-10 | 2020-12-11 | 云加数据科技(深圳)有限公司 | 一种对银行虚拟账户跟踪记账的方法及系统 |
CN112711638A (zh) * | 2020-12-30 | 2021-04-27 | 普华云创科技(北京)有限公司 | 一种具有主子账户属性的区块链账户体系实现方法和系统 |
US11494766B2 (en) | 2019-07-23 | 2022-11-08 | Advanced New Technologies Co., Ltd. | Managing transactions on blockchain networks |
CN115330532A (zh) * | 2022-10-10 | 2022-11-11 | 北京百度网讯科技有限公司 | 基于账户模型的区块链处理方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103489099A (zh) * | 2013-09-24 | 2014-01-01 | 招商银行股份有限公司 | 电子现金清算的方法和装置 |
CN106327220A (zh) * | 2016-08-31 | 2017-01-11 | 无锡雅座在线科技发展有限公司 | 异常账户的确定方法和装置 |
CN106952158A (zh) * | 2017-03-17 | 2017-07-14 | 证通股份有限公司 | 解决热点账户问题的记账方法及设备 |
-
2018
- 2018-04-19 CN CN201810356411.2A patent/CN108537522A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103489099A (zh) * | 2013-09-24 | 2014-01-01 | 招商银行股份有限公司 | 电子现金清算的方法和装置 |
CN106327220A (zh) * | 2016-08-31 | 2017-01-11 | 无锡雅座在线科技发展有限公司 | 异常账户的确定方法和装置 |
CN106952158A (zh) * | 2017-03-17 | 2017-07-14 | 证通股份有限公司 | 解决热点账户问题的记账方法及设备 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11494766B2 (en) | 2019-07-23 | 2022-11-08 | Advanced New Technologies Co., Ltd. | Managing transactions on blockchain networks |
CN111192147A (zh) * | 2020-04-10 | 2020-05-22 | 支付宝(杭州)信息技术有限公司 | 基于区块链的资金核对方法、装置、电子设备及介质 |
CN112070602A (zh) * | 2020-09-10 | 2020-12-11 | 云加数据科技(深圳)有限公司 | 一种对银行虚拟账户跟踪记账的方法及系统 |
CN112070602B (zh) * | 2020-09-10 | 2021-05-07 | 云加数据科技(深圳)有限公司 | 一种对银行虚拟账户跟踪记账的方法及系统 |
CN112711638A (zh) * | 2020-12-30 | 2021-04-27 | 普华云创科技(北京)有限公司 | 一种具有主子账户属性的区块链账户体系实现方法和系统 |
CN115330532A (zh) * | 2022-10-10 | 2022-11-11 | 北京百度网讯科技有限公司 | 基于账户模型的区块链处理方法、装置、设备及存储介质 |
CN115330532B (zh) * | 2022-10-10 | 2023-03-10 | 北京百度网讯科技有限公司 | 基于账户模型的区块链处理方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108537522A (zh) | 一种区块链区块内账户余额计算方法 | |
Wignaraja | Trade Liberalization in Sri Lanka | |
CN105427031B (zh) | 三方数据核对方法及系统 | |
CN107798515A (zh) | 一种数据库自动生成会计凭证的方法 | |
CN105631737A (zh) | 一种对账方法与系统 | |
CN107358518A (zh) | 多态多维度衔接直联式账户信息采集方法 | |
CN107169856A (zh) | 一种公积金业务对账方法和系统 | |
CN110675216A (zh) | 一种账单数据生成方法及装置 | |
CN106339906A (zh) | 一种基于电子商务的导购系统推广方法 | |
Nam et al. | An inquiry into the transformation process of village-based industrial clusters: The case of an iron and steel cluster in northern Vietnam | |
CN113159963A (zh) | 一种供应链金融方案匹配方法及装置 | |
Gebreeyesus | A natural experiment of industrial policy: Floriculture and the metal and engineering industries in Ethiopia | |
CN103810572B (zh) | 一种会计单据数据处理方法 | |
Hamilton et al. | Deep integration: How transatlantic markets are leading globalization | |
Wölfing et al. | Cash management in transition: From cash management to cash process management | |
Bala et al. | A Study of VAT in United Arab Emirates & Its Impact on Financial Services & Insurance Industry | |
Saphyra et al. | A Systematic Literature Review of Fintech Investment and Relationship with Bank in Developed Countries | |
CN106204172A (zh) | 为含税额销售单开具单税率增值税发票的方法和系统 | |
CN107391476A (zh) | 基于数据资产化平台建立票据模板的方法 | |
Mishra et al. | Integration of information technology with supply chain management for a strategic change | |
Ali et al. | Foreign Direct Investment and Sustainable Long Run Economic Growth Nexus: A Case Study of Pakistan | |
CN109903134A (zh) | 一种订单自动生成方法及系统、存储介质 | |
Thaw | CHALLENGES AND ISSUES OF CORE BANKING TRANSFORMATION OF PRIVATE BANKS IN MYANMAR | |
CN116739719B (zh) | 一种交易平台的流程配置系统及方法 | |
CN108229971A (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 |