美文网首页区块链世界最新发展
公共链面临的主要挑战 6 无法持续的共识机制

公共链面临的主要挑战 6 无法持续的共识机制

作者: yrm23 | 来源:发表于2018-01-22 09:55 被阅读10次

    Preethi Kasireddy, medium.com (来源)

    区块链是“去信任”的。进行交易时,用户不必信任任何其他人。不需要信任任何其他人为用户提供非常具有吸引力的属性,例如自动化,审查抗拒,真实性和无限制的进行创新。

    用于实现区块链的去信任的机制,不容易被攻击者破坏,被称为“共识协议”。共识协议对于比特币和其他区块链来说并不是全新的概念。例如,1992年,Dwork和Naor创建了第一个“工作证明”系统,在这个系统中,人们可以生成计算支出的密码证明来获取资源,而不必依靠信任。这个系统被用来对付垃圾邮件。后来Adam Back在1997年也创建了一个名为Hashcash的类似系统。然后在2003年,Vishnumurthy等人第一次使用工作证明来保证货币的安全,除了在Vishnumurthy的系统外,代币都不是作为一种货币,而只是用来维护点对点的文件交换系统。

    五年后,Nakamoto拿出了工作证明作为一种保证价值代币比特币的机制。这个系统底层的共识机制让比特币成为第一个被广泛采用的全球分散式交易分类账本。

    工作证明的共识

    工作证明是一个由解决难以解决但易于验证的问题组成的方案。矿工们利用他们的计算能力进行计算量非常大的计算,而比特币系统奖励那些提供新的比特币和交易费用的解决方案的矿工。矿工的计算能力越强,他们在决定共识时就越有“决定权”。

    工作证明的共识允许比特币成为第一个真正广泛采用的去中心数字货币形式。它解决了“双花”问题,不需要任何信任的第三方。然而,工作证明并不完善,建立一个更可行的共识机制仍然需要大量的研究和发展。

    什么是工作证明的问题?

    1. 使用专业硬件具有优势

    工作证明的一个缺点就是专用硬件的使用。 2013年,被称为“专用集成电路”(ASIC)的设备专门用于挖掘比特币,效率提高了10-50倍。从此以后,采用普通计算机的CPU和GPU进行挖掘已经变得完全无利可图,而唯一可以挖掘的方法就是您自己制造的ASIC或从ASIC制造商处购买的ASIC。这就偏离了区块链的“去中心”的本质,去中心情况下每个人都应该有机会为网络的安全做出贡献。

    为了解决这个问题,以太坊已经选择了使其PoW算法(Ethhash)顺序记忆硬化的概念。这意味着算法的设计使得计算nonce需要大量的内存和带宽。大内存要求和高带宽要求使得即使是超高速计算机也难以同时发现多个随机数。这降低了集中化的风险,并为正在进行验证的节点创造了更加公平的竞争环境。

    当然,这并不是说以后不会有以太坊的专用集成电路。专门的硬件仍然是PoW算法的巨大威胁。

    2.采矿池的集中化

    采矿池背后的概念是,而不是每个用户自己挖掘,并有一个很小的机会获得块奖励,他们挖一个池。池然后发送给他们一个比例,一致的支出。采矿池的问题在于,由于网络具有更多的“权重”,大型采矿池的回报差异比单个用户的差异小。随着时间的推移,一些池开始控制网络的大部分,随着时间的推移,集中的池集继续获得更多的权力。例如,现在,前五个采矿池拥有近70%的hashrate。至少可以说,这非常令人恐惧。

    3.能源浪费

    矿工们花费大量的计算能力来运行解决工作量证明算法的计算,但不幸的是,所有这些计算工作对社会没有任何价值。根据Digiconomist的比特币能源消耗指数,比特币当前估计的年用电量为29.05TWh,占全球总电量的0.13%。为了给你一个真实的背景,比特币挖掘现在使用(浪费)比159个国家更多的电力。

    随着像比特币这样的使用工作量证明共识的公共区块链不断扩大,越来越多的能源将被浪费。如果公众区块链的目标只是扩大到数百万用户和交易,那么不可持续的浪费精力和计算工作成本就可能得不偿失。

    共识机制方面的解决方案

    1. 有用的工作证明

    解决能源浪费问题的一种方法是使工作证明功能的同时解决有用的问题。例如,想象一下,矿工们正在花费其计算能力来解决困难的AI算法,而不是解决工作证明所需的随机SHA256问题。

    2. 经过验证的权益证明

    解决采矿中心化问题的一种方法是完全取消采矿,并转向其他机制来统计每个节点的权重。这就是权益证明的目的所在。

    正如Vitalik所指出的那样,取代采矿投入大量算力,采用拥有的“份额”(如代币数量)。改变每一个CPU单位一票的方式为每一个代币单位一票的方式。

    权益证明消除了对硬件方面的要求,因此不受上面讨论的硬件集中化问题的影响。而且,由于矿工不需要花费大量的能源来计算工作证明算法的解决方案,因此权益证明本质上是更节能的。

    但是,和其他技术一样,没有免费的午餐。权益证明也有其自身的基本挑战。具体如下:

    1)没有什么风险的问题:通过权益证明,当链中出现分叉时,无论该分叉是偶然的还是恶意产生的,对于验证交易的任何节点来说,最好的策略是在采用每个链。通过这样做,就可以无需花费任何物理计算的努力,只要用他们的代币进行投票。而无论哪个链条获胜(即“没有任何危险”以防止他们在每个链条上收获),他们都将得到奖励。

    2)大范围攻击:对工作量证明机制的区块链来说,在发生一个分叉时,一名矿工将在主链的当前区块后面几个区块开始一个分叉。矿工越晚进一步进入该条区块链链,就越难跟上该条区块链,因为它需要超过一半网络的计算能力才能做到这一点。但是,权益证明机制下,矿工可以在分叉时向后构造数千或数百万区块,因为构造区块唯一需要的就是股份或是代币。这意味着一个矿工可以很容易地构造出数百万块到一个新的区块链,使用户难以知道哪个区块链是“正确的”。

    3)垄断的形成:在一个受经济激励制约的去中心制度中,一个非常现实的风险就是形成协调一致的努力和寡头垄断。正如以太坊研究员Vlad Zamfir所说,“代币出人意料的非常集中。采矿能力也是如此。寡头垄断竞争是许多“现实生活”中的市场的常态。少数相对富裕的验证者之间的协调比大量相对贫穷的验证者之间的协调要容易得多。在目前的情况下,垄断的形成是完全可以预料的。“

    为了用一种新的共识机制如股权证明来有效地替代工作证明,我们需要一种算法来解决上述的问题。

    像Tendermint和Ethereum这样的团队已经在解决这个问题方面取得了很大的进展。 Tendermint是第一个通过为区块链构建可行的股权证明共识引擎来将传统BFT研究应用于区块链。但是,Tendermint有其自身的缺陷(这将是另一篇文章的话题)。同样的,以太坊在完善权益证明方面也取得了很大的进展,但实际情况是,今天在现网上没有任何东西在运行。

    与工作证明不同的是,权益证明是未经实际验证的,而且对其的认知也不太深人。了解各种设计的利害得失仍然是需要进一步的研究和实验。因此,强烈需要研究人员在这些早期工作成果的基础上进一步合作,以创建一个更高效,快速和安全的共识机制。

    相关文章

      网友评论

        本文标题:公共链面临的主要挑战 6 无法持续的共识机制

        本文链接:https://www.haomeiwen.com/subject/pbnkaxtx.html