如何從零設計一個 DEX

作者:Joseph Xu

編排:黑羽小鬥

文章:Buidler DAO

封面:Photo by Salvatore Andrea Santacroce on Unsplash

注:文章僅代表個人觀點,不構成任何投資意見

作者說

過去的一兩年中,那些被市場驗證為有效的 AMM 模型演算法已經很少再進行更新反覆運算了。 AMM 的核心問題也漸漸從設計一套高效合理的演算法,回歸到金融市場的本質——流動性。 如今的 NFT 這一類型的資產標的同樣也面臨一樣的流動性匱乏等問題的考驗。 而 NFT 市場中卻一直沒有有效的 DEX 能夠真正從流動性彙聚的角度解決交易撮合和價格發現等問題。 今天我們的主題就從 AMM DEX 出發,向大家分享我們在設計 Midaswap Protocol 這個 NFT 流動性協議過程中,是如何從現有的 AMM 方案當中尋找靈感和啟發,又是如何在這些既有的方案中改進和創新以解決 NFT 市場中獨有的痛點和需求。

—— Joseph

文章整理自 Midaswap 工程師 Joseph 在經濟模型小組的內部分享。

如對經濟模型研究感興趣,歡迎掃碼添加 BuidlerDAO 小助手入群,請備註經濟模型。 同時也歡迎專案方和我們一起探討經濟模型。

全文 7680 字,預計閱讀時間 24 分鐘

文章速覽

01/ 如何從零設計一個 DEX

02/ NFT AMM 的困難三角

03/ NFT AMM 市場已有的方案

04/ Bonding Curves

05/ 從已有 DEX 中借鑒的靈感

06/ Midaswap AMM 的設計思路

自 Q3 以來,NFT 市場經歷了劇烈的波動,藍籌 NFT 紛紛跳水。 忽略專案方、發行方各種操作的影響,流動性依然是 NFT 市場里最重要的問題。 就目前來說,僅在 EVM 鏈上,我們可以把 NFT 大致定性成 ETH 的一個衍生品。

此外,無論是否參與過 NFT 的交易,大家應該都已經關注到了 blur.io 的迅速成功。 在流動性解決方案上,Blur 似乎已經交出了一份來自中心化交易所/聚合器的高分答卷。 它現在幾乎已經佔據了這個市場裡面最大的買單流動性的份額,而且作為一個後起之秀,尤其是在 Opensea 已經在頭把交椅上這麼多年的情況下,它還能如此迅速地崛起。 其實我們可以說 Blur 已經將中心化的流動性方案做得很好。 但是中心化無論是對於我們 dApp 的開發者來說,還是對於各個公鏈上的生態來說,我們一直都認為中心化可能只是這個交易市場裡面的一部分,我們希望尋求的是我們怎麼能在鏈上搭建屬於我們的 NFT 交易所,或者說 NFT DEX。 所以我們今天希望能夠在接下來的探討當中討論以下的一些問題:

  • 构建一个去中心化的 NFT 交易所应该采用什么样的流动性方案?
  • 在思考和设计去中心化的 NFT AMM 时,现有 DEX 的 AMM 方案都有什么可以借鉴的地方?
  • ERC721 和 ERC20 作为完全不同的资产标的在其 AMM 模型设计上又会有哪些不同?

我们今天便带着这些问题,和大家一起探讨学习,同时也试图向大家分享我们的产品 Midaswap 在模型设计上经历过 的思路历程。

如何从零设计一个 DEX

先从一个比较抽象的问题开始,就是当我们去设计一个 DEX 时,我们需要经历哪些思想上的斗争,或者我们需要做出哪些选择?

首先估计大家都知道,选择一个 AMM 曲线,可能是所有的 AMM 设计者在一开始就需要确立的方向。诚然 x+y=k 或者  x·y=k,亦或是 Balancer 那种更魔改型的多币池的那种恒定函数,其实它们都可以叫做 CFMM,恒定函数做式商。这里的 x 和 y,包括 balancer 公式里的 b 等等,它们其实代表的都是所对应的这个市场,或者这个流动性池里面所涉及到的资产余额,或者说供应量。他们依据供应量之间的比例关系或者各种各样的创造出来的数量关系,重新在这个市场里撮合定价。所以,我们考虑选择一个什么样的曲线,往往和这个流动性协议它认为自己所能吸引的目标性的资产标的是有关的。稳定币的交易,比如 Curve V2,它会选择一个混合式的恒定函数做事商,在平衡点附近,它的模型更接近恒定和的曲线,而在平衡点较远的地方,它更像是 Uniswap v3 恒定积的方法。所以说其实并没有一个完美的 AMM 曲线,更多的是怎么样寻找到一个适合你自己这个市场的一个 AMM 曲线。

