社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  区块链

区块链扩展之路:Plasma和Cosmos(二)

蓝狐笔记 • 7 年前 • 424 次点击  

前言:区块链的扩展性是限制它走向主流人群的主要障碍。本文主要聚焦解释侧链模式和跨链模式的扩展性解决方案。它们分别是如何来解决扩展性问题的?它们又有什么局限?本文仅代表作者观点。本文文作者Dave Kajpust,来源于medium.com,有蓝狐笔记社群“Leo”翻译。


接上一篇《区块链扩展之路:Plasma和Cosmos(一)》


Cosmos

 

Cosmos是从不同的互补的角度来解决扩展性问题的。Plasma使用单个验证者来生产区块,提供许多链下交易。Cosmos是去中心化的公共网络,有很多验证者,因此,它无法达到单个验证者的交易速度。

 

然而,Cosmos引入BPOS(Bonded Proof of Stake的共识协议),也称之为Tendermint。这个共识协议相对于PoW来说,性能有了提升,同时具有抗审查属性,这是单个验证者所不具备的。Cosmos network还旨在实现区块链的互操作性,它也是第一个发布这种功能的平台。

 

有一些常用的术语用来描述扩展性,定义如下:

 

Layer 1垂直扩展—— 主要指区块链基础层的扩展。比如比特币基础层是由POW矿工来保证安全。为了获得更细的颗粒度,Layer 1垂直扩展涉及基础层协议的更改。增加区块大小是垂直扩展的一个案例。把共识算法从POW最长链算法改为Tendermint BPOS也是一个案例。

 

Layer 1 横向扩展—— 主要指通过与基础层区块链相连接的扩展。这些区块链的协议允许它们与其他区块链进行通信和传输信息。用双向锚定的侧链相连模式是一个例子。可以把Cosmos看作是有效的侧链框架,可以在它上面构建独立的区块链。

 

Layer 2 扩展(链下扩展)——Layer 2 主要指抽象地位于基础层之上的层。它的安全性依赖于基础层的安全性。第2层的状态通过检查点检查进入基础层,这允许很多的交易在基础层之外完成。例子有支付通道、闪电网络、雷电网络、Plasma。


(Layer 1 提升了区块链基础层的扩展性。Layer 2 的扩展在Layer 1之上。Layer 2的安全性始终依赖于Layer 1协议。)

 

区块链可互操作网络的协议允许区块链更容易成为彼此的侧链。这使得水平扩展成为可能。Cosmos允许区块链开发者启动他们自己的区块链,称为“zone”,以连接区块链路由“Hubs”。如果单个zone或区块链满负荷运转,你可以启动另外一个zone来有效提升应用的运行能力。来看看Cosmos是如何在网络中使用Hubs和Zones。

 

剖析Cosmos运作之道

 

Hub和Spoke模型旨在连接不同的区块链,它是以有组织、但去中心化方式来实现。如果以太坊主网交易拥堵,它可以通过 Layer 2 解决方案,比如Plasma来实现扩展。或者,它可以用安全方式连接到一个完全不同的区块链,并将以太坊网络的一些负载分配到新连接的区块链上。Cosmos使用这种方法创建了一个去中心化的连接区块链网络。Hubs 和Zones 是这个网络两个组成部分。

 

(网络路由路径的可视化,它遵循Hub和Spoke的连通性模型。Hub是地图上的黑点,它们有很多的连接。)

 

Hubs和Zones

 

Cosmos Hubs和Zones在白皮书上描述最清楚,本文在这里做简要阐述:

 

Cosmos Hubs—— Hub是一个区块链,它的主要功能是充当Zones的路由器。它支持zones之间的路由信息以实现互操作性,同时为连接到Hub的所有区块链保持不变性状态。Hubs也是多资产的分布式账本,用户可以在其中持有tokens。这使得Hubs成为专门的状态机,而以太坊则是通用的状态机。

 

因此,以太坊有智能合约能力,而Cosmos Hub不具备这个能力。然而,在Cosmos上构建去中心化应用的关键是使用Cosmos-SDK来构建,你的专用状态机可以在其自己的区块链上运行,也就是所谓的“zone”。

 

Cosmos Zones—— 一个zone是一个独立的区块链,可以与Hub交换消息。zone的主要功能是充当应用程序专用的区块链,专门为应用开发者服务。通过发布“梅克尔证明”作为信息已经发送和接收的证明,将信息包从一个zone传递到另外一个zone。一个zone会跟踪自身的状态,以及它所连接的Hub的状态。Peg zone是一种特殊类型的zone,它用于连接现有的实时区块链网络,实时区块链网络没有交易结算最终性进入Cosmos网络。

 

在启动网络后,使用Cosmos-SDK构建的Zones最初将由Tendermint作为共识引擎支持。但在路线图背后,有计划允许交换任何可能的共识协议,并将这些区块链连接到Cosmos网络。

 

Tendermint、PoS以及验证者

 

Cosmos网络的区块链要求最终性进行彼此交互。最终性是一种保证,保证区块链的状态将不会逆转。在POW,你只能获得概率性的交易最终性。

 

Tendermint是一种PBFT共识协议,可以提供最终性。Cosmos技术堆栈支持由Cosmos-SDK构建区块链,Cosmos-SDK得到Tendermint共识协议和网络协议支持。作为开发者,你只需创建你的状态机应用程序。然后,你就可以把你的区块链连接到Cosmos网络,并进入其网络内每个区块链的流动性。Tendermint也提升了扩展性,因为它的协议使用了需要许可的签名,而不是无需许可的哈希来达成协议。

 

