從ofo的押金說開去:區塊鏈 layer 2 能否解決商戶挪用預付款的問題么?
最近幾天ofo退押金一直是個熱門話題,據說排隊退押金的人已經超過1000萬了。
像ofo這種退押金機制的關鍵問題是退押金必須和商家協作完成,如果商家不協作,或者故意製造門檻,用戶就很難退押金。當然更惡劣的情況就是直接跑路了,比如各種美容店,健身房卷了會員充值的錢跑路的例子。
從法律角度說,用戶給服務方的押金以及充值,都是服務方代管的資金,當用戶沒發生實際消費之前,服務方無權動這些資金。但錢都轉到人家帳上了,如何防止被挪用?
那能不能設計一種非協作式退款提現機制,把充值資金託管給有公信力的第三方,比如銀行,然後用戶退款的時候直接和銀行交互,無需商家協作?比如直接拿從銀行給商家充值的訂單記錄退款?
但實際上沒這麼簡單,銀行如何相信你沒在商家的應用中花費掉了這筆錢?
如圖所示(畫圖水平有限,將就著看),應用伺服器和客戶端實際上是一個體系的,客戶端依附於應用伺服器,無法獨立運行。應用系統和銀行系統之間通過支付介面連接,應用自己的賬本和銀行的賬本之間是沒有關聯的,一旦應用方中斷和銀行或者和客戶端的連接,用戶就無法提現,也無法向銀行證明自己的在應用中的餘額。
要解決前面的問題,需要把關係調整為下面這樣:
應用的賬本和銀行的賬本之間需要建立一種映射關係,相互關聯起來。客戶端是獨立的,它保存了帶有數字簽名的證據,同時和應用與銀行連接,如果應用自己中斷和銀行的連接,用戶可以通過客戶端直接向銀行提供數字證據來完成退款,而不需要應用的協作。
要設計這樣一個方案需要有以下關鍵點:
要找到這樣一個有公信力(商家,用戶都信任)的機構,如果只是一國內應用,就比較容易,比如銀行吧。
要有一個賬號,這個賬號不受商家控制,用戶直接把錢充進這個賬號。
由於用戶充值退款都是直接和銀行交互,所以銀行需要有一種機制通知商家有用戶充值或者退款了。
用戶中會有惡意用戶,可能把錢消費了後迅速向銀行發起退款。所以銀行對退款必須有一個鎖定期,這個鎖定期內,商家可以提交證據,證明用戶已經消費或者造成損失了,然後撤銷退款。
而用戶可能也會發現商家的作弊行為,比如私扣餘額等,可以給銀行提供證據,由銀行裁決對商家進行懲罰。所以用戶的本地客戶端需要有離線能力,不能完全依賴商家的伺服器,每次交易後,需要從商家獲取證據,保存到本地,為以後提交證明準備。
由於銀行實際上不可能保存用戶在應用中的所有交易記錄,它無法直接進行裁決,所以商家需要定期將自己本地記錄的數據哈希(數據指紋),提交給銀行,產生爭議的時候,用戶和商家互相舉證進行挑戰,證據需要和歷史上提交的哈希相關。
這個方案看起來好像有點複雜,估計沒有一個銀行願意干這個事情,因為成本有點高。但如果把上面的所有的舉證以及裁決都數字化,由程序完成,相當於一個應用對用戶的公開可執行合約,託管在銀行,實際上成本就可以接受了。
熟悉區塊鏈的朋友,可以看出上面的方案其實就是區塊鏈的二層(layer2)方案的關鍵點,那個合約就是區塊鏈的智能合約,這裡的銀行就是代表了區塊鏈。
區塊鏈技術發展到現在,大家都認識到公鏈這樣的全球共識系統本身成本肯定很高,很慢,短時間很難有大的突破,所以可擴展問題需要通過鏈外方案解決,比如交易所以及中心化錢包。但這些方案都完全依賴用戶對這些服務提供方的信任,用戶充值退款都需要服務提供方協作,一旦發生黑天鵝事件,出現 ofo 這樣的情況還算好的,更惡劣的情況恐怕就是跑路了,而作為一個全球化的系統,用戶想起訴估計都不知道找哪裡的法院。
所以區塊鏈二層的各種方案主要焦距點是如何設計一種機制,一方面讓服務提供方可以自證清白,建立公信力,另外一方面給用戶提供一種額外的制約機制,讓用戶來監督服務提供方,一旦有問題用戶可以通過一層的鏈來進行裁決。這樣鏈主要關注於安全,相當於扮演一種法院的角色,只需要處理有爭議的交易,二層主要關注性能和擴展性,區塊鏈就可以應用到更廣闊的場景中。
一個行業中的企業如果不能自證清白,只能天下烏鴉一般黑,因為自我操守堅持不能形成競爭優勢。
比如有一個有良心的共享單車創業企業,承諾不挪用用戶的資金,但它怎麼證明自己呢?所有的企業在公開場景下都做這樣的承諾,用戶如何相信?如果你不挪用,別人挪用了,別人有了資金競爭優勢,結果就是大家都挪用。而在前面的方案中,用戶的資金是被鎖在企業無法控制的賬號中,並且用戶可監督,就提供了這樣一種證明機制。
如果 ofo 現在有辦法證明用戶的押金都在,沒有被挪用,未來也不可能挪用,用戶可能就不著急退款了,越是不容易退,用戶越要通過退款來驗證,和銀行擠兌一個道理。
而從監督方面看,隨著互聯網的發展,支付交易憑據都電子化,用戶對服務提供方的監督能力在降低。沒互聯網的時候,用戶可以保留服務提供方的紙質憑證來作為證明。
(圖片來自新浪科技新聞 — 從現金到手機支付,你還記得記憶中的存摺嗎?)
比如,現金時代,我們取錢存錢都通過存摺,存摺實際上提供了一種證據保存能力。用戶取錢的時候可以校對餘額,如果存摺和銀行數據不一致就很容易發現。但現在都用客戶端 App,App 的數據都是直接從銀行伺服器上下載的,沒有客戶端校驗機制。如果數據有誤,但誤差不大,有幾個人可以發現?
比如前一段時間的一個銀行內部員工盜錢的新聞,最後還是銀行內部對賬發現。更嚴重的是,萬一銀行把用戶的數據丟了,如果沒有存摺,用戶如何證明自己有多少錢存款?登陸銀行APP查看?數據都沒了怎麼登陸?
當前,用戶將一個封閉賬本體系里的價值轉移到外部系統,是制約服務提供方的終極方式。比如 ofo 退款,比如從交易所提出比特幣,比如從銀行把現金取出來。正是迫於用戶提現的壓力,服務提供方才會在意自己的信用。
而區塊鏈二層方案中,客戶端的獨立存證校驗能力相當於重新實現了數字化的存摺,並且把校驗機制自動化。再配合數字化的舉證和裁決,以及非協作式提現機制,就可以實現用戶對服務提供方的監督和制約。
寫到這裡,提一個值得思考的問題:充值到商家賬本里的錢可以通過提到銀行來進行制約,那如果未來貨幣完全數字化,沒有了現金,用戶把銀行發行的數字貨幣提到哪兒去?這個問題會在後面一篇關於央行的數字貨幣的文章中分析。
區塊鏈的二層(layer2) 方案並不只是解決區塊鏈自己造出來的問題,它具有普適性。雖然相關技術尚未成熟,但至少提供了一種解決思路。關於區塊鏈二層的各種技術方案的詳細對比,後面會寫專門的文章進行分析。
最後談下對 ofo 的看法。ofo 的這個例子非常典型,無論結局最後如何,對未來的創業者以及用戶都有警示作用。
有人覺得創業不易,這時候呼籲退押金好像有點落井下石。實際上我個人也挺願意用這點押金去支持創業者,但關鍵問題是企業拿了用戶的押金去創業,而用戶有什麼收益呢?成功了收益是創業者的,失敗了用戶的押金都沒了。至少要明確告知用戶這算作投資,做到風險收益對等才行。
比如一個早期用戶在 ofo A輪的時候加入,算200塊入股,當時ofo融資2500萬人民幣,估值大約1億人民幣左右吧。到17年ofo E 輪融資估值到了30億美元,市值漲了有200倍,算上稀釋,我們就算用戶的200 塊押金漲了50倍,也是1萬塊錢,如果 ofo 不倒閉,估計騎一輩子單車的錢也夠了吧。用戶願不願意拿 200 塊堵一個一輩子免費騎單車的機會?
當然,這樣規模的股東是當前公司註冊機制無法承載的,肯定需要組織以及金融模式上的革新,這就屬於另外一個話題了。
※BTC近6小時內發生14筆大額轉賬共58630 BTC
※清華大學區塊鏈中心康爍:區塊鏈共識到底牛逼在哪?
TAG:巴比特資訊 |