區塊鏈去中心化分布式_為什么漸進式去中心化是區塊鏈的最大希望

區塊鏈去中心化分布式

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:

開發人員可以采用以下幾種方式逐步進行權力下放:

  1. 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 ,其特點可升級的合同,已經在使用此。

  2. Configurable variables and permissions to change those values independently. Etheremon, for instance, grants special permissions to groups of users who become moderators.

    可配置變量和權限,可以獨立更改這些值。 例如, Etheremon向成為主持人的用戶組授予特殊權限 。

  3. 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:

對于頑固的權力下放者來說,其中有些聽起來太集中了。 但這僅僅是起點。 還有其他措施可以在分散與迭代之間取得平衡。 該解決方案結合了目標的透明性以及合同中的條件和約束。 這些限制可能包括:

  1. Selection: Not everything can be modified, only the specific items that we need to iterate.

    選擇:并非所有內容都可以修改,只有我們需要迭代的特定項目可以修改。

  2. 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.

    范圍:對于許多有關游戲經濟性的問題,我們可能有一個總體思路,但不知道確切的答案。 將配置限制在一定范圍內可確保用戶迭代將落在合理范圍內。

  3. 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/

區塊鏈去中心化分布式

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/392133.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/392133.shtml
英文地址,請注明出處:http://en.pswp.cn/news/392133.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

編譯原理—語義分析(Java)

遞歸下降語法制導翻譯 實現含多條簡單賦值語句的簡化語言的語義分析和中間代碼生成。 測試樣例 begin a:2; b:4; c:c-1; area:3.14*a*a; s:2*3.1416*r*(hr); end #詞法分析 public class analyzer {public static List<String> llistnew ArrayList<>();static …

linux問題總結

linux問題總結 編寫后臺進程的管理腳本&#xff0c;使用service deamon-name stop的時候&#xff0c;出現如下提示&#xff1a;/sbin/service: line 66: 23299 Terminated env -i LANG"$LANG" PATH"$PATH" TERM"$TERM" "${SERVICEDIR}/${SE…

linux vi行尾總是顯示顏色,【轉載】Linux 下使用 vi 沒有顏色的解決辦法

vi 是沒有顏色的&#xff0c;vim 是有顏色的。我們可以通過 rpm -qa |grep vim 看看系統中是否安裝了下面 3 個 rpm 包&#xff0c;如果有就是安裝了 vim 。[rootBetty ~]# rpm -qa |grep vimvim-minimal-7.0.109-7.el5vim-enhanced-7.0.109-7.el5vim-common-7.0.109-7.el5如果…

時間序列分析 lstm_LSTM —時間序列分析

時間序列分析 lstmNeural networks can be a hard concept to wrap your head around. I think this is mostly due to the fact that they can be used for so many different things such as classification, identification or just simply regression.神經網絡可能是一個難…

關于計算圓周率PI的經典程序

短短幾行代碼&#xff0c;卻也可圈可點。如把變量s放在PI表達式中&#xff0c;還有正負值的處理&#xff0c;都堪稱經典。尤其是處處考慮執行效率的思想令人敬佩。 /* pi/41-1/31/5-1/71/9-…… */ #include <stdio.h> int main(){ int s1; float pi0.,n1.,…

華為產品技術學習筆記之路由原理(一)

路由器&#xff1a;路由器是一種典型的網絡連接設備&#xff0c;用來進行路由選擇和報文轉發。路由器與它直接相連的網絡的跳數為0&#xff0c;通過一臺路由器可達的網絡的跳數為1.路由協議&#xff1a;路由器之間維護路由表的規則&#xff0c;用以發現路由&#xff0c;生成路由…

Linux網絡配置:設置IP地址、網關DNS、主機名

查看網絡信息 1、ifconfig eth0 2、ifconfig -a 3、ip add 設置主機名需改配置文件&#xff1a; /etc/hosts /etc/sysconfig/network vim /etc/sysconfig/network NETWORKINGyes NETWORKING_IPV6no HOSTNAMEwendyhost Linux配置網絡 方法一&#xff1a; 1、使用setup命令進入如…

編譯原理—小型(簡化)高級語言分析器前端(Java)

實現一個一遍掃描的編譯前端&#xff0c;將簡化高級語言的部分語法成分&#xff08;含賦值語句、分支語句、循環語句等&#xff09;翻譯成四元式&#xff08;或三地址代碼&#xff09;&#xff0c;還要求有合理的語法出錯報錯和錯誤恢復功能。 測試樣例 beginwhile a<b do…

linux boot菜單列表,Bootstrap 下拉菜單(Dropdowns)簡介

