CN108647960A - 一种基于区块链技术的捐助资金管理方法及系统 - Google Patents
一种基于区块链技术的捐助资金管理方法及系统 Download PDFInfo
- Publication number
- CN108647960A CN108647960A CN201810310277.2A CN201810310277A CN108647960A CN 108647960 A CN108647960 A CN 108647960A CN 201810310277 A CN201810310277 A CN 201810310277A CN 108647960 A CN108647960 A CN 108647960A
- Authority
- CN
- China
- Prior art keywords
- block
- expenditure
- block chain
- contribution
- 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.)
- Granted
Links
- 238000007726 management method Methods 0.000 title claims abstract description 45
- 238000005516 engineering process Methods 0.000 title claims abstract description 41
- 238000004804 winding Methods 0.000 claims description 8
- 230000000694 effects Effects 0.000 claims description 2
- 238000000034 method Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 8
- 230000008520 organization Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004080 punching Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/26—Government or public services
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Strategic Management (AREA)
- Accounting & Taxation (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- Primary Health Care (AREA)
- Marketing (AREA)
- General Health & Medical Sciences (AREA)
- Economics (AREA)
- Educational Administration (AREA)
- Development Economics (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Finance (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于区块链技术的捐助资金管理方法及系统,该方法包括以下步骤:当判断捐款人捐款完成后,生成对应的捐款区块,并添加到用于记录捐助资金情况的捐款区块链中;当判断出现新的专项费用支出请求时,生成与该专项的专项信息对应的支出区块,并添加到用于记录该专项信息的捐助资金支出情况的支出区块链中;当判断出现专项费用具体支出明细请求时,查找获得与该专项对应的支出区块,进而将专项费用具体支出明细生成对应的支出明细区块,并添加到用于记录该专项信息的捐助资金明细支出情况的支出明细区块链中。本发明数据公开、透明,追溯性强,可以对捐助资金的支出情况进行有效监督,可广泛应用于数据处理行业中。
Description
技术领域
本发明涉及计算机软件领域,特别是涉及一种基于区块链技术的捐助资金管理方法及系统。
背景技术
随着经济水平的不断提升,越来越多的人开始热衷慈善及公益事业,并愿意为各类基金捐献资金。但在捐助资金管理中,仍存在不少问题和障碍,其中,最大的问题是公众迫切希望资金的管理、收支透明、公开,可对全程追溯,但现有的管理、技术未能从根本上解决此类问题。其中原因之一是现今捐助资金的管理仍采用集中管理的方式,由单一组织或某些联合组织管理,公众参与度低、知情权少,信息不对称,追溯性差,无法对捐助资金进行有效的监督。
发明内容
为了解决上述的技术问题,本发明的目的是提供一种基于区块链技术的捐助资金管理方法及系统。
本发明解决其技术问题所采用的技术方案是:
一种基于区块链技术的捐助资金管理方法,包括以下步骤:
当判断捐款人捐款完成后,生成对应的捐款区块,并添加到用于记录捐助资金情况的捐款区块链中;
当判断出现新的专项费用支出请求时,生成与该专项的专项信息对应的支出区块,并添加到用于记录该专项信息的捐助资金支出情况的支出区块链中;
当判断出现专项费用具体支出明细请求时,查找获得与该专项对应的支出区块,进而将专项费用具体支出明细生成对应的支出明细区块,并添加到用于记录该专项信息的捐助资金明细支出情况的支出明细区块链中。
进一步,所述捐款区块链由捐款链头结点和多个捐款区块串连构成,且捐款链头结点中记录有捐款区块链的区块链类型和区块链状态;
所述支出区块链由支出链头结点和多个支出区块串连构成,且支出链头结点中记录有支出区块链的区块链类型和区块链状态;
所述支出明细区块链由支出明细链头结点和多个支出明细区块串连构成,且支出明细链头结点中记录有支出明细区块链的区块链类型、支出链区块地址、支出总金额、支出明细文件地址和区块链状态;
其中,所述支出链区块地址用于标记该支出对应专项的支出区块的地址;
所述区块链状态用于标识对应区块链处于开放或关闭状态,当区块链处于开放状态时,允许对该区块链进行区块节点的编辑、查看,当区块链处于关闭状态时,仅允许对该区块链进行区块节点的查看。
进一步,所述当判断捐款人捐款完成后,生成对应的捐款区块,并添加到用于记录捐助资金情况的捐款区块链中的步骤,具体包括以下步骤:
S11、当判断捐款人捐款完成后,根据捐款区块链的广播地址获得当前捐款区块链的最后一个区块的地址;
S12、根据该最后一个区块的地址,将捐款人的捐助资金情况生成对应的捐款区块;
S13、申请将生成的捐款区块加入捐款区块链中,判断是否存在冲突,若是,则采用仲裁机制进行处理后,添加到捐款区块链中,反之,直接将捐款区块添加到捐款区块链中。
进一步,所述步骤S13,具体包括以下步骤:
S131、申请将生成的捐款区块加入捐款区块链中;
S132、判断该捐款区块是否存在与同时申请加入捐款区块链的其它捐款区块节点之间的冲突,若存在,则继续执行步骤S132,反之,直接将该捐款区块添加到捐款区块链中;
S133、将存在冲突的多个捐款区块广播到区块链网络中;
S134、采用仲裁机制对存在冲突的多个捐款区块进行处理并添加到捐款区块链中。
进一步,所述步骤S134,具体包括以下步骤:
仲裁委员会对存在冲突的多个捐款区块进行回复;
当判断捐款区块接收到仲裁委员会的预设K个仲裁委员的回复后,判断该捐款区块有效;
按照多个捐款区块接收到K个回复的时间先后顺序,将多个捐款区块依次添加到捐款区块链中;
其中,所述仲裁委员会由区块链网络中随机选取的M个区块节点组成,用于处理区块之间的冲突问题;且当仲裁委员会中的区块节点超过预设次数未处理区块节点的仲裁请求时,自动选择其它区块节点替代该区块节点加入仲裁委员会。
进一步,所述当判断出现新的专项费用支出请求时,生成与该专项的专项信息对应的支出区块,并添加到用于记录该专项信息的捐助资金支出情况的支出区块链中的步骤,具体包括:
S21、当判断出现新的专项费用支出请求时,根据支出区块链的广播地址,获得当前支出区块链的最后一个区块的地址;
S22、当判断该专项费用支出请求通过时,根据该最后一个区块的地址,创建与该专项的专项信息对应的支出区块,并将生成的支出区块添加到支出区块链中。
进一步,所述当判断出现专项费用具体支出明细请求时,查找获得与该专项对应的支出区块,进而将专项费用具体支出明细生成对应的支出明细区块,并添加到用于记录该专项信息的捐助资金明细支出情况的支出明细区块链中的步骤,具体包括:
S31、当判断出现专项费用具体支出明细请求时,查找获得与该专项对应的支出区块;
S32、判断该支出区块是否为第一次支出,若是,则创建对应的支出明细链头结点后,执行步骤S33,反之,直接执行步骤S33;
S33、生成与该专项费用具体支出明细对应的支出明细区块;
S34、申请将生成的支出明细区块加入支出明细区块链中,判断是否存在冲突,若是,则采用仲裁机制进行处理后,添加到支出明细区块链中,反之,直接将支出明细区块添加到支出明细区块链中。
进一步,所述步骤S34,具体包括以下步骤:
S341、申请将生成的支出明细区块加入支出明细区块链中;
S342、判断该支出明细区块是否存在与同时申请加入支出明细区块链的其它支出明细区块节点之间的冲突,若存在,则继续执行步骤S343,反之,直接将该支出明细区块添加到支出明细区块链中;
S343、将存在冲突的多个支出明细区块广播到区块链网络中;
S344、采用仲裁机制对存在冲突的多个支出明细区块进行处理并添加到支出明细区块链中。
进一步,所述步骤S344,具体包括:
仲裁委员会对存在冲突的多个支出明细区块进行回复;
当判断支出明细区块接收到仲裁委员会的预设K个仲裁委员的回复后,判断该支出明细区块有效;
按照多个支出明细区块接收到K个回复的时间先后顺序,将多个支出明细区块依次添加到支出明细区块链中;
其中,所述仲裁委员会由区块链网络中随机选取的M个区块节点组成,用于处理区块之间的冲突问题;且当仲裁委员会中的区块节点超过预设次数未处理区块节点的仲裁请求时,自动选择其它区块节点替代该区块节点加入仲裁委员会。
本发明解决其技术问题所采用的另一技术方案是:
一种基于区块链技术的捐助资金管理系统,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现所述的一种基于区块链技术的捐助资金管理方法。
本发明的有益效果是:本发明通过将捐款人的捐款信息生成对应的捐款区块,并添加到用于记录捐助资金情况的捐款区块链中,将专项费用支出请求生成对应的支出区块,添加到用于记录该专项信息的捐助资金支出情况的支出区块链中,且将专项费用具体支出明细生成对应的支出明细区块,并添加到用于记录该专项信息的捐助资金明细支出情况的支出明细区块链中,因此任何公众都可以通过区块链网络对所有具体捐助资金信息、支出信息进行查询,数据公开、透明,追溯性强,可以对捐助资金的支出情况进行有效监督。
附图说明
图1是本发明的一种基于区块链技术的捐助资金管理方法的流程图;
图2是本发明的一种基于区块链技术的捐助资金管理方法的捐款链头结点的数据格式示意图;
图3是本发明的一种基于区块链技术的捐助资金管理方法的捐款区块的数据格式示意图;
图4是本发明的一种基于区块链技术的捐助资金管理方法的支出链头结点的数据格式示意图;
图5是本发明的一种基于区块链技术的捐助资金管理方法的支出区块的数据格式示意图;
图6是本发明的一种基于区块链技术的捐助资金管理方法的支出明细链头结点的数据格式示意图;
图7是本发明的一种基于区块链技术的捐助资金管理方法的支出明细区块的数据格式示意图;
图8是本发明的一种基于区块链技术的捐助资金管理方法的一区块链示意图;
图9是本发明的一种基于区块链技术的捐助资金管理方法中的捐款处理流程图;
图10是本发明的一种基于区块链技术的捐助资金管理方法中的支出处理流程图;
图11是本发明的一种基于区块链技术的捐助资金管理系统的结构框图。
具体实施方式
方法实施例
参照图1,本发明提供了一种基于区块链技术的捐助资金管理方法,包括以下步骤:
S1、当判断捐款人捐款完成后,生成对应的捐款区块,并添加到用于记录捐助资金情况的捐款区块链中;
S2、当判断出现新的专项费用支出请求时,生成与该专项的专项信息对应的支出区块,并添加到用于记录该专项信息的捐助资金支出情况的支出区块链中;
S3、当判断出现专项费用具体支出明细请求时,查找获得与该专项对应的支出区块,进而将专项费用具体支出明细生成对应的支出明细区块,并添加到用于记录该专项信息的捐助资金明细支出情况的支出明细区块链中。
这里的“专项”是指规定专属用途的项目信息,例如“2018年失学儿童救助专项100万元”、“2018年流浪人口救助专项50万元”等。
本方案通过将捐款人的捐款信息生成对应的捐款区块,并添加到用于记录捐助资金情况的捐款区块链中,将专项费用支出请求生成对应的支出区块,添加到用于记录该专项信息的捐助资金支出情况的支出区块链中,且支出明细区块中记载有对应的支出区块的地址,因此,在具体出现专项费用具体支出明细请求时,将对应的支出明细信息生成对应的支出明细区块,添加到用于记录该专项信息的捐助资金明细支出情况的支出明细区块链。本方案应用区块链技术后,任何公众都可以通过区块链网络对所有具体捐助资金信息、支出信息进行查询,数据公开、透明,追溯性强,可以对捐助资金的支出情况进行有效监督。
进一步作为优选的实施方式,所述捐款区块链由捐款链头结点和多个捐款区块串连构成,且捐款链头结点中记录有捐款区块链的区块链类型和区块链状态;
所述支出区块链由支出链头结点和多个支出区块串连构成,且支出链头结点中记录有支出区块链的区块链类型和区块链状态;
所述支出明细区块链由支出明细链头结点和多个支出明细区块串连构成,且支出明细链头结点中记录有支出明细区块链的区块链类型、支出链区块地址、支出总金额、支出明细文件地址和区块链状态;
其中,所述支出链区块地址用于标记该支出对应专项的支出区块的地址;
所述区块链状态用于标识对应区块链处于开放或关闭状态,当区块链处于开放状态时,允许对该区块链进行区块节点的编辑、查看,当区块链处于关闭状态时,仅允许对该区块链进行区块节点的查看。
参照图2所示,捐款链头结点的数据格式为:D+创建者+创建时间+区块链状态+备注;其中,D表示捐款区块链的区块链类型;
参照图3所示,捐款区块的数据格式为:上一区块地址+创建者+创建时间+捐款状态+是否匿名+项目编号+捐款金额+备注;
其中,上一区块地址指该捐款区块在捐款区块链中的上一个捐款区块的地址,具体生成时,是获取捐款区块链的最后一个地址作为该上一区块地址的。下面的支出区块和支出明细区块中的上一区块地址也相同。
参照图4所示,支出链头结点的数据格式为:P+创建者+创建时间+区块链状态+备注;其中,P表示支出区块链的区块链类型;
参照图5所示,支出区块的数据格式为:上一区块地址+创建者+创建时间+项目编号+申请支出金额+批准支出金额+相关支出文件地址+支出明细链地址+支出状态+备注。
参照图6所示,支出明细链头结点的数据格式为:PD+支出链区块地址+创建者+创建时间+项目编号+支出总金额+支出明细文件地址+区块链状态+备注;其中,PD表示支出区块链的区块链类型;
参照图7所示,支出明细区块的数据格式为:上一区块地址+创建者+创建时间+支出内容+支出金额+支出日期+支出人+批准人+相关文件地址+备注。
其中,创建者,支出人,批准人的个人资料可按照相关规定或要求公开,用户点击相关人名可以看到其公开的详细资料,便于公众监督。
字段“项目编号”是基金管理方或区块链创建人为每个捐助项目设置的唯一编号,资金捐助或支出必须对应某一具体项目。
文件地址指向某一具体地址,用户点击后可查看相关文件。如果包括多个文件,则需先打包压缩成一个文件。例如,如支出区块中的相关文件可能包括:支出申请文件,批准文件、支出管理办法等,这些文件需打包成一个文件,存放到一地址后,将该地址在支出区块的相关文件地址中。
需要注意,链头结点或区块结点中的字段组成可根据专利实施方的具体要求增减,本实施例仅列出一般性字段。
更具体的,由于区块链基于对等网络运行,网络中的某些结点可能同时申请将自己创建的区块加入区块链中,由于区块链技术中,当前生成的区块登记的“上一区块地址”都是当前区块链中的最后一个地址,即这几个区块“上一个区块地址”相同,因此,会发生冲突,例如当几个区块的“上一个区块地址”均为图8中最后一个区块的地址“OXAFCEBE”时,为了解决此类冲突,专利引入“裁决机制”来解决冲突。
裁决机制处理冲突的规则如下:
1.在区块链网络中随机选择M个区块节点组成仲裁委员会,用于处理区块冲突问题,一旦发生冲突的区块申请仲裁,仲裁委员会根据收到请求的先后顺序返回确认信息。规则规定,发生冲突的区块收到K(K<M,建议小于等于M的三分之一)个仲裁委员回复后,即认为有效,并按收到K个回复的时间先后顺序加入区块链。
2.作为仲裁委员会成员的区块节点超过一定次数未履行职责,即不处理区块链节点的仲裁请求,则自动退出委员会,由区块链网络自动选择其它区块结点担任空缺,加入仲裁委员会。
详细的,参照图9所述,捐款区块链处理算法如下:
1.系统启动,创建捐款区块链链头结点,并向全网广播捐款链头节点地址。
2.捐款人注册系统获得唯一用户标识uID,填写捐款人个人信息,包括姓名、身份证号、电子邮件、手机等,需隐藏信息用户可以不填写;
3.捐款人发起捐款请求,系统确认捐款信息有效,且资金到位后,生成一个新的捐款区块,区块内容按图3所示数据格式填写。若捐款人为某个项目的第一个捐款人,则其中“上一个区块地址”为网络中公布的该项目对应的区块链链头结点,否则,为上一个捐款区块地址。创建者为捐款人的uID,创建时间为当前时间,精确到秒。捐款人根据自己的要求选择是否匿名,“捐款金额”为本次捐款的金额,以万元为单位,项目编号为对应捐助项目对应的编号。创建完成后,该区块即申请加入捐款区块链中。
4.若捐款区块链存在冲突,则启用裁决机制予以解决,具体采用前述的裁决规则。
5.若捐款人因特殊原因撤回捐款,经管理委员会同意后,可创建撤回捐助区块,区块中的“捐助状态”设置为“撤回捐款”,其中的捐款金额为本次撤回捐助的金额,且为负值。
进一步作为优选的实施方式,所述当判断捐款人捐款完成后,生成对应的捐款区块,并添加到用于记录捐助资金情况的捐款区块链中的步骤,具体包括以下步骤:
S11、当判断捐款人捐款完成后,根据捐款区块链的广播地址获得当前捐款区块链的最后一个区块的地址;
S12、根据该最后一个区块的地址,将捐款人的捐助资金情况生成对应的捐款区块;
S13、申请将生成的捐款区块加入捐款区块链中,判断是否存在冲突,若是,则采用仲裁机制进行处理后,添加到捐款区块链中,反之,直接将捐款区块添加到捐款区块链中。
进一步作为优选的实施方式,所述步骤S13,具体包括以下步骤:
S131、申请将生成的捐款区块加入捐款区块链中;
S132、判断该捐款区块是否存在与同时申请加入捐款区块链的其它捐款区块节点之间的冲突,若存在,则继续执行步骤S132,反之,直接将该捐款区块添加到捐款区块链中;
S133、将存在冲突的多个捐款区块广播到区块链网络中;
S134、采用仲裁机制对存在冲突的多个捐款区块进行处理并添加到捐款区块链中。
进一步作为优选的实施方式,所述步骤S134,具体包括以下步骤:
仲裁委员会对存在冲突的多个捐款区块进行回复;
当判断捐款区块接收到仲裁委员会的预设K个仲裁委员的回复后,判断该捐款区块有效;
按照多个捐款区块接收到K个回复的时间先后顺序,将多个捐款区块依次添加到捐款区块链中;
其中,所述仲裁委员会由区块链网络中随机选取的M个区块节点组成,用于处理区块之间的冲突问题;且当仲裁委员会中的区块节点超过预设次数未处理区块节点的仲裁请求时,自动选择其它区块节点替代该区块节点加入仲裁委员会。
即,该区块节点不再担任仲裁委员会的仲裁委员的职责,通过区块链技术自动选择其它区块节点替代该区块节点作为仲裁委员加入仲裁委员会。
本方案中,采用仲裁机制对存在冲突的多个区块进行处理,可以方便、快速地处理复杂的区块冲突,算法简单、便于实现,计算效率高。
步骤S2和S3实际上均是对捐助资金支出的过程的管理,即对捐助资金支出的管理,两者的总体逻辑过程如图10所示,主要包括以下步骤:
1.创建支出区块链头,并向区块链网络广播链头地址。
2.若有费用支出,则先报基金管理委员会审批,审批通过后,生成支出区块,按图5所示,填写支出区块中的相关内容。
3.进行具体开支时,由开支负责人先找到相应的支出区块,如果是第一次开支,则先生成支出明细链头,填写链头中相关字段内容,然后生成一个“支出明细区块”,按图6、图7所示,填写相关内容。若为第二次及以后的开支,则直接按照图7生成一个“支出明细区块”并填写相关资料。
4.区块创建成功后,即申请加入相应区块链,若存在冲突,则采用“裁决机制”解决。
更具体的:
进一步作为优选的实施方式,所述当判断出现新的专项费用支出请求时,生成与该专项的专项信息对应的支出区块,并添加到用于记录该专项信息的捐助资金支出情况的支出区块链中的步骤,具体包括:
S21、当判断出现新的专项费用支出请求时,根据支出区块链的广播地址,获得当前支出区块链的最后一个区块的地址;
S22、当判断该专项费用支出请求通过时,根据该最后一个区块的地址,创建与该专项的专项信息对应的支出区块,并将生成的支出区块添加到支出区块链中。
进一步作为优选的实施方式,所述当判断出现专项费用具体支出明细请求时,查找获得与该专项对应的支出区块,进而将专项费用具体支出明细生成对应的支出明细区块,并添加到用于记录该专项信息的捐助资金明细支出情况的支出明细区块链中的步骤,具体包括:
S31、当判断出现专项费用具体支出明细请求时,查找获得与该专项对应的支出区块;
S32、判断该支出区块是否为第一次支出,若是,则创建对应的支出明细链头结点后,执行步骤S33,反之,直接执行步骤S33;
S33、生成与该专项费用具体支出明细对应的支出明细区块;
S34、申请将生成的支出明细区块加入支出明细区块链中,判断是否存在冲突,若是,则采用仲裁机制进行处理后,添加到支出明细区块链中,反之,直接将支出明细区块添加到支出明细区块链中。
进一步作为优选的实施方式,所述步骤S34,具体包括以下步骤:
S341、申请将生成的支出明细区块加入支出明细区块链中;
S342、判断该支出明细区块是否存在与同时申请加入支出明细区块链的其它支出明细区块节点之间的冲突,若存在,则继续执行步骤S343,反之,直接将该支出明细区块添加到支出明细区块链中;
S343、将存在冲突的多个支出明细区块广播到区块链网络中;
S344、采用仲裁机制对存在冲突的多个支出明细区块进行处理并添加到支出明细区块链中。
进一步作为优选的实施方式,所述步骤S344,具体包括:
仲裁委员会对存在冲突的多个支出明细区块进行回复;
当判断支出明细区块接收到仲裁委员会的预设K个仲裁委员的回复后,判断该支出明细区块有效;
按照多个支出明细区块接收到K个回复的时间先后顺序,将多个支出明细区块依次添加到支出明细区块链中;
其中,所述仲裁委员会由区块链网络中随机选取的M个区块节点组成,用于处理区块之间的冲突问题;且当仲裁委员会中的区块节点超过预设次数未处理区块节点的仲裁请求时,自动选择其它区块节点替代该区块节点加入仲裁委员会。
本方法中,可以实现捐助资金的捐款过程和支出过程中,数据公开透明,无人为干扰因素,流程及过程均可追溯。任何公众都可以通过区块链网络对所有具体捐助资金信息、支出信息进行查询,数据公开、透明,追溯性强,可以对捐助资金的支出情况进行有效监督,本方法实现简单、效率高,具有较好的应用前景。
系统实施例
参照图11所示,本实施例提供了一种基于区块链技术的捐助资金管理系统,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现所述的一种基于区块链技术的捐助资金管理方法。
本实施例的基于区块链技术的捐助资金管理系统,可执行本发明方法实施例所提供的基于区块链技术的捐助资金管理方法,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。
本发明方案实施逻辑实施例
本实施例描述了如何实现本发明技术方案的详细编程逻辑以及对应的中文解释,在编程过程中,可以采用以下逻辑过程进行编程:
一、基于区块链技术,构建用于管理捐助资金的管理系统:
(1)initBlockchain(int type);
初始化区块链函数,type=“D”代表捐款区块链;type=“P”代表支出区块链;type=“PD”代表支出明细区块链。
(2)createBlock(string ownerID);
创建一个新的区块,创建人为ownerID。
(3)getLastBlock(string blockID);
返回链头地址为blockID的区块链最后一个区块地址。
(4)setpreBlockValue(string blockID);
设置地址为blockID的区块中的“上一个区块地址”。
(5)updatepreBlockValue(string blockID,string address);
将地址为blockID区块中的“上一区块地址”更新为address。
(6)registerBlock(string blockID,string headBlockID);
将地址为blockID对应的区块加入到链头结点地址为headBlockID对应的区块链中,若区块链处于关闭状态,则该操作将失败。
(7)mergeBlockchain(string blockID);
如果地址为blockID的区块中的“上一区块地址”与区块链当前最后一个区块地址不相等,则意味区块链存在冲突,先调用基于仲裁机制的冲突算法处理冲突,然后将blockID对应区块字段“上一区块地址”修改为当前区块链中最后一个块的地址。即将该区块设为区块链的最后一个块。
(8)broadcastBlock(string blockID);
将地址为blockID的区块链广播到网络中。
(9)broadcollsionBlocks(string[]blockID);
将有冲突的所有区块广播到网络中。
(10)dealcollsionBlocks(string[]blockID);
裁决处理所有有冲突的区块。
(11)replyForcollsionBlock(string blockID,string boardBlockID)
裁决委员会成员对发生冲突节点(区块地址为blockID的节点)的回复。
(12)getAllcollsionBlocks(string[]blockID);
获取网络中有冲突的区块。
二、捐款处理流程如下:
1.启动区块链捐助管理系统,系统创建区块链链头结点,并广播链头结点地址,具体编程逻辑如下:
String headBlockID=initBlockchain(“D”);//创建链头结点
broadcastBlock(headBlockID);//广播链头结点地址
2.捐款人注册系统,获得用户标识,本实施例中,假设用户获得的标识为”D20180101”。
3.捐款人发起捐款请求,资金到位后,系统创建新的捐款区块:
String blockID=createBlock(”D20180101”)。
4.若捐款区块链不存在冲突,并处于开放状态,则将区块加入到区块链中;
registerBlock(blockID)。
5.若捐款区块链存在冲突,设仲裁委员会成员节点地址为board[k]:
5.1将有冲突的区块广播到网络中:
broadcollsionBlocks(blockID[])。
5.2裁决委员会进行仲裁:
(1)先获取网络中有冲突的区块
String[]blocks=getAllcollsionBlocks();
(2)委员会成员对有冲突的区块进行回复
replyForcollsionBlock(blocks[i],board[j]);
(3)dealcollsionBlocks(blocks);//处理有冲突的区块。
三、支出处理流程如下:
1.创建支出区块链头,并公布地址
String headBlockID=initBlockchain(“p”);//创建支出链头结点
broadcastBlock(headBlockID);//广播链头地址。
2.费用支出前先报管理委员会批准,审批通过后,生成支出区块,并填写支出区块中相关内容:
String blockID=createBlock(uID)。
3.具体开支时,按如下步骤操作;
3.1先找到相应的支出区块;
3.2判断是否是第一次开支,若是,先生成支出明细链头,并填写链头中相关资料;
String headBlockID=initBlockchain(“PD”)。
3.3生成支出明细区块,填写相关内容:
String blockID=createBlock(uID)。
4.若区块不存在冲突,则加入支出明细区块链,否则,按照与前述第二部分捐款区块链处理冲突方式相同的方式,采用仲裁机制处理区块之间的冲突:
registerBlock(blockID)。
基于上述逻辑实现本发明技术方案之后,可以对捐助资金的录入、支出情况进行有效监督,本方法实现简单、效率高,具有较好的应用前景。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变型或替换均包含在本申请权利要求所限定的范围内。
Claims (10)
1.一种基于区块链技术的捐助资金管理方法,其特征在于,包括以下步骤:
当判断捐款人捐款完成后,生成对应的捐款区块,并添加到用于记录捐助资金情况的捐款区块链中;
当判断出现新的专项费用支出请求时,生成与该专项的专项信息对应的支出区块,并添加到用于记录该专项信息的捐助资金支出情况的支出区块链中;
当判断出现专项费用具体支出明细请求时,查找获得与该专项对应的支出区块,进而将专项费用具体支出明细生成对应的支出明细区块,并添加到用于记录该专项信息的捐助资金明细支出情况的支出明细区块链中。
2.根据权利要求1所述的一种基于区块链技术的捐助资金管理方法,其特征在于,所述捐款区块链由捐款链头结点和多个捐款区块串连构成,且捐款链头结点中记录有捐款区块链的区块链类型和区块链状态;
所述支出区块链由支出链头结点和多个支出区块串连构成,且支出链头结点中记录有支出区块链的区块链类型和区块链状态;
所述支出明细区块链由支出明细链头结点和多个支出明细区块串连构成,且支出明细链头结点中记录有支出明细区块链的区块链类型、支出链区块地址、支出总金额、支出明细文件地址和区块链状态;
其中,所述支出链区块地址用于标记该支出对应专项的支出区块的地址;
所述区块链状态用于标识对应区块链处于开放或关闭状态,当区块链处于开放状态时,允许对该区块链进行区块节点的编辑、查看,当区块链处于关闭状态时,仅允许对该区块链进行区块节点的查看。
3.根据权利要求1所述的一种基于区块链技术的捐助资金管理方法,其特征在于,所述当判断捐款人捐款完成后,生成对应的捐款区块,并添加到用于记录捐助资金情况的捐款区块链中的步骤,具体包括以下步骤:
S11、当判断捐款人捐款完成后,根据捐款区块链的广播地址获得当前捐款区块链的最后一个区块的地址;
S12、根据该最后一个区块的地址,将捐款人的捐助资金情况生成对应的捐款区块;
S13、申请将生成的捐款区块加入捐款区块链中,判断是否存在冲突,若是,则采用仲裁机制进行处理后,添加到捐款区块链中,反之,直接将捐款区块添加到捐款区块链中。
4.根据权利要求3所述的一种基于区块链技术的捐助资金管理方法,其特征在于,所述步骤S13,具体包括以下步骤:
S131、申请将生成的捐款区块加入捐款区块链中;
S132、判断该捐款区块是否存在与同时申请加入捐款区块链的其它捐款区块节点之间的冲突,若存在,则继续执行步骤S132,反之,直接将该捐款区块添加到捐款区块链中;
S133、将存在冲突的多个捐款区块广播到区块链网络中;
S134、采用仲裁机制对存在冲突的多个捐款区块进行处理并添加到捐款区块链中。
5.根据权利要求4所述的一种基于区块链技术的捐助资金管理方法,其特征在于,所述步骤S134,具体包括以下步骤:
仲裁委员会对存在冲突的多个捐款区块进行回复;
当判断捐款区块接收到仲裁委员会的预设K个仲裁委员的回复后,判断该捐款区块有效;
按照多个捐款区块接收到K个回复的时间先后顺序,将多个捐款区块依次添加到捐款区块链中;
其中,所述仲裁委员会由区块链网络中随机选取的M个区块节点组成,用于处理区块之间的冲突问题;且当仲裁委员会中的区块节点超过预设次数未处理区块节点的仲裁请求时,自动选择其它区块节点替代该区块节点加入仲裁委员会。
6.根据权利要求1所述的一种基于区块链技术的捐助资金管理方法,其特征在于,所述当判断出现新的专项费用支出请求时,生成与该专项的专项信息对应的支出区块,并添加到用于记录该专项信息的捐助资金支出情况的支出区块链中的步骤,具体包括:
S21、当判断出现新的专项费用支出请求时,根据支出区块链的广播地址,获得当前支出区块链的最后一个区块的地址;
S22、当判断该专项费用支出请求通过时,根据该最后一个区块的地址,创建与该专项的专项信息对应的支出区块,并将生成的支出区块添加到支出区块链中。
7.根据权利要求1所述的一种基于区块链技术的捐助资金管理方法,其特征在于,所述当判断出现专项费用具体支出明细请求时,查找获得与该专项对应的支出区块,进而将专项费用具体支出明细生成对应的支出明细区块,并添加到用于记录该专项信息的捐助资金明细支出情况的支出明细区块链中的步骤,具体包括:
S31、当判断出现专项费用具体支出明细请求时,查找获得与该专项对应的支出区块;
S32、判断该支出区块是否为第一次支出,若是,则创建对应的支出明细链头结点后,执行步骤S33,反之,直接执行步骤S33;
S33、生成与该专项费用具体支出明细对应的支出明细区块;
S34、申请将生成的支出明细区块加入支出明细区块链中,判断是否存在冲突,若是,则采用仲裁机制进行处理后,添加到支出明细区块链中,反之,直接将支出明细区块添加到支出明细区块链中。
8.根据权利要求7所述的一种基于区块链技术的捐助资金管理方法,其特征在于,所述步骤S34,具体包括以下步骤:
S341、申请将生成的支出明细区块加入支出明细区块链中;
S342、判断该支出明细区块是否存在与同时申请加入支出明细区块链的其它支出明细区块节点之间的冲突,若存在,则继续执行步骤S343,反之,直接将该支出明细区块添加到支出明细区块链中;
S343、将存在冲突的多个支出明细区块广播到区块链网络中;
S344、采用仲裁机制对存在冲突的多个支出明细区块进行处理并添加到支出明细区块链中。
9.根据权利要求8所述的一种基于区块链技术的捐助资金管理方法,其特征在于,所述步骤S344,具体包括:
仲裁委员会对存在冲突的多个支出明细区块进行回复;
当判断支出明细区块接收到仲裁委员会的预设K个仲裁委员的回复后,判断该支出明细区块有效;
按照多个支出明细区块接收到K个回复的时间先后顺序,将多个支出明细区块依次添加到支出明细区块链中;
其中,所述仲裁委员会由区块链网络中随机选取的M个区块节点组成,用于处理区块之间的冲突问题;且当仲裁委员会中的区块节点超过预设次数未处理区块节点的仲裁请求时,自动选择其它区块节点替代该区块节点加入仲裁委员会。
10.一种基于区块链技术的捐助资金管理系统,其特征在于,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如权利要求1-9任一项所述的一种基于区块链技术的捐助资金管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810310277.2A CN108647960B (zh) | 2018-04-09 | 2018-04-09 | 一种基于区块链技术的捐助资金管理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810310277.2A CN108647960B (zh) | 2018-04-09 | 2018-04-09 | 一种基于区块链技术的捐助资金管理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108647960A true CN108647960A (zh) | 2018-10-12 |
CN108647960B CN108647960B (zh) | 2020-05-19 |
Family
ID=63745465
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810310277.2A Active CN108647960B (zh) | 2018-04-09 | 2018-04-09 | 一种基于区块链技术的捐助资金管理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108647960B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109544128A (zh) * | 2018-10-18 | 2019-03-29 | 平安科技(深圳)有限公司 | 捐款信息管理的方法及服务器 |
CN109583862A (zh) * | 2018-11-29 | 2019-04-05 | 广州大学 | 一种基于区块链技术的点对点互联网公益管理方法及装置 |
CN109840846A (zh) * | 2018-12-25 | 2019-06-04 | 上海点融信息科技有限责任公司 | 基于区块链网络的捐赠数据录入方法、计算设备 |
CN110413697A (zh) * | 2019-08-02 | 2019-11-05 | 佛山市顺德区平行互联网信息科技有限公司 | 一种基于区块链的公益善款数据存储方法及系统 |
CN110597884A (zh) * | 2019-09-23 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 一种基于区块链网络的募捐方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101989942A (zh) * | 2009-08-07 | 2011-03-23 | 无锡江南计算技术研究所 | 仲裁控制方法、通信方法、仲裁器和通信系统 |
CN102204124A (zh) * | 2008-10-31 | 2011-09-28 | 惠普开发有限公司 | 具有共享光学接口的光学广播总线 |
KR101781583B1 (ko) * | 2016-08-31 | 2017-09-27 | 서강대학교산학협력단 | 블록체인을 기반으로 한 파일 관리/검색 시스템 및 파일 관리/검색 방법 |
CN107491946A (zh) * | 2017-07-10 | 2017-12-19 | 北京云知科技有限公司 | 一种将虚拟物品存储至区块链的方法、装置及电子设备 |
-
2018
- 2018-04-09 CN CN201810310277.2A patent/CN108647960B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102204124A (zh) * | 2008-10-31 | 2011-09-28 | 惠普开发有限公司 | 具有共享光学接口的光学广播总线 |
CN101989942A (zh) * | 2009-08-07 | 2011-03-23 | 无锡江南计算技术研究所 | 仲裁控制方法、通信方法、仲裁器和通信系统 |
KR101781583B1 (ko) * | 2016-08-31 | 2017-09-27 | 서강대학교산학협력단 | 블록체인을 기반으로 한 파일 관리/검색 시스템 및 파일 관리/검색 방법 |
CN107491946A (zh) * | 2017-07-10 | 2017-12-19 | 北京云知科技有限公司 | 一种将虚拟物品存储至区块链的方法、装置及电子设备 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109544128A (zh) * | 2018-10-18 | 2019-03-29 | 平安科技(深圳)有限公司 | 捐款信息管理的方法及服务器 |
CN109583862A (zh) * | 2018-11-29 | 2019-04-05 | 广州大学 | 一种基于区块链技术的点对点互联网公益管理方法及装置 |
CN109840846A (zh) * | 2018-12-25 | 2019-06-04 | 上海点融信息科技有限责任公司 | 基于区块链网络的捐赠数据录入方法、计算设备 |
CN110413697A (zh) * | 2019-08-02 | 2019-11-05 | 佛山市顺德区平行互联网信息科技有限公司 | 一种基于区块链的公益善款数据存储方法及系统 |
CN110597884A (zh) * | 2019-09-23 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 一种基于区块链网络的募捐方法、装置、设备及存储介质 |
CN110597884B (zh) * | 2019-09-23 | 2021-07-27 | 腾讯科技(深圳)有限公司 | 一种基于区块链网络的募捐方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108647960B (zh) | 2020-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108647960A (zh) | 一种基于区块链技术的捐助资金管理方法及系统 | |
CN104866484B (zh) | 一种数据处理方法和装置 | |
CN108108951B (zh) | 装修数据处理方法、装置、存储介质和计算机设备 | |
CN108171609A (zh) | 一种数字资产互通的方法和计算机可读存储介质 | |
CN110020888A (zh) | 目标任务的分享方法及装置 | |
CN108769147A (zh) | 基于超级节点在共享计算中工作量证明方法及装置 | |
CN105590055A (zh) | 用于在网络交互系统中识别用户可信行为的方法及装置 | |
Kuchta et al. | Classification of R&D projects and selection of R&D project management concept | |
CN109377338A (zh) | 基于区块链的金融产品处理方法及装置 | |
CN109255007A (zh) | 基于区块链的地理空间基础数据共享方法及装置 | |
CN106257480A (zh) | 一种防止机器人工具恶意访问页面的方法及装置 | |
CN110363492A (zh) | 基于互联网的产业孵化方法、系统、设备及存储介质 | |
US20060101133A1 (en) | System and method for intermediation of services | |
JP6409115B1 (ja) | 自動仕訳サーバおよび自動仕訳プログラム | |
KR20190050163A (ko) | 블록체인 기반 상호금융플랫폼 및 그 실현방법 | |
CN110232591A (zh) | 一种页面推广方法、页面推广系统及服务器 | |
Sarfaraz et al. | The implications of blockchain-coordinated information sharing within a supply chain: A simulation study | |
CN109493217A (zh) | 防止重复支付的方法、系统、设备及计算机可读存储介质 | |
CN109636590A (zh) | 基于区块链通证实现p2p数字资产转移的方法与装置 | |
Carrasquel et al. | Towards a formal modelling of order-driven trading systems using Petri nets: A multi-agent approach | |
KR20180017639A (ko) | 헤드헌팅사의 순위정보를 제공하는 비즈니스 모델 시스템 | |
Lee et al. | A Two‐Stage Assembly‐Type Flowshop Scheduling Problem for Minimizing Total Tardiness | |
CN116431929B (zh) | 基于隐私计算的信息推荐方法、装置、设备及介质 | |
Robinson et al. | TWINS-This Workflow Is Not Scrum: Agile process adaptation for open source software projects | |
CN109934567B (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200427 Address after: 1505, national digital family R & D building, No. 26, Qinglan street, Guangzhou University City, Guangzhou, Guangdong Province Applicant after: Zhonglian yunchuang (Guangzhou) Technology Co., Ltd Address before: 510000 Jun Xiang, Tianhe District, Guangzhou, Guangdong, A-1101 Applicant before: Liu Zhusong |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |