首页>>加密货币

LooksRare(LOOKS)

2024-02-22 13:27:45 83
LooksRare(LOOKS)

币种名称:LooksRare(LOOKS)

货币总量:1,000,000,000 LOOKS

相关板块:NFT

官方网址:https://looksrare.org

交易平台: 币安 欧易 芝麻开门 欧易 芝麻开门

进入网站

LooksRare(LOOKS)介绍

LooksRare是一个去中心化的、以社区为先的NFT市场。该协议于2022年1月在以太坊区块链上发布,配备了一种ERC-20实用代币——LOOKS。LooksRare平台使个人能够交易非同质化代币,重点是奖励用户参与其中。


LooksRare聚合器是一个去中心化系统,旨在以节省gas的方式在单一交易中执行来自不同来源的多个订单,使流程更加高效。该系统基于一组Solidity智能合约构建,其中主要合约为LooksRareAggregator。


LooksRare聚合器的主要目标之一是减少执行多个订单所关联的gas消耗。为了实现这一点,系统会取一个订单数组,并将执行委托给特定来源的代理。这种模块化设计还使得系统易于更新和改进,同时保持系统的安全性和完整性。


通过这种聚合,用户可以在单一平台上访问广泛的订单,以节省gas的方式实现批量订单和部分填充,简化了交易体验,减少了与多个平台单独交互的需要。


作为一个建立在智能合约上的去中心化系统,LooksRare聚合器优先考虑安全性和透明度。智能合约已经过验证和审计,并遵循最高的安全标准。


LooksRare聚合器由LooksRareAggregator合约和一组特定来源的代理合约组成,这些代理合约将执行委托给相关协议。此外,还有ERC20EnabledLooksRareAggregator,它将定义金额的ERC20代币转移到聚合器合约中,用于那些使用ERC20代币而非ETH作为货币的订单。


聚合器的核心架构包括:


LooksRare Aggregator(LooksRareAggregator)— 一个NFT流动性聚合器,允许任何人通过单一交易从多个市场购买ERC721/ERC1155代币。用户只能通过合约所有者白名单中的代理执行交易。


ERC20 LooksRare Aggregator(ERC20EnabledLooksRareAggregator)— 用于以ERC20代币而非原生ETH计价的购买的入口点。它仍通过LooksRareAggregator执行交易。拥有额外的聚合器的目的是为了防止在LooksRareAggregator的所有权受到威胁时,恶意代理窃取用户的ERC20代币。


代理(LooksRareV2Proxy,SeaportProxy)— 委托执行给相关协议并处理非原子订单的部分填充的合约。


LooksRare协议概述


LooksRare的V2协议


LooksRare的V2协议由一个混合的链下/链上系统组成,其中接单者(taker)订单与挂单者(maker)订单匹配,以执行NFT的交易。


这是一个非托管交易所,订单需要获得交易中转移的代币(可替代和不可替代的)的批准。链下订单(“挂单者订单”)是存储在链下的EIP-712签名。


订单匹配


一笔交易包括双边交换,可以是ETH或ERC-20代币对一个或多个NFT代币(例如ERC-721,ERC-1155)进行特定数量和特定价格的交易。


在协议中,出价用户花费可替代代币获取NFT资产。另一方面,询价用户出售NFT资产以换取可替代代币。


交易存在于接单者/挂单者和出价/询价的组合中。


挂单者出价(MakerBid)是一个挂单者对象,其报价类型设置为0(出价),而挂单者询价(MakerAsk)是一个挂单者对象,其报价类型设置为1(询价)。


而接单者询价和接单者出价都是标准的接单者对象,定义了资产的接收者(如果与挂单者询价匹配)或资金(如果与挂单者出价匹配)。


挂单者出价(Maker)- 一个存在于链下的被动订单,用户希望使用特定的ERC-20代币获取一个NFT。

挂单者询价(Maker)- 一个存在于链下的被动订单,用户希望出售一个NFT以换取特定的ERC-20代币。

接单者出价(Taker)- 一个在链上执行并与挂单者询价匹配的订单,例如,接单者接受挂单者的报价并以指定的ETH或ERC20代币购买NFT。

接单者询价(Taker)- 一个在链上执行并与挂单者出价匹配的订单,例如,接单者接受挂单者的报价并出售NFT以换取指定的ETH或ERC20代币。


执行策略


订单匹配依赖于执行策略的概念,这些策略定义了交易必须匹配的规则:


(1)价格,

(2)itemIds,

(3)数量,

(4)交易是否使挂单者订单无效(isNonceInvalidated)。


策略与一个strategyId相关联。


LooksRare的执行策略支持集成可定制的规则集,这些规则集随着时间的推移可以轻松扩展,以无缝集成新功能,如荷兰式拍卖,进入协议。用户可以通过在挂单者对象中设置strategyId为所需策略的id来使用某个策略。然后,ExecutionManager使用strategyId将订单详情路由到正确的策略以执行。


每个策略由一个合约函数组成,该函数接受两个订单输入(挂单者询价与接单者出价或挂单者出价与接单者询价)并返回一个四元组:


交易的总价格。

包含正在交易的itemIds的数组。

包含每个代币id正在交易的数量的数组(ERC-721:1 /ERC-1155:1+)。

isNonceInvalidated标志定义了交易是否使挂单者订单无效。


在Solidity代码库中,标准交易使用strategyId = 0的本地策略。标准交易意味着挂单者决定价格、itemIds和数量。交易是原子的,不能部分填充。


LooksRare的执行策略设计可以允许更高级和创新的订单类型,例如:


集合订单 - 挂单者出价可以针对指定集合内的任何接单者询价执行(例如,“我希望以40 WETH购买BAYC集合中的资产”)。


基于特征的订单 - (待实现)通过使用加密证明(例如,“如果其元数据中的帽子是派对帽,我希望以55 WETH购买BAYC集合中的资产”)。


基于USD的挂单 - (待实现)允许用户定义价格为USD,并在销售时以当时的ETH等价额接收。这是通过使用Chainlink ETH/USD价格预言机在接单者出价用户执行交易时自动转换来实现的。


相对于底价的挂单 - (待实现)一种策略,用户可以将资产挂单,使其总是与底价保持一定金额的距离。

这是通过使用Chainlink NFT Floor Price Feed根据挂单者定义的溢价或折扣计算最终销售价格来实现的。

对特定范围内的id的资产出价 - (待实现)一种策略,限制挂单者出价的有效性到特定范围的代币ids。


交易协议费和创作者费


在每笔交易中,交易费用会从成交价格中扣除,这可能包括(1)协议费和/或(2)创作者费。协议费总是在将利润转给卖方之前从最终金额中扣除。


我们目前的协议费为0.5%,创作者费为0%。


协议费存在于策略层面,并包括以下参数:


- standardProtocolFeeBp:策略的标准协议费(以基点表示)。

- minTotalFeeBp:最小总费用(以基点表示)。

- maxProtocolFeeBp:如果调整,最大边界值。


创作者费可以分配一个特定的链上逻辑,作为一个独立的合约存在。


- 创作者返利模型:适用固定版税(例如0.5%)。

- 全版税模型:适用全版税。


用于确定创作者费接收者的两个来源是:


- LooksRare的RoyaltyFeeRegistry

- EIP-2981


没有“滑点参数”,而是由协议级别的所有者设置一个可调整的限制。如果创作者费高于定义的百分比,就会回退。


策略的协议费参数可以由协议所有者更新,但newStandardProtocolFeeBp(和newMinTotalFeeBp)必须低于策略部署时最初定义的maxProtocolFeeBp。


核心架构


LooksRare协议由一个独立合约(LooksRareProtocol)组成,该合约与其他智能合约协调,以提供有关如何执行交易的指令,验证策略和货币的有效性,是否必须支付收藏品返利(以及给谁),以及如何转移代币。


LooksRare的v2协议核心架构包括:


- 货币管理器(CurrencyManager) - 处理协议内有效交易货币的白名单。

- 执行管理器(ExecutionManager) - 通过将制造商订单和接受者订单路由到正确的策略实现来处理执行。

- Nonce管理器(NonceManager) - 处理用于使存在于链下的制造商订单失效的nonce逻辑。

- NFT合约的转移选择器(TransferSelectorNFT) - 处理基于资产类型进行资产转移的逻辑,并支持不合规资产类型或新标准。

- 创作者费管理器(CreatorFeeManager) - 提供一个独立逻辑,指示是否应收集创作者费用及其金额。它支持ERC-2981(“NFT版税标准”)和我们自己的版税注册表(RoyaltyFeeRegistry)。

- 联盟管理器(AffiliateManager) - 处理LooksRare协议的联盟管理。


LooksRare v2协议的其它设计决策:


协议可升级性


LooksRare v2协议的模块化设计允许特定部分的交易所进行升级,无需代理、断路器(例如,停止某个策略或货币的可能性),并且可以不断推出新功能(例如,支持新的订单类型)。


先进的取消功能与三重随机数系统


全局用户买卖随机数 —— 每个用户地址映射到一个卖随机数和一个买随机数。制单方订单结构上的随机数必须与链上签名者的值匹配。这可用于取消所有待处理的制单方买单或/和卖单。

订单随机数 —— 用于知道带有此随机数的订单是否可以被填充、正在填充或已被填充/取消。如果订单已开始“部分填充”,则不可能执行共享此订单随机数的其他订单。

子集随机数 —— 除了订单随机数外,还有不同目的的子集随机数。它们可以用于将一组任意订单归入相同的子集随机数下。子集随机数只能手动取消。当子集随机数被作废时,所有共享此子集随机数的订单都将变为无效。


这一系统允许实现创新功能,例如用更积极的订单替换被动订单(OCO)。该协议还支持订单的批量取消和其他“全部取消”功能。


部分填充


LooksRare协议支持部分填充。策略合约决定是否使订单随机数无效。例如,策略可以包含允许多次填充的独立逻辑。


如果策略没有使订单随机数无效,它将把订单哈希映射到用户的orderNonce。这防止了可能共享相同订单随机数的另一个制单方订单的执行。


每个订单不再是原子的,意味着策略可以包含允许多次填充的独立逻辑。

(TakerBid & TakerAsk)的事件反映了订单是否被作废。


联盟计划


LooksRare协议实施了一个联盟系统。所有执行订单的函数都接受一个联盟地址,如果设置了,系统将从交易中给定的协议费用的一部分给到调用中定义的联盟。


联盟费率以基点定义,并在AffiliateManager合约中管理。


协议级别的每个“执行”函数都有一个联盟系统。

每个联盟地址都与其可以获得的推荐新用户的百分比有一个映射。

当发生带有有效联盟地址的交易时,会发出一个事件(AffiliatePayment)。


单个签名的批量上市


一个签名可以包括任意数量的制单方订单。为此,用户可以签署一个Merkle根,该根是使用不同订单哈希(来自多个MakerBid和/或MakerAsk)计算得到的。


捆绑订单


用户可以对一组特定数量的itemIds提交MakerBid或MakerAsk订单。


捆绑只能为单一收藏地址创建。一个捆绑可以包含多个itemIds和多个数量(对于ERC-1155)。

如果所有itemIds共享相同的版税费结构(即相同的创作者百分比和相同的接收者),则只能为EIP-2981执行捆绑。


一次交易中的多次购买


LooksRare协议原生支持在单个交易中匹配多对Maker和Taker。唯一的要求是它们必须使用相同的货币。这在交易燃料费上提供了相当大的节省。


执行可以是原子的或非原子的。


原子:如果一次购买失败,整个交易将被回滚,执行失败。没有购买发生。

非原子:如果一次或多次购买失败,交易不会回滚,执行将部分成功,意味着并非所有的Maker都能成功匹配到Taker。


该协议还为用户提供了如使用EIP-712签名的签名消息人类可读性等好处,但它也支持EIP-1271作为智能合约的签名验证方法。