当前位置:首页 > 区块链新闻 > 正文

你的CryptoKitty怎么样了 —— 为什么DApp都没有你想的那么完美

来源: 互联网时间:2018-09-26 11:40:08

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

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

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

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

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

function pause()external onlyCLevel whenNotPaused {

暂停=真;

}

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

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

数字猫可能没那么稀有

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

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

function setGeneScienceAddress(address _address)external onlyCEO {

GeneScienceInterface candidateContract =

GeneScienceInterface(_address);

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

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

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

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

uint256基因

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

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

?

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

但不必如此…

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

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

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

免责声明:

1.本文内容综合整理自互联网,观点仅代表作者本人,不代表本站立场。

2.资讯内容不构成投资建议,投资者应独立决策并自行承担风险。

你可能感兴趣

    error