• 基于區塊鏈的DApp設計要點

    /2018-06-13 14:25:56/

  • \


    DApp是其后端在去中心化的點對點網絡上運行,源代碼是開源的,網絡中不存在能夠完全控制DApp的節點。本文基于區塊鏈,談談DApp的設計要點。

    當你打算在應用市場上傳并發布一個APP時,必須選擇開發者身份是企業開發者還是個人開發者,并通過軟件著作權等證明材料,證明此應用的所有權歸屬于某個特定企業或個人。

    長期以來,產品經理構建中心化應用,開發人員控制中心化應用的升級迭代,運營人員通過中心化的應用市場發布,但隨著區塊鏈技術的發展,公鏈基礎設施的不斷完善, DAPP(去中心化應用)可能將成為主流。

    一、DApp是什么?

    DApp是Decentralized Application的縮寫,中文叫分布式應用/去中心化應用。在《區塊鏈項目開發指南》里為它下的定義是:

    其后端在去中心化的點對點網絡上運行,源代碼是開源的,網絡中不存在能夠完全控制DApp的節點。

    DApp不同的底層區塊鏈開發平臺,就好比手機的IOS和Android系統,是各DAPP的底層生態環境。DApp就是底層區塊鏈平臺生態上衍生的各種分布式應用,也是區塊鏈世界中的基礎服務提供方。

    比如:比特幣客戶端和錢包,就是在比特幣區塊鏈系統上衍生的DApp,為用戶提供點對點的電子現金交易服務。

    目前大部分DApp選擇在以太坊系統上部署,因為有“智能合約”和“賬戶體系”的以太坊系統,更加適合DApp的落地。

    二、典型DApp的工作流程

    \

    智能合約接受來自DApp的交易請求和事件,通過觸發提前編寫好的代碼邏輯,操作區塊鏈賬本中的狀態。DApp通過調用智能合約提供的接口來實現業務邏輯,智能合約封裝與區塊鏈賬本直接交互的過程,對上層業務邏輯進行支持。

    所以為了實現完整的DApp,開發者不僅需要開發上層應用,還要編寫智能合約代碼。

    三、DApp與App的區別

    先從技術角度來看基于區塊鏈系統的DApp與App之間會有哪些區別。

    1. 數據分布式存儲

    參與區塊鏈系統的每個節點,都可以通過公開接口查詢數據記錄或開發相關應用。每個節點都遵循同樣的共識算法,進行數據更新和存儲,每次更新都需要51%以上節點達成共識,參與節點越多系統越安全。

    數據分布式存儲是區塊鏈核心思想“去中心化”的技術基礎,數據的開放及透明意味著DApp的開發者對于應用的控制大為削弱,每次升級更新都需要大多數節點的同意,比如:最近EOS上線主網,投票結果為no go,搞的項目方十分憋屈。

    數據分布式存儲,也意味著開發者無需承擔采購服務器、流量等運維費用,只需聚焦在DApp和智能合約之間的業務邏輯上。對公鏈資源的調用,則依賴公鏈的經濟模式,通過持有相應比例的公鏈通證,獲得相應的權益(即公鏈算例、存儲、流量等資源的使用權)。

    而通證的流通性也讓這種方式十分靈活且成本極低,在不需要相應資源的時候,通過二級市場把通證賣出即可。DApp的開發者可能更加輕量化,減少了對底層技術的依賴,更加強調對用戶心理和行為的把握,而且還得懂金融。

    所以DApp產品經理不僅要通過烏合之眾、消費心理學了解用戶需求,還得精通博弈論、經濟學、金融學等知識才能來規劃好產品的未來走勢。

    2. 不可篡改

    通過共識算法,獲得大部分節點一致提交之后,數據便在區塊鏈網絡中一直存在,不可修改或銷毀。實際上以POW為代表的證明共識機制是概率算法,并不是一經達成共識就不可逆轉,而是隨著時間推移或某種強化,共識結果被推翻的概率越來越小,結合token的經濟體系之后,使得即使有人想惡意破壞也得付出經濟代價(算力或權益)。

    如The DAO事件發生后,以太坊社區便通過硬分叉的手段回滾交易,誕生了經典以太和以太坊兩條鏈。被盜的資金在分叉后的主流以太坊上不被承認,但在經典以太上,數據依舊存在。

    在技術上共識過的結果無法撤銷(經典以太),但在社會共識上,大多數人承認分叉之后的以太坊,即相當于推翻了之前的共識。

    所以說雖然區塊鏈通過技術手段去掉了硬中心(具有強制力),但依舊可以通過非技術手段(經濟、心理)控制大于51%節點實現軟中心。

    除主鏈外,絕大部分的DApp都不具有花費如此高成本實現軟中心化的必要(未來不確定),DApp的智能合約如果部署完畢,便極難甚至不可更改,任何細小的智能合約代碼錯誤,都會導致用戶不可挽回的損失,而傳統互聯網應用的開發,適合馬上試錯,快速迭代。

    所以產品經理應注意在設計DApp對應邏輯時,必須非常嚴謹。

    3. 隱私保護性

    節點之間相互信任,基于節點地址而非個人身份進行數據交換,解決了個人身份的隱私問題。而通過同態加密及默克爾樹等密碼學方式,保證了數據記錄和驗證的隱私,即便泄露也無法解析。

    由于數據存儲和隱私保護的變化,現有APP的賬戶系統可能要發生天翻地覆的變化。DApp極有可能沒有以用戶名和密碼為基礎的賬戶功能,而是采用公鑰-私鑰對來代表公鏈上的一個賬戶身份,而此賬戶保存在公鏈上,DApp通過公鏈提供的數字證書進行身份驗證用戶數字身份即可。

    數據的脫敏/加密儲存也讓DApp之間的數據價值共享成為可能,只需支付一定通證即可獲得可商用無風險的真實數據,并實現用戶數據平滑轉移,這是中心化App最渴望卻無法做到的。

    DApp的產品經理不能拘泥于中心化App的設計經驗,充分了解區塊鏈系統的特點,并在此基礎上推理出相應的業務及服務層特性。現在的DApp并沒有一款成功的落地應用,也沒有相應的設計標準,每個產品經理都有自己的理解,正是發揮創意的好時機,以下便是本人對DApp的設計構想。

    四、DApp設計構想

    1. 前提條件

    就像web之于pc上的Windows,app之于智能手機上的OS,DApp也需要硬件對于區塊鏈系統的支持。那究竟會出現專門支持區塊鏈系統的硬件,還是在現有硬件系統上升級呢?

    個人認為:大概率是現有的手機硬件升級,支持區塊鏈系統部署,同時為了確保數字資產安全性,將數字資產存儲和使用分開管理,通過數字錢包硬件,利用smartmesh技術和手機連接來保證安全性。

    更重要的是:DApp并不是一出現就完全取代現有體系,在很長一段時間里,DApp需要和中心化產品進行數據交互,從技術和商業成本考慮,在現有硬件基礎上進行系統升級都是最優方案。而先有社群,再有系統,最后出硬件的模式,也已經被證明是完全可行的。

    硬件和系統完備,公鏈的基礎性能穩定可靠,公鏈內的通證經濟體系也通過市場檢驗,在這樣的條件下,DApp會迎來整個生態的爆發。

    2. 模塊化功能設計

    DApp中用戶數據存儲在主鏈上,用戶登錄及各種框架都是由各個服務商通過底層公鏈提供,基于同一主鏈的DApp之間可以進行數據平滑轉移。

    因此當用戶首次實用DApp時,并不是對他一無所知的全新用戶,他在主鏈上可能已有相關數據。產品在范圍層設計時應有充分的擴展性,當用戶選擇轉移不同數據集時,產品的結構層和框架層以何種功能形式展現。同時要將不同功能邏輯進行解耦,以數據之間關系作為依據設計功能模塊和智能合約。

    比如:一款招聘DApp,當用戶首次使用時,授權導入自己在社交DApp上的數據,結合此DApp的功能場景,調用社交關系、工作年限、所在崗位、所處地區(如果有的話)等智能合約讀取相關數據,將對應數據放入對應設計好的功能模塊之中,并通過數據間的邏輯關系提示用戶授權其他數據,最后以完成產品形態呈現。

    3. 高度訂制化

    基于數據的模塊化功能設計,會根據用戶授權的數據維度不同,而呈現千人千面的特點,盡管儲存在主鏈上的數據都經過加密或脫敏處理,仍然不排除相當一部分用戶不愿意享受完整的功能。

    在中心化的產品中,因為都是強制授權,所以不存在這種情況。產品經理需要考慮的是大部分目標用戶的通用需求,并在保證用戶體驗的前提下轉化為功能。

    而DApp產品經理則應該更關注功能之間的聯系,哪些功能必須耦合,構成一個完整的模塊;哪些功能之間存在弱關聯性,可以推薦用戶一同使用以提高體驗;哪些功能是通用模塊(登錄、通知、賬戶等),根據需求引導。

    比如:用戶首次登錄招聘DApp時,提示需獲得賬戶身份認證、所處行業、崗位、簡歷等數據,這些數據可能在不同的DApp中即時更新并保存在主鏈上,而用戶可在生態內實現一鍵互聯。

    4. 商業模式

    DApp和App商業模式上有著本質上的區別,DApp用戶使用功能是需要付費的,智能合約的運行、用戶數據上鏈都需要支付給礦工的手續費,通證系統是整個系統運轉的關鍵。這里既包括了主鏈的通證系統,也包括DApp本身和之間通證的流通、匯率、兌換等系統。

    而如何讓養成了免費習慣的用戶付費使用DApp,也是產品經理面臨的巨大挑戰之一。

    DApp的去中心化也體現在收益分配的去中心化上,APP的收益,都歸開發者所有,開發者自主決定是否對用戶再分配,盡管聽起來比較扯,但把薅羊毛算上的話,這種情況還是有的。

    而DApp的收益,通過智能合約可以直接將通證分配給貢獻者,包括維護系統運行的礦工、愿意貢獻數據的用戶,同時用戶和數據需求方也是付費者。

    就目前來看,項目開發方的收益主要來自于通證發行之初的一次性分配,因為上線之后,DApp的維護和運營靠的是Token的持有者們,為了維持所擁有的Token的價值而自發組織的,項目方并不需要再付出成本。

    關于DApp的商業模式和Token系統設計,需要另外開一篇文細講,這里就不詳細說了。

    五、DApp與APP之間的聯系

    在區塊鏈生態還不成熟的情況下,DApp必須從中心化的應用中獲取數據。比如:DApp想要讀取天氣預測結果,它只能從氣象局獲取,而氣象局作為絕對的中心化單位,絕不會僅僅因為其他DApp想要數據,就創建一個提供結果卻沒有回報的DApp。

    所以DApp產品經理還需考慮到與中心化應用之間數據交互的規則,并設計相應的功能和激勵政策。

    還有一種情況是:傳統的中心化應用使用區塊鏈技術降低成本,改進效率。比如:銀行間采用區塊鏈技術進行記賬,提高清算、軋賬的效率,這樣的區塊鏈系統,是由傳統的中心化單位所運營維護,既不需要激勵政策,也不用發型通證。也就是基于聯盟鏈和私有鏈上的應用,從用戶使用角度來看,與中心化App可能并無太大差別。

    總結

    目前,基于區塊鏈技術的DAPP尚處于早期探索狀態,還沒有大規模實際應用價值的DAPP出現。但不可否認的是區塊鏈技術帶給了我們巨大的想象空間,作為承載將技術轉化為服務,連接功能和用戶職責的產品經理,需要提前做好迎接未來的知識儲備。


<
上一篇: 從特斯拉說起,聊聊車載HMI設計 下一篇: 八大技巧教你如何設計一個成功的網站

Hi,互相認識一下

很高興遇見你,友誼往往從第一次握手開始, 微信聯系: 13765801787

传奇扑克直播