月亮链 月亮链
Ctrl+D收藏月亮链
首页 > FIL币 > 正文

WAS:一文读懂验证引擎的设计理念_Fable Of The Dragon

作者:

时间:1900/1/1 0:00:00

BitXHub跨链体系中,验证引擎是跨链交易中不可缺少的一个重要组成部分。验证引擎主要提供了对跨链交易背书规则合约部署执行,对跨链交易背书验证和内容验证的功能。本文主要从验证引擎的设计、部署执行流程以及验证规则编写等方面进行介绍。

一、整体设计

验证引擎的整体架构设计如下图所示:

验证引擎的设计采用了验证器的插拔式设计,即对于不同的跨链交易所采用不同的验证规则策略,验证引擎会根据规则地址来判断采用不同的验证器进行验证。现阶段的验证引擎支持Go内置验证器和WASM虚拟机验证器。下面将对两种验证器分别进行介绍:

LayerZero创始人:将坚持核心能力和专业化,而不是努力寻求一揽子解决方案:金色财经报道,LayerZero创始人Bryan Pellegrino表示,公司需要坚持自己的核心能力并专注于专业化,而不是努力寻求一揽子解决方案。据该公司网站称,LayerZero是一种链上互操作性协议,提供在链上端点之间传输消息的能力,Bryan Pellegrino将该功能与互联网最基本的底层模型进行了比较。他说,最原始的互联网本质上是一个用于移动状态数据的堆栈,LayerZero的目标是为区块链做同样的事情,Layer 2协议Arbitrum和Optimism是LayerZero最常用的节点。[2023/7/20 11:05:45]

第一种验证器是Go内置验证器。这个验证器是为一些常见的区块链和默认规则提供的方便调用的验证器。原生的集成在了BitXHub的中继链中,例如对于常见的Fabric区块链,BitXHub的中继链提供了一个默认的规则地址,用户只要通过注册这个地址的规则就能直接调用默认的Fabric验证规则对跨链交易进行验证了。

Binance律师:由于SEC主席Gensler曾主动提出担任Binance顾问,已要求其回避涉及Binance的任何行动:6月8日消息,Binance 及其创始人 CZ 的律师们表示,Gary Gensler 在出任美国证券交易委员会(SEC)主席之前曾于 2019 年主动提出担任 Binance 母公司的顾问。Gensler 在 2019 年 3 月与 Binance 高管和 CZ 的几次交谈中都表示愿意担任加密货币交易平台的顾问。Gensler 当月晚些时候还在日本与 CZ 共进午餐。在 3 月的会议后,CZ 继续与 Gensler 保持联系并在 Gensler 的要求下,接受了其在麻省理工学院教授的一门加密货币课程的采访。

由于 Gensler 与 CZ 的关系,Binance 的律师们表示,已要求 Gensler 在涉及该公司的任何行动中回避,目前尚未得到 SEC 员工的任何回应。SEC 的一名发言人在向 CNBC 的声明中说,主席非常熟悉并且完全遵守他的道德义务,包括任何回避义务。[2023/6/8 21:23:08]

第二种验证器是WASM验证器。这个验证器是使用了wasm虚拟机作为规则的执行器来进行验证。由于wasm的特性,使用这种验证器可以允许用户使用不同类型的语言编写验证规则,比如C,rust或者Go等。同时wasm本身的运行性能也要高于很多区块链的合约虚拟机,例如evm。用户只需要用自己喜欢的语言编写好验证规则,编译成wasm的字节码就可以部署到中继链上了。

以太坊信标链验证者总量超60万:6月4日消息,以太坊官网数据显示,当前信标链验证者(validator)总量已突破 60 万,截至发文时达 600,757 个,网络质押总量为 19,124,390 ETH,APR 为 4.86%。[2023/6/4 11:57:01]

二、?部署执行流程

从整体设计我们可以看到验证引擎主要分为两部分,一部分是验证器模块,另一部分是规则管理模块。只有通过规则管理模块部署了验证规则的应用链发送的跨链交易才能够通过验证引擎的验证。如果没有部署验证规则,那么当一笔跨链交易传入中继链并进入到验证引擎后,验证引擎会因为无法找到对应的验证规则而返回验证失败。所以整个流程的第一步就是对验证规则的部署。

