基于hyperledger fabric的购物商城

基于hyperledger fabric的购物商城

项目背景

传统的线上购物平台发生信息泄露和订单出现问题以及商品出现假货的现象频繁发生,以下是一些事故实例:

天猫和淘宝:在天猫和淘宝上经常出现假货和仿冒品的问题。这些假货和仿冒品通常会被以低廉的价格出售,但是其质量和安全性无法保证。此外,卖家也可能利用假货和仿冒品来欺骗消费者,从而获得不当利益。

优衣库:在2019年,优衣库的部分用户账户遭到了黑客攻击,导致大量用户的个人信息泄露。这些信息包括用户姓名、地址、电话号码、生日等。

造成的影响:

  • 购物商城假货问题对消费者和商家都有很大的影响。对消费者而言,购买假货和仿冒品会导致质量问题和安全问题,从而造成经济损失和身体健康风险。对商家而言,假货问题会导致消费者失去信任,影响品牌声誉,甚至可能会面临法律诉讼。

  • 购物商城信息泄露问题对消费者和商家都会带来很大的影响。对消费者而言,泄露的个人信息可能会被用于诈骗、垃圾邮件、身份盗窃等不法行为,造成经济和隐私损失。对商家而言,信息泄露问题可能会影响用户的信任,造成商业损失和声誉损失。

  • 传统线上购物商城的系统和技术也可能会出现故障,导致订单无法正常处理,影响消费者的购物体验。

传统的在线购物商城存在很多安全问题,传统购物商城相比于基于hyperledger fabric技术的购物商城,存在一些劣势,主要包括安全性问题、不透明、繁琐的流程和受制于商家等问题。基于Hyperledger Fabric的购物商城具有更高的安全性、去中心化、可追溯性和自动化等优势。这些优势可以提高商城的效率和可信度,同时保护用户的隐私和安全。,所以很有必要通过联盟链 hyperledger fabric来改善在线购物商城。

传统网上购物商城存在的缺点

  • 交易透明度不高:传统购物商城通常缺乏交易透明度。消费者很难了解产品的源头、生产环境、物流等信息。而基于 Hyperledger Fabric 的购物平台可以提供更高的交易透明度,消费者可以清楚地了解商品的来源和运输过程。
  • 安全性不高:传统购物商城中,消费者的个人信息和支付信息容易受到攻击。而基于 Hyperledger Fabric 的购物平台可以通过加密技术和权限控制等措施,保护消费者的隐私和安全。

基于hyperledger fabric的购物商城优点

  • 高安全性:Hyperledger Fabric使用分布式账本技术来确保数据的安全性和不可篡改性。商城中的交易和数据都被加密和验证,防止数据泄露和篡改。
  • 去中心化:Hyperledger Fabric的网络是去中心化的,没有单一的控制点。商城中的交易不需要通过中间人,可以直接在区块链上完成,降低了交易成本和时间。
  • 可追溯性:Hyperledger Fabric的网络可以追溯整个交易过程,从而提高商城的透明度和信任度。商城中的每一笔交易都被记录在区块链上,可以追溯到交易的起源。
  • 自动化:商城中的交易和数据处理可以通过智能合约自动化完成,提高了商城的效率和准确性。
  • 隐私保护:Hyperledger Fabric支持隐私保护技术,商城中的敏感信息可以被加密,只有授权的用户才能访问和处理。

基于hyperledger fabric的购物商城设计思路以及步骤

