为什么渐进式去中心化是区块链最大的希望?
想知道更多关于区块链技术知识,请百度【链客区块链技术问答社区】
链客,有问必答!
当我们在一年前发布CryptoKitties(加密猫)时,我们没有选择预先向ICO提供资金,而是将其建立在一个可持续的收入模型上。这个模型是这样的:我们从游戏中的每笔交易中收取3.75%的费用。考虑到我们一旦启动就无法更改费用(CryptoKitties是在以太坊区块链上构建的),人们经常会问我们是如何得到这个数字的。
这听起来是个明智、合理的选择。我可以编造一个引人入胜的故事,讲述我们如何使用先进的预测模型进行模拟,以找到能够产生最佳回报的费用。
但事实并非如此。事实是我们的猜测是有根据的。我们选择了一个感觉公平的数字,并致力于此。
不变性是可怕的
我们很容易做出错误的选择,因为你不能改变一些东西,一旦你把它添加到区块链,那就无法改变。幸运的是,对于CryptoKitties来说,我们的社区非常热情,而且这些猫非常可爱,所以3.75%的效果很好。
不变性,即无法被编辑,是区块链最大的优势,也是它被有意义采用的最大障碍。不变性代码的压力使开发人员瘫痪:您可以永远在测试环境中进行修补,但是总会有一些您无法预料的实际变量。它更有可能产生故障。
我们的费用只是众多决定中的一个:养一只猫需要多长时间?它们的繁殖冷却速度应该以什么速度减慢?第0代猫需要多少钱?在区块链上,即使一个看似微不足道的选择也可能造成严重、甚至关键的后果。
去中心化给日常生活的人们带来了巨大的好处:永久和普遍规则的公平性,以及代码和行为的透明度,这些结合起来就创造了安全。然而,由于区块链通常是在不变性的情况下实现的,因此它使敏捷开发变得不可能,并使团队慢得像爬行一样。
快速需要迭代。快速迭代是构建最佳产品的关键,而最佳产品会引发大规模采用。
进入渐进式去中心化
我们在构建加密货币套件时遇到了这些障碍,这迫使我们在构建一些可行的东西时,还要考虑去中心化化特性。从那时起,我们开始探索开发中的渐进式区中心化,这是我们不久前简要介绍的一个想法。
现在让我们深入研究一下。
简单地说,渐进式去中心化主张分阶段逐步推进分权,而不是一头扎进去。这看起来就像在智能合约中建立机制,预先赋予创造者特殊的权力,然后以透明的方式逐步锁定这些权力。
关键条件是锁定机制必须是公共的,并且从一开始就是不可变的。创作者不能决定在以后修改条款并无限期地扩展他们的权力。这种平衡至关重要:如果处理得当,渐进式去中心化允许创建者在不损害合约的分权特性情况下灵活地修复代码。
渐进式去中心化可以采取多种形式
没有一种正确的方法来实现渐进式去中心化。有许多变量需要考虑,最佳的方法因项目而异。
这里有一些开发人员可以采用的方法:
- 编写多个合约,并适当地分离关注点和替换其中一些合约的能力。一些分散式应用程序(dapps)已经在使用这种技术了。
- 可配置变量和独立更改这些值的权限。例如,Etheremon向成为版主的用户组授予特殊权限。
- 在合约中包含一组预定义的升序级别,每个级别允许创建者具有某些功能。级别只能增加,而不能减少,因此不能选择回溯。例如,在第1级,合约所有者可以使用所有的游戏玩法变量。在第2级,他们修改核心变量的能力就结束了。在最后一层,合约会取消了它们的所有特权。
对于顽固的分权主义者来说,其中一些可能听起来过于集中。但这只是一个起点。还有进一步的措施来平衡去中心化和迭代。解决方案结合了目的的透明性以及合约中的条件和约束。这些限制可以包括:
选择: 不是所有东西都可以修改,只有我们需要迭代的特定项可以修改。
范围:关于游戏经济的许多问题,我们可能有一个大概的想法,但并不知道确切的答案。将配置限制在一定范围内,可以确保用户将迭代放置在合理的范围内。
方向: 类似于上面的“级别”概念,允许某些变量只在一个方向上移动,减少或增加,但绝不回溯。
让创造者责任
所有这些在理论上听起来都很棒。但是,我们如何确保创建者忠实于他们的路线图,并实现其合约的完全去中心化版本呢?用户如何在保证系统是渐进式去中心化应用的前提下尽早选择加入?我们怎么知道我们不会以另一个有缺陷的中央集权系统而告终呢?
渐进式去中心化包括让创造者负责任的原则:
· 基于时间或块的成熟度
锁定某些配置值,撤销所有者的功能,或者在超过某个时间或块号之后移动到下一个成熟度级别。一旦达到这一点,合约就会自动更改。
例如,想象一下,从它发射的那一刻起,CryptoKitties的跑道有36万个块(大约60天的时间),用来调整猫咪的“繁殖冷却时间变量”。 直到那个时候我们可以调整冷却机制,给自己足够的喘息空间来完善平衡,同时保证玩家不会永远拥有这种能力。
· 基于使用的成熟度
一旦完成一定数量的用户或事务,就锁定这些功能。这个选项需要仔细考虑以避免被利用,但是我们可以在加密包中构建可配置的费用,在10,000个事务之后锁定。
· 经济激励
将造物主的激励与增加的去中心化相结合。在这种情况下,当合约变得更加分散时,创建者会获得更多的利润。也许费用会随着开发人员提升的级别而增加,当他们达到完全分散时锁定在最高费用。或者,在完全的去中心化到位之前,他们根本赚不到钱。这种经济奖励激励开发人员以合理的速度实现去中心化。
没有在区块链上构建的最佳方法
“渐进式去中心化”实际上是一个涵盖许多策略、机制和工具的保护伞,以使在区块链上进行构建更加可行。应用渐进式去中心化的最佳方式始终取决于项目,并使用上面概述概念的组合。
渐进式去中心化并不完美。理想的智能合约是简单而直接的,这些度量方法增加了复杂性。如何在多大程度上合并它是一种权衡,需要在个案的基础上进行评估。
尽管这可能会激怒强硬的去中心化主义者,但我们相信,从长远来看,渐进式去中心化对用户来说要好得多:通过给予开发人员调整的灵活性,消费者可以得到更有用的产品。这意味着他们会真正使用它,一旦它给他们的生活带来价值,他们就会向周围的人歌颂它。这就是大规模采用的开始。
为什么渐进式去中心化是区块链最大的希望?相关推荐
- 区块链去中心化分布式_为什么渐进式去中心化是区块链的最大希望
区块链去中心化分布式 by Arthur Camara 通过亚瑟·卡马拉(Arthur Camara) 为什么渐进式去中心化是区块链的最大希望 (Why Progressive Decentraliz ...
- 第17讲 | 去中心化与区块链交易性能
通过前面的文章我们了解了一些区块链的基本技术细节,今天这篇文章我将带你一起看看区块链争议的最大内容--去中心化与区块链交易性能. 比特币和以太坊的TPS一直被技术领域的人所诟病,或许这与工程师&quo ...
- 去中心化的区块链如何理解?
这里要讲重点了,即区块链的去中心化到底什么样?它又是如何保证交易的可信性和准确性的呢? 去中心化最初的来源,是一个自然科学中的生态学原理.在一个分布有众多节点的系统中,每个节点各司其职互不干扰,具有高 ...
- “去中心化”是区块链的目的吗
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oRNgavFg-1661124178555)(http://img0.vccoo.com/art/201709/05/1 ...
- 一种在外部中心化基础下的网络空间去中心化充盈区块链系统
本文是<赛博空间学与赛博学>的第四章 赛博空间充盈计划 第四章内容全部一起放出,请点击下面推送阅读.可辅助上一期视频理解:网络补全计划! 区块链技术本质上就是赛博空间学的产物.在区块链的区 ...
- 基于区块链的去中心化存储(区块链存储)的工作流程
引入 个人电脑上存储有限,而且如果硬盘损坏数据丢失的话,也不容易恢复.因此很多人愿意把数据上传到云盘里,也就是云存储.但是云存储是服务提供商控制的,比如阿里云,百度云等,我们称为中心化的存储 ,人们对 ...
- python去中心化_EOS区块链dApp去中心化应用汇总
EOS最近一直在区块链新闻中.它的主干网(公有链)发布了,人们仍然对它们持怀疑态度.在101Blockchain.com网站上,我们知道会有紧张的投资者.怀疑的分析家和像你一样好奇的读者.这就是为什么 ...
- 什么是“中心化”和“去中心化”?区块链是怎么实现去中心化的?
图1 三类网络拓扑结构 所谓"中心化"和"去中心化",最早是用来刻画网络拓扑结构的术语.1964年,美国兰德公司发布了一份关于分布式通信的报告,提出了三种网络结 ...
- 酷链网络——新一代去中心化分布式公有链平台
2018年被称为是公有链发展的元年,这一年,应用与技术发展突飞猛进,区块链技术正在加速革新中来,高速发展的同时也呈现全球化的特征.但是随着行业内技术瓶颈的问题,搭建一个与时俱进的基础性服务开发平台,保 ...
最新文章
- Microsoft NLayerApp案例理论与实践 - 项目简“.NET研究”介与环境搭建
- 接受java的返回值_java怎样接受 到return的值的?
- how is RFC to backend determined - maintenance view IWFNDV_MGDEAM
- Node — 第七天 (大事件项目接口实现一)
- 【ArcGIS风暴】ArcGIS10.6创建LAS数据集的两种方法并加载点云数据
- pytorch 矩阵相乘_深度学习 — — PyTorch入门(三)
- ES6新特性_const声明常量以及特点---JavaScript_ECMAScript_ES6-ES11新特性工作笔记005
- WinMerge 操作界面汉语版(截图),以及简单功能介绍
- 卡巴斯基正版半年注册码申请
- d3.drag使用指南
- 如何通过球面投影(Spherical Projection)将点云转换为距离图像(Range Images)
- VS2010编译静态链接MFC的OCX遇到的问题:nafxcwd.lib(dllmodul.obj) : error LNK2005: _DllMain@12 已经在 LIBCMTD.lib(dllm
- 系数( coefficients)、因数或因子( factors)
- linux 之sed命令详解
- 什么是NoSql?为什么要使用NoSql?
- 快速Euclidean算法
- github的一些快捷键和在线编辑器
- computer-07 C盘空间不足解决办法
- 基于Matlab的1/3倍频程计算
- 用web audio api 在canvas上画出音频的音轨