然后其实大家就会面临第二个问题,就是我们希望流动性是怎么排布的。当然这涉及到两个方面的问题,一个是流动性是需要在全区间内排布,还是在一个固定价格区间内排布,或者说是在 LP 提供的一个价格范围内排布。这一点上其实就是 Uni V2 和 Uni V3 之间的差异。Uni V2 其实设计了一个十分简洁的模型,它将两种代币全区间排布,严格地遵守了 xy=k 这样的一个 AMM 曲线。但是 Uni V2 也带来了另一个问题,就是在曲线两端时资本利用效率大为降低。Uni V3 在这方面做了革新,他们为 LP 提供了新的功能,LP 可以在他希望的区间提供流动性,也就是 Uni V3 定义的 range order 功能。它的 AMM 曲线其实就不是一个简单的 xy=k ,它是无数个 xy=k 的叠加的结果。选择了这个流动性区间的排布其实背后还有另外一个问题,就是你希望你的流动性是水平地摆置,还是纵向地摆置?可能现在没有一个较为直观的方法给大家解释这两个之间的差别,我们后续会进一步做阐释。

第三个也是最重要的一个问题,就是你是怎么激励你的 LP 的?LP 其实是 DEX 或者游戏里最重要的参与角色。没有 LP 就没有流动性深度,也就没有良好的交易体验。所以所有的 DEX 其实都会面临这样的一个问题,就是怎么吸引到 LP?当然我们知道所有的 DEX 都会用交易手续费收益来吸引自己的 LP。有一些新兴的流动性协议会为 LP 创造更多组合性上的收益,比如流动性质押或者流动性代币的一些组合性的玩法,类似 Paraspace 就使得 Uniswap 的 LP 们能通过借贷实现更多杠杆上的组合性玩法。其实这些方面都是为了增加流动性池对 LP 的吸引力。如我们刚刚所说,LP 是这个流动性协议这个游戏能够玩得转的最重要的因素。我们如果没有一个良好的机制去吸引 LP,那其实这个飞轮是无法正向运转的。

然后我们就来到第四个问题,就是你应该如何向你的交易者们收费?这一点上其实现有的 DEX 们还是挺一致的,就是怎么向交易者收费几乎都是由创建流动性池的人决定一个费率,像 Uniswap,Joe 它可能有多级费率。我们这里可以提一嘴的是在 Joe V2 当中,它的费率是一个动态手续费。我们也看到 Uni V4 做出了这方面的跟进,它通过 hook 的形式引进了动态手续费。动态手续费率代表着更先进的一种产品设计,因为动态手续费率不光可以形成一个负反馈系统来平衡市场,在某种程度上还可以对冲 LP 的无偿损失。在这里我们不会过多涉及到这部分的内容,但是这一环肯定也是作为一个 AMM 的设计者来说必须要考虑到的。

然后就是选择 LP 的凭证。这一点上有很多流派。Uni V2 选择了 ERC20, Uni V3 选择了 ERC721,Joe V2 选择了 ERC1155。其实 LP Token  是由前面四个选择共同决定的。流动性的分布方式和在流动性协议中进行量化流动性的方式最终会决定 LP Token 的形式。以 Uni V2 和 Uni V3 的之间的差异为例,Uni V2 是在全区间分布流动性,所以在每一个价格节点上,只要两个 LP 提供流动性资产的占总资产的比例是一样的,那我们就认为这两部分流动性是等价的,所以 Uniswap v2 同一流动性池内的 LP Token  都是同质化的。因为每一个价格点上,我们都会公平地认为他们为市场提供了资本贡献。而 Uni V3 因为引入了 range order(限价流动性),所以流动性本身的有效性就有了新的定义。并不是所有的流动性在任何时候都会参与市场交易,只有在价格区间扫过范围内的流动性才真正为这个市场提供资本贡献。所以它需要将每个 LP 的仓位进行非同质化封装,为它们包裹上一层 ERC721 的 Token ,这可能是目前看来相对来说比较好的方案。当然我们不知道 Uni V4 接下来会怎么样,但是我认为在 Uni V4 的流动性方案并没有和 Uni V3 产生巨大差异的情况下, E2C721 可能仍然是它 LP Token 的最好选择。

经历了上面这 5 个重要环节的抉择和挣扎,我们已经确立了一个 AMM 协议大致的方向。所以刚刚这个过程其实也是帮助大家有这样一个头脑风暴的过程。如果这 5 个环节都没有问题的时候,我们才真正进入了 AMM 模型设计的大门,我们开始能够去讨论一些更细节的问题。

NFT AMM 的困难三角

刚刚的话题都在讨论 ERC20 AMM DEX 的设计,包括 Uni, Curve, Balancer 等现在市面上主流的 AMM DEX。我们今天的主题则是 NFT AMM。NFT AMM 的币对一侧是 ERC721 的 NFT,另一侧是 ERC20 或者 ETH 这样的同质化代币。当这两种资产标的放在一个 AMM 流动性池当中时,我们会遇到一些十分原生的矛盾。

首先最重要的是在传统 NFT 的交易市场当中,它们依赖的是一种 bid ask 的交易模式,更像是一种订单簿市场。订单簿市场在某一侧流动性缺乏的情况下,流动速率是十分差的。所以 NFT 市场缺乏很好的做市工具和充足的买方流动性。一直以来,大家都诟病 NFT 的内生价值是缺乏的,且它的买方流动性无论在任何一条公链上都是极度匮乏的状态,所以换手率的严重不足就导致了流动性注定是枯竭的。所以我们在想,如果将 NFT AMM 直接引入到现有的 AMM DEX 市场当中,在不经过任何改动的情况下,它很有可能会面临 ETH 侧或者 ERC20 侧流动性严重不足的问题。这是大家在一开始就需要面临的一个问题。

然後第二個重要的問題,也是很現實的問題,就是 NFT 是整顆進行交易的。 因為 NFT 本身它非同質化的特性,在不加以任何其他附加設計的情況下,沒有一個 NFT 的 Holder 願意出售 10% 的 NFT 給另外一個人。 這從資產本身的特性來說也是不成立的。 這其實引入了一個問題:我們原本的 AMM DEX 在代幣的精度範圍內是無限可細分的。 如果說一些主流的 ERC20 是 18 位精度的話,那它在 18 位精度以內都是可以細分的,也就是說價格曲線可以無限趨近於一個連續的曲線。  而 NFT 是一個斷點狀的流動性,這往往就意味著它有很大的流動性缺口。 我們要靠一條什麼樣的曲線將點和點之間連接起來,這也是一個很重要的問題。

同時從另外一個角度講,因為 Token ID 本身是整數個交易的,NFT 的交易門檻一直以來是相對過高的。 散戶在購買 ETH 時,如果他的 USDT 不夠購買一個乙太坊,他可以選擇只購買價值 100USDT 的乙太坊。 但是當一個 NFT 價值 1ETH 時,使用者不可能花 100USDT 去購買一個百分之多少比例的 NFT。 之前市場當中已經有流動性協定提出為 NFT 引入碎片化設計。 碎片化當然是一個很簡單直接的方案,但是碎片化方案又引入了困難三角的第三個問題:碎片化的 NFT 還具有 NFT 本身的交易屬性嗎

任何一個 NFT 集合發行出來時,它會根據 Metadata 中的屬性來決定某一個 NFT ID 或者某一組 NFT ID 的稀有度。 不同的稀有度往往就決定了這些 NFT Holder 對於自己 NFT 價格的期望是不同的。 而碎片化意味著所有投入到這個碎片化流動性池當中的 NFT 都是被一視同仁的,因為我們沒有辦法在一個已經碎片化的流動性池當中再去分辨某部分碎片是來自於某一個高稀有度的 NFT。

這其實就是我們所說的 NFT 去中心化協定所必須面臨的三個核心的痛點。 如果在這三個問題當中沒有一個取捨的話,可能 NFT AMM 設計會遇到很大的困難。

NFT AMM 市場已有的方案

