WeBASE应用管理案例:亦笔科技贡献司法存证应用
共 4000字,需浏览 8分钟
·
2021-08-21 17:23
WeBASE v1.5.0开放了应用管理功能,支持区块链应用以开源应用管理案例的形式接入到WeBASE中, 为社区提供完整的应用开源实现参考。
我们公司(杭州亦笔科技有限公司)作为一家专注于“区块链+司法”综合服务提供商,使用FISCO BCOS区块链底层平台研发了司法电子存证场景应用,很高兴能够借此机会,与社区分享我们在司法存证方面的实践成果。
在该案例中,我们将其全数据生命周期电子数据存管与证明解决方案以开源形式接入WeBASE应用管理,开源了应用案例的前后端和业务合约全部代码,并提供完善的开源使用文档。欢迎更多社区伙伴一起打造这个应用案例、完善使用文档,让它能更好地解决司法存证场景的痛点,推动区块链在司法存证场景更广泛地应用。
开源仓库:
https://github.com/YibiOpen/evidence-chain-demo
项目主要参与人:
(从左至右依次为谭广森、金兆康、毛超武)
姓名 | 公司 | 岗位 |
金兆康 | 杭州亦笔科技有限公司 | 技术总监 |
毛超武 | 杭州亦笔科技有限公司 | 高级架构师 |
谭广森 | 杭州亦笔科技有限公司 | 前端开发工程师 |
行业痛点
金融线上业务的“用户信息、电子合同信息”等通常以电子数据的形式存在。而电子证据容易被无痕迹篡改,因而,在诉讼举证时,法院往往对于电子证据是否被篡改过存有疑问。区块链技术具有数据防篡改特性,通过区块链电子数据存证系统可以实现电子证据固化,而且司法机构(仲裁/法院)作为联盟链中的节点,可以保证司法机构对于电子证据的认可。
这意味着,在存证服务平台同网络仲裁、互联网法院等司法机构的接口打通之后,当客户与银行产生借贷纠纷时,司法存证系统可以方便快捷地予以处理。
解决方案
全数据生命周期电子数据存管与证明解决方案是一整套完整的解决方案,覆盖电子数据的特征、人民法院审理案件对证据的要求、以及对于电子数据的存管。
人民法院在审理案件时,要求证据是相对固定的、没有被篡改的,且能在法庭上被直观呈现,以及能实现卷宗归档。而电子数据易变、易改无痕、不易固化呈现和难以归档的特性,与法院对于证据的要求相悖。针对这些情况,全数据生命周期电子数据存管与证明解决方案从数据的生成和创建、传输和存储、数据取得这三个方面着手予以针对性解决。
在数据生成和创建时,方案就通过最高级别加密传输保护、公安部完整性鉴别、分布式云存储隔离和安全防护保障等方式或举措,保证数据实时同步备份以及不被篡改,从而确保证据的真实性,解决了证据固化和保存的问题。
方案采用区块链可信连接等方式,引入金融机构、存证机构、司法机构组成数据保全联盟链,实现客户每一次线上操作,联盟链全程广播,各节点实时记录,并利用区块链技术的实时广播,监控上链情况、留痕情况、证据保全状态等,建立起新型的电子数据证据保存系统。
此外,方案引入了司法机构,让其参与存证的监察管理,并以电子证书的形式对电子数据内容进行直观呈现和形式固定,解决法庭质证呈现及归档问题。
系统架构
系统环境
系统采用Maven进行构建,引入WeBASE-APP-SDK进行区块链调用。WeBASE-APP-SDK实现了区块链底层接口封装,可便捷完成私钥用户添加、合约部署、合约调用、合约查询等,让业务系统更加专注于自身业务实现。
本案例相关环境如下表所示:
Java | 1.8或以上版本 |
SpringBoot | 2.1.0.RELEASE |
Mysql | 5.6或以上版本 |
FISCO BCOS | 2.7.2 |
WeBASE-APP-SDK | 1.5.1-SNAPSHOT |
系统架构图
接入WeBASE
1)引入依赖:
<dependency>
<groupId>com.webank</groupId>
<artifactId>webase-app-sdk</artifactId>
<version>1.5.1-SNAPSHOT</version>
</dependency>
案例接入后将通过WeBASE托管私钥、合约等数据,使用了WeBASE-APP-SDK提供的以下功能:
2)实现应用注册:(接口调用请参考下述文档链接)
https://webasedoc.readthedocs.io/zh_CN/latest/docs/WeBASE-APP-SDK/api.html#id3
3)新增私钥用户:(接口调用请参考下述文档链接)
https://webasedoc.readthedocs.io/zh_CN/latest/docs/WeBASE-APP-SDK/api.html#id49
4)合约部署:(接口调用请参考下述文档链接)
https://webasedoc.readthedocs.io/zh_CN/latest/docs/WeBASE-Front/interface.html#webase-sign
5)合约原文保存:(接口调用请参考下述文档链接)
https://webasedoc.readthedocs.io/zh_CN/latest/docs/WeBASE-APP-SDK/api.html#id76
6)合约地址保存:(接口调用请参考下述文档链接)
https://webasedoc.readthedocs.io/zh_CN/latest/docs/WeBASE-APP-SDK/api.html#id80
7)合约调用:(接口调用请参考下述文档链接)
https://webasedoc.readthedocs.io/zh_CN/latest/docs/WeBASE-Front/interface.html#id375
8)已编码查询交易发送:(接口调用请参考下述文档链接)
https://webasedoc.readthedocs.io/zh_CN/latest/docs/WeBASE-Front/interface.html#id393
功能介绍
1)合约部署
系统部署后,通过管理员账号登录,登录成功后,系统会判断是否已部署好电子存证合约,若无部署则先调用WeBASE开放接口进行应用注册; 应用注册好,调用WeBASE开放接口新增私钥用户; 私钥用户新增完成后,调用WeBASE Front 模块中的合约部署接口; 合约部署完成后,调用WeBASE开放接口进行合约原文保存; 合约原文保存后,调用WeBASE开放接口进行合约地址保存。
2)电子数据哈希上链
电子数据存证后,会通过哈希算法对存证数据(原文or附件)进行摘要计算,计算完后针对哈希进行签名; 调用WeBASE Front的交易处理接口,进行存证合约的调用,实现存证数据哈希上链; 其他机构进行签名并调用WeBASE Front的交易处理接口,实现存证数据哈希签名上链。
3)电子数据核验
针对要进行数据核验的数据,首先获取到其上链地址; 根据合约地址调用WeBASE-Front已编码查询交易发送接口,查询出链上存储的上链信息; 比对存证系统中的数据和链上获取的到数据是否一致。
案例演示
1. 产品维护
产品管理页面用于展示已经维护好的存证产品,且可以进行新建和修改。一个产品代表了一个实际业务。
2. 节点维护
产品管理页面用于展示已经维护好的存证节点,且可以进行新建和修改。一个节点代表了一个实际业务下的某个环节或步骤。
3. 要素维护
要素管理页面用于展示已经维护好的存证要素,且可以进行新建和修改。要素为实际业务下某个环节或步骤在操作过程中会生成的电子数据细项。
4. 模拟存证
如下图所示,用于模拟电子数据存证,选择产品、保全点后会动态展示其存证要素,输入存证要素值,可以选择上传存证附件,最后点击提交按钮,完成存证模拟,存证存证后页面跳转到存证管理。
5. 存证数据查看
存证管理页面用于展示已经存证的电子数据,且可以进行查看和核验;存证数据查看会展示出具体的存证要素内容和所有的存证附件。
6. 存证数据核验
存证数据核验会进行链上数据获取,并核对存证数据库中的数据内容。
结语
该案例的实施,帮助我们得到了很大的提升,感谢社区给我们这个机会。此外,随着公司业务的不断发展,尤其是在涉足与拓展区块链业务时,碰到不少问题,得到了微众银行区块链团队的大力支持,在此一并表示感谢。
我们也坚持“合作共赢,拥抱开源”的精神,将这个 evidence-chain-demo 项目开源贡献给社区。同时,也很希望该案例能给大家带去一些接入引导,大家若在部署或应用过程中有任何问题或者建议,欢迎提交PR,帮助我们一起完善该案例。
杭州亦笔科技有限公司于2017年12月与仲裁机构、微众银行共同推出的首个区块链司法应用仲裁链发布;2018年3月正式加入FISCO BCOS开源工作组,工作组成员包括博彦科技、华为、深证通、神州数码、四方精创、腾讯、微众银行、亦笔科技和越秀金科等金链盟成员机构。