你的CryptoKitty怎麼樣了——為什麼DApp都沒有你想的那麼完美

作者:Luke Zhang

原文連結:HTTPS://medium。com/loom-network/your-crypto-kitty-isnt-forever-why-dapps-aren-t-as-decentralized-as-you-think-871d6acfea

當以太坊的新使用者跑來問為什麼要用DAPP,而不是傳統的網路服務時,我們總會說“去中心,去中心,因為去中心啊。”集中式網路服務受到相關部門監管,DAPP就更為便捷。集中式網路可能在一夕之間丟失所有資料,但是DAPP可以和以太坊一樣長壽。預設情況下,集中式服務是受限的,而DAPP可以自己發幣,並在交易所公開交易。

但人們不會告訴你,DAPP比以太坊的痛點更多,且更容易受到攻擊。並且,僅僅靠在分散式區塊鏈上執行,並不能使DAPP免受其釋出者決策的影響。

隨著近期CryptoKitty的火爆,很多人沒理解清楚DAPP是什麼就參與進來。在此,我將以CryptoKitty為例,談談隱藏在DAPP背後的隱患。

一人一指令,引來這款遊戲的冰河世紀

小貓的所有權儲存在一個單獨的合約裡 - KittyOwnership - 再上傳至以太坊主鏈。謝天謝地,這個合約沒有自毀功能,所以所有者不能自行殺掉小貓。但是,只要他想,他也可以做出同樣具有破壞性的事。

function pause()external onlyCLevel whenNotPaused {

暫停=真;

}

合約所有者可以暫停該合同(不需要任何節點同意)。如果其他節點也使用“合約升級”(upgradeContract)功能,則當前的合同暫停,永遠不能被解凍。這也意味著小貓將永遠沉睡。

DAPP不是區塊鏈 - 在區塊鏈裡,你的一個指令不足以對以太坊網路構成任何威脅,就算單個節點做出自殺性的毀滅行為,整個網路仍然可以完整執行但是,以太坊有這些功能,並不能代表基於以太坊的CryptoKitties也具備這個功能。就以太坊而言,只有一個版本的KittyOwnership合約,而這合約由單個的錢包所有。這是非常集中的表現了

數字貓可能沒那麼稀有

你的CryptoKitty怎麼樣了——為什麼DApp都沒有你想的那麼完美

CryptoKitty的核心概念之一是,你有機會培育出一隻稀有且市價很好的貓。比如,一個人花了246以太(按當時價算11。5萬美元)買了一隻Geno貓 - 創世貓。他可能覺得這種貓很獨特,他對貓的所有權將記錄在鏈,並將永久儲存。現實也確實如此。

但是,控制數字貓性行為的基因科學合約不僅來源不明(以太坊上未核實),而且也可以被CEO取代。

function setGeneScienceAddress(address _address)external onlyCEO {

GeneScienceInterface candidateContract =

GeneScienceInterface(_address);

這意味著,CryptoKitties的CEO隨時可以透過改變繁育演算法,來創造更多創世型貓,或者採取其他方式來影響數字貓的稀有性。一個人的貓本來是獨一無二,可能轉眼間就出現許許多多同款。

雖然CryptoKitty合約所有者不太可能這樣做,但將來總有人這樣做。真正獨特的東西和社會協議所特有的東西,在價值上是有區別的。

數字貓可能長出另一條尾巴 - 分叉

以太坊執行和儲存的成本很高,所以DApp儲存的邏輯和資料會盡可能簡潔。數字貓的唯一性體現在它的無符號整數(無符號整數):

uint256基因

讀取這些毫無意義的整數,並將其轉換為數字貓。這些數字貓的外觀,顏色,描述等的程式碼,都被儲存在集中式伺服器,封閉原始碼中。

區塊鏈中,軟體由每個節點執行,每次升級都會出現硬/軟分叉但與區塊鏈不同,CryptoKitties分叉,可以在任何時候,單邊地改變基因序列的解釋方式。 - 可以給小貓增加一個尾巴,改變它的顏色,調整它的描述,甚至,把這隻小貓變成一隻汪星人。

你的CryptoKitty怎麼樣了——為什麼DApp都沒有你想的那麼完美

如果個人擁有一隻貓及其基因的ERC 721令牌,但他依然沒有生成貓的全部資料。這樣,你的貓就不會因為一個人的決策而發生改變。

但不必如此...

我必須明確指出,CryptoKitties的製造者這麼做並不是出於惡意或惡意。他們利用當時可用的非常有限的基礎設施,已經儘可能使DAPP完美,並且成功吸引到許多新使用者。

但人們真正需要的是一種執行成熟的應用程式,整個程式碼都在節點中執行。它的資料不僅是分散式的,也是可以擁有的。那些願意自己執行節點的人都可以擁有這些資料。

只有實現這些的時候,我們才真正擁有了完全意義上的DAPP。

你的CryptoKitty怎麼樣了——為什麼DApp都沒有你想的那麼完美