Omnite:多链NFT通证解决方案

Omnite基金会
2022-04-25 22:29:17
收藏
Omnite允许NFT通证以完全去中心化的方式在区块链之间移动,而不需要集中托管人。

作者:Omnite基金会

编译:0xMeta

 

本文介绍了一个新的多链解决方案旨在彻底改变用户制造、销售和购买不可替代通证的方式,从根本上改变目前的NFT行业。这是通过利用相关的革命性跨链技术--LayerZero和Omnite协议智能合约实现的。

今天的NFT通证创作者被迫选择一个特定区块链平台来发布他们的通证,从而限制了潜在买家、可用市场和本土通证付款方式。Omnite通过引入多链NFT通证托收去除这些限制,而不必依靠集中的托管人和目前缓慢、昂贵和中心化的通证桥接机制。

本文从创作者、投资者和市场的角度概述了采用单个区块链的所有缺点,以及它们可能从多链解决方案中获利的方式。报告还描绘了平台如何降低过高的gas费用和NFTs交易过程的困难,同时也允许完整的去中心化实施程序的路径。

 

一:介绍

 

Omnite是一种基于智能合约的协议,即允许NFT通证以完全去中心化的方式在区块链之间移动,而不需要集中托管人。它打破了区块链之间存在的边界,通过革命性的去信任全链互操作协议LayerZero,实现NFTs轻松地跨链。

运行在LayerZero协议支持的所有网络平台上,第一阶段专注于基于EVM的区块链网络,如ETH、POLYGON、AVAX、FANTOM、BSC。旨在实现基于各种生态系统的网络在Cosmos,TerraLuna,Solana等未来阶段,成为LayerZero的开发结果。

该协议支持使用Omnite快速启动版创建的通证(以下称为“原生通证”)以及自区块链网络成立以来的erc721标准中创建的所有其他NFT通证。Omnite协议解决影响互联网之间传输NFT通证的平台或工具的四个主要问题:集中化、复杂的通证传输过程、过高的交易费用和等待时间长。Omnite在网络之间传输通证的过程完全基于智能合约,从用户的角度来看,它不需要任何额外的步骤,但在同一网络内传输NFT通证时则不然。

 

二:协议设计

 

Omnite的核心是一个NFT传输协议,它允许通证NFT跨链流动,并保证在给定的托收中的任何给定时间点,在所有受支持的网络上只有一个通证实例。该协议是去中心化智能合约托收,分布在我们的解决方案支持的所有网络上。它们的功能和指挥是独立的。

中心化的托管人已被革命性的通信协议——Layer Zero所取代,Layer Zero的节点用于以去集中化的方式在网络之间传输加密数据。

由于系统使用多链(将来甚至是不同的区块链类型),因此需要克服单链应用程序中并不存在的不同问题。

  • 访问控制支持多钱包类型

image

最大的挑战之一是证明来自其他链的合约可以调用我们的OmniteBridge,因为Solana或TerraLuna链上的智能合约桥处理有不同的处理结构,这在基于EVM的链上是不正确的(也不支持),因此,需要实现自定义解决方案,为不同类型的处理授予角色。

(b)同时升级多链上的代码(Hotswaps)

image

图一:使用OMNITE协议的NFT通证多链传输流

所有现代的EVM应用程序都使用Proxy代理模式,以便在出现新特性或安全修复时能够更新智能合约代码。OmniteHotSwaps引入了一种革命性的方式,以一种安全多链的方式一次升级同一合约的多个实例。Swaps由3个组件组成:Blueprints代表各种智能合约实现(如NFTs),UpgradeableBeacon跟踪特定合约类型的最新可能实现(如ERC721的最新实现),以及BeaconProxy,对用户可见的一个NFT合约,负责将请求委托给真正的实现。我们使用代理模式的方法减少了部署新的ERC721NFT托收75%以上的gas费用,并使Omnite用户能够在未来轻松地接收团队和社区实现的新功能。

