区块链中文网

为什么基于区块链的系统比您认为的更高效

5532
发表时间:2019-01-09 13:37

  我们最近见证了Web是如何深刻地改变了各种业务的,其中包括市场的实现方式:Web驱动的市场通常遵循这种模式。

  在这个方案中,我主要关注实现的一些特定方面:安全性、基础设施和人工因素。让我们更详细地分析它们。

  安全性

  安全通常是在边界上强制执行的,以确定计算可能发生的“安全区”,典型的工具包括身份验证、角色(管理员、用户……)、权限管理。

  集中的基础设施

  依靠集中的基础设施实现了高计算和内存效率:由于不需要复制,计算和存储都只执行一次。实际上,这并不是完全正确的,因为硬件可能将会失败,所以一定程度的冗余,特别是对于存储来说是有必要的,这样可以实现所需的容错级别。

  人工因素

  这种系统的设计目的是让人参与到循环中:系统管理员、DB管理员——是使系统正常工作所必需的。

  区块链是如何改变游戏规则的

  区块链最像Web是一种工具,它引发了一场影响上述所有方面的技术革命。新方案如下所示

  安全

  在一个基于区块链的生态系统中,不再有边界亦或是安全区,因为区块链是作为一个独特的密码系统构建的,所以整个区块链的设计是安全的。

  · 身份通过加密密钥(不再可能是弱密码、被窃听的身份验证系统)来跟踪。

  · 存储的数据是数字签名的,因此安全性是在最细粒度级别上强制执行的

  · 业务逻辑(例如智能合约)是不可变的和透明的

  分散的基础设施

  分散性是任何区块链实现的核心,因此,即使这使得整个系统的计算效率比集中式系统低得多,但它在设计上具有更强的容错性和安全性。

  此外,区块链被设计成在一个不可信的环境中工作: 这意味着通常不需要“特殊节点”或特定的假设来维持区块链的工作。所假设的环境类型需要考虑以下几个因素:

  · 彼此是否不信任

  · 可以随时加入和离开吗

  · 会有敌对,狡猾,不公平的行为吗

  人工因素

  与非区块链系统最大的不同之处:运行区块链不需要人工管理。

  当然,区块链是作为软件实现的,所以仍然需要开发人员(bug修复、新特性……)[从我的特定角度来看,这是好事:)],但是不再需要上面提到的系统管理员和DB管理员这样的角色。

  做正确和公平的计算

  这篇长长的介绍对于讨论本文的核心主题很重要:比较非区块链和基于区块链系统的效率。

  区块链批评者使用的论据之一是,它以一种效率较低的方式解决了一个已经有解决方案(基本上是集中式DB)的问题,他们仅通过查看集中式与分散式场景中的存储成本来支持这一点:

  · 集中式DB解决方案复制存储几次以实现容错,并以集中式方式保持不同副本的同步

  · 区块链数据库不复制具有N=网络节点数的信息O(N)(注意:我们现在不是在谈论切分),而是在基于工作证明的共识场景中,在能够实际存储数据(即在链中添加块)之前,花费大量的精力(计算能力)来解决一个难题

  只比较这两个方面,而不考虑全局,在我看来是一种选择偏差

  更公平的比较应该包括在集中解决方案成本中,至少包括下列额外项目

  1. 人为因素的成本:数据库管理员、系统管理员、所有(相当高的)技术人员的工资,你需要运行集中的基础设施,你不需要运行区块链

  2. 备份成本:对于某些非常关键的数据,标准的冗余通常是不够的

  3. 部分分散化的成本:集中化实际上是一个风险因素,如果地震、洪水袭击了数据中心,您会怎么做?

  您可能已经将最关键的数据分布到地理位置较远的中心了,因此需要额外的成本来监视、维护和使该基础设施工作

  4. 灾难恢复成本:黑客、数据泄露、备份恢复、

  5. 基础设施管理成本:由于集中式基础设施本质上(远)比分散式基础设施更脆弱,因此需要监视、维护、管理……

  另一方面,在区块链上,目前花费了大量的精力来提高系统的效率

  · 从工作证明转移到权益证明,例如在Ethereum 2.0中(Serenity)

  · 获得更好的可伸缩性(使用Sharding, EWasm,…)

  最后,让我们考虑一下价格的长期趋势:

  1. 技术相关的成本很可能会减少时间:计算能力将变得越来越便宜,能源可能遵循相同的趋势,虽然人类劳动成本不能超过某个阈值,但我相信,我们已经非常接近在考虑当前社会形势了

  2. 与风险相关的成本通常很难评估,而且它们的计算通常基于(相当多的)主观假设,因此设计出一个更健壮的系统,所需的风险评估要少得多,甚至不需要

  所以区块链似乎也受到趋势的青睐:

  首先,它需要更少的人为因素(本质上是开发人员),并且会变得越来越高效,从而缩小这方面与集中式系统的差距。

  对于一个更健壮甚至更好的抗脆弱系统来说(感谢Nicholas Nassim Taleb的这个灵感:))在风险管理方面相对于脆弱的集中式系统有更大的优势。

  结论

  综上所述,我看到的权衡如下

  · 技术+能源成本vs人因成本

  · 风险管理vs效率

  因此

  · 集中式系统运行其标准活动的技术+能源成本可能仍然较低,因为它们具有计算效率,但是它们需要人工成本(DB Admin, Sysadmin,…)此外,它们是脆弱的系统,因此它们将在许多方面面临失败(黑客攻击、hw故障、bug……),因此它们需要额外的监视、维护、恢复、风险评估、.....成本。

  · 区块链系统设计更加强大/抗碎片和自主,它们不需要人工管理,更不需要维护(硬件故障也影响区块链节点,但更换容易)因此人员,维护和风险评估成本要低得多,以提高技术+能源成本为代价。


分享到: