首页> 中国专利> 一种基于新型数据存储模型的区块链慈善系统

一种基于新型数据存储模型的区块链慈善系统

摘要

本发明涉及一种基于新型数据存储模型的区块链慈善系统,本系统采用基于以太坊的智能合约开发的方式,通过使用新型数据存储模型,将上传的项目数据按照所需的要求进行加解密等操作,使得数据具有保密性;同时将交易数据进行链上存储,利用区块链不可篡改可追溯等特性,将所有经过本系统的交易数据进行上链操作,使得交易数据变得公开透明,同时无法对已经完成的交易的数据进行修改,从而使整个系统具有足够的公信力。

著录项

  • 公开/公告号CN112507022A

    专利类型发明专利

  • 公开/公告日2021-03-16

    原文格式PDF

  • 申请/专利号CN202011333580.8

  • 申请日2020-11-25

  • 分类号G06F16/27(20190101);G06F21/60(20130101);G06F21/62(20130101);G06F21/64(20130101);G06Q40/04(20120101);G06Q50/26(20120101);

  • 代理机构21002 沈阳科苑专利商标代理有限公司;

  • 代理人王倩

  • 地址 110168 辽宁省沈阳市东陵区南屏东路16号

  • 入库时间 2023-06-19 10:16:30

说明书

技术领域

本发明涉及到了区块链技术以及在数据上传中的数据存储技术的领域,总 结起来就是一种基于新型数据存储模型的区块链慈善系统。

背景技术

现在的捐款的主流方式是通过网上募捐,区块链作为比特币的底层技术,因 为其具有的不可篡改和可追溯的特性而被人所知,于是,将区块链技术应用在 慈善领域,通过网上募捐,记录善款的流动方向,随时可以查询善款的去向, 针对应用在慈善领域的区块链系统可以做到善款追踪,公开慈善账目,提升慈 善组织的透明度,提升公众的信任感。

传统的慈善系统更多的是采取本地存储的方式,通过系统内部链接的数据库 进行信息的存储,其中涉及到的交易记录也大多由系统的所属方来保存,这样 的中心化管理就不可避免的涉及到信息是否公开透明的问题,尤其是对于交易 数据来说,捐助者无法确定自己所捐助的款项是否被使用在自己所期待的方向 上,无法做到实时的监控,可能会造成一些贪污的问题,这些就需要用到区块 链交易数据可溯源、不可篡改的特性;

区块链技术源自于比特币的创造,区块链作为一个新兴技术,具备去中心化、 防篡改、可追溯等特性,这些特性在金融领域中都具有非常突出的效果,他可 以适应多种情况下的金融交易,同时也为金融交易提供了一个具备公信力的合 理的平台,区块链技术是开放的,同时也是一个能高效地分配资源的技术,为 金融交易提供了新的手段,区块链技术为商业领域的快速发展,带来了更多的 成长空间。与分布式结构相比较而言,传统的中心化结构有两点比较突出的问 题:一个是因为如今的交易方式会使交易双方产生信息不对称的问题;二是在 交易的时候难免会产生资金安全的问题。区块链技术可应用于优化支付体系和 构建高效安全的金融科技。其中,根据区块链技术的发展,演化出了很多区块 链技术的底层平台,其中的以太坊平台是最为人熟知的平台之一,以太坊平台 具有完备的图灵机制,对于实现智能合约的目的来说已经具备很成熟的环境。

对于以太坊来说,可以看做是区块链技术与智能合约的结合,以太坊是区块 链2.0的产物,以太坊对于智能合约来说具有更加成熟的环境,可以帮助智能合 约更稳定的运行。以太坊可以看作是一个为交易服务的状态机,他通过读取一 系列的输入,通过这些输出产生一个新的状态,其中,对于如何执行某种功能 或者某种需要的状态,我们需要根据具体的要求来编写符合规定的智能合约, 实现不可篡改可追溯的功能。

发明内容

为了满足慈善系统对数据的安全性、存储量、不可篡改等方面的需求,采 用了区块链技术与慈善相结合的方式,满足了数据的可追溯、不可篡改的要求, 本系统采用了在以太坊平台上来进行智能合约的开发。

本发明为实现上述目的所采用的技术方案是:

一种基于新型数据存储模型的区块链慈善系统,包括:

web交互层,用于所述区块链慈善系统与外部进行信息交互,并将交互的信 息传入智能合约层;

智能合约层,用于根据web交互层发送的信息生成智能合约;

数据存储层,用于对智能合约中的项目登记信息进行加密以及解密;

链上服务层,用于实现所述区块链慈善系统的链上部署以及与区块链主网 的信息交互,对所述区块链慈善系统内提交到区块链主网的智能合约中的信息 进行查询确认和功能实现。

所述区块链慈善系统与外部交互的信息包括:受助者信息,受助项目名称、 受助项目具体描述。

