`
wx1569632409
  • 浏览: 111744 次
文章分类
社区版块
存档分类
最新评论

Layer2 | 链间通信 Interoperation

 
阅读更多

跨链通信是一个跨链的技术,它和 Plasma 不一样,两条链之间没有特别强的主次关系,其子链和侧链仍然有权利自己产生资产,自己运行,然后通过某种协议和主链或者其他链进行跨链交互,大家进行数据互通。

它严格来说不是 Layer 1 的 Layer 2,但是它对整个系统 Scability 的提升是很有好处的。接下来我简单介绍两个项目,方便大家来理解。

Cosmos

Cosmos 的系统架构如图所示,它中间有一个 Cosmos Hub,周围的叫做 Zone,可以认为中间是一个交换链,周围其他是子链。Zone 是用 Tendermint 来做的,采用的是 BFT 共识以及区块链框架,它也满足 Instant Finality(即时终结性),如果系统是少于三分之一的作恶节点,它一定是正确的。它引入了链间通讯协议( Inter-Blockchain Communication ,简称 IBC) ,这个是类似 Plasma 和 State Channel 的一个协议。

24155802_1P50.jpg


它的简单流程如下,A、B链都是 Zone。

  1. 用户在 A 链上锁了 10 个币
  2. A 链10 个币被锁住的密码学证明被提交到了 B 链上
  3. 如果被 2/3 的验证者验证通过,则它是有效的。
  4. B 链上将会产生 10个币

而之所以需要 Cosmos Hub 的原因是它能够把 Zone 相互建立的IBC 的数量从 N^2 变成 N,不过这个也是有前提的,即所有的 Zone 必须是 Instant Finality,你给我一个证据,我就认为你的币就锁在那里,拿不出来了,它不能是概率确认的,不能这里生成,那里又推翻了。

但是由于比特币和以太坊是概率确认的链,如果这样 Cosmos 就连接不到它们上面了,所以它做一个Peg Zone,这是一个代理链,给概率确认的链做了一个代理,这样 Cosmos 就能和它们交互了。

Polkadot

相对 Cosmos 来说 ,Polkadot 是非常完善的项目,但它的架构和 Cosmos 几乎是一致的。它的中间叫做 Relay Chain ,是 Cosmos 中 Hub 的角色,周围的 Para Chain 是 Cosmos 中 Zone 的角色。

Para Chain 用的是 Parity Substrate 这么一个框架,这个链是基于 BFT 的,所以也是 Instant Finality,而这样同样会遇到连接概率确认的区块链的问题,所以它提了一个 Bridge Chain 这样的概念,这个和 Cosmos 的 Peg Zone 是一样的。

但是 Polkadot 的 Parity Substrate 相对 Cosmos 的 Tendermint 是做的是比较完善的。

Polkadot 的创始人用 Rust 实现的 VM 以及 BFT 做了一个升级,增加了随机选举验证节点的方式加速了共识协议,所以它的速度会非常快,而且它部署智能合约以及升级节点的能力也很强。而且 Substrate 上引入了相对其他链更完善的治理机制。

安全机制

现在我们重点来说说它的安全机制,这个是和 Cosmos 区别非常大的。它提了一个概念叫做共享安全池( Shared Pool Security ),在 Polkadot 里面,它的记账节点和出块节点是混在一起的。

其中有几个角色, Collator、Validator、Fisherman 、高阶Validator、 Nominator。其中 Collator 是做区块的打包和收集和交易的验证,但是它没有权利把这个区块给确认,即他不能把区块写到区块链里面,而把区块写到区块链里是 Validator 来做的。

Collator 是针对每一条链的,每条 Para Chain 都有一组有相对应的 Collator,但是 Validator 是整个全网公用,是随机选出来的。

假设 PareChain 有一组 Collator 生成了一个区块,这个区块由哪些 Validator来验证我们并不清楚,它是随机选的,而选出的 Validator 将会投票看区块是否合法,只有合法才能写到这个子链的区块链里面。

而 Fisher Man 是用来监督 Validator的,那些经得起考验的 Validator,可以变成一个更高阶的 Validator,高阶的 Validator 可以判断这个 Fisherman 的监督是正确还是错误,比方说 Fisherman 举报这个 Validator 作恶,之后高阶 Validator 会判断它是不是真的作恶了。

高阶 Validator 的选举需要满足两个要求,一方面 Fisher Man 没有举报过低阶 Validator ,另外一方面 Nominator 会来提名谁能来当高阶的 Validator,这是一个互相制衡的结果。但是它是怎么制衡,它最新的设计里面还没有公开,它只是大致实现了这样的一个点。

通过以上,我大致介绍了一些 Layer 2 团队和项目,虽然有的严格意义上来说并不能称作是 Layer 2,但是我也一并列了出来,方便大家理解。

目前的情况就是,公链的创新和热度已经逐渐趋于平缓,各种 Layer 2 的新团队在不断地涌现,我觉得这也是一个正确的趋势,Layer 1 本来就不需做这么多事情,做好去中心化和安全就可以了。这也是 Nervos 在做的事情,我们认为一个好的 Layer 1 只需要做好 Key State 的存储, Key Computation 以及对 Layer 2 友好就够了。

像 Turebit 只需要链上的一步运算就能够证明所有运算是正确还是错误,和我们认为 Layer 1 需要做好的 Key Computation 是非常一致的,而 State Channel 和 Plasma 中所强调的 State 也和我们的方案很契合。

希望系列文章对你有所启发。

 

延伸阅读:

Layer2 | 区块链发展新思潮
Layer2 | 状态通道 State Channel 
Layer2 | Plasma 框架 
Layer2 | 链下计算 
Layer2 | 链间通信 

转载于:https://my.oschina.net/u/3919161/blog/2992533

分享到:
评论

相关推荐

    7.Service Design, Composition, Interoperation.pdf

    7.Service Design, Composition, Interoperation.pdf

    WCF interoperation WebService

    WCF与WebService之间互操作,如何从WCF中导出wsdl文件,如何将wsdl文件导入为WCF Client

    XmlRpc for Scala interoperation-开源

    XMLRPC的Scala编程语言实现,作为Tomcat或兼容环境中的servlet。 使用apache.org Commons库。

    Rapidio与以太网互操作的白皮书

    2. **单点桥接**:更理想的选择是在一个特定点进行RapidIO到以太网的转换,利用RapidIO的流控制能力来最大化整个系统的容量。这种架构减少了对桥接器的需求,尤其当系统内部通信频繁时更为经济高效。 #### 技术转换...

    自动需求响应 协议2.0版(ADR2.0)

    同时,能源互操作服务(Energy Interoperation Services)作为核心组成部分,涵盖了电力市场的关键功能,例如负荷预测、事件调度等,确保了不同能源系统间的无缝协同工作。 特征集(Feature Sets)则是为了满足不同...

    Wireless Mobile Networking with ANSI-41, Second Edition

    CHAPTER2 Wireless Telecommunications Standards CHAPTER3 Wireless Telecommunications Network Signaling CHAPTER4 Wireless Telecommunications Network Reference Models CHAPTER5 Introduction to Wireless ...

    OpenADB2.0英文翻译版资料

    OpenADR2.0(开放式自动需求响应)是一种通信规范,起源于2002年加州电力危机后的研究项目,旨在支持动态定价,提高电网的经济性和可靠性。它由加州能源委员会公共利益能源研究计划通过需求响应研究中心资助开发,...

    Docker for Serverless Applications

    Chapter 2, Docker and Swarm Clusters, reviews the container technology, namespaces and cgroups. Then, we will follow this by introducing Docker, how to install it, how to use its basic commands, and ...

    Developing Applications With Visual Studio.Net

    在dotNet Framework的框架下,使用C#和C++.NET...• Interoperation and COM+ • The Visual Studio.NET environment • Creating and building solutions • Visual C++.NET • Application development • Debugging

    convmv-1.15.tar.gz

    Only when interoperation with OS/2 is needed iocharset should be set according to your used locale charmap. NFS4 Despite other POSIX filesystems RFC3530 (NFS 4) mandates UTF-8 but also says: "The ...

    Programming Language C++, Library Working Group

     Added details on potential interoperation with the multidimensional view type from P0009 [5].  Removed functions to convert from span<byte> to span<T> as they are not compatible with type ...

    cuda 与opengl相互操作

    8. **示例代码**:在`cuda-gl-interoperation`这个压缩包中,可能包含了一些示例代码,演示了如何设置CUDA和OpenGL上下文、如何进行数据交换、以及如何在CUDA kernel中处理OpenGL纹理等。通过研究这些代码,可以更...

    IIOP.Net(CORBA)

    IIOP.NET allows a seamless interoperation between .NET, CORBA and J2EE distributed objects. This is done by incorporating CORBA/IIOP support into .NET, leveraging the remoting framework.

    OpenGIS中文文档.docx

    OpenGIS,全称为Open Geodata Interoperation Specification,是一个开放的地理数据互操作规范,旨在促进不同系统之间的地理信息共享和互操作性。这一规范是为了解决地理数据处理的不兼容性和孤立性问题,尤其是在...

    中间件课件(yjm)

    Problems in binary-level interoperation inobject-oriented paradigm; Solution scheme: component model: –Separating interface class from implementation class; –Construction and deconstruction of ...

    jdk1.8-windows版64位

    8. **Nashorn JavaScript Engine:** JDK 1.8 includes a built-in JavaScript engine called Nashorn, allowing Java developers to execute JavaScript code within the JVM and facilitate interoperation between...

    jdk1.8.docx

    This opens up possibilities for interoperation between Java and JavaScript applications. **Installation Process** To download the JDK 1.8 for Windows 64-bit, you can follow these steps: 1. Access ...

Global site tag (gtag.js) - Google Analytics