(c)DDOS和桥区块保护

在链上不可能解决的问题是不同区块链网络上的gas估计,因为一个区块链网络不能访问其他网络的数据。LayerZero需要为处理操作所需的特定数量的gas付费,因此永远无法确保前端应用程序提供的gas数量不是恶意的(或计算错误),并足以在目标网络上正确执行交易。Omnite设置了桥接所能接受的最小gas值,并采取了交易不会在出现错误时恢复,而是生成错误事件的方法。这是通过在桥接的LayerZero回调进入阶段使用复杂的低级请求实现的。

(d)ERC20通证

Omnite通证被设计为多链通证。通证本身也使用LayerZero基础设施在不同区块链之间转移价值,允许实现去中心化的多链质押和归属。

 

三:协议构成

 

Omnite Bridges是多链通信的核心。它们可以直接访问LayerZero端点,并作为Omnite和LayerZero之间的消息层工作。它们由桥接发送方和桥接接收方组成。这些合约负责对低级请求进行编码和解码,在不同的网络上执行这些请求,并在另一端接收消息。它们在设计上是去信任的,例如,任何发送方都可以在一次交易中将多个合约部署到不同的网络。

Contract Factory是一个持有通证蓝图的合约。它用于部署新的合约实例(例如,不同的ERC721实现),通过使用可升级的合约和信标代理的代理模式。它支持蓝图的版本控制和合约类型的部署,这允许节省gas费用:layer zero bridge不需要传输整个字节码来桥接合约,它只需要一个蓝图名称和构造函数参数去实例化一个代理合约存储。

Collection Registry保存了所有Omnite的ERC721原生和非原生通证记录。服务器部署或桥接的每个ERC721都存储在这个注册中心中。每个记录保存了托收的所有者、地址和托收名称。CollectionRegistry提供验证传入和传出桥接请求所需的数据。

Access Control List访问控制列表(ACL)指定授予哪些合约对其他合约的访问权,以及允许对给定的合约进行哪些操作。它基于OpenZeppelin的AccessControl库,但进行了扩展,以支持非EVM网络的处理结构。

System Context在Omnite系统中跟踪智能合约,允许合约订阅使用回调的处理变化。例如,使用回调记录地址变化。例如,当设置了ContractFactory注册表的新版本时,系统背景会通知所有相关方。

Native Tokens原生通证是直接从Omnite托收创建者那里部署的合约。托收的所有者可以很容易地在平台上制造它们,然后将它们连接起来。在特定网络上,每个通证的智能合约都有一个铸币范围,这将铸币限制在特定的id上。原生通证被部署为可升级的合约。

Non-native Tokens非原生通证是部署在Omnite平台之外的合约,如Invisible Friends、Bored Apes等。他们必须实现ERC721 Metadata接口。要在网络之间桥接这些通证,首先需要对它们进行包装。不可能通过Omnite制造它们。

 

四:协议费用和利益

 

Omnite项目由于其多平台性质,配备了使用许多本地货币的支付机制。根据用户请求服务的网络(创建托收,铸造通证,或发送通证到另一个网络),支付将在原网络币。费用是在所有支持的网络上部署的钱包合约上累积的。这些合约充当了资金积累的金库,可以通过Stargate平台交换其他通证。收取的费用既是该项目的利润,也是通过Stargate平台进行转账和兑换的费用。当阈值通过时,费用将被交换为OMNITE通证。该操作可以由任何实体发起。购买的OMTs将进入主要的利益合约:OmniteStaking。该合约使用OMT通证作为托收通证和奖励通证。通过阻止合约上的通证,用户可以将所持有的通证数量翻倍。通证按合约规定的比例线性支付给每个利益参与者。奖励发布率定义为一段时间内通证数量的百分比:例如,每月奖励流动资金池的10%。

 

五:案例研究:桥接非原生NFT

 

