区块链让善行更好地传递 | FinTechathon Keep Water团队

2024-01-17 08:30

本文主要是介绍区块链让善行更好地传递 | FinTechathon Keep Water团队,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在2020 FinTechathon——微众银行第二届金融科技高校技术大赛上,来自深圳大学的Keep Water团队凭借WeHelp方案,斩获区块链赛道亚军。

WeHelp基于微众银行社会治理框架“善度”,使用区块链底层平台FISCO BCOS、分布式身份解决方案WeIdentity等区块链技术,加速求救与救援的匹配,让紧急求救、突发疾病得到最快的救治。同时采用可共享的分布式账本记录善行,保证数据的公信力,解决求助过程中的信任问题。

本文将解析如何通过区块链技术实现高效求助,并解决民间善行的政府认证与信任问题,以激励更多人行善。

以下为Keep Water团队分享实录:

截至2019年底,我国60岁及以上人口已超过2.5亿,人口老龄化趋势明显,现有生活居住环境和基础设施难以满足老龄化社会要求。

我们鼓励社会人士参与解决社会问题的的同时也面临着一些难题,例如,如何避免行善者被讹诈?如何核验善心人的善行并妥善发放奖励?如何解决民间善行的认证与信任问题?

针对这些痛点,我们希望通过区块链技术实现一个社区互助及善行验证奖励平台——WeHelp。

WeHelp的方案设计与技术实现

WeHelp是基于善度框架的区块链社区互助及善行验证奖励平台,为城市义工联设计的度量善行的解决方案,用区块链解决社会善行认证与信任问题。

善度是微众银行提出的针对“善行”实现度量、激励、跟踪、监督机制的社会治理框架。作为一个区块链社区互助及善行验证奖励平台,WeHelp借鉴了善度框架中的角色,充分考虑多方权益,真正让四类角色因为善行这件事而受益。

善度中的角色

对应善度中角色,WeHelp的运行由四大角色各司其职。其中,WeHelp团队承担着善度发起者的角色。

政府、企业、慈善基金会承担着善度赞助者的角色。

公安部门、社区、医院承担着善度监管者的角色。

平台使用者是所有需要帮助和愿意奉献爱心的人,他们是善度的终端用户。

善度框架致力于实现多方价值共赢,我们希望社会的每一个人都能在这个价值生态中找到自己的角色,在奉献的同时实现自我社会价值,从而促进整个社会积极向善,促进人类的技术文明发展。

  WeHelp的基本功能

基于善度框架,WeHelp为急需帮助的人、有能力并愿意给予帮助的人搭建桥梁、建立联系,基于区块链技术,充分发挥“爱心陌生人”的地理优势,在警察、医生等社会保障部门到来前给予救护。它的基本功能是求助和救援。

  • 利用手机App的及时推送功能和websocket等技术,实现随时向附近陌生人发起推送和消息。

  • 利用后台的随机加地理距离算法的实现,可在附近陌生人中快速找到愿意提供帮助的人,并为其提供路线导航,区块链记录移动过程避免双向欺诈。

为激励更多人行善,WeHelp基于区块链技术搭建了积分奖励系统,对每一位参与者进行社会身份关联绑定(DID身份认证机制),通过智能合约高效透明化地将善行转化为善行积分。

我们了解到部分地区和学校将荣誉证书作为义工服务的奖励,甚至义工服务时长可换取落户积分。在WeHelp平台上的善行积分可以与现实组织和政府的积分、荣誉进行兑换。

  • 利用自研积分评定算法,为救援者评定善行积分。该算法综合考虑被救者、救援者、凭证发行者(医院,公安、社区等)多方打分。

  • 利用WeIdentity组件进行多方身份认证、善行凭证颁发和善行积分发放。

所以,WeHelp APP 的用户逻辑图如下:

  WeHelp的技术实现

接下来,我们将介绍平台背后的技术实现。总共包含三个部分:区块链系统的架构、主要的智能合约、使用WeIdentity组件的原因和思路。