购物商城架构采用微服务架构和前后端分离,采用微服务架构可以带来弹性伸缩、独立部署、更好的组织结构、更好的扩展性和更好的灵活性等好处,可以提高商城的可靠性、可维护性和灵活性,从而更好地满足业务需求。以及在秒杀这种并发量场景的应用场景上可使现高并发应用以及低解藕性。前后端分离使得前端与后端逻辑解耦,有助于提高代码质量和可维护性,便于在不影响后端服务的情况下,对前端页面进行扩展和优化。在项目开发方面采用go语言,Go语言的并发模型简单易用,有助于提高程序的执行效率,Go语言具有内置的垃圾回收功能,能够自动回收不再使用的内存资源。这使得开发人员无需关注内存管理,可以更专注于编写业务逻辑。在搭建hyperledger fabric网络时,采用四组织架构,除排序组织外其他三个组织都有相对应的使用者,supplier为供应商组织,供应商在这里上传商品信息,admin组织是商城管理者提供平台,管理员负责订单管理以及用户反馈管理和商品反馈管理,shopping mall为购物商城组织,主要提供商品有关以及用户相关操作,orderer为排序组织采用raft模式,全局共用一个账本。整个应用部署到容器编排工具kuberneters中,kubernetes可以根据应用的负载和性能要求自动扩展或缩减容器数量。这有助于应对不断变化的工作负载和优化资源使用。使用DevOps开发模式和方法论,DevOps强调自动化和持续集成、持续交付、持续部署等过程,通过自动化测试、自动化部署和自动化监控等手段,实现快速迭代、快速响应和快速交付的目标,从而提高软件的质量和可靠性。使用jenkins作为自动集成和自动部署工具,使用github为代码仓库,dockerhub为镜像仓库,使用Prometheus、alertmanager以及Grafana来实现应用和网络以及集群的监控和报警。

设计思路:

  • 系统架构设计: 将整个购物商城系统划分为多个独立的微服务,如商品管理、订单管理、支付管理、物流管理、用户管理等。每个微服务负责相应的功能,并通过API与前端进行通信。前后端分离使得前端开发可以独立于后端进行,提高开发效率。
  • Hyperledger Fabric网络设计: 根据购物商城的业务需求,设计相应的组织节点和通道。
  • 微服务开发: 针对每个微服务,开发相应的智能合约(链码)以处理业务逻辑。例如,商品管理微服务需要编写添加、修改、删除、查询等功能的智能合约。同时,为每个微服务提供API接口,以便与前端进行通信。
  • 前端开发: 根据设计的页面和功能需求,进行前端页面开发,包括商品列表、商品详情、购物车、订单、支付等模块。前端应用通过调用微服务提供的API接口与区块链网络进行交互。
  • 数据存储与加密: 在购物商城中,可能涉及到敏感数据,如用户隐私信息、支付信息等。可以使用Fabric提供的私有数据集功能,将敏感数据加密存储在相应的通道中,以确保数据安全。

设计步骤:

  • 需求分析与概要设计:明确购物商城的业务需求,进行系统架构设计,划分微服务模块,设计页面及功能模块。
  • 环境搭建:搭建Hyperledger Fabric区块链网络,配置组织节点、通道等。
  • 微服务开发:针对每个微服务,开发相应的智能合约,并提供API接口。
  • 前端开发:根据设计的页面和功能需求,进行前端页面开发。
  • 集成测试:对整个系统进行测试。

搭建Hyperledger Fabric区块链网络

网络简单介绍

该hyperledger fabric网络有四组织,orderer为排序组织,该组织包含四个orderer节点,采用kafaka模式,该组织还包含一个ca为该组织的orderer节点颁发证书,该组织负责在网络中共识和传播交易。supplier组织为供应商组织,使用者一般为生产商,负责商品的上链,让消费者可以清楚地了解商品的来源和运输过程,该组织包含三个peer节点,锚节点主要负责在同一通道的不同组织之间实现服务发现和通信,还有一个ca负责对该组织的peer组织进行证书颁发,以及该组织内用户注册。admin组织为管理员组织,使用者一般为商城的管理员,负责商品的上架、下架、订单管理、用户管理、以及用户反馈等等,负责整个商城的运维,该组织包含三个peer节点,锚节点主要负责在同一通道的不同组织之间实现服务发现和通信,还有一个ca负责对该组织的peer组织进行证书颁发,以及该组织内用户注册。shopping mall组织为商城组织,使用者为用户,为用户购买商品提供一个平台,该组织包含三个peer节点,锚节点主要负责在同一通道的不同组织之间实现服务发现和通信,还有一个ca负责对该组织的peer组织进行证书颁发,以及该组织内用户注册。该组织有两个channel分别为soa和osa,soa连接四个组织,该channel负责商品上架、下架,订单相关都在此channel中。osa不包含supplier,该channel中主要包含用户信息,该channel中链码采用私用数据集,仅有管理员组织可以看到用户信息,防止了用户信息泄露,提高了安全性。