我們再來看下現有的 NFT AMM 市場上有哪些已經比較成熟的解決方案。 比如 NFTX 是將 NFT 無差別地碎片化成 ERC20,再通過 Sushi Swap 的池子構建成交易對。 它簡單粗暴地繞過了 Token Decimal Conflict 這個問題,但是它也忽略了交易者和 Holder 對於 NFT 稀缺性的差異化判斷和價格期望。  稀缺性高的 NFT 無法在這種 AMM 模型下得到好的價值發現。

另外一個專案 Sudoswap 是原生 NFT 資產第一個類似於 AMM 的 DEX。 為什麼這裡說類似於 AMM,因為它和大家通常理解的 AMM 的角色設定是有一些差異的。 我們簡單介紹一下 Sudoswap 這個專案,它將每一個流動性提供者變成交易者的對手方。 流動性提供者按照他所設定的 bonding Curve 設計自己的流動性提供方案。  每一個流動性提供者就擁有一個流動性池,並確定這個池子是雙向池還是單向池。 雙向池意味著你既可以買入也可以賣出 NFT,流動性是雙邊的。 雙邊意味著你可以接收兩邊的資產互換。 它也可以提供單邊池,比如說你只提供 ETH,類似你這個 LP 掛了一個 NFT 的買單,交易者可以將 NFT 賣入這個純 ETH 的池子當中。 反過來也成立,你可以提供純 NFT 的流動性池,那它更像是掛了一個 NFT 的賣單。

所以這個過程當中 LP 的角色是被淡化的,LP 更像是交易者的另外一種形式,只不過從某種程度上可以享受一些更定製化的交易功能。 但是這會帶來兩個問題,第一個問題就是如果一個 LP 擁有一個流動性池,這就意味著每一個流動性池之間的流動性是無法聚合的。 我們剛剛提到 NFT 市場最重要的問題是買方的流動性是缺乏的。 在這樣的一個大前提下,如果還將所有流動性割裂到單個 LP 的流動池子當中,這其實在某種程度上依然是將流動性孤島化。 流動性無法聚合在某種程度上違背了 AMM 本身的初衷: AMM 希望在一個市場內聚合流動性以提供更好的流動深度,然後撮合出一個真正符合這個市場現在情緒的價格。 這一點上它其實是沒有辦法達到的,每一個流動型池彼此之間互相割裂,而且不互相影響。 另外一個角度,在單一流動性池當中,NFT 的稀缺性是預設相同的。 也就是說一個 LP 在他自己的流性流動性池當中提供 3 個 NFT,這 2 個 NFT 他是不會為他們一一定價的。 如果一個 LP 手上有三個不同稀有度的 NFT 並有不同的期望,他可能需要創建三個流動性池才能滿足這樣的需求。

所以說在這兩個專案其實是 NFT AMM 市場當中已經比較成熟的兩個專案。 這兩專案都解決了我們剛剛說的三個問題中的一部分問題,但是自身可能存在一些 Trade Off,一部分問題被他們選擇性地忽視或者妥協了。 那麼我們在思考的就是有沒有一個 NFT 模型能夠將這些問題做一個很好的解決,或者說我們能不能通過一套 NFT 模型將這三個問題解決到大家能夠接受的一個程度內。

Bonding Curves

我們會接下來給大家詳細解釋一下 Bonding Curve,作為後面我們聊詳細的解決方案的一個鋪墊。 Bonding Curve 本質上是一系列用來實現價格發現的數學函數。  它其實就是將資產的供應量映射到資產價格當中。 從上述兩個 curve 圖中明顯能看出,左邊是一個線性的 Bonding Curve,右邊是一個指數函數的 Bonding Curve。 圖中,綠色的點代表 ERC20 在倉位當中的位置,而 ERC721 用紅色的點來表示。 以左邊這個圖為例,如果在這樣的一個流動性池當中,它的流動性是怎麼分佈的呢? 在價格最低的地方,即它所設定的價格的起點以及接下來的第二個點放置的是 FT 的流動性,也就是 ERC20 的流動性。 而在上面的三個點放置的是 ERC721 的流動性。 當這個流動性池當中被交易者買走一個 NFT 的時候,中間的這一顆紅色的點就會被置換成綠色。 也就是說這個市場當中每買走一個 NFT,這個價格就會線性地增長一個恆定的值。 而每賣出一個 NFT,這個池子當中所提供的 inDEX price 就會下降一個恆定的值。 同理在指數函數當中是一樣的,它只不過將這個公差變成了一個公比。

