关键词:开放联盟链;二手交易;链码;Hyperledger Fabric;区块链应用
中图分类号:TP319 文献标识码:A
文章编号:1009-3044(2024)36-0053-03"开放科学(资源服务) 标识码(OSID) :
0 引言
随着移动互联网的迅速发展,越来越多的人选择在网上进行购物和交易,二手交易平台因此得到了迅速发展。人们逐渐意识到二手物品的价值,数据显示,2023年二手电商交易规模达5 486.5亿元,同比增长14.25%;用户规模为5.8亿人,同比增长25.26%[1]。目前二手交易平台存在信任缺失、数据安全隐患、交易纠纷等问题。区块链技术是一种可溯源、交易合约强制执行、安全可信的分布式存储技术。与传统二手交易平台相比,区块链使用可溯源的机制提升用户体验,使用分布式存储保障交易双方数据安全,通过引入监管和调节机构促进多方认证,利用三方博弈提高市场公平性,使用点对点的交易模式降低中心化平台的干扰和交易成本。对于贵重的二手商品,使用区块链技术构建的可信任二手交易平台将成为未来二手交易的新模式。
1 国内外研究现状
近年来,国内对于二手交易平台以微信小程序和互联网等为主。张柱等[2]提出使用Java语言开发基于微信小程序的校园二手交易平台,李元博等[3]提出使用Eclipse平台设计基于B/S架构的校园二手商品交易系统并采用人脸识别技术实现了系统登录,庄彦等[4]提出一个基于校园网的二手交易平台。
在区块链应用的探索方面,杜惠英等[5]提出使用区块链搭建大宗商品的交易平台,张东钢[6]提出一个用区块链优化公共资源交易的新模式,刘华懿[7]提出将区块链技术加入二手房的交易监管服务系统,郭仪等[8]提出用区块链技术把电力数据设计为一种资产并实现对这种资产的交易,牛晓林等[9]提出将音乐的出版权作为一种数据存储在链上,有效地实现和维护了对音乐产权以及产权人的保护,李向阳等[10]提出一个基于区块链的知识产权交易平台,刘明玮等[11]提出一个基于联盟链的数据驱动型财务共享平台。
基于上述研究分析,在现有二手交易服务方面,并未有使用区块链技术作为实际应用落地的研究。区块链技术作为第三代互联网的重要支柱,正逐渐应用于各个领域。使用区块链对现有二手交易服务体系进行升级,加入监管节点和调节节点预防诈骗,控制物品价格,促进数据流通,提高买方交易信心,使二手交易行业更加透明并合规合法。
2 基于区块链的二手交易服务平台的系统架构和功能
2.1 系统逻辑架构
基于开放联盟链的二手交易服务平台由运营商、政府监管机构、社会组织共同构成区块链的模式。根据二手交易服务平台的需求和区块链网络模式设计的逻辑架构如图1所示。
平台主要分为网络层、链码层、存储层、应用层。首先在Linux 服务器中搭建区块链网络,通过Hy⁃ perledger Fabric平台提供的区块链搭建工具来生成证书和密钥,完成区块链网络文件配置,在网络中创建并启动各组织节点,创建节点间的交流通道和创世区块,将节点加入通道,将链码载入节点。
网络层负责系统中节点的通信、组织结构、通道管理以及共识机制。这一层的作用是连接节点、完成交易传输和区块广播、实现共识机制、通过非对称加密算法完成数据加密。网络层组成部分及每部分作用如下所示:
1) MSP(组织和成员资格服务提供者):MSP是组织和成员资格服务提供者,全称Membership Service Provider,负责验证和管理区块链网络中成员的身份。它使用数字证书对网络中的每个实体进行身份标识,从而确定每个节点或用户的权限和身份。区块链网络通过MSP对成员的权限进行控制,确保具有有效身份的成员能够访问资源和参与共识。MSP还会通过证书和签名机制保障交易隐私,确保交易由经过授权的成员发起。
2) Channels(通道) :Channels(通道) 是区块链网络中的逻辑隔离区,使不同的成员或组织在一个通道内共享数据。每个通道拥有一个独立账本,一个通道的交易和数据对其他通道是不可见的,因此保证了数据隔离和隐私。只有在一个通道内的成员组织可以访问和参与交易,这使得多方组织在同一网络中共享区块链数据资源但保持数据独立。
3) Orderer Nodes(排序节点) :Orderer Nodes(排序节点) 是网络的节点之一,它负责接受来自客户端的交易请求,将请求经过排序来保证区块链的总顺序一致性。它通过共识算法来保证区块生成的顺序和网络的一致性,确保对等节点拥有一致的数据记录,最后生成区块并发送给对等节点。
4) Peer Nodes(对等节点) :Peer Nodes(对等节点) 是网络的节点之一,它负责在区块链网络中传输数据、执行链码、存储交易账本。Peer节点在网络层中的作用是参与共识流程和记录交易信息,由负责运营和监管的组织持有。所有Peer节点都有执行链码、对Orderer节点发出的区块信息做验证的能力,但并不是所有的Peer节点都会安装链码,安装并运行了链码的称为Endorsing Peer(背书节点) 。
5) Endorsing Peer(背书节点) :Endorsing Peer(背书节点) 是网络的节点之一,它需要承担额外的职责,如验证交易的合法性。通常会接收交易提案,执行链码,然后根据背书策略对结果进行背书,即记录交易执行过程中读取的和发生变化的状态信息。这些节点在交易被排序和写入账本之前提供初步验证。
6) Anchor Nodes(锚节点) :Anchor Nodes(锚节点) 是网络的节点之一,它负责在网络中建立跨组织通信。它是各组织在网络中的连接点,通常每个组织都会将一个Peer节点设置为Anchor节点。
7) CA Nodes(证书授权节点) :CA Nodes(证书授权节点) 是网络的节点之一,全称Certificate Authority,它是数字证书颁发机构,负责组织内部成员的注册和加入等工作。为该组织的区块链用户生成和颁发数字证书,其作用是防止未授权的用户或失效节点继续访问网络。
8) Cli Nodes(客户端节点) :Cli Nodes(客户端节点) 扮演了代表最终用户的实体,可以同时与Peer和Orderer通信,创建并调用交易。客户端节点的作用是为用户提供一个工具,用于与网络进行交互。
链码层是系统的业务逻辑层,负责处理链码的部署。这一层的作用是定义和执行区块链中的业务逻辑、交易规则、背书策略、资产操作,需要实现平台功能与页面设计,搭建对应用层的服务接口。链码层使用Go语言完成,在Docker容器中运行实现,确保其隔离性和安全性。
存储层分为区块链存储和MySQL数据库存储。在这样的混合架构中,区块链存储负责存储用户的交易数据、区块数据、关键事件日志、所有权证书,其作用是确保交易透明可信、可追溯、不可更改。MySQL 数据库负责存储用户数据、商品信息、订单和库存等,其作用是存储需要高频更新、快速响应的数据,以减轻区块链网络的运行压力和减少运营商的运行成本。
应用层的作用是为用户提供直观的界面,包括用户的登录、查询、交易、捐赠等界面。应用层使用Ja⁃ vaScript框架实现网页的交互模式,使用Vue完成页面的渲染,用户通过浏览器访问前端Web页面,完成与各类去中心化应用的交互。
交易信息在区块链网络中的共识流程如图2所示。
在系统的区块链网络中,一条交易信息请求从客户端到区块链存储需要经历多个阶段:
1) 首先,客户端向区块链网络提交交易请求,生成交易提案到背书节点。
2) 多个背书节点收到交易提案后须执行相应的链码,各自验证交易,得到结果并签名后向客户端发送信息。
3) 客户端接收到一定数量的经过签名的背书结果后,将交易信息和背书结果打包成交易提案发送到排序节点。
4) 排序节点收到交易提案后验证读写集,通过排序服务对其进行排序,最后将排序后的交易打包成区块并广播给所有对等节点。
5) 对等节点收到区块后需要验证这个区块的签名、区块里面交易信息的合法性、有效性和状态、排序节点的可信度。验证通过后将更新账本;如验证失败,则不会更新账本并将交易记录到日志。
这个过程称为区块链节点达成共识。达成共识后,对等节点会通过应用程序层向用户发送交易成功的通知。
2.2 系统模式设计
关于系统模式的节点设计,系统在区块链运营商节点外加入政府监管机构节点与社会组织节点,使得平台运营商的盈利所得公开透明且无法更改。运营商的得利由需要上链服务的用户提供,社会组织节点可以保障消费者的权益,社会组织的得利由需要维权的消费者提供,政府监管机构的节点由运营商提供,通过政府补贴来维护节点的运行。由区块链运营商持有排序节点和部分对等节点来监控和管理区块链网络的运行状态,由政府监管机构持有部分对等节点来实时监控区块链网络的交易和数据以确保平台合法合规,由社会保障消费者权益组织持有部分对等节点来监督审计消费者交易数据以确保消费者权益,提供信息证明。系统平台模式如图3所示。
系统由三种核心节点组成:淘宝持有排序节点和对等节点运行网络,负责为用户提供服务,同时可以接受市场监管局监督,改进消费者协会提出的建议;市场监管局持有对等节点,可以在需要时验证交易账本,防止交易欺诈,增强平台公信力,通过与消费者协会和淘宝的协商制定市场规则;消费者协会持有对等节点,负责通过交易账本为消费者提供售后保障,向市场监管局反馈问题,协助监管工作。通过引入市场监管局和消费者协会完成三方博弈,形成信息闭环,体现开放联盟链多方协作、信息透明、数据安全的理念。
运营商或个人用户如需加入区块链网络,需提交申请。经过2/3的节点进行电子签名认证后,即可成为链上新的节点。新运营商会参与区块链网络的运行和维护,新用户会获得区块链网络的服务。
3 测试与分析
3.1 测试环境
系统在Linux 服务器上部署,采用Hyperledger Fabric 开发平台。测试环境及版本如表1 所示,Docker节点的部署及个数如表2所示。
3.2 功能测试
在上述实验测试环境下,对系统的功能进行测试,测试的功能及结果如表3所示。
系统已基本实现核心功能并通过测试,具备完整的交易流程、实时数据同步和溯源功能。在开放联盟链节点部署个数偏少的情况下,测试未能涵盖性能、安全性等方面的内容。在后续的实验研究中,将采用经过改进的算法来测试更多部署节点的系统运行状况。
系统的用户与管理员登录如图4所示。
系统的物品添加页面如图5所示。
系统的物品销售与捐赠页面如图6所示。
系统的区块链网页前端页面如图7所示。
4 总结
本文设计并实现了一个基于开放联盟链的二手交易服务系统,使用三方博弈的模式和区块链技术对二手交易服务体系进行升级,对二手交易的方式和区块链技术的普及与应用作出了积极贡献。系统允许社会组织和政府管理部门在经过允许后加入开放联盟链共享区块链数据。在应用层面上,保障了消费者权益和隐私,提高了消费者对二手物品信息的信任度;在监管层面上,解决了政府对区块链应用的监管问题,提高了市场监管部门对运营商的管理能力;在服务层面上,实现了对运营商服务能力的升级。本文使用了Solo共识机制,在Linux服务器上成功完成了系统测试实验。未来会在大量增加节点数量的环境下使用更优化的算法提升网络对交易信息的处理速度,通过构建区域性循环经济示范点并与智慧城市系统相结合,形成管理联盟的新模式,逐步向周边辐射推广,最终实现绿色、可持续发展的二手商品流通。