在本节中,我们将简要描述如何实现Omnite平台的基本特性的细节,该特性将桥接现有托收并将用户的通证发送到目标区块链。当今大多数现有的托收依赖于一组Openzeppelin的库和合约,它们遵循ERC721Metadata标准。此接口公开基本字段和函数,如名称、符号和tokenURI。他们需要正确地管理Omnite生态系统中的托收。当一个用户持有一个尚未带到Omnite平台的托收的特定通证,首先,它需要被Omnite的ERC721包装器包装,该包装器遵循平台使用的接口
形式的桥(ITokenBridgeable)。

Omnite平台上的所有可桥接通证都必须实现这个接口,因此包装源合约是至关重要的。这个步骤与多链部署一起执行。该步骤包括:

  1. 在源网络上部署包装器
    2. 在目标网络上部署Omnite的ERC721合约

两个操作都是在一个交易中执行的。请求者需要提供原始合约地址、识别LayerZero生态系统中特定网络的链ID,以及每个部署的gasAmount(gas量在单独请求中计算)。被请求的函数是可支付的,因为目标网络的gas成本是从用户发送的价值中扣除的。剩余的被送回给用户。为了在目标网络上部署合约,Omnite的桥将部署消息编码到Data结构体中,其中包含部署操作类型、要部署的合约类型和托收ID,托收ID是通过编码块时间戳和请求者地址生成的。接下来,它将消息发送给目标区块链上的桥合约。消息通过LayerZero端点,并被转发到接收Omnite桥。桥接器解包数据,并将部署请求转发到ContractFactory。ContractFactory存储部署和合约版本所需的所有数据。Omnite利用信标代理:每个新的ERC721实际上是一组遵循此模式的合约。它们都共享一个蓝图(通过信标),如果需要可以升级。在部署了带有UpgradableBeacon和构造函数参数的BeaconProxy(用于初始化带有ERC721字段的新托收)后,将新托收注册到CollectionRegistry中,该registry负责存储由Omnite智能合约部署或包装的所有托收。

部署完成后,现在就可以桥接通证了。在一个包装器需要它才能传输用户的资产的审批交易之后,桥接就开始了。该交易包括:

  1. 锁定源网络上的通证——当资产被桥接回来时,它可以被解锁。这是比销毁通证安全得多的解决方案,因为资产将始终处于解锁状态。通证锁定在其智能合约上,可以在桥接回通证时释放。

2.请求桥接以在目标网络上生成通证。move请求使用CallData操作类型和packedData字节进行打包。它包括铸币的函数选择器,一个用于制造的通证ID,以及这个id的通证URI。还有gas数量值和消息值,类似于部署交易。在目标网络上接收到消息后,网桥解包数据并在目标ERC721上执行制造功能。从CollectionRegistry检索通证的地址。在整个过程的最后,源链上有一个未解锁的通证,目标网络上有一个新生成的通证。如果用户决定返回他的通证,资产将再次被锁定,原始的资产将被解锁。进程可以永久执行。如果一个特定的目标网络持有锁定的资产,就不需要创建一个新的。

 

六:市场兼容性

 

Omnite智能合约旨在与领先的NFT市场完全兼容。通过遵循元数据标准,在Omnite平台上创建的每个托收都有一个元数据URI和一个所有权管理。在将通证桥接到目标网络之后,用户仍然是NFT的所有者,可以完全自由地管理它。
它可以在Opensesa、Rarible等上面被列出来。在出售通证后,新所有者可以通过Omnite平台将其桥接回来。

链捕手ChainCatcher提醒,请广大读者理性看待区块链,切实提高风险意识,警惕各类虚拟代币发行与炒作, 站内所有内容仅系市场信息或相关方观点,不构成任何形式投资建议。如发现站内内容含敏感信息,可点击“举报”,我们会及时处理。
ChainCatcher 与创新者共建Web3世界