Sudoswap 值得肯定的是它開創性地將 Bonding Curve 引入到 NFT 的交易當中,這確實為流動性提供者們提供了很好的做市的自由度。 但是就像剛剛提到的,在它的設計里,LP 之間的流動性池是割裂的,所以說它的 Bonding Curve 在某種程度上喪失了對市場全貌的一個描述能力。 我們沒有辦法從某一個流動性池當中真正地看到這個市場交易到什麼程度。 它在市場中交易的 inDEX Price 也不能夠反映整個 NFT Collection 市場的特性,陷入一種「管中窺豹」的窘境。

從已有 DEX 中借鑒的靈感

綜合以上痛點以及現有的成熟產品的設計,我們就在思考什麼樣的 NFT AMM 能夠解決上述這些問題。 首先我們還是會回到一些市場上主流的 ERC20 DEX 當中,去尋找一些能給我們啟發或者靈感的元素。

首先我們認真地研究了 Uniswap V3, Uniswap V3 給我們提供了一個很好的 Inspiration,首先 LP 們可以在限價範圍內提供流動性,這一點類似剛剛提到的 Sudoswap 當中 LP 限定好自己流動性的 bonding Curve,然後在這個範圍內提供流動性。 那麼我們其實就會有一個想法,LP 是否可以按照某種 bonding Curve 自由地在我們的一個流動性池當中提供自己的流動性。 在這樣的基礎上,我們可能需要對它輔助一個 Non Fungible LP Token,也就是一個 ERC721 的 LP 憑證,這樣才能確定好 LP 的每一個倉位,其實彼此之間是非同質化的。

然後我們又去深入地調研了 Joe V2 的協議設計,它在 Uni V3 的基礎上進行了一些升級。 首先 LP 的這個 Curve(曲線)它是能夠自定義的,它可以選擇 LP 流動性的稀疏程度,選擇流動性是否全域地鋪在自己這個 Range Order 的價格區間上,它可以選擇點狀的流動性提供,同時它還利用 Liquidity Book 的設計,將鏈上交易在微觀的維度上可以實現類似於 Order Book 的交易模式。 這是一種更為新式的流動性分佈的方案。

從這兩個 ERC20 DEX 當中我們獲得的最重要的靈感是圖上提到的這四點。 如果說 ERC20 DEX 給我們設計 NFT AMM 提供了哪些重要啟發的話,最重要的還是我們不應該忽略 NFT 本身 Token ID 之間的差異,我們應該允許 LP 對於自己的流動性有差異性的期望。  同時我們不應該將 LP 的流動性分割到它的每一個私有的流動性池當中,我們應該聚合它們買端的流動性。 只有聚合的流動性才能為交易者提供更好的交易體驗,更低的滑點以及提供更加及時的交易體驗。 在流動性缺乏和無法聚合的情況下,交易者想要賣出一個 NFT 時的體驗是很差的。

Midaswap AMM 的設計思路

講到這裡,我們就可以重新去討論應該怎麼去設計我們自己的 NFT AMM。 在這之前我們可以先討論一個和這個話題稍微有一點遠的問題,如果大家也看過 Uniswap V3 相關的資料,大家都知道 Uniswap V3 有一套自己衡量價格的標識,它把這個系統叫做 Tick。 Tick 其實是一個 1.0001 的指數函數,Tick 每增長一,它就會在對應的價格上面乘 1.0001,也就是說 Tick 和價格彼此之間是一一映射的。 為什麼會這樣設計? 其實所有的 DEX 都會有一套自己的價格尺規,這個價格尺規是為了從幾乎無限的價格中取出對於我們 AMM 最有效的一個價格尺度。 在這些價格尺度中間的流動性其實是被忽略的,我們只將我們的流動性提供在這些我們設定好的 Tick 當中。

與之對應的另外一個比較主流的設計是 Liquidity Bin。 Bin 顧名思義是像箱子一樣的東西,我們可以將每一個價格尺規上面的流動性看作每一個 LP 為這一個價格堆疊流動性深度的箱子的高度。 打個最簡單的比方,我作為一個 LP 在 ETH 等於 1000USDC 這個位置提供了 USDC 的流動性,我提供了 1000,那我就會將 1000 這個價格的 Bin 上的流動性深度往上堆疊 1000 的高度。 第二個人過來提供 2000,他就會將這個流動性深度提高到 3000 的高度。

