DAPP真的這麼完美嗎?這個遊戲或許有答案
李麗詩頻道/張詠晴編譯
2018-09-26 10:30

當以太坊的新用戶跑來問為什麼要用DAPP,而不是傳統的網路服務時,我們總會說「去中心、去中心,因為去中心啊。」集中式網路服務受到相關部門監管,DAPP就更為便捷。

 

集中式網路可能在一夕之間丟失所有數據,但是DAPP可以和以太坊一樣長壽。在一般情況下,集中式服務是受限的,而DAPP可以自己發幣,並在交易所公開交易。

 

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

 

隨著近期區塊鏈世界的養貓遊戲 「CryptoKitties」 的風行,很多人沒理解清楚DAPP是什麼,就參與了這個遊戲。在此,我將以 「CryptoKitties」為例,談談隱藏在DAPP背後的隱憂。

 

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

 

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

 

合約所有者可以暫停該合約(不需要任何節點同意)。如果其他節點也使用「合約升級」(upgrade contract)功能,則目前的合約就會被暫停,永遠不能被解凍。這也意味著小貓將永遠沈睡。

 

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

 

數位貓可能沒那麼稀有

 

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

 

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

 

function setGeneScienceAddress(address _address)external onlyCEO {

GeneScienceInterface candidateContract =

GeneScienceInterface(_address);

 

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

 

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

 

數位貓可能長出另一條尾巴_分叉

 

以太坊運行和儲存的成本很高,所以DApp儲存的邏輯和數據,會盡可能簡潔。數位貓的唯一性,體現在它的無號數( unsigned numbers ):

 

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

 

區塊鏈中,軟體由每個節點運行,每次升級都會出現硬/軟分叉,但與區塊鏈不同,「CryptoKitties分叉」可以在任何時候,單方面地改變核酸序列的解釋方式。

 

它可以為小貓增加一條尾巴、改變牠的顏色、調整牠的描述,甚至,把這隻小貓變成一隻汪星人。

 

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

 

但不必如此...

 

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

 

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

 

 

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

 

本文為巴比特資訊授權刊登,原文標題為「你的CryptoKitty怎麼樣了_為什麼DApp都沒有你想的那麼完美