以下为网络结构图:

请添加图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要基于Hyperledger Fabric测试环境添加共识,可以按照以下步骤进行操作: 1. 首先,确保已经在Centos系统下搭建了Hyperledger Fabric 2.4环境,并进入到Fabric Samples目录下的test-network目录中。 2. 接下来,需要下载Hyperledger Fabric CA的二进制文件,可以从官方发布的GitHub页面下载所需版本的二进制文件。根据提供的引用,你可以访问该链接下载hyperledger-fabric-ca-linux-amd64-1.5.2.tar.gz文件。 3. 解压下载的二进制文件,并将其复制到Fabric Samples目录下的bin目录中。 4. 进入test-network目录,在该目录中,你可以找到一个名为docker-compose-test-net.yaml的文件。此文件定义了Fabric网络的配置。 5. 打开docker-compose-test-net.yaml文件,你可以看到其中定义了Orderer节点和Peer节点的配置。在这个文件中,你可以添加共识算法的相关配置。 6. 根据你的需求,可以选择使用Solo共识算法或者Raft共识算法。如果要添加Solo共识算法,可以在Orderer节点的配置中添加以下行: ``` - CORE_PEER_GOSSIP_USELEADERELECTION=true - CORE_PEER_GOSSIP_ORGLEADER=false - CORE_PEER_GOSSIP_SKIPHANDSHAKE=true ``` 7. 如果要添加Raft共识算法,可以在Orderer节点的配置中添加以下行: ``` - ORDERER_GENERAL_CLUSTER_CLIENTCERTIFICATE=/var/hyperledger/orderer/tls/server.crt - ORDERER_GENERAL_CLUSTER_CLIENTPRIVATEKEY=/var/hyperledger/orderer/tls/server.key - ORDERER_GENERAL_CLUSTER_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt] - ORDERER_GENERAL_CLUSTER_LISTENADDRESS=0.0.0.0:7050 - ORDERER_GENERAL_CLUSTER_SERVERCERTIFICATE=/var/hyperledger/orderer/tls/server.crt - ORDERER_GENERAL_CLUSTER_SERVERPRIVATEKEY=/var/hyperledger/orderer/tls/server.key - ORDERER_GENERAL_CLUSTER_TLS_ENABLED=true - ORDERER_GENERAL_CLUSTER_TLS_CERTIFICATE=/var/hyperledger/orderer/tls/server.crt - ORDERER_GENERAL_CLUSTER_TLS_PRIVATEKEY=/var/hyperledger/orderer/tls/server.key - ORDERER_GENERAL_CLUSTER_TLS_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt] - ORDERER_GENERAL_GENESISMETHOD=file - ORDERER_GENERAL_GENESISFILE=/var/hyperledger/orderer/orderer.genesis.block - ORDERER_GENERAL_LOCALMSPID=OrdererMSP - ORDERER_GENERAL_LOCALMSPDIR=/var/hyperledger/orderer/msp - ORDERER_GENERAL_TLS_ENABLED=true - ORDERER_GENERAL_TLS_PRIVATEKEY=/var/hyperledger/orderer/tls/server.key - ORDERER_GENERAL_TLS_CERTIFICATE=/var/hyperledger/orderer/tls/server.crt - ORDERER_GENERAL_TLS_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt] ``` 8. 保存并关闭docker-compose-test-net.yaml文件。 9. 运行以下命令启动Fabric网络: ``` ./network.sh up ``` 10. 等待网络启动完成后,你就可以在Fabric网络中使用添加了共识算法的测试环境了。 请注意,以上步骤仅为添加共识算法的基本操作,具体的配置可能因版本或其他因素而有所不同。建议在进行任何更改之前,先仔细阅读Hyperledger Fabric的官方文档以获得更详细和准确的指导。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Hyperledger Fabric 2.x 环境搭建](https://blog.csdn.net/qq_15799869/article/details/125188251)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值