1. 程式人生 > >以太坊去中心化淘寶智能合約案例

以太坊去中心化淘寶智能合約案例

安全 中國 重置 枚舉 是什麽 出現 功能 received 支付寶

篇文章我們來介紹一個簡易的區塊鏈電商系統的核心功能,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;
  }
}

帶來的思考

通過上面的代碼可以看到,買賣家通過以太坊智能合約做資金擔保,代替淘寶、支付寶扮演的角色,就可以順暢的完成交易。並且,這個信譽體系是無法篡改的,完全可信的,這套系統隨著時間的推移,將變得越來越有價值,並且天然具有全球性,也為跨境貿易帶來新的機遇。

當去中心化淘寶 + 區塊鏈供應鏈,如此產生的化學反應,將徹底解決信譽體系、假冒偽劣、國際化這些阿裏目前難以解決的問題,將孕育一個遠大於阿裏電商帝國的市場空間。

以太坊去中心化淘寶智能合約案例