所述智能合约中的信息包括:受助项目的项目登记信息、捐助者的捐助信 息。

所述智能合约层包括:捐款者模块、受助者模块以及监督者模块,其中:

捐款者模块,用于捐款者进行捐款以及查询捐款流向动态;

受助者模块,用于受助者提交受助信息以及受助项目的项目登记信息;

监督者模块,用于监督受助信息以及监督捐款流向。

所述数据存储层包括:数据录入模块、链上存储模块以及数据还原模块, 其中:

数据录入模块,用于录入项目登记信息,并根据项目登记信息生成项目ID;

链上存储模块,用于将项目登记信息进行加密计算,得到该项目的秘钥;

数据还原模块,用于根据项目ID查询该项目所对应的秘钥,并对秘钥进行 解密,得到项目登记信息。

所述数据存储层对项目登记信息进行处理包括以下步骤:

区块链慈善系统根据智能合约要求读取输入的数据S={S1,S2,...,Sn},S为项目登记信息,n为项目登记信息序号;

区块链慈善系统对每个项目进行标记,生成唯一的ID,ID={id1,id2,...,idn};

区块链慈善系统对每一个输入的数据S与ID共同进行加密计算,生成对应 的秘钥L:L←Encrypt(S,ID),记录为L={L1,L2,...,Ln};

区块链慈善系统将秘钥L和对应的ID标记存在区块链上;

当区块链慈善系统进行读取数据操作时,首先通过项目名称进行秘钥查找: L=SearchFrom(Name);

得到秘钥L后,对已加密数据秘钥L进行解密,得到所需的数据S:S← Decrypt(L)。

一种基于新型数据存储模型的区块链慈善系统的方法,受助者将受助信息 上传至区块链慈善系统,捐助者选择在区块链慈善系统中的受助项目进行捐助, 具体包括以下步骤:

区块链慈善系统与外部进行信息交互,并将交互的信息传入智能合约层;

智能合约层根据web交互层发送的信息生成智能合约;

数据存储层对智能合约中的项目登记信息进行加密以及解密;

捐助者选择区块链主网中的受助者的智能合约进行捐助。

本发明具有以下有益效果及优点:

1.本发明相对现有系统是去中心化的,交易数据公开透明,可追溯不可篡改, 具有极高的可信度。

2.交易双方可以进行匿名交易,保护交易双方的隐私。

3.交易数据通过加密处理,可以保障数据的安全性和完整性。

4.交易是按照智能合约的规则来进行的,避免可利用的漏洞造成的经济损失。

5.交易过程中采取的新型存储模型极大地提高了在区块上的空间利用率。

附图说明

图1为本发明的系统架构图;

图2为本发明采用的新型数据存储模型图。

具体实施方式

下面结合附图及实施例对本发明做进一步的详细说明。

如图1所示,本文所设计的基于新型数据存储模型的区块链慈善系统主要 分为四个部分,其具体的功能如下:

(1)以太坊平台环境的搭建:以太坊作为区块链2.0时代最突出的代表之 一,它可以平稳的运行智能合约以及足够的空间来为节点提供投票等功能,使 用智能合约的目的是为了确保系统在运行中保证严格按照代码所描述的功能来 运行,而不会因为后续的修改对系统的结果造成影响;

(2)慈善系统中,最主要的是智能合约层的设计,智能合约层主要设计了 三种角色,捐款者,受助者以及监督者,这三个模块互相独立,但在某些功能 上又会有相互照应的关系,其中,捐款者需要有可以捐款以及查询属于自己的 捐款的流向动态的功能;受助者需要有提交受助信息,选择受助计划的功能; 监督者当然要履行监督的职能,需要有监督受助信息,同时可以监督捐款流向 的功能。其内部的每一个属性通过登记者输入,或是经过不同的计算方式录入 到系统中,系统会自动收集当前账户的地址信息,在登记项目信息的时候,会 将当前提取的使用者地址自动设置为受益地址,当监督者使用合约的摧毁机制时,会将所筹集的善款打向指定账户;

(3)在设计慈善系统的同时,重点设计对于链上信息进行加密保存的存储 模型;

(4)对智能合约进行打包封装,truffle框架实现前后端的交互功能;系统采 用了web3来进行智能合约与底层功能的交互,主要是根据不同的功能设计了不 同的页面,实现了功能和界面的链接交互,构成了完整的系统架构。

如图2所示,是系统设计的新型数据存储模型,整个数据存储模型包含三个 部分:数据录入,数据还原,链上存储;首先信息记录者会进入项目登记界面, 按照项目需求填写有关信息,同时系统会为该项目生成唯一的ID,将每一个项 目所对应的数据进行加密计算,得到属于这个项目的秘钥。我们会在链上存储 根据加密计算得到的项目秘钥L,这样可以在不暴露登记资料的情况下,进行数 据的链上存储。在数据还原部分,我们会根据项目名称查询项目所对应的秘钥L, 在得到了秘钥L之后,根据解密算法对已加密的数据秘钥L进行解密,得到我 们所需的数据,之后再根据计划由解密方对上传方进行捐赠。