区块链系统架构设计

系统以FISCO BCOS为区块链底层,并利用WeBASE、WeIdentity等组件,构建WeHelp的区块链系统后台,相关架构如图所示:

系统主要智能合约

系统设计的主要业务智能合约如下:

路径存储合约(SaveRepository),通过记录救援者的救援轨迹,既可以避免救援者被讹诈,也可以为有关机构提供救援过程的核验依据。

善行凭证合约(使用WeIdentity Credential),权威机构颁发善行凭证,为救援者发放善行积分。

积分合约(ScoreRepository),管理用户总积分的入账和出账,并对任何检验方,提供检验用户积分来源真实性的能力。

以图片方式列出主要功能函数,如图:

WeIdentity组件使用思路

善行凭证的发放涉及求救者、救助者、有关机构、奖励方等多方,他们都需要进行有效的身份认证,确保救助、发证、验证过程的真实有效,并让链上的数据成为政府发放奖励的依据,从而解决民间善行到政府认证的信任问题。

参与方

  • 求救者 - 实体Entity

  • 救助者 - 实体Entity

  • 有关机构(医院、公安机构等)- 权威机构Issuer

    大型求救由公安、医院等权威凭证发行者发行善行凭证。目前凭证记录的内容包括发证机构WeID、求救者WeID、救助者WeID、发证时间、积分。

  • 奖励方(义工联、人社局、政府、社区、学校等) -验证者Verifier

流程

1、求救者、救助者、有关机构认证、奖励方等分别进行WeIdentity DID 注册及KYC认证。

2、参与救援的救助者向对应的医院或公安等有关机构申请善行凭证。发证方根据自身的专业考量对救助者的贡献度进行衡量,发放对应积分凭证。

3、用户可以在自己的主页查看每个善行凭证以及对应积分。

4、奖励方通过核验用户凭证,核验善行凭证和积分的真实性与有效性。

5、用户凭证经验证通过后,用户可通过消耗积分,获取对应的奖励。

WeHelp 相较于传统救助机制优势明显

WeHelp让求助更高效

当用户处于危险时,向陌生人求助可以更快地得到救助。

面对不同场景,WeHelp会优先向相应的专业人士分发求助信息。

WeHelp上拥有群聊功能,可实现求救者和救援者及时沟通,多方通力合作完成救援。

WeHelp通过区块链保护救援者

WeHelp的求救时间和移动路径都记录在区块链上,全程透明,不可篡改,可有效避免救援者被讹诈。

WeHelp保证善行积分真实有效

WeHelp通过WeIdentity利用生物数字身份进行注册与核验,可确保收集到的善行数据来自用户本人。

求救者地点会被记录到区块链上,只有真正移动到求救地点的用户才能获取奖励,可有效防止编造救援事件骗取善行奖励。

结语

目前,本项目已经贡献到FISCO BCOS开源社区,更多详细的方案设计及代码实现大家可以通过以下链接查看:

https://github.com/FISCO-BCOS/hackathon/tree/master/2020-Shenzhen-FinTechathon2/KeepWater-WeHelp

抱着“为众人抱薪者,不可使其冻毙于风雪”的信念,我们希望WeHelp不仅是一个APP产品,更是一种以科技扬善的精神。

这篇关于区块链让善行更好地传递 | FinTechathon Keep Water团队的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/615448

相关文章

异步线程traceId如何实现传递

《异步线程traceId如何实现传递》文章介绍了如何在异步请求中传递traceId,通过重写ThreadPoolTaskExecutor的方法和实现TaskDecorator接口来增强线程池,确保异步... 目录前言重写ThreadPoolTaskExecutor中方法线程池增强总结前言在日常问题排查中,

Python调用另一个py文件并传递参数常见的方法及其应用场景

《Python调用另一个py文件并传递参数常见的方法及其应用场景》:本文主要介绍在Python中调用另一个py文件并传递参数的几种常见方法,包括使用import语句、exec函数、subproce... 目录前言1. 使用import语句1.1 基本用法1.2 导入特定函数1.3 处理文件路径2. 使用ex