Bootstrap 下拉菜單是可切換的&#xff0c;是以列表格式顯示鏈接的上下文菜單。這可以通過與 下拉菜單(Dropdown) JavaScript 插件 的互動來實現。如需使用下拉菜單&#xff0c;只需要在 class .dropdown 內加上下拉菜單即可。下面的實例演示了基本的下拉菜單&#xff1a;實例主…

dynamodb管理ttl_如何使用DynamoDB TTL和Lambda安排臨時任務

dynamodb管理ttlby Yan Cui崔燕 如何使用DynamoDB TTL和Lambda安排臨時任務 (How to schedule ad-hoc tasks with DynamoDB TTL and Lambda) CloudWatch Events let you easily create cron jobs with Lambda. However, it’s not designed for running lots of ad-hoc tasks,…

5g創業的構想_數據科學項目的五個具體構想

5g創業的構想Do you want to enter the data science world? Congratulations! That’s (still) the right choice.您想進入數據科學世界嗎&#xff1f; 恭喜你&#xff01; 那(仍然)是正確的選擇。 The market currently gets tougher. So, you must be mentally prepared f…

Microsoft Windows Phone 7 Toolkit Silverlight SDK XNA Game Studio 4.0 開發工具套件正式版下載...

Windows Phone 7開發工具套件包括Visual Studio 2010 Express for Windows Phone、Windows Phone模擬器、Expression Blend 4 for Windows Phone、XNA Game Studio 4.0和新增加的必應地圖SDK。 英文版的光盤鏡像&#xff1a;點擊下載 文檔中心&#xff1a;Windows Phone develo…

數據挖掘—Apriori算法(Java實現)

算法描述 &#xff08;1&#xff09;掃描全部數據&#xff0c;產生候選1-項集的集合C1&#xff1b; &#xff08;2&#xff09;根據最小支持度&#xff0c;由候選1-項集的集合C1產生頻繁1-項集的集合L1&#xff1b; &#xff08;3&#xff09;對k>1&#xff0c;重復執行步驟…

怎么匯報一周開發工作情況_如何在沒有經驗的情況下獲得第一份開發人員工作

怎么匯報一周開發工作情況Whether you’ve done a coding bootcamp or taught yourself, getting your first developer job with only a few months of coding under your belt is hard.無論您是完成了編碼訓練營還是自學了&#xff0c;僅靠幾個月的編碼就很難拿到第一份開發人…

vue.js的認知

Vue.js&#xff08;讀音 /vju?/, 類似于 view&#xff09; 是一套構建用戶界面的漸進式框架。 Vue 只關注視圖層&#xff0c; 采用自底向上增量開發的設計。 Vue 的目標是通過盡可能簡單的 API 實現響應的數據綁定和組合的視圖組件。 Vue 學習起來非常簡單&#xff0c;。轉載于…

c語言中的無符號字節,C語言之有符號數和無符號數

我們知道&#xff0c;在C語言中存在無符號數和有符號數(一些高級語言如Java里面是沒有無符號數的)&#xff0c;但是對于計算機而言&#xff0c;其本身并不區別有符號數和無符號數&#xff0c;因為在計算機里面都是0或者1&#xff0c;但是在我們的實際使用中有時候需要使用有符號…

8種排序算法比較

8種排序算法&#xff0c;各算法名稱見下表或見源碼。運行程序時&#xff0c;將需要你輸入一數值&#xff0c;以確定對多少隨機數進行排序。然后將會顯示各排序算法的耗時。并且你可選擇時否進行正序和反序測試。 由于水平有限&#xff0c;可能存在一些錯誤&#xff0c;還請各位…

兩個問題,關于XP進程優化及SVSP虛擬存儲平臺

這兩個問題讓我有點頭痛&#xff0c;是Boss這陣子布置給我的&#xff0c;都一段時間了&#xff0c;我還是沒找出合適的解決方案來答復Boss.第一個問題是&#xff1a;查查X200或X61中的進程&#xff0c;看哪些是可以不要的&#xff0c;停掉&#xff0c;但又不影響用戶使用。&…

數據挖掘—樸素貝葉斯分類算法(Java實現)

算法描述 &#xff08;1&#xff09;掃描訓練樣本數據集&#xff0c;分別統計訓練集中類別 Ci 的個數 Di 和屬于類別Ci 的樣本中屬性Ak取值Xk為 Dik 的實例樣本個數&#xff0c;構成統計表&#xff1b; &#xff08;2&#xff09;計算先驗概率和條件概率&#xff0c;構成概率表…

net core 獲取網站目錄

AppContext.BaseDirectory 獲取項目的根目錄轉載于:https://www.cnblogs.com/zxs-onestar/p/7147265.html