**步骤12:**验证器(Validator)将接收到的事务证明与网络存储的块头一起使用来验证关联的事务T是否有效并已提交。如果块头和事务证明不匹配,则将丢弃该消息。如果它们匹配,则包(dst,payload)发送到通信器。 **步骤13:**通信器(Communicator)发出数据包(dst,payload)到AppB。 如果你并非开发者却依然能看懂这个方案,那请你DM我的Twitter:@0xOar 2:这个方案主打的优势是: (1)轻量级,成本较低 其方案并不需要如其他方案一样以来一个基于链A,B上层的链的节点来提供协议通讯。而是可以由项目方自由部署,可以采用LayerZero提供的模版甚至中继器也可以由用户自己设计。且,白皮书中提到一种ULN的超轻节点,比轻节点还轻,我也没找到特别详细的实现。不过从描述中来说,这也是超轻量级部署的一个体现。 (2)基于通信层的解决方案 这是项目方主打的一个卖点,LayerZero认为自身的解决方案是一种基于Layer0的新的通信协议。这一点我们并不认同,他所处的级别并非类似TCP这样的通信协议,而仅仅只是一种链间的数据传输协议,在层级设置中我更愿意将其置于应用层,介于layer2和layer3之间。 (3)不依赖第三方信用 白皮书里提到了Anyswap,THORChain等跨链协议,LayerZero认为前述的两种偏公证人机制(下一个例子会提到)的方案,实际上是在依赖一个中间共识层,用户需要信赖这个中间共识层 所提供的服务。而LayerZero却是一种点对点的通信原语,不需要依赖这个中间共识层。 (4)总结 听起来,LayerZero所描绘的跨链机制相当有趣,且确实能够解决不少实际问题,并且足够轻量化。但是透过现象看本质,我们也能发现这类非常“技术”的解决方案所犯的一些诱导性的问题。 3:问题 (1)我们并不认同这个是个基于通信层的解决方案 该项目并非一个处于layer0的通信协议,他所提供的主要工具包括端点和relayer两部分,端点负责通信的验证,relayer负责传递消息。这仅仅只是一种链间的数据传输协议,在层级设置中我更愿意将其置于应用层,介于layer2和layer3之间。 (2)LayerZero同样依赖一个中间共识层 LayerZero在方案设计时采用了relayer这个中继器和Oracle预言机互相验证的方式来确保安全性。但是白皮书中也提到了所谓极端情况——中继器和预言机联合作恶的情况。LayerZero认为保持相对的独立性可以降低这种风险,但是中继器一般由项目方部署。而LayerZero认为预言机可以选用chainlink这样的服务。且不说使用chainlink通信的成本问题,本质上这样做还是在信赖chainlink不会与项目方联合作恶,而chainlink也是一个中间共识层。 (责任编辑:admin) |