DApp并没有你想得那么完美

李丽诗频道
李丽诗频道 得得号

Sep 26, 2018 90后小姐姐,区块链布道者。毕业于北京大学与哥伦比亚大学。

摘要: Dapp的痛点很多,很容易受到攻击。仅仅靠在分布式区块链上运行,并不能使DApp免受其发布者决策的影响。人们真正需要的是一种运行成熟的app,整个代码都在节点中运行。

当以太坊的新用户跑来问为什么要用DApp,而不是传统的web服务时,我们总会说“去中心,去中心,因为去中心啊。”集中式网络服务受到相关部门监管,DApp就更为便捷。集中式网络可能在一夕之间丢失所有数据,但是DApp可以和以太坊一样长寿。默认情况下,集中式服务是受限的,而dapp可以自己发币,并在交易所公开交易。

但人们不会告诉你,Dapp比以太坊的痛点更多,且更容易受到攻击。并且,仅仅靠在分布式区块链上运行,并不能使DApp免受其发布者决策的影响。

随着近期CryptoKitty的火爆,很多人没理解清楚DApp是什么就参与进来。在此,我将以CryptoKitty为例,谈谈隐藏在DApp背后的隐患。

一人一指令,引来这款游戏的冰河世纪

小猫的所有权存储在一个单独的合约里—— KittyOwnership —— 再上传至以太坊主链。谢天谢地,这个合约没有自毁功能,所以所有者不能自行杀掉小猫。但是,只要他想,他也可以做出同样具有破坏性的事。

function pause() external onlyCLevel whenNotPaused {

 paused = true;

}

合约所有者可以暂停该合同(不需要任何节点同意)。如果其他节点也使用“合约升级”(upgradeContract)功能,则当前的合同暂停,永远不能被解冻。这也意味着小猫将永远沉睡。

DApp不是区块链——在区块链里,你的一个指令不足以对以太坊网络构成任何威胁,就算单个节点做出自杀性的毁灭行为,整个网络仍然可以完整运行。但是,以太坊有这些功能,并不能代表基于以太坊的CryptoKitties也具备这个功能。就以太坊而言,只有一个版本的KittyOwnership合约,而这合约由单个的钱包所有。这是非常集中的表现了

数字猫可能没那么稀有

CryptoKitty的核心概念之一是,你有机会培育出一只稀有且市价很好的猫。比如,一个人花了246以太(按当时价算11.5万美元)买了一只Geno猫—— 创世猫。他可能觉得这种猫很独特,他对猫的所有权将记录在链,并将永久保存。现实也确实如此。

但是,控制数字猫性行为的基因科学合约不仅来源不明(以太坊上未核实),而且也可以被CEO取代。

function setGeneScienceAddress(address _address) external onlyCEO {

        GeneScienceInterface candidateContract =

GeneScienceInterface(_address);

这意味着,CryptoKitties的CEO随时可以通过改变繁育算法,来创造更多创世型猫,或者采取其他方式来影响数字猫的稀有性。一个人的猫本来是独一无二,可能转眼间就出现许许多多同款。

虽然CryptoKitty合约所有者不太可能这样做,但将来总有人这样做。真正独特的东西和社会协议所特有的东西,在价值上是有区别的。

数字猫可能长出另一条尾巴——分叉

以太坊运行和存储的成本很高,所以DApp存储的逻辑和数据会尽可能简洁。数字猫的唯一性体现在它的无符号整数(unsigned integer):

uint256 genes

读取这些毫无意义的整数,并将其转换为数字猫。这些数字猫的外观、颜色、描述等的代码,都被存储在集中式服务器、封闭源代码中。

区块链中,软件由每个节点运行,每次升级都会出现硬/软分叉。但与区块链不同,CryptoKitties分叉,可以在任何时候、单边地改变基因序列的解释方式——可以给小猫增加一个尾巴,改变它的颜色,调整它的描述,甚至,把这只小猫变成一只汪星人。

如果个人拥有一只猫及其基因的ERC 721 token,但他依然没有生成猫的全部数据。这样,你的猫就不会因为一个人的决策而发生改变。

但不必如此...

我必须明确指出,CryptoKitties的制造者这么做并不是出于恶意或恶意。他们利用当时可用的非常有限的基础设施,已经尽可能使DApp完美,并且成功吸引到许多新用户。

但人们真正需要的是一种运行成熟的app,整个代码都在节点中运行。它的数据不仅是分布式的,也是可以拥有的。那些愿意自己运行节点的人都可以拥有这些数据。

只有实现这些的时候,我们才真正拥有了完全意义上的DApp。

(作者:Luke Zhang;编译:李丽诗频道,内容来自链得得内容开放平台“得得号”;本文仅代表作者观点,不代表链得得官方立场)

链得得仅提供相关信息展示,不构成任何投资建议
本文系作者 李丽诗频道 授权链得得发表,并经链得得编辑,转载请注明出处、作者和本文链接

更多精彩内容,关注链得得微信号(ID:ChainDD),或者下载链得得App

分享到:

相关推荐

    评论(0

    Oh! no

    您是否确认要删除该条评论吗?

    分享到微信