具体的步骤为:

①输入数据S={S1,S2,...,Sn};

②对每个项目进行标记,生成唯一的ID,ID={id1,id2,...,idn};

③对每一个输入的数据S与ID共同进行加密计算,生成对应的秘钥L: L←Encrypt(S,id),记录为L={L1,L2,...,Ln};

④将秘钥L和对应的ID标记存在链上;

⑤当进行读取数据操作时,首先通过项目名称进行秘钥查找: L=SearchFrom(Name);

⑥得到秘钥L后,通过解密算法对已加密数据秘钥L进行解密,得到所需 的数据S:S←Decrypt(L)。

⑦最后根据数据还原得到的项目ID进行捐款等一系列操作。

本系统中将核心数据(受助人信息,捐款情况等)存储到区块链上。智能合 约层实现基于区块链技术的慈善系统的基本功能,如注册受助者信息、地址注册 等功能,区块链实现核心数据的存储功能,区块链采用对等网络分布式数据库, 使用非对称加密和数字签名保证数据不可篡改同时可以被追朔,使用共识机制 保证区块链网络中的数据一致,最后通过时间戳将各个区块首尾链接形成链式 结构保存。

本发明包括以下步骤:

1.系统录入相关信息。受助方需要根据要求发布一个智能合约,将需要受助 的项目数据写入智能合约中,包括项目名称、项目来源、项目的具体描述以及 项目所需要的筹集的金额等,系统将收集到的信息按照不同的分类进行区分存 储,,智能合约中设计了系统所具有的功能,包括项目的信息登记以及信息加密 提取;

2.捐助方查询项目信息。系统将受助方登记的项目信息发布在区块链上,捐 助方如果想要查询项目信息,系统会通过输入的相关秘钥,对链上信息进行加 解密处理,从而通过区块链来查看所有的登记在链上的项目信息。

3.数据上传。当受助方按照智能合约填写信息后。系统会根据上传的信息为 这个项目分配一个唯一的身份标识,之后系统会提取项目信息中的关键值,包 括受益地址以及身份标识等,系统会根据特定的加密算法将数据加密后将加密 所得的秘钥进行链上存储,实现链上信息录入。

5.数据还原。系统为捐助方提供所有的上传的项目简介,其中包含捐助方所 需要的项目的秘钥,系统会通过特定的解密算法,解密受助方上传的加密数据, 然后对数据进行哈希运算,来检查是否匹配之前受助方上传的哈希。如果确认 无误,将会按照所期望的方式进行捐助,完成交易。如果哈希不匹配,捐助方 直接拒绝交易。

6.定向捐款。系统在后台自动录入指定的地址,用来进行定向捐款。系统会 根据合约所部署的规则,按照要求录入捐赠信息,之后会将善款进行统一保管, 系统会给用户分配可查询款项的具体使用情况以及交易记录的权力。

7.善款发放。对于可进行捐助的项目,系统会判断这个项目是否具有有效地 捐助权力,如果存在其内部的资金可以通过进行发放,当得到的捐助超过目标 金额后,即可实现善款的发放。

步骤1.受助方登录系统,通过项目登记界面将项目有关信息录入系统。

步骤2.当项目信息成功录入系统后,选择数据是否为私密信息,如果是, 将对关键信息进行加密操作,如果为可公开数据,那么将对存储的信息进行数 据存储操作。

步骤3.系统会为该项目生成唯一的身份信息,将每一个项目所对应的数据 进行加密计算,得到属于这个项目的秘钥。

步骤4.在链上存储根据加密计算得到的项目秘钥,在不暴露登记资料的情 况下,进行数据的链上存储。

步骤5.项目的有关信息,一部分存储在本地的数据库中,这一部分的信息 包括了项目的来源、具体的描述信息、目标金额以及名称等不需要加密存储的 非关键信息,上链的部分则是关于项目的身份认证信息、以及关于该项目的交 易数据等需要公开的关键信息。

步骤6.交易单会被广播到全网,每个连入主网的节点都会将数笔没有经 过验证的hash值收集起来,再通过共识算法来进行区块的争夺,最先完成target 验证的节点有权利打包所有交易,获得区块的使用权。

步骤7.捐助方根据项目名称查询项目所对应的秘钥,进行数据还原操作, 根据解密算法对已加密的数据秘钥进行解密,得到项目相关的详细数据,再根 据捐助计划对项目上传方进行捐赠。

步骤8.系统监督方查看项目所收到的捐款是否达到预期,如果达到了预期, 那么可以通过善款发放的功能,将捐助到合约中的善款,全部下发到被捐助的 项目中所标记的受益地址。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号