Tendermint的确定性协议保证了两个关键属性:可用性和安全性。网络的验证者自己先付出以提供100%的正常运行时间,这样来保证可用性,并且对正确的交易进行投票。如果他们违反协议,他们将通过消减他们的Atoms来使其失去货币价值。因此,Cosmos网络的最终用户依赖于PoS激励体系来确保验证者是好的行为人。

 

Cosmos如何能扩展应用程序?

 

Tendermint共识和Hub及Spoke 架构都为专用于应用程序的状态机提供优化的扩展,同时也提供区块链的互操作性。来看看提升扩展的一些方法。

 

使用链间通信的多Hub架构

 

Hub和Spoke架构要求区块链具有智能合约的能力,允许执行链间通信协议。区块链间通信协议允许在区块链之间交换任何消息。

 

在推出Cosmos网络之后,IBC消息将主要包含用于交换数字资产的数据。但它也可以交换消息,以便在其他区块链上进行合约调用,以及可以做其他你能想到的事情。链间通信协议为开发者提供了直接的方法,便于构建可以跟其他的区块链通信的区块链。

 

Cosmos Hub将会成为第一个Hub,也有其他团队在致力于做二级Hubs,这些Hubs会通过链间通信进行沟通。IRIS网络是致力于连接到Cosmos网络的Hub。这打开了扩展性的潜力,也显示出在壮大去中心化网络过程中,开源代码是多么重要。这个多Hub架构是由分布式的开源开发者们构建,它赋予了Cosmos世界固有的去中心化属性。

 

(多Hub网络在每个hub间建立良好连接。每个zone必须连接到hub,但通常来说,zone之间的连接不是必须的。)

 

使用Cosmos SDK构建 Plasma侧链

 

Cosmos SDK是Cosmos 技术堆栈的一部分,开发者可以利用这个框架构建新的区块链应用程序。甚至Plasma侧链也可以用SDK构建。尽管Plasma智能合约可用Solidity编写,但侧链代码可以用Cosmos SDK编写。一旦创建了侧链,用SDK构建无尽的Plasma侧链会变得容易。这类似于第一个ERC-20代币很难创建,但现在很容易找到和使用有效的ERC-20代码。

 

Ethermint

 

以太坊虚拟机是可以使用Comos SDK与链间通信连接的虚拟机案例。使用SDK,开发者可以用Tendermint BPOS达成共识,而不是依赖于最长链的POW。事实证明,已经可以超过200tps,Cosmos的核心开发者致力于通过Ethermint来实现这一目标。

 

这让开发者有机会在不同的EVM上运行他们的应用程序。对于那些已经在以太坊主网上构建自己平台的团队来说,这提供了一个更高交易速度和全新平台的可替代选择。对他们来说,之前的平台上运行应用程序可能过慢或过于昂贵。

 

专用于应用的区块链

 

SDK让构建专用于应用的区块链变得容易。预测市场、拍卖市场以及其他专门的应用可能更适合使用专属自己的区块链,而不是试图把它们都塞进一个平台,如以太坊主网。

 

创建属于自己应用的专用区块链给开发者们更大的权力。即使是基于通用平台(如以太坊)构建的成功项目,如果gas价格太高,项目也可能因为使用产品太贵而选择放弃使用。相反,如果他们可以创建专属于运行自己应用的专用区块链。这可以极大提高性能(不用担心被其他程序所堵塞),同时也可以减少攻击面。

 

Cosmos的不足

 

基于Cosmos-SDK的区块链运行具有多个Tendermint共识的验证者,理论上,应该比单个验证者的Plasma链吞吐量更低。然而,Plasma交易延时高,这是因为它要等待根链的确认。

 

此外,“slashing”并不会保护用户免于状态机错误,且这也不能完全阻止验证者从用户处窃取财产。这意味着,在Cosmos v1.0版本中,如果zone执行者有恶意行为,目前还没有协议层面的惩罚。当然,值得注意的是,Cosmos会在发布不久后推出共享安全。如果连接到网络的zone有恶意行为者,用户在这个zone的任何数字资产都可能受到攻击。目前防止这种情况发生的方法是确保Cosmos网络的利益相关者保持关注并且信任连接到网络的每个zone。

 

可扩展的未来之路

 

区块链空间面临扩展性的挑战,很多项目致力于解决这个问题。虽然本文聚焦于以太坊和Cosmos,但几乎每个区块链都面临类似的扩展性问题。

 

Plasma致力于改进layer2,它使用UTXO状态扩展高吞吐量的应用。Plasma背后的研究者们将继续微调他们的机制,并致力于大规模退出的设计,这证明是有利于所有利益相关者的安全的,同时支持有更多状态的应用程序。

 

Cosmos则试图改进layer1水平扩展,通过在具有高度特定状态机的区块链之间交换任意消息来优化。Tendermint提供 layer1垂直扩展,以比POW最长链协议更快地达成共识。使用Cosmos-SDK,他们提供所有构建区块,以在Cosmos网络上实现连接。你要做的是,设计和执行你高级的应用程序逻辑。

 

将来,Layer1和Layer2扩展会被一起使用,都用来扩展商用级别的应用。有一天,我们也许可以看到Cosmos Hub与使用Tendermint 共识的EVM zone连接,而其中有Plasma子链也可连接在一起。

 

在未来很多年,扩展将继续是区块链领域的热门话题。Cosmos和Plasma提出的解决方案仅仅只是开始。


------

风险警示:蓝狐笔记所有文章都不构成投资推荐,投资有风险,投资应该考虑个人风险承受能力,建议对项目进行深入考察,慎重做好自己的投资决策。


通往区块链的新世界:关注“蓝狐笔记”区块链公众号: lanhubiji 

或加入蓝狐笔记的知识星球:https://t.zsxq.com/iaQNnIq


今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/u9pSWmt96E
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/25351