规则管理模块同时也提供了对应用链验证规则的热更新和删除,当用户发现自己应用链的验证规则合约有错误或者应用链的背书规则有升级或者改变时,可以通过规则管理模块向中继链发送系统交易修改验证规则,规则的更新是实时动态的,不会影响中继链的运行。

Genesis前副总裁Roshun Patel作为合伙人加入风险投资公司Hack VC:3月23日消息,Linkedin 显示,Genesis 前副总裁 Roshun Patel 已于今年 2 月作为合伙人加入风险投资公司 Hack VC,在去年 3 月离职之前,Roshun Pate 在 Genesis 工作了三年多。

风险投资公司 Hack VC 由 Ed Roman 和 Alexander Pack 共同创立,去年初该公司宣布已从包括红杉资本、富达和数字货币集团在内的支持者那里筹集了 2 亿美元的资金,其支持的项目及初创公司包括 EigenLayer、Mirror 和 Mysten Labs 等。[2023/3/23 13:22:30]

BitXHub的中继链内置了规则管理的合约,跨链网关通过调用内置合约就可以将自己对应的应用链的验证规则注册到中继链上。如果验证规则调用的是GO内置的验证规则,用户只需要将对应的内置规则的地址注册到中继链即可。如果用户想要定制自己的验证规则,先将wasm的字节码部署到中继链上,再将合约地址做一个关联即可让验证引擎在验证阶段对验证规则进行调用了。

马斯克发文配柴犬图片,Dogecoin应声涨超5%:2月15日,马斯克发布系列推文介绍关于“Twitter 新 CEO”,并配有柴犬图片,他表示Twitter 新 CEO 很了不起,对数字很在行,并且很有格调。或受此影响,Dogecoin 短时涨超 5%,现报价 0.0865 美元,24 小时涨幅达 6.24%。[2023/2/15 12:07:34]

验证引擎的另一个部分是验证器模块的执行层,也是验证引擎最主要的部分,下图是验证引擎执行的主要流程图:

可以看到在一笔跨链交易到达中继链之后,验证引擎会先检查交易的顺序是否是正确的,然后通过IBTP的From字段获取来源链的ID,通过这个ID在规则管理模块中得知验证引擎需要哪种类型的验证器来对交易进行校验。如果需要的是WASM验证器,那么验证引擎就会将对应的WASM字节码加载到WASM虚拟机中。

当验证器初始化完毕以后,验证引擎就会将对应应用链的验证者信息和需要验证的交易的IBTP的proof字段和payload字段传入到验证器中,为了防止恶意者进行非法的跨链交易,验证器会对proof字段的背书信息进行签名校验,如果背书的签名信息与事先注册在中继链的应用链的验证者信息相匹配,那么表示背书验证通过,验证引擎会继续进行跨链交易的内容验证,将IBTP的payload字段和proof字段里的内容进行比对,如果两者一致则表示验证通过,那么跨链交易就会被传入到中继链的执行引擎中继续执行并完成跨链交易。如果背书验证或者内容验证有一项不匹配,验证引擎就会返回验证不通过的错误,跨链交易就不会继续执行,并将错误返回给来源链的跨链网关。

三、编写验证规则

下面我们以Fabric1.4为例介绍一下验证规则的逻辑和如何用rust编写WASM验证规则合约。

我们知道Fabric对于智能合约的执行是在背书节点上进行的,每一个背书节点都会模拟执行chaincode,在模拟执行完chaincode之后,背书节点会对模拟的结果和抛出的事件进行封装,之后再进行签名背书。最后将背书结果发送给客户端。客户端在对比模拟执行的结果之后将背书结果发给orderer节点进行排序,最后在提交阶段会抛出chaincode的事件。

在fabric区块链中,对于每一个chaincode都可以指定不同的背书策略,所以对于fabric的验证规则也需要满足复杂背书的要求。所以在应用链注册时上传的验证者信息需要包含背书节点的mspid和对应的证书,需要包含chaincode的id和背书策略的字节码。

