购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

六、以太坊的区块链3.0之旅

以太坊目前是部署最广泛、最成熟的区块链平台之一,以太坊自身也在不断发展,力求将自身提升到区块链3.0的架构。除了前面提到的雷电网络,以下是五个以太坊升级扩容的方案:

(一)Plasma

Plasma是由Joseph Poon和Vitalik Buterin提出的区块链扩展解决方案。其思想在很大程度上类似于闪电网络的理念,主要是在主网中冻结资金并将其用于链下的结算,而交易则在链下进行。在Plasma中的主链,也就是根链是以太坊区块链,链下交易在基于主链创建的与交易参与者相关的子链上进行。如果交易一方发现对方有不当行为(违反了预先确定的交易协议),可以把其违规的证据提交到主网络,导致作恶的一方被罚款。子链中的共识协议以及参与者的行为和功能的执行都是由主网中的一个智能合约控制的。子链的交易数据采用默克尔树来组织,其默克尔证明被上传记录在主链上,允许外部观察者监控子链的状态。

Plasma利用子链减轻根链(以太坊)负担的方式来提高交易流量,同时用根链的安全性来保证子链的安全性。Plasma的扩展性甚至可以达到每秒亿级的交易,其原因是采用类似Map-Reduce的方式,可以在子链上再建子链,采用树形结构不断扩展。Plasma由以下组建组成:

1)Client(客户端)—监控以太坊且运行子链,当侦测到诈欺的行为就立即离开。

2)Child Chain(子链)—监控在以太坊上Deposit的行为,并执行所有与该子链目前状态相关的计算。

3)Root Chain(根链)—通过智能合约锚定子链在以太坊链上,处理子链上要存款与离开(提款)的业务,当收到足够的信息后进行确认与处理,或是拒绝诈欺的提款(离开)。

4)Parent Chain(母链)—作用是保护子链,在最小可行版本(MVP)上母链等同于根链。但在最终版本上,子链上可能会有多个母链,但只有一个根链。

(二)区块链的分片(Sharding)

当前所有的区块链协议中,每个全节点都保存所有的状态,包括账户余额、智能合约代码以及智能合约的“世界状态”存储。这提供了很高的安全性,但是扩展性大大受限。因为区块链的交易处理速度不能超过其中任何一个节点的处理速度,所以像比特币和以太坊的交易处理速度会很慢,每秒交易不会超过20笔。那有什么解决办法呢?根据区块链不可能三角,只能通过牺牲一部分安全性或去中心化程度来提高扩展性。以太坊的分片正是采用这一思路。

以太坊目前的分片思路是把状态和历史数据分成 K 份,每份是一片(Shard)。例如,一种分片方法可以简单地用地址段来分片,0x00开始的地址为一片,0x01开始的地址为另一片,如此类推。一种简单的分片机制是每一片有自己的交易历史,交易的效果也只是局限在那一片。这种机制适合于支持多资产的区块链,每种资产放在一个片中。更复杂的分片机制则支持片与片之间通信。在这种机制下,一个片上的交易会触发另一个片上的事件。

以太坊分片的设计者提出了一个简单的分片方案。在区块链上,有一些特殊节点叫核证人(Collator)在分片 K 上接收消息,同时建立核证记录(Collation)。每个核证记录都有核证头(Header),核证头里包括前核证头哈希值以及接收消息的默克尔树根。每个片中的核证记录连接成一个像传统区块链的链。在分片机制下,主链仍然存在,但主链的职能只是保存所有分片的核证表头。每个分片中最长的核证记录链是被默认的共识链。

分片目前还只是一个设想,具体会遇到很多挑战,其中最大的挑战就是片与片的通信。

(三)Truebit项目

Truebit项目是把大计算量的工作移到链下,这样可以扩展智能合约的计算能力,而不受以太坊“燃料限制”的限制。与其他扩容项目思路有些类似,Truebit使用区块链之上的分层来解决这个问题。但其特殊之处在于将计算的执行和验证都进行外包。链外节点可以执行计算任务,而非链上每一个节点计算每一智能合约。这些参与者被称为“解决者”,他们提出一个解决问题的方式来获得奖励,而“验证者”检查他们的工作。Truebit项目开发团队包括网络智能合约语言Solidity的创建者Christian Reitwiessner,因此很多人也寄予厚望。

(四)状态通道

状态通道(State Channel)是一种用于执行交易和其他状态更新的“链下”(Off-chain)技术。像闪电网络和雷电网络中的支付通道也是状态通道的一种,区别在于支付通道只关注支付状态,而非其他智能合约中的状态。状态通道不单可以用于支付,也可用于区块链上任意的状态更新,包括智能合约的更改。状态通道通过在区块链上部署一个规则合约,由该合约来向链上提交最终状态。状态通道最适于有一组明确参与者的应用程序,特别是在需要长期交换大量状态更新的情况下非常有效。状态通道有很强的隐私属性。因为一切都发生在参与者之间的通道“内”,而不是公共广播并记录在链上。只有开启和关闭交易必须公开。状态通道的权威性是即时生效的,这意味着只要双方签署了一个状态更新,它可以被认为是最终状态。双方都有明确保证,在必要的情况下,他们可以将状态“执行”到链上。

(五)Casper共识机制

PoW共识机制始终会是以太坊性能的瓶颈。因此从以太坊最早设计的路线图中,就有未来采用Casper PoS共识机制的构想,只是在实现上由于安全等多方面原因不断推迟。目前从Casper的白皮书初稿来看,第一阶段的Casper会是PoW和PoS的混合机制。具体来说,将区块按每100个做一个最终确认,前99个采用PoW机制出块,第100个采用PoS机制出块,同时将前100个块的交易数据最终确认,不能再推翻。以太坊的PoS机制也吸取了类似Tendermint的BFT设计,采用押金和投票方式来保证见证人不能作恶。

利用改进共识机制来提升交易频率的区块链平台还有很多,典型的像NXT(PoS共识)、Ripple(用UNL局部共识代替全局共识)、Stellar(联邦式BFT共识)、Bitshares/EOS DPoS共识等。 QW9yO6EAmPKY8f8/7c/YpS3flqkOaA9ojY3eWgrcqmPUrpnl6+JdEdahN1Vb1rnS

点击中间区域
呼出菜单
上一章
目录
下一章
×