CN112100667B - 一种基于新型区块链结构的慈善机构监督管理方法 - Google Patents

一种基于新型区块链结构的慈善机构监督管理方法 Download PDF

Info

Publication number
CN112100667B
CN112100667B CN202011015517.XA CN202011015517A CN112100667B CN 112100667 B CN112100667 B CN 112100667B CN 202011015517 A CN202011015517 A CN 202011015517A CN 112100667 B CN112100667 B CN 112100667B
Authority
CN
China
Prior art keywords
organization
score
information
charity
tag
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
Application number
CN202011015517.XA
Other languages
English (en)
Other versions
CN112100667A (zh
Inventor
黄海平
康泽锐
肖甫
李琦
程伟
吴忧
刘星晨
丁楚楚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University of Posts and Telecommunications
Original Assignee
Nanjing University of Posts and Telecommunications
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 Nanjing University of Posts and Telecommunications filed Critical Nanjing University of Posts and Telecommunications
Priority to CN202011015517.XA priority Critical patent/CN112100667B/zh
Publication of CN112100667A publication Critical patent/CN112100667A/zh
Application granted granted Critical
Publication of CN112100667B publication Critical patent/CN112100667B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6254Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/26Government or public services
    • 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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/26Government or public services
    • G06Q50/265Personal security, identity or safety

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Tourism & Hospitality (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Educational Administration (AREA)
  • Development Economics (AREA)
  • Primary Health Care (AREA)
  • General Business, Economics & Management (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一种基于新型区块链结构的慈善机构监督管理方法,利用区块链技术不可篡改、去中心化等特性,实现了物资、资金流向信息的公开透明;对区块链系统进行了改造创新,设计慈善机构主链和多条信息侧链,打造一个由多个慈善机构支链组成的区块链网络,避免单一链回溯困难、针对性信息查找不便的问题,更有利于第三方政府机构审查;改进PoS共识机制,将对慈善机构的信誉评分和PoS共识算法相结合,根据区块链网络多条支链的特点,形成一种基于信誉评分白名单的PoS共识机制,通过大量可信节点生成区块共同维护区块链的安全稳定。信誉评分作为慈善机构的工作评判标准,通过智能合约设置奖惩机制和第三方政府机构的审查,实现了对慈善机构的严格监督和督促作用。

Description

一种基于新型区块链结构的慈善机构监督管理方法
技术领域
本发明属于区块链领域,具体涉及一种基于新型区块链结构的慈善机构监督管理方法。
背景技术
随着社会的变革,公益慈善事业也得到了迅猛的发展,除了我们所熟知的红十字会,还有腾讯公益、韩红基金会等企业以及个人创办的慈善公益组织也如雨后春笋般冒出。公益慈善力量的不断壮大,为有困难的人们提供经济帮助,促进了社会的和谐发展。同时,随着信息社会的发展,慈善组织的募捐方式也在发生变化,很多慈善基金组织在其官方网页上开通了网上募捐的功能,也有很多慈善组织开发了相应的手机APP,人们可以在家中利用电脑或者手机就可以完成捐款。虽然电子募捐已经成为大部分人献爱心的渠道,但最近几年,公益慈善组织暴露的问题,比如组织管理松懈、资金流向不明、社会公信力不足。因为这些问题人们开始对部分慈善组织信任度降低,当面对公众的质疑,部分慈善组织也很难拿出具有公信力的回答与证据,严重阻碍了公益事业的发展。因此,本发明针对当前慈善事业发展过程中所存在的问题,提出了一种新的解决方法。
区块链技术是本文解决上述问题的关键。区块链技术本质上是一个对等网络(peer-to-peer)的分布式账本数据库。区块链通过哈希指针将每一个区块连接,确保了数据不会被篡改,另外区块链中的信息是完全公开的,这两点很好的符合了慈善机构管理中对于捐赠信息的公开透明、不可篡改的要求。同时,PoS共识机制作为区块链系统中常用的共识算法,其利用“股权”确定记账人的方法也可以与本发明中的背景相结合,形成一种新的基于信誉评分的改进PoS算法。通过区块链和共识算法的改进创新从而达到加强对慈善机构管理监督的作用。
发明内容
本发明提出了一种基于新型区块链结构的慈善机构监督管理方法,以解决慈善机构在物资捐款过程中存在的信任监管问题。本发明采用零知识证明技术为捐赠者生成匿名身份以保护捐赠者隐私,通过区块链技术确保“链上”物资数据和证据公开透明、无法被篡改。其次,将原有的单一区块链改进为以慈善机构信息区块为主链、各种信息区块为支链的新型区块链结构,实现了对大量慈善机构节点数据的分类,便于使用者对区块链的回溯和信息的查找。另外,将信誉评分机制与PoS共识机制结合,形成一种更适合区块链系统的信誉白名单PoS共识机制。最后,利用区块链的智能合约功能完善信誉评分机制,实现对慈善机构的半自动监督,解决了慈善机构的公信度不高、监管不到位的问题。
一种基于新型区块链结构的慈善机构监督管理方法,包括如下步骤:
步骤1,慈善机构按照第三方政府机构IDM要求进行注册初始化参数,完成注册后,IDM将慈善机构Cj注册信息打包成区块进入慈善机构主链;
步骤2,捐赠者Di注册匿名身份,同时IDM对捐赠者身份签名,确保捐赠者匿名身份的有效性;
步骤3,捐赠者Di通过系统捐赠物资,核实无误后由获得物资的慈善机构将这笔捐赠信息录入系统中,同时这笔捐赠信息也将制成交易进入区块链的数据缓存区,等待入链;
步骤4,慈善机构Cj验证捐赠者Di匿名身份的合法性,验证成功后对捐赠者的匿名身份再次签名获得σdc并作为捐赠者的信誉评分令牌发送给捐赠者,捐赠者后续利用信誉评分令牌σdc对慈善机构Cj物资处理进行满意度评分;
步骤5,慈善机构Cj将物资处理进度上报、写入系统,并提供具有公信度的证据,信息进入系统的同时,物资处理信息也将按照要求打包成交易进入数据缓冲区,准备入链;入链后,捐赠者通过关键词标签和私钥查看自己物资的处理进度;
步骤6,慈善机构物资处理完成后,捐赠者Di对相应机构Cj进行信誉评分,系统验证信誉评分令牌的真实性,验证成功后,将评分打包成交易放入数据缓存区,等待入链;
步骤7,当数据缓存区满时,系统进行分工,根据白名单机制由可信节点打包数据在相应的机构信息侧链生成区块,更新区块链;
步骤8,区块链系统执行智能合约实现对慈善机构的半自动监督和评分,并将信誉评分作为改进的PoS共识机制的标准维护区块链运作;
步骤9,第三方政府组织IDM监督、审查慈善组织的工作,利用区块链确保信息不可篡改,具有公信度,慈善组织不可抵赖。
进一步地,步骤1包括如下分步骤:
步骤1.1,慈善机构Cj申请注册进入系统,政府机构在现实中确认其身份后,为慈善机构提供一个慈善机构注册通道的链接,不同的通道所拥有的权限不一样,通过该通道注册的用户作为慈善组织权限更大,并且会为之生成慈善机构主链区块;
步骤1.2,慈善机构Cj进行注册身份信息填写,随机选择三个私密参数xc,yc
Figure GDA0003798047540000041
Zp为整数模p的剩余类,即Zp={0,1,2,...,p-1};设(G1,G2,GT)为三个具有素数阶p的循环群,并定义在这三个群上的映射关系e:G1×G2→GT,p为λ位,g1,g2为G1的生成元,
Figure GDA0003798047540000042
为G2生成元,然后计算出公共参数
Figure GDA0003798047540000043
Figure GDA0003798047540000044
完成上述步骤后,系统将随机生成一个四字节的身份编号
Figure GDA0003798047540000045
作为自己在系统中的身份编码,将Cj的秘密参数归结为Sc=(xc,yc,skc),公开参数归结为
Figure GDA0003798047540000046
步骤1.3,政府机构IDM在每有一个慈善机构完成注册时,打包该机构的身份信息生成一个主链区块,IDM获取慈善机构的身份信息以及公共参数,将身份信息以及公共参数打包生成新的区块放入主链,这条横向的主链仅由IDM生成,并不会生成含有捐赠信息、慈善机构操作等其它区块,仅当有机构注册进入系统时为机构生成一个区块,这条主链称为慈善机构主链,主链的区块数等于进入该系统的慈善机构数,其中主链区块头中加入了机构编号
Figure GDA0003798047540000047
进一步地,步骤2具体实现步骤如下:
步骤2.1,系统随机选择一个主秘钥对
Figure GDA0003798047540000051
并计算出两个公共参数
Figure GDA0003798047540000052
选择两个公开的Hash函数H1:{0,1}*→Zp
Figure GDA0003798047540000053
捐赠者Di随机选择一个私密值di∈{0,1}*,计算
Figure GDA0003798047540000054
随机选取
Figure GDA0003798047540000055
其中
Figure GDA0003798047540000056
r是秘密信息,获得秘钥skd=rQd,公钥
Figure GDA0003798047540000057
g1为G1的生成元;Di计算出dsi=H1(di)∈Zp作为秘密值,并计算认证消息
Figure GDA0003798047540000058
然后将认证消息以及公钥(Td1,Td2,vkd)发送给IDM;
步骤2.2,IDM通过检查
Figure GDA0003798047540000059
验证(Td1,Td2)有效性,e(a,b)为双线性对有效算法,对
Figure GDA00037980475400000510
都有e(ax,by)=e(a,b)xy=e(ay,bx),如果等式成立,则验证通过;
步骤2.3,IDM对已认证的消息Td1进行签名:IDM随机选取秘密值u∈Zp计算出匿名身份
Figure GDA00037980475400000511
其中,g1为G1的生成元,u为随机选取的秘密值,
Figure GDA00037980475400000512
为主秘钥对,Td1为已认证消息。IDM在本地保存参数集(Di,Td1,Td2d,vkd)并将匿名身份证明σd发送给Di
步骤2.4,Di在接收到IDM发来的匿名身份证明后,验证
Figure GDA00037980475400000513
其中
Figure GDA00037980475400000514
Figure GDA00037980475400000515
为步骤2.1给出的公开参数;根据双线性对的性质e(ax,by)=e(a,b)xy,将参数代入,若σd计算无误则两者相等,验证成功,则σd有效,Di保存(dsid)作为自己的匿名身份。
进一步地,步骤3中,存在捐赠者Di有指定这笔物资捐赠的使用权为慈善机构Cj的情况,以及捐赠者Di未指定这笔物资捐赠的可使用慈善机构的情况;
其中第一种情况下:
步骤3.1,捐赠者Di有指定这笔物资捐赠的使用权为慈善机构Cj,则慈善机构Cj在收到这笔物资捐赠后将信息录入系统,捐赠信息记为md包含物资接收方Cj的身份
Figure GDA0003798047540000061
物资类型,物资保质期,将信息入库;
步骤3.2,系统设置三个关键词标签(tagid,tagclass,tagday),tagid中保存接受物资机构的身份编号
Figure GDA0003798047540000064
,tagclass中保存捐赠物资的类别,主要区分有保质期物资和可长久保存的无保质期物资;当tagclass分类关键词标签中存储的关键词为有保质期物资时,tagday中保存保质期天数,其余情况tagday为空;
步骤3.3,在信息入库的同时,智能合约SCidentify验证关键词标签是否符合要求,验证通过后,捐赠信息也将被打包成交易,打包后的交易内容具体如下
Figure GDA0003798047540000062
其中,(tagid,tagclass,tagday)为三个关键词标签,以便分类交易数据信息,σd为匿名身份,可供后续验证匿名身份并生成评价令牌,md为具体交易信息
Figure GDA0003798047540000063
为慈善机构对交易信息md的签名,防止md的丢失或篡改;完成后,将这笔打包好的交易放入数据缓冲区;
其中第二种情况下:
捐赠者Di未指定这笔物资捐赠的可使用慈善机构,则这笔物资由政府机构IDM代收成为公共物资,按照上一情况的步骤,将物资捐赠信息录入系统,当系统检测到关键词标签tagid为空,将自动执行智能合约SCidentify,智能合约均由Solidity编程语言完成,在该智能合约中,首先将信誉评分最高的慈善机构设置为竞争者,当系统检测到存在捐赠订单中tagid为空的情况时,随机选取竞争者中的慈善机构获取这笔物资的使用权,将该机构身份编号
Figure GDA0003798047540000071
存入tagid,tagid不为空,符合要求后,打包这笔“交易”,进入数据缓存区;同时,该机构从竞争者中剔除,在下一轮中,无法参与公共物资的竞争,从而确保公平性。
进一步地,步骤4的具体实现步骤如下:
步骤4.1,捐赠者Di随机选取参数gdc∈G1,t∈Zp,令
Figure GDA0003798047540000072
Figure GDA0003798047540000073
作为三个验证参数;然后计算出一个随机挑战c∈Zp以供验证,Di再随机选取伪随机数k∈Zp,然后计算出验证签名所需要的参数集(R,T,c,s),具体计算步骤为:
Figure GDA0003798047540000074
其中,
Figure GDA0003798047540000075
为步骤2.1中计算出的公共参数,dsi为仅捐赠者Di知道的秘密值;计算完毕后Di将验证参数集(σ'd1,σ'd2,Y,gdc,c,s,vkd)发送给Cj
步骤4.2,慈善机构Cj验证匿名身份σd是对于秘密值dsi的签名,通过非交互的零知识证明技术计算随机挑战c∈Zp是否被正确计算可以验证,计算出
Figure GDA0003798047540000081
然后验证
Figure GDA0003798047540000082
验证公式中各参数都已给出,其中公共参数
Figure GDA0003798047540000083
为步骤2中捐赠者注册给出的公共参数;利用了零知识证明的Fiat-Shamir验证,仅当R=R',T=T'该等式成立,则根据Fiat-Shamir启发式得到σd是对于秘密值dsi的签名,捐赠者Di知道秘密值dsi,则验证成功,承认匿名身份σd有效,由Cj为用户生成信誉评分令牌,随机选取秘密值r'∈Zp计算评分令牌
Figure GDA0003798047540000084
其中xc yc为步骤1中已给出的慈善机构私密参数;将评级令牌σdc发送给用户Di
步骤4.3,Di验证评分令牌σdc,计算
Figure GDA0003798047540000085
其中
Figure GDA0003798047540000086
为步骤1中给出的公开参数,
Figure GDA0003798047540000087
为秘密值;根据双线性对的性质该等式成立,则评价令牌σdc正确,验证成功后,Di保存σdc作为自己的匿名信誉评分令牌。
进一步地,步骤5的具体实现步骤如下:
步骤5.1,慈善机构Cj将物资处理进度信息以及相应证据上传至系统数据库中,同时上述所有的信息me将被打包成一笔交易,交易内容为
Figure GDA0003798047540000088
其中一级关键词标签tagid中保存Cj编号
Figure GDA0003798047540000089
信息分类标签tagclass中保存为物资处理信息,tagday为空,
Figure GDA00037980475400000810
为用捐赠者公钥加密后的证据信息;打包完毕后,M进入数据缓存区等待入链;
步骤5.2,数据入链后,捐赠者Di根据关键词标签查找物资处理信息在链中所处的位置,利用自己的私钥skd解密得到明文证据
Figure GDA0003798047540000091
其中
Figure GDA0003798047540000092
为用捐赠者公钥vkd加密后的密文,仅有捐赠者Di对应的私钥skd才能进行解密;查看物资处理情况以及相关证据,若对物资流向存疑,可向第三方政府机构IDM提出诉求。
进一步地,步骤6的具体实现步骤如下:
步骤6.1,匿名捐赠者Di为慈善机构Cj生成一个信誉等分评分Scorej∈[1,5],其中评分为整数的五分满分制;Di随机选取参数r,kv∈Zp,令
Figure GDA0003798047540000093
Figure GDA0003798047540000094
作为零知识证明的验证参数,然后计算出验证参数集(Rv,Tv,cv,sv),具体计算如下:
Figure GDA0003798047540000095
捐赠者Di将(σ'dc1,σ'dc2,Yv,cv,sv,Scorej,Cj)发送至系统中,其中(σ'dc1,σ'dc2,Yv,cv,sv)都为验证参数,以供验证评分令牌真实性,Scorej为评分,Cj为被评价机构;
步骤6.2,系统接收到Di发送的评分Scorej后,自动验证评分令牌,计算出:
Figure GDA0003798047540000096
然后验证随机挑战cv是否被计算出,即
Figure GDA0003798047540000097
其中
Figure GDA0003798047540000098
为步骤1中慈善机构注册时的两个公共参数,仅当Rv=R′v、Tv=T′v时等式成立验证成功,则说明σdc也是对于秘密值dsi的签名,则σdc作为对于Cj的信誉评级令牌有效,然后检测信誉等级评分是否在给定范围内,验证成功后,将信息打包M=<tagid|tagclass|tagdaydc|Scorej>,打包好的交易信息包括三个关键词标签、评分令牌以及有效评分;其中一级关键词标签tagid中保存被评价机构Cj,信息分类标签tagclass中保存信息分类为评分Score,tagday为空;打包完成后,进入数据缓存区等待入链。
进一步地,步骤7的具体实现步骤如下:
步骤7.1,区块链由一条主链和多条支链组成,主链每有一个区块便代表一个慈善组织,每个主链区块下都有一条支链,这条支链下的所有交易区块,都和主链区块所代表的慈善组织Cj相关,其所有的侧链区块是该慈善组织的所有捐赠、营业数据;除此之外,在该区块链系统中,慈善组织作为受政府监督的公益机构,大多数为可信节点;
步骤7.2,当数据缓存区满时,根据白名单机制,系统为白名单节点分配任务,假设白名单节点Cj分配到的支链任务为慈善机构编号
Figure GDA0003798047540000101
即任务为慈善机构Cx的支链区块生成,那么首先Cj会从数据缓冲区进行筛选:验证每条消息的关键词标签如果tagid标签为Cx的编号,则保存;
步骤7.3,筛选完毕后,将所有交易数据打包,数据以Merkle树的形式保存,因为无法确保交易的数量,若为奇数,则复制最后一个交易信息,确保Merkle树的构成;
步骤7.4,打包完成后,根据
Figure GDA0003798047540000102
在主链的区块头中回溯遍历,找到相应的主链区块头,在机构Cx的侧链下生成新的区块,并广播至区块链网络中全节点,更新区块链。
进一步地,步骤8的具体实现步骤如下:
步骤8.1,在初始化阶段,慈善机构Cj注册完成后会为之生成主链区块,并给予初始信誉评分Scorej为90,利用智能合约Scscore编程验证(Scorej≥85),初始时必定验证成功,慈善机构Cj成为可信节点进入白名单,白名单节点做为可信节点在步骤7中分工生成支链区块;
步骤8.2,生成一个区块记做一个时间周期,每当一个时间周期结束,智能合约Scscore将自动执行,回溯每一个支链区块的交易信息,Scscore只针对以下两种交易信息:
分类标签tagclass关键词为有保质期物资,Scscore将获取当前日期Date和有保质期物资的捐赠入库时间戳
Figure GDA0003798047540000111
验算获得剩余保质天数
Figure GDA0003798047540000112
与相应保质天数tagday相比较,当rest≥(2/3)tagday,智能合约查看该交易信息的一级关键词标签tagid中的慈善机构编号
Figure GDA0003798047540000113
通过系统对慈善机构Cj予以警告信息;若rest≥tagday,则物资变质,慈善机构未妥善处理,生成一笔评分交易M=<tagid(Cj)|tagclass(Score)|tagday(null)|Scorej(1)>进入数据缓存区,即在这条打包的交易信息中,将一级身份标签设置为Cj的编号
Figure GDA0003798047540000114
二级分类标签设置为评分,三级标签为空,Scorej评分为1作为差评;
智能合约Scscore回溯Cj支链对于分类标签tagclass关键词为评分Score的区块,自动整合所有有效评分并更新Cj评分,具体规则如下:Scorej=1,在原有的信誉评分上扣0.5分;Scorej=2,在原有信誉评分基础上扣0.1;Scorej=3,不扣分也不加分;Scorej=4,在原有基础上加0.2分,Scorej=5,则在原来基础上加0.5分;
步骤8.3,整合完所有评分后,Scscore验证更新白名单,白名单节点作为可信任节点会参与下一周期的区块生成,并有机会获得公共资源奖励。
进一步地,步骤9中,第三方政府机构IDM审查慈善机构Cj的工作情况,所有的被捐赠物资信息以及工作明细、证据通过系统查看,同时,IDM可通过区块链,利用一级关键词标签tagid找到该机构的主链区块,调取其所有的支链区块,将支链区块的交易信息整合,便是该机构的整个工作明细;若慈善机构Cj在系统中对数据进行了修改,则会与区块链中的信息不符合,而区块链中的信息无法被篡改,慈善机构Cj将被追责;确认慈善机构存在违规操作后,对其采取一定的处罚,并生成评分交易信息,扣除其信誉评分;IDM的审查分两类,一类是当捐赠者存在异议时,向IDM诉求审查;另一类则是,对于信誉评分过低的慈善机构,需接受IDM的审查。
本发明的有益效果是:
(1)采用区块链技术保存相关数据确保了捐赠信息的公开性、不可篡改性、可追溯性,用户可以查看自己捐赠物资的流向与证据,解决了捐赠数据不透明、缺乏公信力的问题。
(2)针对一些有保质期的物资,通过智能合约与时间戳等技术对慈善机构进行物资处理监管,并作为信誉评分指标对机构进行评分整合更新,加强了对慈善机构物资处理的监督。
(3)改进了原有单一链的区块链结构,设计了身份主链和信息支链的新型区块链结构,解决了原有区块链单链过长难以回溯和针对性信息难以查找的问题,更有利于政府监督机构对慈善机构的信息的审查。
(4)将信誉评价和共识机制相结合,形成一种基于信誉评价白名单的PoS共识算法,通过白名单上的大量可信节点完成支链区块的生成任务,并设置了一系列的奖惩措施,既解决了原有PoS共识机制的不具有专业化问题,也很好地适应了新型区块链结构,确保了计算机资源的合理利用。
附图说明
图1为本发明实施例中系统模型示意图。
图2为本发明实施例中主链区块结构图。
图3为本发明实施例中区块链系统模型图。
图4为本发明实施例中区块链系统运作循环图。
图5为本发明实施例中方案流程示意图。
具体实施方式
下面结合说明书附图对本发明的技术方案做进一步的详细说明。
首先进行重要术语的说明及约束。
零知识证明(Zero—Knowledge Proof):它指的是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。零知识证明实质上是一种涉及两方或更多方的协议,即两方或更多方完成一项任务所需采取的一系列步骤。证明者向验证者证明并使其相信自己知道或拥有某一消息,但证明过程不能向验证者泄漏任何关于被证明消息的信息。
区块链:区块链本质上是一个对等网络(peer-to-peer)的分布式账本数据库。区块链本身是一连串链接的数据区块,其链接指针是采用密码学哈希算法对区块头进行处理所产生的区块头哈希值。每一个数据块中记录了一组采用哈希算法组成的Merkle树状交易状态信息,Merkle哈希树是一类基于哈希值的二叉树或多叉树,其叶子节点上的值为数据块的哈希值,而非叶子节点上的值是将该节点的所有子节点的组合结果的哈希值,这样保证了每个区块内的交易数据不可篡改,区块链里链接的区块也不可篡改,本发明中,所有要进入区块链的打包信息简称为“交易”。
智能合约(Smart Contract):是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。智能合约概念于1995年由Nick Szabo首次提出。通过程序运行智能合约代码,自动验证条件,在满足条件后执行合约定义的承诺协议。
PoS共识机制(Proof of Stake):全称是Proof of Stake即权益证明机制,与一般的PoW不同的是,PoS中将算力改为系统权益,拥有权益越大,成为记账人的可能性则越大。该机制的优势在于解决了原始的PoW机制能源消耗大、效率低下的问题。但同时也会导致强者恒强,即谁的代币多,那他将获得更多代币,从而控制整个网络。
本发明所描述的方案包括以下三个实体:
捐赠者:通过用户注册通道注册,由于涉及到慈善机构的信誉评分问题,为了保护个人隐私,我们这里为捐赠者提供匿名身份。是向慈善机构捐赠物资的一方,同时可以查看区块链公开的信息,有权利查看本人捐赠物资的流向,并依据慈善机构对物资的处理结果对慈善机构进行信誉评分,无权限参与区块生成。
慈善机构:通过慈善机构注册通道注册,获得主链区块,是区块链系统中的支链区块生成者,可以任意存入、删除数据库中的捐赠信息或证据,但区块链中的内容是无法修改的。在区块链中作为可信节点维护着区块链系统的安全运行。
第三方政府机构(IDM):可信第三方,为前两者提供身份注册,慈善机构注册完成后,主链区块的生成者,同时也是第三方审查监督机构,对慈善机构进行审查、监督。
步骤具体如下:
步骤1:慈善机构按照政府机构IDM要求进行注册初始化一系列参数,完成注册后,IDM将慈善机构Cj注册信息打包成区块进入慈善机构主链。步骤1具体实现步骤如下:
Step1.1,慈善机构Cj申请注册进入系统,政府机构在现实中确认其身份后,为慈善机构提供一个慈善机构注册通道的链接,不同的通道所拥有的权限也不一样,通过该通道注册的用户作为慈善组织权限更大,并且会为之生成慈善机构主链区块。
Step1.2,慈善机构Cj进行注册身份信息填写,随机选择三个私密参数xc,yc
Figure GDA0003798047540000161
Zp为整数模p的剩余类,即Zp={0,1,2,...,p-1}。设(G1,G2,GT)为三个具有素数阶p的循环群,并定义在这三个群上的映射关系e:G1×G2→GT,p为λ位,g1,g2为G1的生成元,
Figure GDA0003798047540000162
为G2生成元,然后计算出公共参数
Figure GDA0003798047540000163
完成上述步骤后,系统将随机生成一个四字节的身份编号
Figure GDA0003798047540000164
作为自己在系统中的身份编码,将Cj的秘密参数归结为:Sc=(xc,yc,skc),公开参数归结为:
Figure GDA0003798047540000165
Step1.3,政府机构IDM在每有一个慈善机构完成注册时,打包该机构的身份信息生成一个主链区块,其具体步骤如下:
如图2所示,假设当前慈善机构C2完成注册,IDM获取慈善机构的身份信息以及公共参数,将身份信息以及公共参数打包生成新的区块放入主链,这条横向的主链仅由IDM生成,并不会生成含有捐赠信息、慈善机构操作等其它区块,仅当有机构注册进入系统时为机构生成一个区块,本发明中将这条链称为慈善机构主链,主链的区块数等于进入该系统的慈善机构数。其中每一个区块由区块头、区块体两部分组成:区块体中为慈善机构的身份信息以及公共参数组成的Merkle树。区块头由以下几部分组成:Version(版本号)、前一区块头Hash值(不包含侧链区分位)、HashMerkleRoot(Merkle树根节点)、Timestamp(时间戳)、机构编号
Figure GDA0003798047540000171
侧链区分位。与以往的区块链结构有所不同,首先,本方案的主链区块头中加入了机构编号
Figure GDA0003798047540000172
通过此举可为后续侧链生成快速定位主链位置。侧链区分位为四字节的随机数,与PoW共识机制中的随机数不同,该随机数用来区分主链与侧链,主链在计算前一区块头Hash值时,侧链区分位不参与计算。后续慈善机构节点生成侧链区块时,前一区块头Hash值正常计算,从而达到区分主链、侧链的目的。
步骤2:捐赠者Di注册匿名身份,同时IDM对捐赠者身份签名,确保捐赠者匿名身份的有效性。步骤2具体实现步骤如下:
Step2.1,系统随机选择一个主秘钥对
Figure GDA0003798047540000173
并计算出两个公共参数
Figure GDA0003798047540000174
选择两个公开的Hash函数H1:{0,1}*→Zp
Figure GDA0003798047540000175
捐赠者Di随机选择一个私密值di∈{0,1}*,计算
Figure GDA0003798047540000176
随机选取
Figure GDA0003798047540000177
其中
Figure GDA0003798047540000178
r是秘密信息,获得秘钥skd=rQd,公钥
Figure GDA0003798047540000179
g1为G1的生成元。Di计算出dsi=H1(di)∈Zp作为秘密值,并计算认证消息
Figure GDA00037980475400001710
然后将认证消息以及公钥(Td1,Td2,vkd)发送给IDM。
Step2.2,IDM通过检查
Figure GDA00037980475400001711
验证(Td1,Td2)的有效性,其中e(a,b)为双线性对的一个有效算法,对于
Figure GDA00037980475400001712
都有e(ax,by)=e(a,b)xy=e(ay,bx)。如果等式成立,则验证通过。
Step2.3,IDM对已认证的消息Td1进行签名:
IDM随机选取秘密值u∈Zp计算出匿名身份
Figure GDA0003798047540000181
其中,g1为G1的生成元,u为随机选取的秘密值,
Figure GDA0003798047540000182
为主秘钥对,Td1为已认证消息。IDM在本地保存参数集(Di,Td1,Td2d,vkd)并将匿名身份证明σd发送给Di
Step2.4Di在接收到IDM发来的匿名身份证明后,验证
Figure GDA0003798047540000183
其中
Figure GDA0003798047540000184
为Step2.1给出的公开参数。根据双线性对的性质e(ax,by)=e(a,b)xy,将参数代入,若σd计算无误则两者相等,验证成功,则σd有效,Di保存(dsid)作为自己的匿名身份。
步骤3:捐赠者Di通过系统捐赠物资,核实无误后由获得物资的慈善机构将这笔捐赠信息录入系统中,同时这笔捐赠信息也将制成“交易”进入区块链的数据缓存区,等待入链。步骤3具体实现步骤如下:
情况一:
Step3.1,捐赠者Di有指定这笔物资捐赠的使用权为慈善机构Cj,则慈善机构Cj在收到这笔物资捐赠后将信息录入系统,捐赠信息记为md包含物资接收方Cj的身份
Figure GDA0003798047540000185
物资类型,物资保质期等等,将信息入库。
Step3.2,系统设置三个关键词标签(tagid,tagclass,tagday),tagid中保存接受物资机构的身份编号
Figure GDA0003798047540000186
tagclass中保存捐赠物资的类别,主要区分有保质期物资和可长久保存的无保质期物资。当tagclass分类关键词标签中存储的关键词为有保质期物资时,tagday中保存保质期天数,其余情况tagday为空。
Step3.3,在信息入库的同时,智能合约SCidentify验证关键词标签是否符合要求,验证通过后,捐赠信息也将被打包成“交易”,打包后的“交易”内容具体如下
Figure GDA0003798047540000191
其中,(tagid,tagclass,tagday)为三个关键词标签,以便分类交易数据信息,σd为匿名身份,可供后续验证匿名身份并生成评价令牌,md为具体交易信息
Figure GDA0003798047540000192
为慈善机构对交易信息md的签名,防止md的丢失或篡改。完成后,将这笔打包好的交易放入数据缓冲区。
情况二:捐赠者Di未指定这笔物资捐赠的可使用慈善机构,则这笔物资由政府机构IDM代收成为公共物资,按照情况一的步骤,将物资捐赠信息录入系统,当系统检测到关键词标签tagid为空,将自动执行智能合约SCidentify,本方案中所有智能合约均可由Solidity编程语言完成,在该智能合约中,首先将信誉评分最高的慈善机构设置为竞争者,当系统检测到存在捐赠订单中tagid为空的情况时,随机选取竞争者中的慈善机构获取这笔物资的使用权,将该机构身份编号
Figure GDA0003798047540000193
存入tagid,tagid不为空,符合要求后,打包这笔“交易”,进入数据缓存区。同时,该机构从竞争者中剔除,在下一轮中,无法参与公共物资的竞争,从而确保公平性。
步骤4:慈善机构Cj验证捐赠者Di匿名身份的合法性,验证成功后对捐赠者的匿名身份再次签名获得σdc并作为捐赠者的信誉评分令牌发送给捐赠者,捐赠者后续可利用信誉评分令牌σdc对慈善机构Cj物资处理进行满意度评分。步骤4的具体实现步骤如下:
Step4.1,捐赠者Di随机选取参数gdc∈G1,t∈Zp,令
Figure GDA0003798047540000201
Figure GDA0003798047540000202
作为三个验证参数。然后计算出一个随机挑战c∈Zp以供验证,Di再随机选取伪随机数k∈Zp,然后计算出验证签名所需要的参数集(R,T,c,s),具体计算步骤如下:
Figure GDA0003798047540000203
其中,
Figure GDA0003798047540000204
为步骤2.1中计算出的公共参数,dsi为仅捐赠者Di知道的秘密值。计算完毕后Di将验证参数集(σ'd1,σ'd2,Y,gdc,c,s,vkd)发送给Cj
Step4.2,慈善机构Cj验证匿名身份σd是对于秘密值dsi的签名,通过非交互的零知识证明技术计算随机挑战c∈Zp是否被正确计算可以验证,计算出
Figure GDA0003798047540000205
然后验证
Figure GDA0003798047540000206
验证公式中各参数都已给出,其中公共参数
Figure GDA0003798047540000207
Figure GDA0003798047540000208
为步骤2中捐赠者注册给出的公共参数。这里利用了零知识证明的Fiat-Shamir验证,仅当R=R',T=T'该等式成立,则根据Fiat-Shamir启发式可知σd是对于秘密值dsi的签名,捐赠者Di知道秘密值dsi,则验证成功,承认匿名身份σd有效,由Cj为用户生成信誉评分令牌,随机选取秘密值r'∈Zp计算评分令牌
Figure GDA0003798047540000209
其中xc yc为步骤1中已给出的慈善机构私密参数。将评级令牌σdc发送给用户Di
Step4.3,捐赠者Di验证评分令牌σdc,计算
Figure GDA0003798047540000211
其中
Figure GDA0003798047540000212
Figure GDA0003798047540000213
为步骤一中给出的公开参数,
Figure GDA0003798047540000214
为秘密值。根据双线性对的性质该等式成立,则评价令牌σdc正确,验证成功后,Di保存σdc作为自己的匿名信誉评分令牌。
步骤5:慈善机构Cj将物资处理进度上报、写入系统,并提供具有一定公信度的证据,信息进入系统的同时,物资处理信息也将按照要求打包成“交易”进入数据缓冲区,准备入链。入链后,捐赠者通过关键词标签和私钥可以查看自己物资的处理进度。步骤5的具体实现步骤如下:
Step5.1,慈善机构Cj将物资处理进度信息以及相应证据上传至系统数据库中,同时上述所有的信息me也将被打包成一笔“交易”,交易内容为
Figure GDA0003798047540000215
其中一级关键词标签tagid中保存Cj编号
Figure GDA0003798047540000216
信息分类标签tagclass中保存为物资处理信息,tagday为空,
Figure GDA0003798047540000217
为用捐赠者公钥加密后的证据信息。打包完毕后,M进入数据缓存区等待入链。
Step5.2,数据入链后,捐赠者Di根据关键词标签查找物资处理信息在链中所处的位置,利用自己的私钥skd解密得到明文证据
Figure GDA0003798047540000218
其中
Figure GDA0003798047540000219
为用捐赠者公钥vkd加密后的密文,仅有捐赠者Di对应的私钥skd才能进行解密。查看物资处理情况以及相关证据,若对物资流向存疑,可向第三方政府机构IDM提出诉求。
步骤6:慈善机构物资处理完成后,捐赠者Di对相应机构Cj进行信誉评分,系统验证信誉评分令牌的真实性,验证成功后,将评分打包成“交易”放入数据缓存区,等待入链。步骤6的具体实现步骤如下:
Step6.1,匿名捐赠者Di为慈善机构Cj生成一个信誉等分评分Scorej∈[1,5],其中评分必须是一个整数,1代表信誉评价很低,5代表信誉评价高。Di随机选取参数r,kv∈Zp,令
Figure GDA0003798047540000221
作为零知识证明的验证参数,然后计算出验证参数集(Rv,Tv,cv,sv),具体计算如下:
Figure GDA0003798047540000222
捐赠者Di将(σ'dc1,σ'dc2,Yv,cv,sv,Scorej,Cj)发送至系统中,其中(σ'dc1,σ'dc2,Yv,cv,sv)都为验证参数,以供验证评分令牌真实性,Scorej为评分,Cj为被评价机构。
Step6.2,系统接收到Di发送的评分Scorej后,自动验证评分令牌,计算出
Figure GDA0003798047540000223
然后验证随机挑战cv是否被计算出,即
Figure GDA0003798047540000224
其中
Figure GDA0003798047540000225
为步骤1中慈善机构注册时的两个公共参数,仅当Rv=R′v、Tv=T′v时等式成立验证成功,则说明σdc也是对于秘密值dsi的签名,则σdc作为对于Cj的信誉评级令牌有效,然后检测信誉等级评分是否在给定范围内,验证成功后,将信息打包M=<tagid|tagclass|tagdaydc|Scorej>,打包好的“交易”信息包括三个关键词标签、评分令牌以及有效评分。其中一级关键词标签tagid中保存被评价机构Cj,信息分类标签tagclass中保存信息分类为评分Score,tagday为空。打包完成后,进入数据缓存区等待入链。
步骤7:当数据缓存区满时,系统进行分工,根据白名单机制由可信节点打包数据在相应的机构信息侧链生成区块,更新区块链。步骤7的具体实现步骤如下:
Step7.1,如图3区块链系统模型图所示,首先介绍一下本方案的区块链系统结构,与以往区块链系统由一条单链组成不同,本方案的区块链由一条主链和多条支链组成,主链每有一个区块便代表一个慈善组织,每个主链区块下都有一条支链,这条支链下的所有“交易”区块,都和主链区块所代表的慈善组织Cj相关,因为随着时间的推移单一链的区块链系统很难维护,当你想通过区块链查看单个慈善组织的工作明细时,过长的链以及大量不相关的数据都会给回溯、遍历整条链带来困难,通过设计支链,只需要找到所想查看的机构的主链位置,其所有的侧链区块便是所需要的该机构的所有捐赠、营业数据。除此之外,在该区块链系统中,慈善组织作为受政府监督的公益机构,大多数为可信节点,单链结构的区块链系统每次仅有一个节点生成区块,这大大浪费了节点资源,多个支链意味着多个支链区块的生成,虽然看似麻烦,但其实更加充分地利用了慈善机构作为区块链节点的计算资源,使之变得更加合理。
Step7.2,当数据缓存区满时,根据白名单机制,系统为白名单节点分配任务,假设白名单节点Cj分配到的支链任务为慈善机构编号
Figure GDA0003798047540000231
即任务为慈善机构Cx的支链区块生成,那么首先Cj会从数据缓冲区进行筛选:验证每条消息的关键词标签如果tagid标签为Cx的编号,则保存。
Step7.3,筛选完毕后,将所有“交易”数据打包,数据以Merkle树的形式保存,因为无法确保“交易”的数量,若为奇数,则复制最后一个“交易”信息,确保Merkle树的构成。
Step7.4,打包完成后,根据
Figure GDA0003798047540000241
在主链的区块头中回溯遍历,找到相应的主链区块头,在机构Cx的侧链下生成新的区块,并广播至区块链网络中全节点,更新区块链。由于区块链的特性,一旦数据写入区块链将无法被篡改,确保了捐赠物资数据的安全性,使数据更加具有公信力。
步骤8:区块链系统执行智能合约实现对慈善机构的半自动监督和评分,并将信誉评分作为改进的PoS共识机制的标准维护区块链运作。步骤8的具体实现步骤如下:
Step8.1,在初始化阶段,慈善机构Cj注册完成后会为之生成主链区块,并给予初始信誉评分Scorej为90,利用智能合约Scscore编程验证(Scorej≥85),初始时必定验证成功,慈善机构Cj成为可信节点进入白名单,白名单节点做为可信节点在步骤七中分工生成支链区块。
Step8.2,如图4所示,本方案中,预计每30分钟生成一个区块(时间由实际情况信息量和数据缓存区大小决定),记做一个时间周期,每当一个时间周期结束,智能合约Scscore将自动执行,回溯每一个支链区块的“交易”信息,Scscore只要针对以下两种“交易”信息:
分类标签tagclass关键词为有保质期物资,Scscore将获取当前日期Date和有保质期物资的捐赠入库时间戳
Figure GDA0003798047540000251
验算获得剩余保质天数
Figure GDA0003798047540000252
与相应保质天数tagday相比较,当rest≥(2/3)tagday,智能合约查看该“交易”信息的一级关键词标签tagid中的慈善机构编号
Figure GDA0003798047540000253
通过系统对慈善机构Cj予以警告信息。若rest≥tagday,则物资变质,慈善机构未妥善处理,生成一笔评分“交易”:
M=<tagid(Cj)|tagclass(Score)|tagday(null)|Scorej(1)>进入数据缓存区,即在这条打包的“交易”信息中,我们将一级身份标签设置为Cj的编号
Figure GDA0003798047540000254
二级分类标签设置为评分,三级标签为空,Scorej评分为1作为差评。
智能合约Scscore回溯Cj支链对于分类标签tagclass关键词为评分Score的区块,自动整合所有有效评分并更新Cj评分,具体规则如下:Scorej=1,在原有的信誉评分上扣0.5分;Scorej=2,在原有信誉评分基础上扣0.1;Scorej=3,不扣分也不加分;Scorej=4,在原有基础上加0.2分,Scorej=5,则在原来基础上加0.5分。
Step8.3,整合完所有评分后,Scscore验证更新白名单,白名单节点作为可信任节点会参与下一周期的区块生成,并有机会获得公共资源奖励。通过智能合约和一定的奖惩机制,实现了系统的半自动化监管,这里的信誉评分白名单机制是PoS共识机制的一种改进,原有的PoS共识机制有以下缺点:(1)不具有专业化,拥有权益的参与者未必希望参与记账。(2)富者越富,即权益越多者,会更快地积累代币。针对问题一,我们设置了公共物资的奖励机制,可信节点会更乐于维护区块链安全,而针对问题二信誉值作为PoS机制中的“股权”并不会积累,也不会出现类似问题。另外和大部分的共识机制中少数人记账不同,白名单机制基于大部分节点为可信节点的背景条件,大部分节点都参与记账,更好地利用了闲置的计算机资源。
步骤9:第三方政府组织IDM监督、审查慈善组织的工作,利用区块链确保信息不可篡改,具有公信度。步骤9的具体实现步骤如下:
第三方政府机构IDM审查慈善机构Cj的工作情况,所有的被捐赠物资信息以及工作明细、证据可以通过系统查看,同时,IDM可通过区块链,利用一级关键词标签tagid找到该机构的主链区块,调取其所有的支链区块,将支链区块的“交易”信息整合,便是该机构的整个工作明细。若慈善机构Cj在系统中对数据进行了修改,则会与区块链中的信息不符合,而区块链中的信息无法被篡改,慈善机构Cj将被追责。确认慈善机构存在违规操作后,对其采取一定的处罚,并生成评分“交易”信息,扣除其信誉评分,从而进一步确保监督到位。这里的审查分两类,一类是当捐赠者存在异议时,可向IDM诉求审查;另一类则是,对于信誉评分过低的慈善机构,需接受IDM的审查,通过该方法,一方面加强了监督力度,同时进一步也为改进的信誉评分白名单PoW机制提供强有力的奖惩措施,确保白名单节点更乐于维护区块链的安全。
以上所述仅为本发明的较佳实施方式,本发明的保护范围并不以上述实施方式为限,但凡本领域普通技术人员根据本发明所揭示内容所作的等效修饰或变化,皆应纳入权利要求书中记载的保护范围内。

Claims (7)

1.一种基于新型区块链结构的慈善机构监督管理方法,其特征在于:所述方法包括如下步骤:
步骤1,慈善机构按照第三方政府机构IDM要求进行注册初始化参数,完成注册后,IDM将慈善机构Cj注册信息打包成区块进入慈善机构主链;
步骤1包括如下分步骤:
步骤1.1,慈善机构Cj申请注册进入系统,政府机构在现实中确认其身份后,为慈善机构提供一个慈善机构注册通道的链接,不同的通道所拥有的权限不一样,并且会为之生成慈善机构主链区块;
步骤1.2,慈善机构Cj进行注册身份信息填写,随机选择三个私密参数xc,yc
Figure FDA0003777913240000011
Zp为整数模p的剩余类,即Zp={0,1,2,...,p-1};设(G1,G2,GT)为三个具有素数阶p的循环群,并定义在这三个群上的映射关系e:G1×G2→GT,p为λ位,g1,g2为G1的生成元,
Figure FDA0003777913240000012
为G2生成元,然后计算出公共参数
Figure FDA0003777913240000013
然后系统将随机生成一个四字节的身份编号
Figure FDA0003777913240000014
作为自己在系统中的身份编码,将Cj的秘密参数归结为Sc=(xc,yc,skc),公共参数归结为
Figure FDA0003777913240000015
步骤1.3,政府机构IDM在每有一个慈善机构完成注册时,打包该机构的身份信息生成一个主链区块,IDM获取慈善机构的身份信息以及公共参数,将身份信息以及公共参数打包生成新的区块放入主链,这条横向的主链仅由IDM生成,并不会生成含有捐赠信息、慈善机构操作的其它区块,仅当有慈善机构注册进入系统时为慈善机构生成一个区块,这条主链称为慈善机构主链,主链的区块数等于进入该系统的慈善机构数,其中主链区块头中加入了慈善机构编号IDCj
步骤2,捐赠者注册匿名身份,同时IDM对捐赠者身份签名,确保捐赠者匿名身份的有效性;
步骤3,捐赠者通过系统捐赠物资,核实无误后由获得物资的慈善机构将这笔捐赠信息录入系统中,同时这笔捐赠信息也将制成交易进入区块链的数据缓存区,等待入链;
步骤3中,存在捐赠者有指定这笔物资捐赠的使用权为慈善机构Cj的情况,以及捐赠者未指定这笔物资捐赠的可使用慈善机构的情况;
其中第一种情况下:
步骤3.1,捐赠者有指定这笔物资捐赠的使用权为慈善机构Cj,则慈善机构Cj在收到这笔物资捐赠后将信息录入系统,捐赠信息记为md包含物资接收方Cj的身份
Figure FDA0003777913240000021
物资类型,物资保质期,将信息入库;
步骤3.2,系统设置三个关键词标签(tagid,tagclass,tagday),tagid中保存接受物资机构的身份编号
Figure FDA0003777913240000022
tagclass中保存捐赠物资的类别,区分有保质期物资和可长久保存的无保质期物资;当tagclass分类关键词标签中存储的关键词为有保质期物资时,tagday中保存保质期天数,其余情况tagday为空;
步骤3.3,在信息入库的同时,智能合约SCidentify验证关键词标签是否符合要求,验证通过后,捐赠信息也将被打包成交易,打包后的交易内容具体如下
Figure FDA0003777913240000031
其中,(tagid,tagclass,tagday)为三个关键词标签,以便分类交易数据信息,σd为匿名身份,可供后续验证匿名身份并生成评价令牌,md为具体交易信息
Figure FDA0003777913240000032
为慈善机构对交易信息md的签名,防止md的丢失或篡改;完成后,将这笔打包好的交易放入数据缓冲区;
其中第二种情况下:
捐赠者未指定这笔物资捐赠的可使用慈善机构,则这笔物资由政府机构IDM代收成为公共物资,按照上一情况的步骤,将物资捐赠信息录入系统,当系统检测到关键词标签tagid为空,将自动执行智能合约SCidentify,智能合约均由Solidity编程语言完成,在该智能合约中,首先将信誉评分最高的慈善机构设置为竞争者,当系统检测到存在捐赠订单中tagid为空的情况时,随机选取竞争者中的慈善机构获取这笔物资的使用权,将该机构身份编号
Figure FDA0003777913240000033
存入tagid,tagid不为空,符合要求后,打包这笔“交易”,进入数据缓存区;同时,该机构从竞争者中剔除,在下一轮中,无法参与公共物资的竞争,从而确保公平性;
步骤4,慈善机构验证捐赠者匿名身份的合法性,验证成功后对捐赠者的匿名身份再次签名获得σdc并作为捐赠者的信誉评分令牌发送给捐赠者,捐赠者后续利用信誉评分令牌σdc对慈善机构物资处理进行满意度评分;
步骤5,慈善机构将物资处理进度上报、写入系统,并提供具有公信度的证据,信息进入系统的同时,物资处理信息也将按照要求打包成交易进入数据缓冲区,准备入链;入链后,捐赠者通过关键词标签和私钥查看自己物资的处理进度;
步骤6,慈善机构物资处理完成后,捐赠者Di对相应机构进行信誉评分,系统验证信誉评分令牌的真实性,验证成功后,将评分打包成交易放入数据缓存区,等待入链;
步骤7,当数据缓存区满时,系统进行分工,根据白名单机制由可信节点打包数据在相应的机构信息侧链生成区块,更新区块链;
步骤7的具体实现步骤如下:
步骤7.1,区块链由一条主链和多条支链组成,主链每有一个区块便代表一个慈善组织,每个主链区块下都有一条支链,这条支链下的所有交易区块,都和主链区块所代表的慈善组织相关,其所有的侧链区块是该慈善组织的所有捐赠、营业数据;
步骤7.2,当数据缓存区满时,根据白名单机制,系统为白名单节点分配任务,假设白名单节点分配到的支链任务为慈善机构编号
Figure FDA0003777913240000041
即任务为慈善机构Cx的支链区块生成,那么首先会从数据缓冲区进行筛选:验证每条消息的关键词标签如果tagid标签为Cx的编号,则保存;
步骤7.3,筛选完毕后,将所有交易数据打包,数据以Merkle树的形式保存,因为无法确保交易的数量,若为奇数,则复制最后一个交易信息,确保Merkle树的构成;
步骤7.4,打包完成后,根据
Figure FDA0003777913240000042
在主链的区块头中回溯遍历,找到相应的主链区块头,在机构Cx的侧链下生成新的区块,并广播至区块链网络中全节点,更新区块链;
步骤8,区块链系统执行智能合约实现对慈善机构的半自动监督和评分,并将信誉评分作为PoS共识机制的标准维护区块链运作;
步骤9,第三方政府组织IDM监督、审查慈善组织的工作,利用区块链确保信息不可篡改,具有公信度,慈善组织不可抵赖。
2.根据权利要求1所述的一种基于新型区块链结构的慈善机构监督管理方法,其特征在于:步骤2具体实现步骤如下:
步骤2.1,系统随机选择一个主秘钥对
Figure FDA0003777913240000051
并计算出两个公共参数,;选择两个公开的Hash函数H1:{0,1}*→Zp
Figure FDA0003777913240000052
捐赠者随机选择一个私密值di∈{0,1}*,计算
Figure FDA0003777913240000053
随机选取
Figure FDA0003777913240000054
其中
Figure FDA0003777913240000055
r是秘密信息,获得秘钥skd=rQd,公钥
Figure FDA0003777913240000056
g1为G1的生成元;计算出dsi=H1(di)∈Zp作为秘密值,并计算认证消息
Figure FDA0003777913240000057
然后将认证消息以及公钥(Td1,Td2,vkd)发送给IDM;
步骤2.2,IDM通过检查
Figure FDA0003777913240000058
验证(Td1,Td2)有效性,e(a,b)为双线性对有效算法,对
Figure FDA0003777913240000059
都有e(ax,by)=e(a,b)xy=e(ay,bx),如果等式成立,则验证通过;
步骤2.3,IDM对已认证的消息Td1进行签名:IDM随机选取秘密值u∈Zp计算出匿名身份
Figure FDA00037779132400000510
其中,g1为G1的生成元,u为随机选取的秘密值,
Figure FDA00037779132400000511
为主秘钥对,Td1为已认证消息;IDM在本地保存参数集(Di,Td1,Td2d,vkd)并将匿名身份证明发送给;
步骤2.4,Di在接收到IDM发来的匿名身份证明后,验证
Figure FDA0003777913240000061
其中
Figure FDA0003777913240000062
为步骤2.1给出的公共参数;根据双线性对的性质e(ax,by)=e(a,b)xy,将参数代入,若σd计算无误则两者相等,验证成功,则σd有效,Di保存(dsid)作为自己的匿名身份。
3.根据权利要求2所述的一种基于新型区块链结构的慈善机构监督管理方法,其特征在于:步骤4的具体实现步骤如下:
步骤4.1,捐赠者Di随机选取参数gdc∈G1,t∈Zp,令
Figure FDA0003777913240000063
Figure FDA0003777913240000064
作为三个验证参数;然后计算出一个随机挑战c∈Zp以供验证,Di再随机选取伪随机数k∈Zp,然后计算出验证签名所需要的参数集(R,T,c,s),具体计算步骤为:
Figure FDA0003777913240000065
其中,
Figure FDA0003777913240000066
为步骤2.1中计算出的公共参数,dsi为仅捐赠者Di知道的秘密值;计算完毕后Di将验证参数集(σ′d1,σ′d2,Y,gdc,c,s,vkd)发送给Cj
步骤4.2,慈善机构Cj验证匿名身份σd是对于秘密值dsi的签名,通过非交互的零知识证明技术计算随机挑战c∈Zp是否被正确计算可以验证,计算出
Figure FDA0003777913240000067
然后验证
Figure FDA0003777913240000071
验证公式中各参数都已给出,其中公共参数,为步骤2中捐赠者注册给出的公共参数;利用了零知识证明的Fiat-Shamir验证,仅当R=R′,T=T′该等式成立,则根据Fiat-Shamir启发式得到是对于秘密值的签名,捐赠者Di知道秘密值,则验证成功,承认匿名身份有效,由Cj为用户生成信誉评分令牌,随机选取秘密值r′∈Zp计算评分令牌
Figure FDA0003777913240000072
其中xc yc为步骤1中已给出的慈善机构私密参数;将评级令牌σdc发送给用户Di
步骤4.3,Di验证评分令牌σdc,计算
Figure FDA0003777913240000073
其中
Figure FDA0003777913240000074
为步骤1中给出的公共参数,
Figure FDA0003777913240000075
为秘密值;根据双线性对的性质,若该等式成立,则评价令牌σdc正确,验证成功后,Di保存σdc作为自己的匿名信誉评分令牌。
4.根据权利要求1所述的一种基于新型区块链结构的慈善机构监督管理方法,其特征在于:步骤5的具体实现步骤如下:
步骤5.1,慈善机构将物资处理进度信息以及相应证据上传至系统数据库中,同时所有的信息me将被打包成一笔交易,交易内容为
Figure FDA0003777913240000076
其中一级关键词标签tagid中保存编号IDcj,信息分类标签tagclass中保存为物资处理信息,tagday为空,
Figure FDA0003777913240000077
为用捐赠者公钥加密后的证据信息;打包完毕后,M进入数据缓存区等待入链;
步骤5.2,数据入链后,捐赠者Di根据关键词标签查找物资处理信息在链中所处的位置,利用自己的私钥skd解密得到明文证据
Figure FDA0003777913240000081
其中
Figure FDA0003777913240000082
为用捐赠者公钥vkd加密后的密文,仅有捐赠者Di对应的私钥skd才能进行解密;查看物资处理情况以及相关证据,若对物资流向存疑,可向第三方政府机构IDM提出诉求。
5.根据权利要求1所述的一种基于新型区块链结构的慈善机构监督管理方法,其特征在于:步骤6的具体实现步骤如下:
步骤6.1,匿名捐赠者为慈善机构生成一个信誉等分评分Scorej∈[1,100],其中评分为整数的百分满分制;随机选取参数r,kv∈Zp,令
Figure FDA0003777913240000083
作为零知识证明的验证参数,然后计算出验证参数集(Rv,Tv,cv,sv),具体计算如下:
Figure FDA0003777913240000084
捐赠者Di将(σ′dc1,σ′dc2,Yv,cv,sv,Scorej,Cj)发送至系统中,其中(σ′dc1,σ′dc2,Yv,cv,sv)都为验证参数,以供验证评分令牌真实性,Scorej为评分,为被评价机构;
步骤6.2,系统接收到发送的评分Scorej后,自动验证评分令牌,计算出:
Figure FDA0003777913240000085
然后验证随机挑战cv是否被计算出,即
Figure FDA0003777913240000086
其中
Figure FDA0003777913240000087
为步骤1中慈善机构注册时的两个公共参数,仅当Rv=R′v、Tv=T′v时等式成立验证成功,则说明σdc也是对于秘密值dsi的签名,则σdc作为对于的信誉评级令牌有效,然后检测信誉等级评分是否在给定范围内,验证成功后,将信息打包M=<tagid|tagclass|tagdaydc|Scorej>,打包好的交易信息包括三个关键词标签、评分令牌以及有效评分;其中一级关键词标签tagid中保存被评价机构Cj,信息分类标签tagclass中保存信息分类为评分Score,tagday为空;打包完成后,进入数据缓存区等待入链。
6.根据权利要求1所述的一种基于新型区块链结构的慈善机构监督管理方法,其特征在于:步骤8的具体实现步骤如下:
步骤8.1,在初始化阶段,慈善机构Cj注册完成后会为之生成主链区块,并给予初始信誉评分Scorej为90,利用智能合约Scscore编程验证Scorej≥85,初始时必定验证成功,慈善机构Cj成为可信节点进入白名单,白名单节点做为可信节点在步骤7中分工生成支链区块;
步骤8.2,生成一个区块记做一个时间周期,每当一个时间周期结束,智能合约Scscore将自动执行,回溯每一个支链区块的交易信息,Scscore只针对以下两种交易信息:
分类标签tagclass关键词为有保质期物资,Scscore将获取当前日期Date和有保质期物资的捐赠入库时间戳
Figure FDA0003777913240000092
验算获得剩余保质天数
Figure FDA0003777913240000093
与相应保质天数tagday相比较,当rest≥(2/3)tagday,智能合约查看该交易信息的一级关键词标签tagid中的慈善机构编号
Figure FDA0003777913240000094
通过系统对慈善机构Cj予以警告信息;若rest≥tagday,则物资变质,慈善机构未妥善处理,生成一笔评分交易M=<tagid(Cj)|tagclass(Score)|tagday(null)|Scorej(20)>进入数据缓存区,即在这条打包的交易信息中,将一级身份标签设置为Cj的编号
Figure FDA0003777913240000091
二级分类标签设置为评分,三级标签为空,Scorej评分为20作为差评;
智能合约Scscore回溯Cj支链对于分类标签tagclass关键词为评分Score的区块,自动整合所有有效评分并更新Cj评分,具体规则如下:Scorej=20,在原有的信誉评分上扣10分;Scorej=40,在原有信誉评分基础上扣2分;Scorej=60,不扣分也不加分;Scorej=80,在原有基础上加4分;Scorej=100,则在原来基础上加10分;
步骤8.3,整合完所有评分后,Scscore验证更新白名单,白名单节点作为可信任节点会参与下一周期的区块生成,并有机会获得公共资源奖励。
7.根据权利要求1所述的一种基于新型区块链结构的慈善机构监督管理方法,其特征在于:步骤9中,第三方政府机构IDM审查慈善机构Cj的工作情况,所有的被捐赠物资信息以及工作明细、证据通过系统查看,同时,IDM可通过区块链,利用一级关键词标签tagid找到该机构的主链区块,调取其所有的支链区块,将支链区块的交易信息整合,便是该机构的整个工作明细;若慈善机构Cj在系统中对数据进行了修改,则会与区块链中的信息不符合,而区块链中的信息无法被篡改,慈善机构Cj将被追责;确认慈善机构存在违规操作后,对其采取一定的处罚,并生成评分交易信息,扣除其信誉评分;IDM的审查分两类,一类是当捐赠者存在异议时,向IDM诉求审查;另一类则是,对于信誉评分过低的慈善机构,需接受IDM的审查。
CN202011015517.XA 2020-09-24 2020-09-24 一种基于新型区块链结构的慈善机构监督管理方法 Active CN112100667B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011015517.XA CN112100667B (zh) 2020-09-24 2020-09-24 一种基于新型区块链结构的慈善机构监督管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011015517.XA CN112100667B (zh) 2020-09-24 2020-09-24 一种基于新型区块链结构的慈善机构监督管理方法

Publications (2)

Publication Number Publication Date
CN112100667A CN112100667A (zh) 2020-12-18
CN112100667B true CN112100667B (zh) 2022-09-20

Family

ID=73755432

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011015517.XA Active CN112100667B (zh) 2020-09-24 2020-09-24 一种基于新型区块链结构的慈善机构监督管理方法

Country Status (1)

Country Link
CN (1) CN112100667B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112818388B (zh) * 2021-01-25 2023-04-14 北方工业大学 一种基于区块链的云服务隐私保护信誉系统
CN114048985B (zh) * 2021-11-04 2022-11-04 陕西师范大学 基于区块链的群智感知救援物资收集方法
CN113781073B (zh) * 2021-11-10 2022-03-04 南京邮电大学 一种基于矩阵联盟链的可隐藏实名的资助方法
CN113988950B (zh) * 2021-11-17 2024-09-17 郑州厚普科技有限公司 一种公益慈善大数据的管理方法及管理平台
CN115733659B (zh) * 2022-08-02 2023-06-02 药融云数字科技(成都)有限公司 基于区块链的加密智能合约检测系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107967557A (zh) * 2017-11-17 2018-04-27 西安电子科技大学 基于区块链的可修改信誉评价系统及方法、电子支付系统
CN109242477A (zh) * 2018-06-28 2019-01-18 平安科技(深圳)有限公司 基于区块链的慈善捐赠方法、系统及存储介质
CN110443580A (zh) * 2019-08-02 2019-11-12 上海天地汇供应链科技有限公司 一种基于区块链的公益管理方法及系统
CN111008834A (zh) * 2019-11-26 2020-04-14 山东爱城市网信息技术有限公司 一种基于区块链的慈善捐款管理方法、设备及介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107967557A (zh) * 2017-11-17 2018-04-27 西安电子科技大学 基于区块链的可修改信誉评价系统及方法、电子支付系统
CN109242477A (zh) * 2018-06-28 2019-01-18 平安科技(深圳)有限公司 基于区块链的慈善捐赠方法、系统及存储介质
CN110443580A (zh) * 2019-08-02 2019-11-12 上海天地汇供应链科技有限公司 一种基于区块链的公益管理方法及系统
CN111008834A (zh) * 2019-11-26 2020-04-14 山东爱城市网信息技术有限公司 一种基于区块链的慈善捐款管理方法、设备及介质

Also Published As

Publication number Publication date
CN112100667A (zh) 2020-12-18

Similar Documents

Publication Publication Date Title
CN112100667B (zh) 一种基于新型区块链结构的慈善机构监督管理方法
Lu et al. Zebralancer: Private and anonymous crowdsourcing system atop open blockchain
US11552785B2 (en) Methods and systems for a synchronized distributed data structure for federated machine learning
US11562451B1 (en) Apparatus for proportional calculation regarding non-fungible tokens
CN107360001A (zh) 一种数字证书管理方法、装置和系统
JP7251035B2 (ja) 機密知識の特殊な証明を提供するシステムおよび方法
CN112613601B (zh) 神经网络模型更新方法、设备及计算机存储介质
JP2024525682A (ja) マトリックスアライアンスチェーンに基づく実名を隠すことが可能な資金援助方法
US20230281583A1 (en) Systems and Methods for the Facilitation of Blockchains
CN112367174B (zh) 一种基于属性值的区块链共识方法及装置
Huang et al. Blockchain-assisted personalized car insurance with privacy preservation and fraud resistance
US11627125B1 (en) Apparatus and methods for credentialing users across user devices
CN108009445A (zh) 一种半中心化的可信数据管理系统
CN113554421A (zh) 一种基于区块链的警务资源数据治理协同方法
US11917060B2 (en) Apparatus and methods for mapping user-associated data to an identifier
Xie et al. Simulation-based blockchain design to secure biopharmaceutical supply chain
US11922309B2 (en) Apparatus and methods for status management of immutable sequential listing records for postings
US20230043223A1 (en) Methods for Securely Adding Data to a Blockchain Using Dynamic Time Quanta and Version Authentication
Schaffner Scaling public blockchains
Yi et al. Blockchain Foundations and Applications
Baniata et al. Prifob: a privacy-aware fog-enhanced blockchain-based system for global accreditation and credential verification
CN114844653B (zh) 基于联盟链的可信联邦学习方法
US20220321358A1 (en) Apparatus and method for first value device verification
Van der Laan „Understanding Blockchain “
Lu et al. ZebraLancer: Decentralized crowdsourcing of human knowledge atop open blockchain

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