zoukankan      html  css  js  c++  java
  • 以太坊去中心化淘宝智能合约案例

    这篇文章我们来介绍一个简易的区块链电商系统的核心功能,10多年来,我们习惯了淘宝的电商模式,淘宝为电商在中国普及做出了突出贡献,值得肯定,也完成了历史使命。

    淘宝模式的核心是什么?

    免费是一方面,我认为最核心的是解决了网上交易买卖家的信任问题,通过支付宝作为资金中介,使买卖家可以放心的交易。

    但是,淘宝迅速崛起为巨头后,交易环节出现了很多不好的现象:刷信誉、巨大经济利益带来的内部腐败等等。因此,淘宝虽然成为了电商巨头,但是却没有真正的解决电商产业的信誉问题。这个问题其实不是淘宝特有,是一种社会现象,不是淘宝,可能就是腾讯或者百度,总之,有人的地方,必然会存在问题。

    未来的电商是什么样的?

    我认为未来电商是建立在区块链之上,是一个去中心化的电商平台。一个真正可信、不被任何公司控制的组织形态。交易在区块链里完成,买卖家无须彼此信任,可以在区块链公平公证的体系下安全可靠的运转。

    好了,光谈理论是没用的,我们通过下面的案列来解释去中心化电商系统的雏形。

    智能合约代码:

    contract Purchase {
      // 定义价格、卖家、买家状态变量 
      unit public value;
      address public seller;
      address public buyer;
      // 订单状态枚举类型
      enum State { Created, Locked, Inactive }
      // 定义订单状态变量
      State public state;
    
      // 定义Purchase构造函数,初始化卖家、价格信息
      function Purchase() {
        seller = msg.sender;
        value = msg.value / 2;
        if (2 * value != msg.value) throw;
      }
    
      modifier require(bool _condition) {
        if (!_condition) throw;
        _
      }
    
      modifier onlyBuyer() {
        if (msg.sender != buyer) throw;
        _
      }
    
      modifier onlySeller() {
        if (msg.sender != seller) throw;
        _
      }
    
      modifier inState(State _state) {
        if (state != _state) throw;
        _
      }
    
      // 订单状态变化时调用的事件函数
      event aborted();
      event purchaseConfirmed();
      event itemReceived();
    
      // 订单处于锁定之前,卖家可以终止购买并退回以太币
      function abort()
        onlySeller
        inState(State.Created)
      {
        aborted();
        seller.sender(this.balance);
        state = State.Inactive;
      }
    
      // 买家确认购买,以太币将被暂时锁定,直到买家确认收货。
      function confirmPurchase()
        inState(State.Created)
        require(msg.value == 2 * value)
      {
        purchaseConfirmed();
        buyer = msg.sender;
        state = State.Locked;
      }
    
    
      // 买家确认收货,锁定的以太币将被激活,分别发送给买卖家。
      // 订单状态变为关闭
      function confirmReceived()
        onlyBuyer
        inState(State.Locked)
      {
        itemReceived();
        buyer.sender(value);
        seller.sender(this.balance);
        state = State.Inactive;
      }
    
      // 当交易没有数据或者数据不对时,触发此函数,
      // 重置操作,确保参与者不会丢失资金
      function() {
        throw;
      }
    }

    带来的思考

    通过上面的代码可以看到,买卖家通过以太坊智能合约做资金担保,代替淘宝、支付宝扮演的角色,就可以顺畅的完成交易。并且,这个信誉体系是无法篡改的,完全可信的,这套系统随着时间的推移,将变得越来越有价值,并且天然具有全球性,也为跨境贸易带来新的机遇。

    当去中心化淘宝 + 区块链供应链,如此产生的化学反应,将彻底解决信誉体系、假冒伪劣、国际化这些阿里目前难以解决的问题,将孕育一个远大于阿里电商帝国的市场空间。

    马云先生在多个场合谈到BAT面临的危机,我认为不是违心的随口说说,而是作为互联网时代最厉害的思想家、战略家的马云,确实看到了信息互联网向价值互联网转变过程中,对现有中心化互联网体系的巨大冲击,面临这次变革,对现有的BAT的冲击是最大的。未来是属于新兴创业公司的,那些天天鼓吹BAT大山下创业公司无法做大做强的砖家们歇歇吧,你们这么想是因为没看懂,看不到未来,未来超越BAT的公司已经在蒙眼狂奔。

  • 相关阅读:
    lua学习之环境搭建
    c易错点归纳
    H7-TOOS之SPI控制器功能
    搜索旋转排序数组
    电话号码的字母组合
    打家劫舍python实现
    括号生成实现
    玩烂bert--集成输出预测分类、特征向量、参数冻结、推理
    tensorflow 查看ckpt模型中参数值
    求柱状图中最大的矩形
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13313436.html
Copyright © 2011-2022 走看看