漸進(jìn)式去中心化能為區(qū)塊鏈帶來(lái)什么影響
當(dāng)我們?cè)谝荒昵鞍l(fā)布CryptoKitties(加密貓)時(shí),我們沒(méi)有選擇預(yù)先向ICO提供資金,而是將其建立在一個(gè)可持續(xù)的收入模型上。這個(gè)模型是這樣的:我們從游戲中的每筆交易中收取3.75%的費(fèi)用??紤]到我們一旦啟動(dòng)就無(wú)法更改費(fèi)用(CryptoKitTIes是在以太坊區(qū)塊鏈上構(gòu)建的),人們經(jīng)常會(huì)問(wèn)我們是如何得到這個(gè)數(shù)字的。
這聽(tīng)起來(lái)是個(gè)明智、合理的選擇。我可以編造一個(gè)引人入勝的故事,講述我們?nèi)绾问褂孟冗M(jìn)的預(yù)測(cè)模型進(jìn)行模擬,以找到能夠產(chǎn)生最佳回報(bào)的費(fèi)用。
但事實(shí)并非如此。事實(shí)是我們的猜測(cè)是有根據(jù)的。我們選擇了一個(gè)感覺(jué)公平的數(shù)字,并致力于此。
不變性是可怕的
我們很容易做出錯(cuò)誤的選擇,因?yàn)槟悴荒芨淖円恍〇|西,一旦你把它添加到區(qū)塊鏈,那就無(wú)法改變。幸運(yùn)的是,對(duì)于CryptoKitTIes來(lái)說(shuō),我們的社區(qū)非常熱情,而且這些貓非??蓯?ài),所以3.75%的效果很好。
不變性,即無(wú)法被編輯,是區(qū)塊鏈最大的優(yōu)勢(shì),也是它被有意義采用的最大障礙。不變性代碼的壓力使開(kāi)發(fā)人員癱瘓:您可以永遠(yuǎn)在測(cè)試環(huán)境中進(jìn)行修補(bǔ),但是總會(huì)有一些您無(wú)法預(yù)料的實(shí)際變量。它更有可能產(chǎn)生故障。
我們的費(fèi)用只是眾多決定中的一個(gè):養(yǎng)一只貓需要多長(zhǎng)時(shí)間?它們的繁殖冷卻速度應(yīng)該以什么速度減慢?第0代貓需要多少錢(qián)?在區(qū)塊鏈上,即使一個(gè)看似微不足道的選擇也可能造成嚴(yán)重、甚至關(guān)鍵的后果。
去中心化給日常生活的人們帶來(lái)了巨大的好處:永久和普遍規(guī)則的公平性,以及代碼和行為的透明度,這些結(jié)合起來(lái)就創(chuàng)造了安全。然而,由于區(qū)塊鏈通常是在不變性的情況下實(shí)現(xiàn)的,因此它使敏捷開(kāi)發(fā)變得不可能,并使團(tuán)隊(duì)慢得像爬行一樣。
快速需要迭代??焖俚菢?gòu)建最佳產(chǎn)品的關(guān)鍵,而最佳產(chǎn)品會(huì)引發(fā)大規(guī)模采用。
進(jìn)入漸進(jìn)式去中心化
我們?cè)跇?gòu)建加密貨幣套件時(shí)遇到了這些障礙,這迫使我們?cè)跇?gòu)建一些可行的東西時(shí),還要考慮去中心化化特性。從那時(shí)起,我們開(kāi)始探索開(kāi)發(fā)中的漸進(jìn)式區(qū)中心化,這是我們不久前簡(jiǎn)要介紹的一個(gè)想法。
現(xiàn)在讓我們深入研究一下。
簡(jiǎn)單地說(shuō),漸進(jìn)式去中心化主張分階段逐步推進(jìn)分權(quán),而不是一頭扎進(jìn)去。這看起來(lái)就像在智能合約中建立機(jī)制,預(yù)先賦予創(chuàng)造者特殊的權(quán)力,然后以透明的方式逐步鎖定這些權(quán)力。
關(guān)鍵條件是鎖定機(jī)制必須是公共的,并且從一開(kāi)始就是不可變的。創(chuàng)作者不能決定在以后修改條款并無(wú)限期地?cái)U(kuò)展他們的權(quán)力。這種平衡至關(guān)重要:如果處理得當(dāng),漸進(jìn)式去中心化允許創(chuàng)建者在不損害合約的分權(quán)特性情況下靈活地修復(fù)代碼。
漸進(jìn)式去中心化可以采取多種形式
沒(méi)有一種正確的方法來(lái)實(shí)現(xiàn)漸進(jìn)式去中心化。有許多變量需要考慮,最佳的方法因項(xiàng)目而異。
這里有一些開(kāi)發(fā)人員可以采用的方法:
1. 編寫(xiě)多個(gè)合約,并適當(dāng)?shù)胤蛛x關(guān)注點(diǎn)和替換其中一些合約的能力。一些分散式應(yīng)用程序(dapps)已經(jīng)在使用這種技術(shù)了。
2. 可配置變量和獨(dú)立更改這些值的權(quán)限。例如,Etheremon向成為版主的用戶(hù)組授予特殊權(quán)限。
3. 在合約中包含一組預(yù)定義的升序級(jí)別,每個(gè)級(jí)別允許創(chuàng)建者具有某些功能。級(jí)別只能增加,而不能減少,因此不能選擇回溯。例如,在第1級(jí),合約所有者可以使用所有的游戲玩法變量。在第2級(jí),他們修改核心變量的能力就結(jié)束了。在最后一層,合約會(huì)取消了它們的所有特權(quán)。
對(duì)于頑固的分權(quán)主義者來(lái)說(shuō),其中一些可能聽(tīng)起來(lái)過(guò)于集中。但這只是一個(gè)起點(diǎn)。還有進(jìn)一步的措施來(lái)平衡去中心化和迭代。解決方案結(jié)合了目的的透明性以及合約中的條件和約束。這些限制可以包括:
選擇: 不是所有東西都可以修改,只有我們需要迭代的特定項(xiàng)可以修改。
范圍:關(guān)于游戲經(jīng)濟(jì)的許多問(wèn)題,我們可能有一個(gè)大概的想法,但并不知道確切的答案。將配置限制在一定范圍內(nèi),可以確保用戶(hù)將迭代放置在合理的范圍內(nèi)。
方向: 類(lèi)似于上面的“級(jí)別”概念,允許某些變量只在一個(gè)方向上移動(dòng),減少或增加,但絕不回溯。
讓創(chuàng)造者責(zé)任
所有這些在理論上聽(tīng)起來(lái)都很棒。但是,我們?nèi)绾未_保創(chuàng)建者忠實(shí)于他們的路線(xiàn)圖,并實(shí)現(xiàn)其合約的完全去中心化版本呢?用戶(hù)如何在保證系統(tǒng)是漸進(jìn)式去中心化應(yīng)用的前提下盡早選擇加入?我們?cè)趺粗牢覀儾粫?huì)以另一個(gè)有缺陷的中央集權(quán)系統(tǒng)而告終呢?
漸進(jìn)式去中心化包括讓創(chuàng)造者負(fù)責(zé)任的原則:
· 基于時(shí)間或塊的成熟度
鎖定某些配置值,撤銷(xiāo)所有者的功能,或者在超過(guò)某個(gè)時(shí)間或塊號(hào)之后移動(dòng)到下一個(gè)成熟度級(jí)別。一旦達(dá)到這一點(diǎn),合約就會(huì)自動(dòng)更改。
例如,想象一下,從它發(fā)射的那一刻起,CryptoKitTIes的跑道有36萬(wàn)個(gè)塊(大約60天的時(shí)間),用來(lái)調(diào)整貓咪的“繁殖冷卻時(shí)間變量”。 直到那個(gè)時(shí)候我們可以調(diào)整冷卻機(jī)制,給自己足夠的喘息空間來(lái)完善平衡,同時(shí)保證玩家不會(huì)永遠(yuǎn)擁有這種能力。
· 基于使用的成熟度
一旦完成一定數(shù)量的用戶(hù)或事務(wù),就鎖定這些功能。這個(gè)選項(xiàng)需要仔細(xì)考慮以避免被利用,但是我們可以在加密包中構(gòu)建可配置的費(fèi)用,在10,000個(gè)事務(wù)之后鎖定。
· 經(jīng)濟(jì)激勵(lì)
將造物主的激勵(lì)與增加的去中心化相結(jié)合。在這種情況下,當(dāng)合約變得更加分散時(shí),創(chuàng)建者會(huì)獲得更多的利潤(rùn)。也許費(fèi)用會(huì)隨著開(kāi)發(fā)人員提升的級(jí)別而增加,當(dāng)他們達(dá)到完全分散時(shí)鎖定在最高費(fèi)用。或者,在完全的去中心化到位之前,他們根本賺不到錢(qián)。這種經(jīng)濟(jì)獎(jiǎng)勵(lì)激勵(lì)開(kāi)發(fā)人員以合理的速度實(shí)現(xiàn)去中心化。
沒(méi)有在區(qū)塊鏈上構(gòu)建的最佳方法
“漸進(jìn)式去中心化”實(shí)際上是一個(gè)涵蓋許多策略、機(jī)制和工具的保護(hù)傘,以使在區(qū)塊鏈上進(jìn)行構(gòu)建更加可行。應(yīng)用漸進(jìn)式去中心化的最佳方式始終取決于項(xiàng)目,并使用上面概述概念的組合。
漸進(jìn)式去中心化并不完美。理想的智能合約是簡(jiǎn)單而直接的,這些度量方法增加了復(fù)雜性。如何在多大程度上合并它是一種權(quán)衡,需要在個(gè)案的基礎(chǔ)上進(jìn)行評(píng)估。
盡管這可能會(huì)激怒強(qiáng)硬的去中心化主義者,但我們相信,從長(zhǎng)遠(yuǎn)來(lái)看,漸進(jìn)式去中心化對(duì)用戶(hù)來(lái)說(shuō)要好得多:通過(guò)給予開(kāi)發(fā)人員調(diào)整的靈活性,消費(fèi)者可以得到更有用的產(chǎn)品。這意味著他們會(huì)真正使用它,一旦它給他們的生活帶來(lái)價(jià)值,他們就會(huì)向周?chē)娜烁桧炈?。這就是大規(guī)模采用的開(kāi)始。