一、已有应用调研

eBay或淘宝这样的C2C电商平台已经获得了巨大成功,因为它使得买卖双方都相当便利:

在互联网成为主流之前,人们只能在小范围内、或者在邻里之间买卖商品。当越来越多的人使用互联网, 出现了像eBay这样的平台,无论来自世界的任何一个地方,你都可以在网上买卖商品。无论是商家还 是消费者,这样的平台都有其价值。

尽管eBay这样的平台方便了大家,也改善了贸易和经济,但它也存在一些缺点:

被平台束缚。参与的商家受制于拥有平台的企业。在任何时候,平台拥有者可以自行决定在是否对某个商家进行封号处理,而如果商家严重依赖于平台,那么账号被封就是一个巨大的打击。

商家费用高。商家上架商品要交费,售出商品也要交佣金。收费本身并没有错,毕竟eBay这样的平台提供了服务。但是,上架费有时太高了,这导致商家最后盈利很少,或是将成本转嫁到消费者身上。

数据失控。商家或消费者都无法拥有本应属于自己的数据。评论、购买历史等等所有数据都为平台拥有者所有。比如,如果一个商家想要换一个提供商,或者想要导出商品评论或是其他数据都非常不容易,甚至不可能。

在以太坊上构建的去中心化电商平台就解决了这些问题:商家的账户不会被封;数据也是公开的,所以很容易导出数据;相对于中心化的平台,交易佣金也会低得多。

二、系统设计

2.1 简介

我们将用区块链、星际文件系统(IPFS)、Node.js和MongoDB来构建电商平台类似淘宝的在线电商应用,卖家可以自由地出售商品,买家可以自由地购物:

去中心化: 和淘宝或eBay不同,我们把所有的商业逻辑和核心数据都放在以太坊区块链上,这使 得它成为一个完全去中心化的应用。和淘宝这样中心化的电商平台相比,一个去中心化的P2P电商应用显然有其独特的价值——至少你不用担心被平台封账户了。

IPFS: 在以太坊上存储用于商品展示的图片和描述超文本十分昂贵,由于以太坊虚拟机的限制, 有时甚至是不可行的。为了解决这个问题,我们将会把商品图片和商品描述信息存储在同样去中心化的星际文件系统(IPFS)中,而仅仅在链上保存这些数据的ID。

商品拍卖: 对于卖家而言,拍卖显然是一种非常好的提升商品利润空间的销售手段。因此我们在课程项目中将实现去中心化环境下的维科瑞(Vickery)拍卖 —— 这非常类似于eBay的自动竞价系统,而不是简单地对商品进行固定标价。

资金托管: 中心化的平台有一个优点在于它天然提供了买卖双方之间的信任中介。在去中心化的环境中,我们将使用一个多方托管合约来应对买卖双方可能的风险,托管合约采用投票机制来决定买家货款的最终流向。

链下数据存储: 不要被去中心化限制我们的思维,传统的技术依然有其强大之处。我们将使用MongoDB在链下做一个同步的数据备份,以便实现单纯用区块链很难实现的功能:灵活的商品查询。

2.2 初步的功能特性

在这个项目中将要实现的主要功能特性:

商品上架:应用应该支持卖家上架商品进行销售。我们将实现让任何人自由上架商品的功能。

商品浏览与搜索:应用应该支持买家方便地浏览商品列表。我们会实现浏览商品的功能,以及基于商品类别、拍卖时间等条件进行查询的功能。

商品拍卖:跟eBay一样,我们会实现维科瑞拍卖方式的商品竞价销售。由于以太坊上的一切交易都是公开的,因此我们的实现将会与中心化环境下有所不同。

资金托管:一旦出价结束,商品拍卖有了赢家以后,我们会创建由胜出的买方、卖方和任意第三方参与的托管合约,由托管合约来管理交易资金。

托管资金保护:为了保护托管资金,我们将采用多重签名(2/3)来实现防欺诈保护,即三个参与者有两个同意时,才会将托管资金释放给卖方,或是将托管资金返还给买方。

为了便于查询,我们会将商品数据同时存在链上和链下(数据库);同时,为了避免图片等数据占用昂贵的链上存储,我们将把图片和商品描述信息上传到同样去中心化的IPFS网络。

2.3 系统架构

我们将要构建的去中心化电商DApp的架构:

Web前端:web前端使用HTML/CSS/JavaScript开发,其中大量使用了web3js来访问区块链。用户将会通过这个前端应用来访问以太坊、IPFS和NodeJS服务器。

以太坊区块链:这是去中心化应用的核心,所有的代码(电商合约、资金托管合约)和交易都存储在链上,这包括所有的商品信息、买家的出价信息、商品竞价结果、资金流向投票结果等。

MongoDB:尽管核心数据存储在区块链上,但是为了方便买家对商品的检索和查询,例如只显示某一类的商品,或者显示即将过期的商品等等,我们会用MongoDB数据库来同步地存储和检索商品信息。

NodeJS服务器:这是后端服务器,我们会利用它给前端提供REST风格的API来查询商品, 同时,也利用它来响应对前端静态页面的请求。

IPFS: 当卖家上架一个商品时,前端会商品图片文件和介绍文本上传到IPFS,并将所上传文件的哈希值存到链上。

2.4 架构的作用

卖家上架一个商品的流程:

(1)前端使用一个HTML表单来采集用户输入的商品细节,例如起拍价、商品图片、描述信息等。

