WebAssembly 技术在 Bifrost 网络中的应用
Bifrost 的设计目标是为质押资产(例如:PoS 共识的 Staking 机制、 Relaychain 插槽竞拍资产锁定机制下的质押资产)提供流动性,并具备完全去中心化特性,因此 Bifrost 以 DeFi 协议与区块链系统的形式展现。
Bifrost 采用 Substrate 框架进行开发,当前阶段, Bifrost 将以 Polkadot 系统中的一个平行链的形式运行,一来可以共享 Polkadot 中继链的共识安全性,二来可以与 Polkadot 中继链、其他平行链或平行线程有效互动。作为波卡生态的 DeFi 基础协议,Bifrost 致力成为质押资产提供流动性的基础设施。
图片来自于 WebAssembly: How and why
WebAssembly,简称 WASM,是一种堆栈式虚拟机技术,最初主要被用于 Web 领域,是 HTML、CSS、JavaScript 之后被广泛采用的第四种 Web 编程语言。WASM 代码跨平台、可移植、以接近于硬件指令的速度运行,所以 WASM 并不局限于只运行于 Web 浏览器中,其宿主运行环境可以是操作系统,也可以是区块链系统,或任何希望为用户提供可编程特性的应用软件。由于 WASM 的优秀设计与表现,目前的知名公链项目大多倾向于在 Runtime 和智能合约层面采取 WASM 技术。
WASM 之于 Runtime
Substrate 是 Polkadot 生态中的区块链通用开发框架。为了实现区块链系统的无分叉升级,Substrate 框架支持建立在其基础上的区块链系统 Runtime 源代码,被编译成 WASM 平台的目标代码,并可运行在 WASM 虚拟机中。当需要升级时,可将升级后的目标代码发送到链上,被区块链网络中的各个节点所获取后,再通过社区投票或其他治理规则的批准,即可自动完成系统升级,有效避免了社区分裂与系统分叉。
WASM 之于智能合约
Bifrost 目前推出面向 Staking 锁仓资产的衍生品 vToken 和面向波卡平行链插槽竞拍锁仓资产额衍生品 vsToken。vToken,vsToken 可在 DeFi、DApp、DEX、CEX 等多场景下抵押,接待,交易。通过衍生品 ,Bifrost 开辟了 Staking、PLO 等质押权益的转让通道,帮助用户实现了质押资产风险对冲。衍生品种类丰富,包括 vDOT、vKSM、vETH、vsDOT、vsKSM 和 vsBond 等资产。其中 vsBond 又包含了数量众多的 Token 品种。这些衍生品必然会派生出更丰富、更灵活的应用场景,因此 Bifrost 平台需要提供高效的智能合约功能。
图片来自于 WebAssembly: How and why
智能合约虚拟机的典型示例是以太坊系统中的 EVM,作为早期的智能合约技术,EVM 的整体设计并不利于快速运行合约代码,且采取了专用的、小众的智能合约编程语言(Solidity、Vyper 等),提升了智能合约编程的学习成本,且 EVM 智能合约目前已展现出较多的安全漏洞。相比于 EVM,用 WASM 虚拟机运行智能合约是更好的选择,也是符合技术发展潮流的,目前包括以太坊 2.0 项目在内的众多区块链项目都在计划采用 WASM 虚拟机作为智能合约的执行环境,Bifrost 也不例外。
Runtime 与智能合约的实现差异
尽管 Runtime 与 Contract 都可运行于 WASM 虚拟机中,但由于各自角色、功能、规模的不同,对 WASM 虚拟机的选择也不同。从系统设计角度看,Runtime 运行在操作系统系统环境中,而 Contract 则运行在 Runtime 环境中,或由 Runtime 启动独立的运行环境所执行。Substrate 框架采取 Wasmtime 作为 Runtime 虚拟机,采取 Wasmi 作为 Contract 虚拟机。Wasmtime 实现了 JIT 技术,运行速度更快,Wasmi 解释执行合约代码对应的 WASM 指令,可更好地确保网络中不同节点合约执行结果的一致性。
Bifrost 的智能合约计费策略
现有的智能合约计费策略,大致有以下几种:
1. 按指令执行与存储空间的实际消耗数量计费
2. 按持币数额所占的比例分享整个系统的计算、通信与存储资源
3. 按照实际租赁的资源份额与租赁时长执行计费
智能合约的付费者,可以是用户,也可以是 DAPP 合约项目方。若是合约项目方支付合约运行费用,需要特别考虑如何处理大量垃圾交易发起恶意攻击的情况(尽管交易本身需要支付基础费用,但合约项目方需支付的费用可能更高)。Bifrost 的合约功能目前尚处于规划和设计阶段,倾向于采取用户和项目方按照某一比例进行分配的计费方式,具体的比例数值可由 DAPP/合约项目方进行设置。由于 Bifrost 系统设计了 Flexible-Fee 机制,合约费用的支付方式可以不是 BNC,而是项目方自己发行的资产 Token,或其他任何有价值的资产 Token。为了鼓励 DAPP 开发者与项目方,Bifrost 平台也考虑从国库或矿工费中抽取一部分 BNC 对其进行补贴或回退。
WASM 合约技术生态现状
以太坊 EVM 生态经过多年发展,逐渐拥有了丰富的合约开发者群体和辅助工具,EVM 合约开发者可以有更丰富的借鉴案例,有利于初学者快速入门。Polkadot 与其他公链项目的 Wasm 合约生态相对空白,正处于快速发展中。目前有 Patract 技术团队正在帮助 Polkadot 生态打造多种合约开发与调试工具链,Patract 目前已有的主要开发工具套件有:
Redspot,类似 Truffle,是一个让合约开发项目化的工具
Europa,类似 Ganache,提供合约运行环境的模拟节点
Metis,类似 OpenZepplin Contracts,可为开发者生态树立模板合约
Ask! ,是基于 AssemblyScript 的合约编程语言,是 TypeScript 的变种,可能更受开发者欢迎。
Bifrost 已与 Patract 建立友好合作关系,在 Patract 的诸多工具软件的支持下,采用 ask! 或 ink! 合约编程语言,开发者无需进行额外的学习,即可在 Bifrost 平台部署 Dapp 与智能合约。
Bifrost 是什么?
Bifrost(彩虹桥)是波卡生态 DeFi 基础协议,致力成为质押资产提供流动性的基础设施,推出面向 Staking 和波卡平行链卡槽(Crowdloan)的衍生品vToken。目前已获得 NGC、SNZ、DFG、CMS 等机构数百万美金融资和 Web3 基金会 Grant,同时也是 Substrate Builders Program、Web3 Bootcamp 成员。
vToken 可在 DeFi、DApp、DEX、CEX 等多场景下优化交易,通过 vToken 实现 Staking、Crowdloan 等质押权益的转让通道,实现质押资产风险对冲,扩充场景如 vToken 作为抵押物进行借贷时,其 Staking 收益可抵销部分利息,实现低息借贷。
往期文章
官网 https://bifrost.finance
白皮书 https://whitepaper.bifrost.finance
Github https://github.com/bifrost-finance
Twitter https://twitter.com/bifrost_finance
Telegram https://t.me/bifrost_finance