為什麼要在這裡講這一點? 其實 Tick 相對來說是更符合 Uni V3 流動性的激勵方案。 而 Bin 我們認為它作為一個豎直方向堆疊的流動性方案,更適合離散的 NFT 流動性。 我們可以把一個 NFT 流動性理解成一個小箱子,我們就可以堆疊在 Bin 的價格上。 每有一個 NFT 的 Holder 或者一個 LP 過來為這個價格提供一個 NFT 流動性,我們就將它理解成在這個價格上,它會往上落一個箱子。

為什麼我們說只是簡單地學習某個 ERC20 DEX 沒有辦法能夠同時解決上面的三個問題呢? 首先不同的 NFT Token ID 之間存在著稀有度的差異,這部分產生價值期望的差異對於 NFT 這種資產標的是原生性的。 而這一點上其實和我們大多數 ERC20 的 DEX 是有很大的差別的。 因為 ERC20 DEX 中的流動性池在一個固定的時刻內是不可能有兩個交易者在以不同的價格進行成交的。 所以說如果我們希望構建一個複合的 NFT 市場,那我們就需要既學習中心化交易所訂單薄的撮合模式,還需要學習在 DEX 的 AMM 模型中流動性聚合的方法。

那我們就有了這樣一個設計:重新將中心化 NFT 市場中特有的 Best Offer 和 Floor Price 這兩個概念引入進來。 首先 Best Offer 是指在當前市場內最高的 NFT 報價,也就是買方對於這個 Collection 的 NFT 最高的理想價格,而 Floor Price 是當前這個市場內 NFT 賣單的最低報價。 有了這兩個價格之後,就形成了流動性市場的一個分水嶺:

  • 在 Floor Price 以上,我們可以利用 Bonding Curve 這種流動性提供方案為 NFT 交易者提供類似於 Order Book 的交易體驗。  舉個例子,當某一個 LP 選擇在 3 個乙太坊到 5 個乙太坊的區間里提供 NFT 的流動性,那這些 NFT 就會遵循他自己設計的 Bonding Curve 散落在 3 個到 5 個乙太坊的價格點上。 交易者在任意時刻進場交易的時候,他都可以選擇自己心儀的 NFT 進行交易。 那這個 NFT 在某種程度上其實就已經被 LP 限定住了一個價格。 每進行一次交易,它可以在這個 LP 的這個 Bonding Curve 當中有一次價格的增長。
  • 而 AMM 模型被應用在 Best Offer 及 Best Offer 價格以下。  這裡提供 FT 流動性的 LP 更像是在 Blur 市場當中提供買單流動性,可以被認為是同質化的。 他們在自己希望提供流動性的價格區間內去安置自己的 FT 流動性,在同一個價格點下它們的流動性被認為是等價且聚合的。 將這部分流動性聚合后,無論從市場的資本利用效率還是交易效率來講,都大大提高了使用者在賣出一個 NFT 時的交易體驗。

這樣一個 NFT 市場的設計,可以在某種程度上對於之前我們提到的三個痛點進行中和。 我們選取了一個較為 Balance 的點,在不忽略 NFT Token ID 的情況下,還能為大家提供較好的流動性深度和較為低的 NFT 交易滑點。  我認為在不忽略 NFT 原生交易需求角度來說,這可能是目前我們能想到的最好的方案。 同時要提到另外一點,就是 Best Offer 和 Floor Price 作為 NFT 市場當中重要的兩個價格指標,我們這樣的一個交易市場其實是可以提供一個鏈上的 Oracle,或者說我們可以為某一個 NFT 交易市場提供一個很好的價格發現功能,而不是依賴於某一個外置的這個 NFT 市場去輔助 NFT 的定價。 此外,一個純鏈上的 NFT 交易市場為 DeFi 當中的可組合性也提供了很多的可能性。 比如說我們的 LP Token 可以繼續去做 Lending 槓桿的疊加,我們的這個 Oracle 也可以輔助一些鏈上預言機的報價。 這些點都是我們為什麼迫切地需要一個高效的能夠解決交易者和 LP 需求的 NFT AMM 的原因。

免責聲明:作為區塊鏈資訊平臺,本站所發佈文章僅代表作者及嘉賓個人觀點,與 Web3Caff 立場無關。 本文內容僅用於資訊分享,均不構成任何投資建議及要約,並請您遵守所在國家或地區的相關法律法規。