區塊鏈去中心化分布式
by Arthur Camara
通過亞瑟·卡馬拉(Arthur Camara)
為什么漸進式去中心化是區塊鏈的最大希望 (Why Progressive Decentralization is blockchain’s best hope)
不變性是區塊鏈的最大優勢和最大障礙。 逐步分權可能是答案。 (Immutability is blockchain’s greatest strength and biggest barrier. Progressive decentralization could be the answer.)
When we released CryptoKitties a year ago, we opted not to fund it up front with an ICO but instead build it on a sustainable revenue model. That model is this: we collect a fee of 3.75% from every transaction in the game. Given that we’d be unable to change the fee once we launched — CryptoKitties is built on the Ethereum blockchain — people often ask how we arrived at that number.
一年前,當我們發布CryptoKitties時 ,我們選擇不通過ICO 預先為其提供資金,而是選擇以可持續的收入模型為基礎。 這種模式是這樣的:我們從游戲中的每筆交易中收取3.75%的費用。 鑒于一旦啟動我們便無法更改費用-CryptoKitties建立在以太坊區塊鏈上-人們經常問我們如何得出該數字。
It sounds like a smart, well-reasoned choice. I could spin a compelling story about how we ran simulations with advanced prediction models to find the fee that would yield optimal returns.
這聽起來像是明智的選擇。 我可以講一個引人入勝的故事,說明我們如何使用高級預測模型運行模擬,以找到可以產生最佳回報的費用。
But that’s not true.
但這不是事實。
The truth is we made an educated guess. We picked a number that felt fair and we committed to it.
事實是我們做出了有根據的猜測。 我們選擇了一個公平的數字,并致力于這一工作。
不變性真棒又可怕 (Immutability is awesome and scary)
We easily could have chosen wrong, and since you can’t change something once you add it to the blockchain, that would have been cat-astrophic. Fortunately for CryptoKitties, our community is so passionate and the Kitties are so adorable that 3.75% worked just fine.
我們很容易選擇了錯誤,并且由于一旦將某些內容添加到區塊鏈中就無法更改,那將是災難性的 。 幸運的是,對于CryptoKitties,我們的社區充滿熱情,而Kitties非常可愛,以3.75%的表現不錯。
Immutability, the inability to be edited, is at once the blockchain’s greatest strength and its largest barrier to meaningful adoption. The pressures of immortal code paralyze developers: you can tinker in a test environment forever, but there will always be real-world variables you can’t anticipate. Covering your eyes and hitting launch is no way to make breakthroughs. It’s more likely to produce breakdowns.
不變性,即無法編輯,是區塊鏈的最大優勢,也是實現有意義采用的最大障礙。 永生代碼的壓力使開發人員陷于癱瘓:您可以永遠在測試環境中進行修補,但是總會有一些您無法預期的實際變量。 遮住眼睛并擊中發射臺是無法取得突破的。 產生故障的可能性更大。
Our fee was just one decision among many: how long should breeding a Kitty take? At what rate should their breeding cooldowns slow? How much should a Gen 0 cat cost? On blockchain, even a seemingly minor choice can pose serious, even critical, consequences.
我們的費用只是眾多決定中的一個:繁殖一只小貓要花多長時間? 他們的繁殖冷卻應該以多大的速度減慢? Gen 0貓要花多少錢? 在區塊鏈上,即使是看似微小的選擇也可能造成嚴重甚至嚴重的后果。
Decentralization offers everyday people immense benefits: the fairness of permanent and universal rules and the transparency of code and behavior which, combined, create security. However, because it’s often implemented with all-or-nothing immutability, blockchain makes agile development impossible and slows teams to a crawl.
分權為每天的人們帶來了巨大的好處:永久性和普遍性規則的公平性以及代碼和行為的透明性,共同創造了安全性。 但是,由于通常使用全有或全無的不可變性來實現,因此區塊鏈使敏捷開發變得不可能,并拖慢了團隊的爬行速度。
Agility requires iteration. Iterating quickly is key to building the best products, and the best products spark mass adoption.
敏捷性需要迭代。 快速迭代是構建最佳產品的關鍵,并且最佳產品可以激發大量采用。
進入漸進式權力下放 (Enter Progressive Decentralization)
We encountered these barriers ourselves building CryptoKitties, which forced us to negotiate including decentralized features while building something that, ya know, works. Since then, we’ve started exploring progressive decentralization in development, an idea we briefly introduced a while ago.
我們自己在構建CryptoKitties時遇到了這些障礙,這迫使我們進行談判,包括去中心化功能,同時構建了可以使用的東西。 從那時起,我們就開始探索開發中的漸進式分權,這是我們不久前簡要介紹的一個想法。
Let’s take a deeper dive now.
現在讓我們更深入地潛水。
Simply put, progressive decentralization advocates easing into decentralization in stages rather than diving in headfirst. What that looks like is building mechanisms into smart contracts that confer special powers to the creators up front, then incrementally lock those powers away in a transparent and systematic way.
簡而言之,漸進式分權提倡分階段放松分權,而不是先潛水。 看起來是在智能合約中建立機制,這些機制預先向創建者授予特殊權力,然后以透明,系統的方式逐步鎖定這些權力。
The critical condition is that the locking mechanisms must be public and immutable from the start. The creator can’t decide to tweak the terms later and indefinitely extend their power. That balance is vital: done correctly, progressive decentralization allows creators the flexibility to repair their code without compromising the decentralized features of the contract.
關鍵條件是,鎖定機制從一開始就必須是公開的且不可更改。 創建者無法決定稍后調整條款并無限期地擴展其權力。 這種平衡是至關重要的:正確地進行漸進式去中心化可以使創建者靈活地修復其代碼,而不會損害合同的去中心化功能。
漸進式分權可以采取多種形式 (Progressive decentralization can take many forms)
There’s no one right way to implement progressive decentralization. There are dozens of variables to consider, and the best approach will vary from project to project.
沒有實現逐步分權的正確方法。 有數十個變量需要考慮,最佳方法因項目而異。
Here are a couple ways developers could approach progressive decentralization:
開發人員可以采用以下幾種方式逐步進行權力下放:
Author multiple contracts with appropriate separation of concerns and the ability to replace some of those contracts. Some decentralized apps (“dapps”) like Decentraland, which features upgradable contracts, are already using this.
編寫多個合同,并適當分離關注點,并具有替換其中一些合同的能力。 一些分散的應用程序(“dapps”)像Decentraland ,其特點可升級的合同,已經在使用此。
Configurable variables and permissions to change those values independently. Etheremon, for instance, grants special permissions to groups of users who become moderators.
可配置變量和權限,可以獨立更改這些值。 例如, Etheremon向成為主持人的用戶組授予特殊權限 。
- Incorporate a predefined set of ascending levels in the contract, each allowing the creators certain capabilities. The levels can only be increased, never decreased, so backtracking isn’t an option. On level 1, for example, the contract owners can play around with all gameplay variables. At level 2, their capability to modify core variables ends. At the final level, the contract revokes all their special privileges. 在合同中包含一組預定義的升序級別,每個級別都允許創建者某些功能。 只能增加級別,而不能減少級別,因此不能選擇回溯。 例如,在級別1上,合同所有者可以使用所有游戲變量。 在級別2,他們修改核心變量的能力結束。 在最后一級,合同撤銷其所有特殊特權。
To die-hard decentralists, some of this probably sounds too centralized. But this is just the starting point. There are further measures to balance decentralization with iteration. The solution combines transparency of the purpose and the conditions and constraints in the contracts. These constraints could include:
對于頑固的權力下放者來說,其中有些聽起來太集中了。 但這僅僅是起點。 還有其他措施可以在分散與迭代之間取得平衡。 該解決方案結合了目標的透明性以及合同中的條件和約束。 這些限制可能包括:
Selection: Not everything can be modified, only the specific items that we need to iterate.
選擇:并非所有內容都可以修改,只有我們需要迭代的特定項目可以修改。
Range: For many of the questions around game economies, we may have a general idea but not know the precise answer. Limiting configuration to a certain range guarantees users that the iteration will land within a reasonable scope.
范圍:對于許多有關游戲經濟性的問題,我們可能有一個總體思路,但不知道確切的答案。 將配置限制在一定范圍內可確保用戶迭代將落在合理范圍內。
Direction: Similar to the “levels” concept above, allow certain variables to move only in one direction, decreasing or increasing but never backtracking.
方向:類似于上面的“級別”概念,允許某些變量僅在一個方向上移動,減小或增大,但永不回溯。
追究創作者的責任 (Holding creators accountable)
All this sounds great in theory. But how do we ensure creators stay true to their roadmap and reach the fully decentralized version of their contracts? How can users opt-in early with the guarantee that the system is an application of progressive decentralization? How can we know we won’t end up with just another flawed, centralized system?
從理論上講,所有這些聽起來都很不錯。 但是,我們如何確保創作者忠于自己的路線圖并達成合同的完全去中心化版本? 用戶如何在保證系統是漸進式分散化應用的前提下盡早選擇加入? 我們怎么知道我們不會僅僅擁有另一個有缺陷的集中式系統?
Progressive decentralization includes tenets to keep creators accountable:
漸進式權力下放包括旨在使創作者負責的原則:
基于時間或基于塊的成熟度 (Time- or block-based maturity)
Lock certain configuration values, revoke the owner’s capabilities or move to the next level of maturity past a certain time or block number. Once that point is reached, the contract automatically changes.
鎖定某些配置值,撤消所有者的功能或在特定時間或塊編號之后移至下一個成熟度級別。 一旦達到這一點,合同就會自動更改。
Imagine, for example, that CryptoKitties had a runway of 360,000 blocks (around 60 days’ time) from the moment it launched to adjust the Kitties’ breeding cooldown variables. We could tweak the cooldown mechanics until that point, giving ourselves the breathing room to perfect the balance, while still guaranteeing players that we wouldn’t have that power indefinitely.
例如,想象一下,自從CryptoKitties推出以調整Kitty繁殖冷卻時間變量的那一刻起,它就擁有360,000個區塊(大約60天的時間)。 在此之前,我們可以調整冷卻機制,為自己提供喘息的空間,以達到完美的平衡,同時仍向玩家保證我們不會無限期地擁有這種力量。
基于使用情況的成熟度 (Usage-based maturity)
Lock those capabilities once a certain number of users or transactions are completed. This option needs to be carefully thought out to avoid exploits, but we could have, for example, built configurable fees into CryptoKitties that would lock in after 10,000 transactions.
一旦一定數量的用戶或交易完成,就鎖定這些功能。 需要仔細考慮此選項,以免受到攻擊,但是例如,我們可以在CryptoKitties中內置可配置的費用,該費用將在10,000次交易后鎖定。
經濟激勵 (Economic incentive)
Align the creator’s incentives with increased decentralization. In this scenario, the creators profit more when the contract becomes more decentralized. Perhaps the fee rises with each level the developer ascends, locking in at the maximum fee when they reach full decentralization. Or, alternatively, perhaps they make no money at all until full decentralization is in place. This financial reward motivates the developer to reach decentralization at a reasonable pace.
使創作者的激勵與權力下放更加協調。 在這種情況下,當合同變得更加分散時,創建者會獲利更多。 費用可能會隨著開發人員的提升而上升,并在完全下放時鎖定在最高費用上。 或者,或者,在完全放權之前,他們根本不賺錢。 這種經濟上的激勵促使開發商以合理的步伐實現權力下放。
沒有在區塊鏈上構建的最佳方法 (There’s no best approach to building on the blockchain)
“Progressive decentralization” is really an umbrella encompassing many strategies, mechanisms, and tools to make building on the blockchain more viable. The best way to apply progressive decentralization will always depend on the project and use a mix of the concepts outlined above.
“漸進式去中心化”實際上是一個涵蓋許多策略,機制和工具的保護傘,以使在區塊鏈上的構建更加可行。 進行漸進式權力下放的最佳方法將始終取決于項目并使用上述概念的混合。
Progressive decentralization is not perfect. The ideal smart contract is simple and straightforward, and these measures add complexity. How and how much to incorporate it is a trade-off that needs to be evaluated on a case-by-case basis.
漸進式權力下放并不完美。 理想的智能合約簡單明了,這些措施增加了復雜性。 合并的方式和程度是一個折衷方案,需要根據具體情況進行評估。
Although it may anger hardline decentralists, we believe progressive decentralization is far better for users in the long run: by giving developers the flexibility to adjust, the consumer gets a more useful product. That means they’ll actually use it, and once it brings value to their lives, they’ll sing its praises to the people around them. That’s how mass adoption starts.
盡管這可能激怒強硬的權力下放者,但從長遠來看,我們認為漸進式權力下放對用戶而言要好得多:通過為開發人員提供調整的靈活性,消費者可以獲得更有用的產品。 這意味著他們將實際使用它,一旦它為生活帶來了價值,他們就會向周圍的人表示贊賞。 這就是開始大規模采用的方式。
Authors: Arthur Camara, Dieter Shirley, and Grady Mitchell
作者: 亞瑟·卡瑪拉 ( Arthur Camara) , Dieter Shirley和Grady Mitchell
翻譯自: https://www.freecodecamp.org/news/why-progressive-decentralization-is-blockchains-best-hope-31a497f2673b/
區塊鏈去中心化分布式