未来方法论:基于区块链的DApp设计要点

2018年06月12日 人人都是产品经理


作者:好青年Hans

全文共 4216 字 1 图,阅读需要 9 分钟


———— / BEGIN / ————


当你打算在应用市场上传并发布一个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出现。


但不可否认的是:区块链技术带给了我们巨大的想象空间,作为承载将技术转化为服务,连接功能和用户职责的产品经理,需要提前做好迎接未来的知识储备。


 ———— / END / ————


点击“阅读原文”下载APP

收藏 已赞