那么下面我们来介绍验证规则又是如何使用上述信息对fabric的跨链交易进行的验证的。当跨链交易在fabric这一段上链以后,跨链网关就会将该上链的信息封装成IBTP协议发送到中继链,此时封装在IBTP的proof字段已经包含了fabric交易中的ChaincodeActionPayload信息。当交易进入到验证引擎时,验证引擎会初始化wasm验证器,同时将IBTP的proof字段和payload字段连同验证者信息传入到验证器中。验证器开始进行验证。首先会查看交易信息中的chaincode的ID和验证者信息中预留的是否一致,以防有恶意者伪造假的chaincode进行交易,然后开始通过预留的复杂背书策略的字节码初始化fabric中的策略验证器,策略验证其可以将交易信息中的背书数组和预留的背书节点信息进行关联验证,查看背书数组签名的正确性和是否符合策略。当背书数组被确定是正确的以后,验证引擎还会对交易的具体内容进行比对,防止恶意者修改了IBTP中payload的信息。当各个步骤的验证通过后,验证引擎就能够确认该笔fabric的跨链交易是有效的。

对于WASM规则,我们可以通过rust来编写验证规则,中继链中的WASM虚拟机要求规则的字节码符合wasi标准,所以BitXHub提供了rust编写WASM合约规则的模板。验证的入口函数为start_verify,而对于比较麻烦的wasm的输入输出BitXHub已经提供了一套读写方案,用户只需要在contract.rs文件中编写自己所想要验证的内容即可,非常便捷易用。

BitXHub验证引擎解决了在跨链场景中一直所被关心的跨链交易如何保证内容的正确性和交易的有效性问题,而可定制插拔的验证规则机制也使得不同类型的区块链交易内容和有效性的验证成为了可能。

本文作者:趣链科技数据网格实验室

标签:WASASMGENFABWASABI币asm币价格最新价格人民币GENEFable Of The Dragon

FIL币热门资讯
MAP:海伯利安经济模型2.0:赋能去中心化地图生态的关键一笔_ATL

新基建的信息基础设施涵盖5G网络、大数据、人工智能、物联网、云计算、区块链等,覆盖通信、算法、算力等方面,并融合技术变革对传统基础设施进行赋能改造,形成智能交通等新领域.

1900/1/1 0:00:00
ADR:创始人意外身亡被曝2.15亿美元财务漏洞,加拿大最大的交易所竟是“庞氏局”_SCOTTY价格

概述安大略证券交易委员会在对加拿大QuadrigaCX交易所2019年破产的事后分析报告中,将其称为“庞氏局”.

1900/1/1 0:00:00
USD:一文了解稳定币新秀DefiDollar,如何在DeFi生态中打造“稳定币的稳定币”_稳定币和比特币的区别是什么

原文作者:ArpitAgarwal,DefiDollar创始人,以太坊扩容解决方案MaticNetwork工程师。最近,关于Dai脱离挂钩以及涉及维持其稳定性的治理提案的讨论很多.

1900/1/1 0:00:00
比特币:五大迹象显示BTC正重新走向牛市,比特币ETF、灰度正顺水推舟_加密货币市场规模

自5月12日减半以来,比特币价格已处于横盘状态一个多月。这很容易让人联想到2017年初比特币第二次达到1180美金之后出现灾难性抛压,导致排名前几的加密货币一天之内下跌近40%,当时比特币被宣布.

1900/1/1 0:00:00
COI:央行行长易纲:上海可以在人民币自由兑换等方面先行先试_SocialCoin

6月18日,第十二届陆家嘴论坛在上海开幕。中国人民银行行长易纲在演讲中表示,当前中国经济基本面良好,货币政策仍在正常区间,人民币在所有发展中国家的利率相比较,人民币的利率是最低的,但是对主要可兑.

1900/1/1 0:00:00
比特币:V神激辩PlanB:预测比特币将达六位数的S2F模型是不是“马后炮”?_TER

以太坊联合创始人VitalikButerin在推特上质疑了预测比特币价格将达六位数的库存流量模型,他还表示,比特币的价格和减半不相关.

1900/1/1 0:00:00