Java向kettle8.0传递参数的方式总结

《Java向kettle8.0传递参数的方式总结》介绍了如何在Kettle中传递参数到转换和作业中,包括设置全局properties、使用TransMeta和JobMeta的parameterValu... 目录1.传递参数到转换中2.传递参数到作业中总结1.传递参数到转换中1.1. 通过设置Trans的

如何在页面调用utility bar并传递参数至lwc组件

1.在app的utility item中添加lwc组件: 2.调用utility bar api的方式有两种: 方法一,通过lwc调用: import {LightningElement,api ,wire } from 'lwc';import { publish, MessageContext } from 'lightning/messageService';import Ca

【区块链 + 人才服务】可信教育区块链治理系统 | FISCO BCOS应用案例

伴随着区块链技术的不断完善,其在教育信息化中的应用也在持续发展。利用区块链数据共识、不可篡改的特性, 将与教育相关的数据要素在区块链上进行存证确权,在确保数据可信的前提下,促进教育的公平、透明、开放,为教育教学质量提升赋能,实现教育数据的安全共享、高等教育体系的智慧治理。 可信教育区块链治理系统的顶层治理架构由教育部、高校、企业、学生等多方角色共同参与建设、维护,支撑教育资源共享、教学质量评估、

【区块链 + 人才服务】区块链集成开发平台 | FISCO BCOS应用案例

随着区块链技术的快速发展,越来越多的企业开始将其应用于实际业务中。然而,区块链技术的专业性使得其集成开发成为一项挑战。针对此,广东中创智慧科技有限公司基于国产开源联盟链 FISCO BCOS 推出了区块链集成开发平台。该平台基于区块链技术,提供一套全面的区块链开发工具和开发环境,支持开发者快速开发和部署区块链应用。此外,该平台还可以提供一套全面的区块链开发教程和文档,帮助开发者快速上手区块链开发。

JAVA基础:值传递和址传递

1 值传递和址传递 值传递 方法调用时,传递的实参是一个基本类型的数据 形参改变,实参不变 public static void doSum(int num1,int num2){}main(){doSum(10,20);int i = 10 ;int j = 20 ;doSum(i,j) ;}   public static void t1(int num){num = 20

Science Robotics 首尔国立大学研究团队推出BBEX外骨骼,实现多维力量支持!

重复性举起物体可能会对脊柱和背部肌肉造成损伤,由此引发的腰椎损伤是工业环境等工作场所中一个普遍且令人关注的问题。为了减轻这类伤害,有研究人员已经研发出在举起任务中为工人提供辅助的背部支撑装置。然而,现有的这类装置通常无法在非对称性的举重过程中提供多维度的力量支持。此外,针对整个人体脊柱的设备安全性验证也一直是一个缺失的环节。 据探索前沿科技边界,传递前沿科技成果的X-robot投稿,来自首尔国立

六、Maven依赖管理、依赖传递和依赖冲突

1.Maven依赖管理 Maven 依赖管理是 Maven 软件中最重要的功能之一。Maven 的依赖管理能够帮助开发人员自动解决软件包依赖问题,使得开发人员能够轻松地将其他开发人员开发的模块或第三方框架集成到自己的应用程序或模块中,避免出现版本冲突和依赖缺失等问题。 我们通过定义 POM 文件,Maven 能够自动解析项目的依赖关系,并通过 Maven 仓库自动下载和管理依赖,从而避免了手动

【鸿蒙HarmonyOS NEXT】页面之间相互传递参数

【鸿蒙HarmonyOS NEXT】页面之间相互传递参数 一、环境说明二、页面之间相互传参 一、环境说明 DevEco Studio 版本: API版本:以12为主 二、页面之间相互传参 说明: 页面间的导航可以通过页面路由router模块来实现。页面路由模块根据页面url找到目标页面,从而实现跳转。通过页面路由模块,可以使用不同的url访问不同的页面,包括跳转到U