mt logoMyToken
总市值:
0%
恐慌指数:
0%
币种:--
交易所 --
ETH Gas:--
EN
USD
APP
Ap Store QR Code

Scan Download

分片技术的权衡之道:NEAR Protocol VS 以太坊2.0

收藏
分享

在分片区块链领域,以太坊2.0的知名度无疑是最高的,但其也不乏具有竞争力的竞争者,比如今天笔者要介绍的一个项目,它就是来自旧金山的NEAR Protocol。

尽管NEAR尚未上线主网,但其还是从Coinbase、MultiCoin Capital、百度风投、瑞波Xpring等机构手中拿到了1210万美元的首轮融资,受关注程度可见一斑。

WechatIMG81

(图片来自:https://nearprotocol.com/investors/)

那NEAR Protocol究竟是什么,它究竟有什么特色呢? (注:本文不介绍团队,只谈其涉及到的技术)

根据NEAR官方的介绍,NEAR Protocol会是一个对开发者友好的PoS(权益证明)分片区块链。

换而言之,NEAR的目标是成为一个高度可扩展、低成本的平台,开发者可以在上面创建去中心化应用(DApp)。

好吧,看上去它会和以太坊2.0非常相似……

那它到底成色如何呢?

  1. NEAR的分片方法与Ethereum 2.0分片方法有很多相似之处,但实际上选择路径却是不同的(下面会简单写到);
  2. 在分片技术上,NEAR和以太坊开发团队有合作研究,NEAR的设计因为权衡点不同会更容易实现,但其当前社区基础要远落后于以太坊2.0;

NEAR协议分片与以太坊2.0 分片的异同

根据设计,NEAR协议分片区块链,会在WASM虚拟机上执行智能合约,好吧,这听起来使NEAR与以太坊2.0更像了(以太坊2.0采用的是自己版本的WASM虚拟机-eWASM)。

没错,它们的确是非常相似,但根据NEAR官方自己的说法是,他们可以更快地交付产品,相比之下,以太坊2.0需要经历更久的时间。

请问,这是哪来的自信?

这就要提到NEAR的选择了,其在信标链和分片链设计中使用了和以太坊不同的共识算法和分叉选择规则。

关于信标链(Beacon Chain)

对于信标链而言,没有分叉自然是最好的结果。而在以太坊和NEAR协议中,信标链都会负责为分片链选择验证者,并捕捉分片链的状态(所谓的交链cross-link),这两个进程都依赖于信标链,这就要求没有分叉。

NEAR的BFT共识权衡

而要实现零分叉目标,实际是非常具有挑战性的。大多数现代BFT共识算法的规模不会超过1000个参与者,而无许可区块链网络的目标又是面向数百万甚至数亿人。因此,系统共识必须由明显少于系统总人数的参与者来完成,这可以通过两种有些相似但根本不同的方式来实现(假设存在能够抵抗女巫攻击的PoS证明机制):
  1. 提高共识参与者(“验证者”)的stake门槛,以至于只有1000名参与者才能够负担得起 。一般来说,这要求把门槛设置到6位数美元以上。通过这种方法,区块链发生分叉将导致数百万或数千万资金遭到惩罚。即使分叉真的发生了,它也将会引发重大后果。出于所有实际原因,我们可假设这样一个系统的分叉可能性接近于0。然而,这样的设置会引来系统趋于中心化的争议。这是因为,有能力将这么一大笔资金投入到特定区块链生态系统的人,他们在现实生活中往往会是相识的,这意味着系统的安全将掌握在一个紧密联系的群体手中。这可能会导致各种不可删除的错误行为,如审查、暂停等。
  2. 降低验证者所需抵押的资金,然后随机选择1000个验证者来创建区块 。可以为每个区块选择一组新的验证者,或者每隔几个区块就转换一次。假设系统中恶意参与者的总数基本上小于1/3,则样本中出现超过1/3损坏验证者的概率是非常低的。这种方法的问题是,验证者在被选中后可能会出现变化(可参见这篇 博客文章 的分析)。腐蚀足够比例的分片是极其困难的,但并非不可能。因此,使用这种方法的系统,不能依赖于没有分叉。
注:例如,声称不会有分叉的Algorand就是采用了后一种方法。当有人提问关于贿赂验证者的问题时,Silvio Micali教授直接回答说Algorand假设所有验证者中只有不到50%是可能被贿赂的。这不仅是一个不合理的假设,而且在我看来,也会使其他一些关于Algorand的声明属性失效。

从本质上讲,设计决策可归结为中心化与无分叉之间的某种权衡

Casper的早期设计会倾向于中心化(当时的方案,是将验证者最小存入金额设置为 1500 ETH ),后来以太坊Casper共识算法进行了改进,可以将验证者数量扩展到数十万个,因此其存入金额目前降到了32 ETH,从而避免了中心化问题。

而NEAR的设计是 阈值权益证明 TxFlow (NEAR自定义共识机制),从而实现避免分叉的目标。

这种阈值权益证明(TPoS)机制与拍卖方法非常相似:参与者进行竞拍,最后前n个出价者获胜,同时收到与他们出价大小成比例的回报。

在NEAR 系统中,他们希望有大量参与者(“验证者”)在特定时间间隔(默认为1天)内被选举出来,每个时间间隔被分成大量的区块槽(默认为1天1440个区块槽,也就是每分钟一个区块),而每个区块有1024个区块验证者。也就是说,系统每天最终需要填补1474560名验证者。

1_AekJSQMISTKzMDbAjnZsjA

要参与网络维护(成为验证者),任何账户都可提交一笔特殊的交易,表明自己想stake多少资金。一旦该交易被接受,则这笔资金将被锁定至少3天。

NEAR协议使用通胀的区块奖励和交易费用来激励验证者参与签署区块,在此期间,如果验证者签署了两个相互竞争的区块,则其质押的资金将被没收,而没收资金将被“证明者”拿走。

这种验证者选举方式的主要优点是:

  1. 无需形成质押池:没有理由将质押资金或计算资源集中起来,因为回报是与质押金额成正比的。
  2. 分叉相对较少:只有当出现严重的网络分裂(恶意方占比多于1/3)时,分叉才是可能的;
  3. 安全性相对较高:重写单个区块或执行 长程攻击 是困难的;
但其也存在一些缺点:
  1. 验证者是预先可知的,所以攻击者可以试图DDoS他们,在NEAR 系统中,这会较难实现,因为大部分验证者将使用移动端设备,而不会接受传入连接。攻击特定中继只会导致受影响的移动端设备重新连接到其对等方节点。
  2. 在PoS系统中,总的系统奖励是在现有的验证者池中分配的,这使得这些系统不利于新验证者。对此,NEAR也添加了额外的激励措施,以激励新验证者的参与。

简单比较:以太坊的设计主要面向的不是移动端设备,而NEAR的主要考虑则是移动端设备,因此后者选择了更简单、更便宜的BFT共识机制,其拥有较小的验证者委员会,也因此,NEAR协议中的信标链在理论上可以有分叉,其系统的其余部分设计,也没有假设其信标链是具有零分叉性的

关于分片链:

NEAR使用了自己的称为TxFlow的分片共识机制,而以太坊2.0则是使用了Proposers/Inserters框架。

TxFlow的优点就是:区块的产生相对较快,在正常运行情况下,分叉的概率会相对较小。

TxFlow的主要缺点是:如果超过1/3的参与者离线,它就会“抛锚”了。而以太坊则在任何数量验证者退出的情况下仍能保持系统活性(liveness)(尽管其区块的生产速度会随在线参与者的减少而线性下降)。

另一方面,以太坊分片链在很大程度上依赖于拥有同步时钟的参与者。区块是按固定的时间表生成的,为了使系统取得进展,时钟需要以秒为单位的精度同步,而这也导致它的实现难度大大提升。

此外,NEAR在积极研究调整TxFlow的方法,以便在活跃验证者数量少于2/3时,系统依然能够保持活性(而在这种情况下,会导致更高的分叉概率)。

更多关于NEAR分片区块链设计的技术细节,读者可查看:nearprotocol.com/downloads/Nightshade.pdf

NEAR概念上与以太坊2.0形成竞争,但劣势也很明显

在设计复杂的分片区块链时,很多设计决策归结为从多个次优解决方案中进行选择,例如在信标链的中心化和无分叉性之间进行权衡。

而NEAR协议与以太坊2.0则选择了两种类似但不同的方式,让人意外的,NEAR尽管和以太坊2.0存在着竞争关系,两个团队之间却也有一些合作研究,或许两者也意识到了不同方法的利弊。

从个人的角度来看,NEAR协议更像是妥协版本的以太坊2.0,因此它会更容易实现一些(有传言称今年11月就能上线主网),但其实现目标较以太坊2.0而言也更弱一些。

另外,当前NEAR协议社区相对以太坊社区而言还是较小的,这种差距可能无法通过“捷径”来实现抹平,但其成长性或许还是值得期待的,如果你有不同意见,欢迎留言。

参考资料:

1、https://www.coindesk.com/dapp-platfrom-near-raises-12-1-million-from-metastable-accomplice

2、https://medium.com/nearprotocol/why-doesnt-near-just-replicate-ethereum-serenity-design-3e2cfa2f960c

3、https://medium.com/nearprotocol/thresholded-proof-of-stake-67b74e616a92

免责声明:本文版权归原作者所有,不代表MyToken(www.mytokencap.com)观点和立场;如有关于内容、版权等问题,请与我们联系。