Risk Warning: Beware of illegal fundraising in the name of 'virtual currency' and 'blockchain'. — Five departments including the Banking and Insurance Regulatory Commission
Information
Discover
Search
Login
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt
BTC
ETH
HTX
SOL
BNB
View Market
How to judge the degree of decentralization of a blockchain project
真本聪RealSatoshi
特邀专栏作者
2019-11-21 06:31
This article is about 2397 words, reading the full article takes about 4 minutes
While decentralization is not an end in itself, it is a means to many ends, including resistance to censorship, corruption, and collusion. inclusive institutions involving multiple parties; and an equitable distribution of wealth, power, and influence.

This is the second part of a series of articles on "The keys to becoming a better blockchain". While decentralization is not an end in itself, it is a means to many ends, including resistance to censorship, corruption, and collusion. inclusive institutions involving multiple parties; and an equitable distribution of wealth, power, and influence. Decentralization is not suitable for most applications due to inefficiency and high cost, but for those applications that require decentralization, the underlying platform is much more reliable than the decentralized service on the lips. Have we gone to the center yet? I want to remind us that decentralization is multidimensional, far from binary. Another closely related topic is permissionless delegation, which is also discussed here: allowing anyone, anywhere to contribute to a project, platform, or community is one of the most important parts of the ethos of decentralization.

  • Are there multiple client applications?There are two schools of thought here. One hypothesis is that a single canonical client app can focus limited resources on a project and allow a development team to communicate more easily, which will maximize success and competitiveness relative to other platforms. Additionally, a single client application prevents consensus failures due to inconsistent local ledgers of different nodes (at least as long as each node upgrades its software after a hard fork). The other school of thought argues that the presence of multiple clients makes the network more likely to survive attacks (one client may stop block production altogether) or consensus failures (one or more clients fail to run the protocol correctly, which may result in Wrong block or stop block production at all). In fact, both happened in Ethereum. But there are more subtle reasons. First of all, multiple client applications in parallel reduce the dominant influence of a single core development team on the network, which is one of the biggest problems in Bitcoin governance (the Zcash Foundation will also decide to build a second Zcash client to balance the Electric Coin company power). Also, different clients may make different architectural decisions and have different strengths (e.g. mining, data lookup), and writing clients in different languages ​​allows more developers to participate in core development. While parallel applications, beta applications, etc. are great, it is the mainnet client that is truly mainstream: for example, Bitcoin has at least 15 client applications, but 97% of nodes run one program, Bitcoin Core.

  • How many organizations control mining computing power?The more parties involved in mining, the harder it is to collude with each other, engage in selfish mining, or engage in a double-spend attack (often called a 51% attack, although the math is actually more complicated). This is not a hypothetical risk as it has already happened in networks like Ethereum Classic and Bitcoin Gold. Plus, more miners means a fairer distribution of mining rewards. Although many individual miners may participate in mining, there are incentives for them to aggregate into a few mining pools, and even a seemingly decentralized network may rely on a few entities for mining: the three largest Ethereum Mining pools collectively control 60% of the total computing power, while the top four Bitcoin mining pools account for about 56%.

  • How many full nodes are running?While not mining, public full nodes cannot protect against double spend attacks, but can help prevent other types of attacks, such as eclipse attacks or routing attacks. If running a full node is as cheap and easy as possible, and ideally a user can run a node on commodity hardware like a consumer grade laptop (or a device like a Dappnode or Casa node) without unreasonable bandwidth requirements , then this would be of great help.

  • How is governance decentralized?Are there many independent decision makers responsible for protocols, branding, conferences and events, resource allocation, social media channels, Github repositories, etc., or is it concentrated in the hands of a few wealthy, powerful entities? Even a logically very decentralized protocol may have relatively centralized decision-making or resource allocation. (See the "Governance" section for more information.)

  • Is the platform censorship resistant?Censorship resistance is one of the main raison d’être of blockchain platforms. Censorship resistance is one of the most important features setting these platforms and the applications built on top of them, as the phenomenon of arbitrary censorship has become a reality in the Web2 and social media worlds. The decentralization of miners and full node architecture and decentralized governance results in censorship resistance. The ability to resist censorship is directly proportional to the degree of decentralization. A network with just a few or a dozen block producers cannot be called sovereign-level censorship-resistant at the scale of Bitcoin or Ethereum, but it could be platform-level censorship-resistant, which is probably sufficient for most applications.

  • Does everyone have the freedom to operate under your brand?Is there a trademark, and if so, how is it used? Is it organized by an organization? Is it mandatory? Is there a party claiming to "represent" the project, and is brand communication being done in a more decentralized manner? While companies may be inclined to exercise tighter control over brands with the advice of lawyers, doing so could have a detrimental effect on the blockchain community as it contradicts core principles such as decentralization and permissionlessness. (See part three for more on this topic:Community and Governance Section。)

  • Is all code open source?Making contributing code to your platform as easy and convenient as possible is not only a great way to cheaply improve the quality and speed of development, but also a way to recruit a variety of talented contributors, find bugs and exploits, brainstorm ideas, etc. Cultivate a sense of identity and belonging within your community. Many good developers in the world today work only on open source software. Having a loosely low barrier to entry gives your community members more confidence that if they disagree with the design or governance of the software, they can easily fork the code and take the project in another direction. This reduces exit costs and encourages more contributors to join. It's important to note that open source code alone is not enough. Actively managing an open source project is a lot of work; check out the great projects on GitHub.

  • How hard is it to fork?Forks are the super mechanism of decentralized, open source, and blockchain projects, the mechanism that sets them apart from pre-existing world politics. Forks serve many important purposes: they keep parties honest, act as "solutions" when disagreements and disputes arise, and are the purest embodiment of the principle of decentralization and permissionless innovation: anyone, anywhere, anytime, can be free feel free to come up with any ideas. A project that is afraid of forking is one that lacks leadership security or poor governance: in other words, probably not the project you want to work on. In addition to being easy to fork the code, forking the ledger should also be as simple as possible: features like on-chain IDs and rollback protection can help a lot. In order to facilitate the governance of forks, as much content as possible should be kept in public, forkable open source code repositories such as Github, rather than on wikis, YouTube, etc.

  • What are the barriers to entry?Do you need to work for a specific organization to contribute to a project? Do you need to sign an employment contract, provide certification or undergo a KYC/AML process? Do you need to buy some tokens? Do you normally need permission from anyone before you can transact or transact on the web? These all go against the ethos of decentralization and permissionlessness, prevent many from participating, and therefore severely curtail innovation.

Welcome to Join Odaily Official Community