《以太坊技术详解与实战》第9章 - 以太坊性能优化

以太坊自诞生以来,其执行交易的性能就一直成为整个系统的瓶颈 。 为了使以太坊能够在更多数据驱动的业务场景中得到应用,一些新的技术和架构被设计出来以改善目前以太坊的效率 、 吞吐率和并发性等问题。 本章将为读者介绍三种代表性技术,它们分别是分片技术 、 雷电网络和下一代以太坊共识技术一一Casper。

9.1 分片技术

在以太坊的发展过程中,有两个至关重要的节点 : 一个是 PoW 到 PoS 的成功转换; 另一个是分片( sharding ),此技术是为了解决所有区块链面临的扩展性问题,将在以太坊 2.0 实现(预计等到 2020 年以后) 。 在现阶段的以太坊中,所有的共识节点都存储着一个完整的区块链,即存储所有的交易状态(账户余额、智能合约、数据等)和处理所有的交易,但是分片之后,每个节点只需要存储、处理一部分交易 ,从而解决区块链面临的扩展性问题。

存储完整的区块链虽然极大地保证了以太坊的安全,但是这样也限制了区块链的可扩展性,而且其庞大的存储数据可能会让绝大多数的普通用户望而止步 。 总体来说,分片的作用是让以太坊从网络上的每个节点都要验证每一笔交易的模式,转型到只需要小部分的节点来验证每一笔交易的模式,只要验证每笔交易的节点足够多,那么整个系统仍是高度安全的。

以太坊要想继续发展,就必须考虑区块链的存储问题和海量交易数据的处理问题。 为了解决这两大难题,目前已经有人提出了一些解决方案,但是这些解决方案或多或少都存在着一些问题。比如,放弃扩展单个区块链的机制,让用户同时选择使用多个不同的区块链,以“区块树”的形式来提高交易数据的处理速度。这种情况下,虽然吞吐量提高了,但是以太坊的安全性却降低了,可以这么说,每扩展 N 倍的分支,安全性就降低了 N 倍。再比如,直接增加区块的大小限制 。 这种情况下,虽然可以一定程度上缓解解决现有的数据处理速度较慢的问题,但是长此以往,等到区块链达到了一定的规模,普通用户必然会因为它海量的存储数据和信息处理而望而止步,最后只会剩下极少量的超级计算机节点,这样无疑增大了中心化的风险。

9.2 雷电网络

雷电网络( Raiden Network )是一个基于以太坊的链下交易方案,用以解决以太坊中转账交易的速度、费用和隐私的问题。 雷电网络的设计源于比特币的闪电网络( Lightning Network ),利用密码学方法实现可证明的安全链下支付网络 。 不同于分片等致力于解决以太坊中所有交易的效率问题,雷电网络所解决的是用户账户之间的以太币(或任意 ERC 20 Token ,下同)的转账问题 。 下面我们介绍几个雷电网络的基本概念,来理解其工作原理。

9.3 Casper一一下一代以大坊共识协议

工作量证明( PoW )由于消耗大量算力和电力,已经广为垢病 。 因此以太坊基金会一直在积极地推进使用“股权证明”( PoS )替代 PoW 作为共识协议 。 以太坊官方将它的 PoS 共识协议称为 Casper ,这个名称取自一部电影《 Casper 》(鬼马小精灵) 。

传统的 Pow 共识协议,本质是以算力作为“记账权”的背书,所以各个矿工节点都想尽办法增强自己的算力,以此增加自己获得记账权的概率 。 这样的目的一方面在于使得攻击者要付出巨大的算力才能造成 51% 攻击,二是能保证“记账权”能够公平 、 公正地分配 。但是大量的算力消耗在计算没有实际意义的散列上,既消耗电力,也对提高系统本身的性能没有帮助,既不环保,也不高效 。 Casper 作为一种 PoS 共识协议,希望能摒弃 PoW 以算力做背书的弊端,采用“权益”( Stake ,即以太币)为记账权背书。

以太坊的 Casper 最初的设想作为《以太坊紫皮书》的 一 部分,发布在 2016 年的Devcon 2 大会 。 这份设想大致的思路是,将 Casper 的应用逻辑通过智能合约来实现,在这个合约中,记账权归属于“验证者” 。 任何拥有以太币的账户都可以在 Casper 合约中成为验证者,前提是必须要在 Casper 智能合约中抵押一定的以太币(抵押的以太币越多,被选中作为验证者的概率就越高) 。 之后 Casper 合约通过一种随机方式,选出一个验证者集合 。被选中的验证者集合按照一定顺序依次验证区块(当然也可以选择放弃),如果区块没有问题,就将其添加到区块链中,同时相应的验证者将会获得一笔与他们的抵押成比例的奖励 。如果验证者不遵守合约规定的规则,合约就会没收他抵押的以太币作为惩罚 。

因此, Casper 作为 PoS 协议的一种实现方式 , 具有 去中心化 、 高能效 、 经济安全等 PoS 协议的优点,除此之外,它还增强了以太坊的可扩展性,是从 PoW 到 PoS 的可靠过渡 。 接下来详细介绍一下 Casper 的这些特性。

**去中心化:**相比于 PoW 机制下可能因为矿池集中所形成的算力集中,从而导致“富者愈富”的情况 。 在 Casper 协议下,任何人的一美元的价值都是相同的,这样的好处是,你不能通过将资金汇集在一起,使得一美元值更多 。

高性能: Casper 协议通过让挖矿完全虚拟化的方式解决了 Ethash PoW 协议下电力挖矿的资源消耗问题,极大地节省了电力资源 。

经济安全:“验证者不会自己杀死自己的钱”,正如以太坊创始人 Vitalik Buterin 所说的那样:“在 PoS 协议中,每个人都是矿工 。 因此,除非他们选择通过放弃使用以太币( Ether)来违反规则,否则他们每个人都必须承担确认和验证交易的责任” 。 假设你是一个验证者 ,并且你将你自己的钱作为保证金存人网络,以最大化网络利益的方式行事也就是在保护自己的利益,在这种约束下,以太坊的网络经济安全性被极大地保证。

扩展性好: Casper 协议可以提高以太坊扩展性的最显而易见的方式是允许分片,通过分片,以太坊的扩展性相比于 Pow 机制得到了很大的提高 。

9.4 本章小结

本章为读者介绍了三种代表性的优化性能的技术:分片技术、 雷电网络和下一代以太坊共识技术 Casper 的特性与大致的原理,扩展读者视野 。 以太坊的性能问题关系到应用场景, 也是值得读者深入研究 的话题 。

你可能感兴趣的:(区块链)