(2)(3) 前端将商品图片和介绍文本上传到IPFS,并返回所上传内容对应的链接(哈希)。

(4)(5) 然后,web前端会调用电商合约将商品信息和IPFS链接存储到链上。当合约成功地将商品存入区块链后,就会触发一个事件,该事件中包含了商品所有的信息。

(6)(7)(8) NodeJS服务器监听区块链事件,当事件被电商合约触发时,服务器读取事件内容并将商品信息插入到MongoDB数据库中。

当开始具体实现商品上架这一特性时,我们将重温这一流程。

去中心化电商平台调研报告相关推荐

  1. 重磅:Origin跟谷歌云市场合作,上线去中心化电商

    我们很激动地宣布:Origin 已经与谷歌云展开合作,将去中心化电商平台引入到谷歌云全球范围的开发者和用户网络中. 作为合作的一部分,Origin 已经为谷歌云市场提供了建立 Dshop 电商平台的能 ...

  2. 【报告分享】2022年私域电商平台趋势报告.pdf(附下载链接)

    省时查报告-专业.及时.全面的行研报告库 省时查方案-专业.及时.全面的营销策划方案库 [免费下载]2022年2月份热门报告合集 图解抖音推荐算法(布局抖音必备参考手册) 2021AMII品牌女装抖音 ...

  3. The Generalist和Visualize Value在去中心化内容发布平台Mirror上发起众筹

    群体博客The Generalist联合Visualize Value的Jack Butcher在去中心化内容发布平台Mirror上发起众筹,此次众筹目标额度为20 ETH,每人上限为0.25 ETH ...

  4. 去中心化交易聚合平台ParaSwap将平台交易gas费成本降低约 20%

    去中心化交易聚合平台ParaSwap宣布已将平台交易gas费成本降低约20%,具体来说,用户使用Monolith应用进行代币交易时,gas会更加便宜,在应用内进行法币到DAI的交易时,手续费为零.Pa ...

  5. 快速搭建去中心化视频分享平台peertube

    ## 简介 peertube 是一款开源的去中心化视频分享平台,你可以用peertube创建属于自己的实例,相较于传统的视频平台,peertube最大的优点就是采用webtorrent技术,网站管理员 ...

  6. 某电商平台数据分析报告(2)

    某电商平台数据分析报告(2) 1.分析背景:某电商平台现有2016全年销售数据. 数据来源:互联网 2.分析思路:整体运营情况(GMV,实际支付总额,客单价,订单数,用户数),销售趋势(销售全年走势, ...

  7. 去中心化隐私社交平台的十大金刚

    最近各大平台开放IP属地,争议还是蛮大的,大部分人都觉得侵犯了自己的隐私.网友开玩笑说道:"开放IP地址算啥呀,你应该直接报我身份证得了".我笑完之后,开始脊背发凉.互联网之下我们 ...

  8. 某电商平台数据分析报告(1)

    某电商平台数据分析报告(1)--代码部分 1.说明:撰写代码更为精进,质量更高,将多次调用的方法和参数打包为函数,一改往日代码冗长的风格. 2.1引入第三方库: import numpy as np ...

  9. 用Docker简单部署 Misskey 去中心化开源社交平台

    其实我曾经想用宝塔上的docker进行配置,但是奈何折腾半天就是有问题,便放弃了 misskey是个啥? 一个去中心化开源社交平台啦,作者是日本人(似乎很喜欢二次元),界面很好看. 因此,每个Miss ...

最新文章

  1. CNN加速器设计新突破,逼近能效理论极限
  2. PCM数据格式(转)
  3. spring cloud微服务分布式云架构-Gateway入门
  4. python的jupyter的使用教程-强大的jupyter,python开发者的福音
  5. sqlserver 指数_大盘指数大涨,牛市是否提前来了?
  6. 统计学习方法第十五章作业:SVD矩阵分解 代码实现 及其在推荐的应用和矩阵压缩意义
  7. 搭建(增加) jenkins slave 机器
  8. 【Python笔记】列表的用法
  9. 问题三十二:怎么用ray tracing画多边形(polygon, triangle)
  10. python保存文件后缀_python文件的后缀名是什么
  11. 伪随机生成器具体实现——ANSI X9.17
  12. 河海大学计算机信息学院2013年考研录取名单,河海大学地学院2013年考研录取名单...
  13. RenéDescartes可以教给您有关设计的知识
  14. 2019蓝桥杯本科B组C-C++决赛题 (题解随后出)
  15. java设计模式总结之六大设计原则(有图有例子)
  16. 如何使用 scp 递归复制目录
  17. 斐波那契1.斐波那契数列
  18. 乡村田园风的美食账号为何能在强者如云的美食号中走出一条路?
  19. 建设工程法规专科【7】
  20. excel 数据匹配、数据对应、建立数据映射关系(设置A对应1、B对应2)

热门文章

  1. idea搜不到vue.js插件办法
  2. JdbcTemplate基础【项目demo】【基础知识】【简单明了,一眼就会】
  3. 8086微机实验代码示例解释
  4. 【日常】无字幕教学视频中的音频转换成文字
  5. asp ed什么意思 j_ASPD是什么意思
  6. Python快速入门——Day2
  7. 墨者学院——浏览器信息伪造
  8. nubia基于android深度定制的ui,系统硬件篇:走心的Nubia UI
  9. js获取指定字符串长度
  10. kotlin 计算两个日期相差天数