本文来自AmberGroup,Odaily星球日报经授权转载发布。
去年,作为主流智能合约区块链的以太坊,其主导地位受到了替代性L1区块链的挑战。多链世界已成为不争的事实。随着这些新链的导入,它们的异构共识机制、智能合约语言以及社区价值将Web3拆分成各种生态系统。
L1区块链市场份额来源:DefiLlama这些分隔开来的生态系统为各自的社区创造了价值,但由于彼此之间缺乏互操作性,使得大部分的跨链协同价值丧失。这种碎片化还导致部落主义抬头、攻击载体增多以及用户体验感恶化。为了推进行业发展和获取数十亿新用户,必须要减少链之间的摩擦。这就是加密跨链桥的主要目标。本报告将涵盖跨链桥的定义、不同跨链桥架构设计的分类、不同设计之间的权衡、与跨链桥相关的风险以及我们对跨链桥生态系统前景的看法。跨链桥的定义及分类
最概括的来讲,跨链桥在两个或多个区块链之间传输信息。此功能最常用于将一条区块链上的资产兑换为另一条链上的资产。同时,跨链桥也可用于将数据或消息从源链传递到目标链。在撰写本文时,目前有超过100个区块链跨链桥用于在Layer1和Layer2的生态系统中传输信息。这种日益复杂的环境使得新参与者很难理解该板块,因此通过建立整体框架来简化各种设计可能会对此有所帮助。最近,ArjunChand构建了一个有用的框架,将多种类型的跨链桥整理成不同的类别。我们也采用类似的方法对多种多样的跨链桥进行分类。跨链桥可以根据其多种特征进行分类。这些特征包括跨链传输信息的方式、信任假设及其连接对象的类型。我们认为最重要的特征是跨链桥如何将数据从一条链传输到另一条链。跨链机制
流动池模式跨链桥
为了理解流动池模式跨链桥是如何工作的,让我们来假想一个用户,他想要将USDT从以太坊转移到Polygon。用户首先要将以太坊版本的USDT存入以太坊上的指定合约地址,并指定该USDT在Polygon上的接收地址,也就是USDT将在Polygon上记入的地址。跨链桥使用此信息将Polygon版本的USDT传输至指定的Polygon地址。
金猴证券与奶牛基所就品牌、投研和市场达成全面合作:据官方消息,Cow Global联席CEO贝壳(前OKEx华南区商务总监)与香港金猴证券有限公司就品牌、投研和市场达成全面合作。区块链券商和互联网券商联姻,推动数字货币和传统金融的跨界融合与进程统一。
据了解,金猴证券是香港证监会认可的1/4/9号牌照持牌法团(中央编号:BJV607),提供港美A股经纪和交投服务,是互联网券商领导品牌。COWEX奶牛基所依托持牌法团打造区块链券商和基金型交易所,自持澳大利亚数字货币和期货交易所牌照,聚合全球合法的数字货币市场和传统金融市场,并以首创的标准化数字货币基金全面支持DeFi金融,推动市场的合规化和去散户化。据悉,奶牛基所日前已获得金猴证券、数科资本等5家机构千万港币融资。[2020/8/20]
流动池模式跨链桥的桥接机制这种设计的一个主要缺陷是,跨链桥必须保证其在目标链上持有的单边流动池中有足够的资产,以便用户实际完成资金转移。在上述示例中,如果跨链桥在Polygon上的USDT流动池为空,则存放在以太坊流动池中的USDT将被“卡住”,直到有其他用户请求从Polygon向以太坊反向转移USDT,并有足够的USDT补充进Polygon的USDT流动池中。此外,该类型的跨链桥仅允许进行单一类型资产的跨链转移。如果想将以太坊上的USDT兑换成Polygon上的MATIC,只能在Polygon上收到USDT后再进行兑换。这种设计的主要优点是,用户在目标链上收到代币后便不再需要依赖单边流动池的安全性。用户收到的资产是目标链上的原生资产,因此不需要依赖标的资产的赎回能力来确保其资产价值。这与“锁定&铸造/销毁&赎回”的另一种常用桥接设计形成鲜明对比。锁定&铸造/销毁&赎回
另一种常见的跨链桥使用“锁定”或“销毁"机制,然后分别进行铸造或赎回。让我们再次使用上一节中将USDT从以太坊转移至Polygon的示例来描述该机制的工作原理。如同之前,用户首先将以太坊版本的USDT存入跨链桥持有的指定合约地址,并在Polygon上指定接收地址。此步骤称为“锁定”。然而,与之前不同的是,该类型的跨链桥在Polygon上“铸造”或发行Polygon版本的存入资产,并将其记入接收账户。这些铸造的代币通常被称为“封装”代币,它们的价值取决于最终将它们赎回为源链上标的资产的能力。当用户想转移回以太坊时,封装代币被简单地发送到Polygon上的跨链桥合约地址并“销毁”。这使以太坊上的标资产被赎回并发送到指定的接收地址。
锁定USDT来铸造封装的USDT
动态 | 富达数字资产部门 FDAS 将向合格用户全面开放托管和交易服务:富达集团旗下的富达数字资产服务部门(FDAS)宣布即将面向所有合格用户推出托管和交易服务,根据富达投资 CEO Abigail Johnson 的说法,相对于今年 2 月推出的只针对少数客户的测试版,此次针对数字资产的托管和交易服务,将是一次全面推出,对这个分散且复杂的行业来说是一个福音。此前消息,今年 2 月,富达数字资产 FDAS 宣布向合格客户推出其比特币托管服务,满足对冲基金、家族基金、养老金、捐赠基金和其他机构投资者的需求。[2019/10/20]
销毁封装的USDT来解锁USDT由于封装代币依赖其可赎回性来维持其价值,因此封装资产的持有者面临智能合约风险。如果源链上的流动池被窃取并致使标的资产被掏空,则封装代币将变得毫无价值。这正是近期Wormhole跨链桥遭受的攻击事件中所发生的情况,该事件导致损失超过3.2亿美元。尽管如此,锁定/销毁&铸造机制的优势在于,此类跨链桥始终流畅地允许将资产从源链转移到目标链,反之亦然。这是因为它们不需要在跨链桥合约中部署目标链上的流动代币池。这促使该类型的跨链桥在可扩展性方面具有优势。原生跨链交换桥
在过去一年左右的时间里,该类型的跨链桥越来越受欢迎,THOR链的壮大是其中一个促进因素。原生跨链交换桥允许用户将源链上的原生代币交换为目标链上的不同原生代币。例如,用户可以在无需封装资产的前提下,在各自的链上将原生BTC换成原生ETH。这是通过利用跨链自动化做市商(AMM)和中间链来实现的,该中间链用来监控和记录源链和目标链的状态。尽管跨链交换不同原生资产的功能非常有用,但该类型的跨链桥使用了堪称最复杂的传输机制。为了简单地解释它的工作原理,让我们来看一个将原生BTC兑换成原生ETH的示例,我们将使用THOR链架构的基础版本作为参考。
通过去中心化的中间链和内置的AMM将原生BTC兑换为原生ETH在该示例中,持有BTC的用户首先将BTC发送到比特币金库地址。该金库由多个节点控制和监控,这些节点观测传入的交易并记录中间链上比特币金库的状态更新。一旦节点确认金库收到了BTC,节点就会计算出适当数量的ETH,记入给以太坊区块链上的用户。与其他任意AMM兑换类似,跨链兑换的执行价格取决于兑换额,这与两条链上金库中可用的BTC和ETH的相应数量有关。与使用少量流动性的小额兑换相比,“用尽”大量流动性的大额兑换将以更高的价格执行。一旦计算出兑换额,中间链就会向以太坊网络发送一条消息,使其将适当数量的ETH从金库地址发送到用户的接收地址。与流动池模式跨链桥相比,带有中间链的原生跨链交换桥具有更高水平的去中心化和抗审查能力。对于跨链桥用户来说,虽然流动性提供者仍可以通过黑客或漏洞从AMM的流动性池中窃取资产,但它能够规避封装资产带来的智能合约风险。尽管有这些优点,但此类跨链桥远比其他跨链桥的架构设计复杂得多。创建一个可信的去中心化原生跨链交换桥需要大量的资本投入和时间投入。例如,为了实现从BTC到ETH的原生兑换,THOR链上每个节点都必须运行一个完整的比特币网络节点以及一个完整的以太坊网络节点。此外,必须激励THOR链上的每个节点保持诚实及可靠。为了实现单个兑换,必须完成上述所有。原生跨链交换桥
动态 | EOSIO v1.5.0-rc 作为发布候选公开 以进行更全面的测试:据 IMEOS 报道,EOSIO V1.4.4 正式发布后,EOSIO v1.5.0-rc 作为版本发布候选公开,EOSIO和EOSIO.CDT的新版本在准备好首次编译版本时将标记为“Release Candidates”(-rc),以便进行更全面的测试和文档编制。一旦文档完成,该版本将被提升为“稳定”并且将被重命名为V1.5.0并在Github存储库中合并为master。
EOSIO v1.5.0-rc 中包含了多线程签名验证(#6149)、State History Plugin (Alpha) (#5970)、白名单和黑名单安全更新(#6318)等。[2018/11/21]
该类型的跨链桥旨在借鉴流动池模式跨链桥的简单架构,在此基础上提供交换原生资产的便利性。从本质上讲,此类跨链桥的工作方式很像流动池模式跨链桥,但增加了一个额外步骤,以此允许用户在目标链上接收的资产与他们在源链上存放的资产可以是不同类型的资产。LayerZeroLabs的Stargate跨链桥就是该类型的一个例子。我们将再次使用一个示例来解释它的工作原理。这次,让我们来考虑用原生SOL兑换原生ETH。
通过使用两个AMM和一个跨链稳定交换桥将原生SOL兑换为原生ETH再次,用户首先将其资产SOL存入Solana上的指定合约地址,该地址由跨链桥持有。然而,与之前的例子不同,这笔存款实际上触发了AMM将SOL兑换为Solana上的稳定币。例如,它可能将SOL兑换成USDC。从这步开始,跨链桥的功能将与流动池模式跨链桥极其相似。Solana合约地址中的稳定币余额由跨链桥提供商划转至用户在以太坊的合约地址。最后,一旦USDC记入以太坊上的用户名下,跨链桥就会触发AMM执行从USDC兑换到ETH。然后将此ETH记入用户指定的接收地址。从本质上讲,此类跨链桥的功能相当于流动池模式跨链桥,只不过仅跨链转移稳定币,以便在跨链转移过程中提供更优的执行价格。通常,两条链上的AMM兑换执行价格由一个计算兑换额规模的函数得出,该函数与两个单边池中的可用流动性相关。这种架构规避了封装资产的智能合约风险,并且提供了比中间链架构更简单的跨链通信机制。但是,由于执行价格取决于每个AMM的可用流动性,因此存在兑换执行价格不理想的风险。主合约/副本合约传输消息
这种特殊类型的跨链桥利用位于不同链上的两个合约地址以及四个接受激励的链下不同参与者,实现跨链发送消息。该类别中最著名的协议或许是Nomad,它使得多链应用程序实现更轻松地跨区块链生态系统进行通信。让我们通过一个从以太坊向Polygon发送消息的简化示例来解释它的工作原理:
声音 | 沈杰:区块链可全面保障物联网的信用体系和价值体系建设:11月19日消息,国家物联网基础标准工作组总体组组长沈杰近日表示,物联网设备,物与物,物与人之间的信息交互无法做到可信,流通过程中缺乏信任和数据隐私保护,从而严重影响数据价值。区块链作为去中心化的底层信用支撑平台,可全面保障物联网的信用体系和价值体系建设。[2018/11/19]
由受激励的链下参与者更新、监控和传播的主合约和副本合约实现跨链发送消息以太坊上的用户首先会向以太坊上的主合约地址提交一条消息。主合约采集此消息并将其与接收到的其他消息一起放入队列中。此时,称为“更新者”的链下参与者签署该消息组以更新主合约的状态。为了签署这些消息,更新者必须向主合约质押保证金,如果之后证明更新者有任何恶意行为,该保证金将被没收。第二个链下参与者为“观察者”,监控主合约和Polygon上的副本合约,以确保所有消息都被正确记录和发送。由于跨链桥依赖于optimisticfraudproofs,所以为了防止恶意行为被执行和惩罚恶意更新者,由观察者负责提交恶意行为证明。若无恶意行为证明,跨链桥将假定消息已正确记录和发送。假设观察者没有检测到更新者有操作问题,第三个链下参与者“中继器”将把消息传输至Polygon上的副本合约。最后,第四个链下参与者“处理器”,将消息从副本合约传播到消息的最终接收者。这种架构更适合区块链之间的消息传递/数据传输,但因为资产转移最终也不过是以数据来体现账户余额的变化,所以理论上这种架构也可以用于转移资产。这种桥接设计的一个主要缺点是存在持续约30分钟的欺诈证明延时,为观察者扫描可疑行为并质疑恶意交易提供窗口期。Connext和Hop这两个协议通过允许其他市场参与者在欺诈证明窗口期结束之前直接向最终接收者发送代币来缩短等待时间。实际上,这两个协议替接受者承担了恶意交易的相关风险,以此从希望获得更高流动性的接收者处收取费用。需信任vs.无须信任
在该分类中,跨链桥分为两类。它们要么是1)需要信任的,要么是2)无须信任的。换言之,用户要么信任某个第三方来操作跨链桥并确保安全,要么依赖分布式设计和运行的软件,这样任何单一实体都无法更改其状态或进行操作。需信任的跨链桥包括xPollinate、MaticBridge和BinanceBridge。无须信任的跨链桥包括THOR链、Ren和CosmosIBC。重要的是,需信任和无须信任之间的区别不是非黑即白,而是循序渐进的。与具有规模更大、更异构的运营商集合系统相比,运营商集合规模更小或地理上更集中的分布式软件协议将更容易受到单点故障的影响。同样,需要用户将资产锁定在合约地址中以换取封装资产的跨链桥也需要用户相信代码的编写方式能够防止攻击或窃取。非托管跨链桥则不需要这种信任,即便它们通常由中心化实体运行。连接对象是什么
从Layer1到Layer1
从Layer1到Layer1的跨链桥允许用户将资金在两个L1生态系统间进行转移。例如,Wormhole的Portal跨链桥支持从Solana到以太坊的资产转移。通过促进Layer1生态系统间的互操作性,使得web3用户可以在他们喜欢的链上自由地花费时间和资源,同时又保持灵活性来随时选择切换链。从Layer1到Layer2
从Layer1到Layer2的跨链桥接允许如以太坊的L1链与构建在L1链上的L2链进行通信。例如,用户可能希望将ETH从以太坊主网转移至Arbitrum、Optimism或ZkSync。用户可以通过使用每个L2的原生跨链桥转移其代币,或者可以使用如Across的第三方跨链桥。随着L2生态系统的不断壮大,在将以太坊的主网活动转移至L2方面,此类跨链桥将发挥重要作用。从Layer2到Layer2
动态 | 北京银行将运用区块链等金融科技实现全面数字化转型:据中国经营报报道,北京银行零售业务部相关负责人近日透露,未来几年该行将继续深化零售转型,围绕三大金融特色品牌,运用智能投顾和区块链等金融科技,实现全面数字化转型。[2018/7/21]
随着2022年上半年接近尾声,Layer2路线图变得越来越清晰。Polygon的各种Layer2扩展解决方案、Starkware的零知识汇总Starknet和MatterLab的ZkSync2.0,这些都将为开发人员构建不受高昂gas费困扰的应用程序提供必要的核心组块。然而,这些不同的L2本身并不兼容,因此它们有可能呈现我们在L1中看到的碎片化。L2生态系统拥有高吞吐量、低gas费和强大安全性的好处,L2到L2的跨链桥旨在减少L2间潜在碎片化的同时,发扬L2的上述好处。包括HopProtocol和OrbiterFinance在内的一些项目正积极致力于实现这一目标。跨链桥设计的权衡
尽管有数十种跨链桥的架构设计,但没有一个跨链桥能拥有“互操作性三难困境”的所有三个属性。互操作性三难困境是ArjunBhuptani提出的一个术语,它指出跨链桥只能具有以下三个属性中的两个:通用性、可扩展性和无须信任性。1.通用性:在两条链之间传递任意数据的能力2.可扩展性:在异构链上快速部署的能力3.无须信任性:最小化信任假设
互操作性三难困境来源:ArjunBhuptani与可扩展性三难困境类似,当跨链桥选择其中两个属性时,最后一个属性就会难以满足。例如,Connext是一个无须信任的跨链桥,可以在两个EVM兼容链之间转移代币。目前,它不能实现任意数据的传递,这意味着它优先考虑可扩展性和无须信任性而非通用性。如ZetaChain的其他跨链桥优先考虑可扩展性和通用性,但需要通过跨链桥的验证器集合提供额外的信任层,从而牺牲了无须信任性。由于跨链桥的主要使用场景是两个区块链之间的代币转移,因此大多数项目选择通用性和可扩展性来实现异构链上的快速部署,并能保持传递任意数据的灵活性。这使得该类型的跨链桥能够比许多竞争对手更快地完成部署,并满足转移代币的市场需求。虽然这给他们的许多用户带来了不为人知的成本,但该类型的跨链桥可将应用场景从执行简单的代币转移扩展到更为全面的开发者平台。为了描述跨链桥从代币转移机制扩展到应用平台,我们可以通过一个类比,跨链桥类似于连接两个高度拥挤城市的收费公路。每次当用户想从A市驱车到B市时,收费公路都会收取费用。跨链桥一直在慢慢地将这种收费公路模式转向城镇模式,即开发人员在跨链桥上构建应用程序,如同在A市和B市之间创建一个城镇。
庞大的城镇最终将在连接不同城市的公路收费站处发展因为一些跨链桥拥有数以万计的独立用户并已实现数十亿美元的转移量,他们可以利用现有用户活动来激励开发人员在他们的跨链桥上构建应用程序。继续考虑收费公路的类比,开发人员好比雄心勃勃的企业家,他们在目睹有钱人涌入此地后决定搬到该小镇。在看到该镇的更多动向后,其他企业家也搬入该镇并开始创建更大规模的业务。不久,这个小镇取得了发展,曾经作为两个大城市之间交通媒介的公路收费站现在成为了通往这个蓬勃发展的小镇的门户。作为应用平台的跨链桥或“LayerZeros”
有一些值得关注的项目正试图成为前面类比中所示的蓬勃发展的城镇。这些项目在为dapp生态系统提供基础的同时,专注于开发跨链连接数据的新方法。这些项目包括:RenVM
RenVM和Catalog协议就好比上述例子中的收费公路和城镇。RenVM使用前面描述的“锁定和铸造/销毁和赎回”机制支持跨链交易。目前,它允许用户以封装BTC代币"renBTC"为媒介,将BTC移入和移出以太坊和Polygon。跨链桥可以被认为是构建在RenVM之上的一个应用程序。在此之上,Catalog是一个推广RenVM模块的先驱性协议,其在RenVM内部构建自动化做市商(AMM)解决方案。Catalog是有史以来第一个使用“无界流动性”机制来构建的协议。这种AMM设计不仅使用了Catalog自己的流动性池,还利用了第三方DEX的流动性池,而无需考虑它们在哪个链上。在此示例中,Catalog与RenVM及其现有的用户生态系统合作,在熟悉的用户体验中提供更复杂的交易类型。LayerZero
LayerZero是一个通信原语,允许在拥有LayerZero端点的EVM链上发送数据和信息。LayerZero端点本质上是一个链上客户。任何具有ZRO端点的链都可以进行跨链交易。在端点之间需要使用诸如Chainlink之类的第三方预言机服务,来充当交易和消息传递的安全机制。
LayerZero通过要求两个独立的实体(Oracle和Relayer)确认交易,来确保跨链通信的有效性来源:LayerZero白皮书部署在各种L1区块链上的应用程序会发现这是一种非常简单的方式。例如,如果一个Dapp构建在Polygon上,那么使用端点将这个dapp快速加载到LayerZero是一项相当简单的任务。如Stargate的去中心化应用程序利用LayerZero制定的通信标准来创建去中心化交易所/跨链桥。Zeta链
Zeta链是一个Layer1区块链,它既不需要封装资产来实现跨链转移资产,也不需要每对区块链的跨链桥。这是通过Zeta链跨链传递消息的功能来实现的,Zeta链允许跨链和跨层发送数据及值。利用全链智能合约,开发人员可以对Zeta链进行编程,用来侦听已连接区块链上的事件并执行相应操作。Zeta链依靠验证节点共识来确保自身安全性,并依靠分布式阈值签名方案来确保已连接链上的私钥安全性,以此避免单点故障。PoS激励验证者采取正确行为。Zeta链与LayerZero等其他竞争对手的不同之处在于,即便是如比特币网络的没有智能合约的区块链,也可以并入多链网络。这些跨链桥平台实现了链间的互操作性,并允许在此之上建立新的生态系统。除了从链A到链B发送代币之外,还解锁了新的应用场景。尽管如此,跨链桥/跨链桥平台的每个独特机制都有一定程度的风险。跨链桥的相关风险
鉴于引导消息实现跨链传递存在技术复杂性,使用跨链桥时会涉及各种风险。一些主要风险包括:
跨链桥风险为了缓解审查风险和停止风险,用户可以简单地少使用需信任的跨链桥和“乐观的”跨链桥。然而,永远无法完全规避安全风险,因此通过了解可能的攻击载体来评估哪些安全系统更强大是非常重要的。破坏跨链桥安全性的两个主要攻击载体是1)智能合约漏洞和2)信任根漏洞。
跨链桥的两个主要攻击载体恶意行为者在应用层成功攻击跨链桥时利用了智能合约漏洞。由于大多数跨链桥必须在它们连接的所有链上部署安全智能合约,因此较新的区块链是更容易攻击的目标。虽然Rust、CosmWasm和Substrate等语言都拥有不断壮大的开发者社区,但它们拥有的开发者工具和审计公司的数量却不如Solidity等成熟语言,因此主网出现漏洞的可能性更高。考虑到开发跨链桥时团队会考量开发速度和市场竞争等因素,这就很容易理解为什么智能合约漏洞成为最常见的黑客攻击载体。至于利用信任根漏洞,恶意行为者需要成功攻击跨链桥使用的底层验证方式。在Ronin黑客事件中,恶意攻击者通过获取SkyMavis的9个验证器中的5个的私钥实现对大多数诚实假设的攻击,SkyMavis是AxieInfinity背后的工作室。一旦黑客入侵了SkyMavis的中心化安全系统,一切都将灰飞烟灭。正如人们所看到的,在外部这些漏洞不易察觉,但与糟糕的安全系统相关的成本可能是巨大的。去年,跨链桥攻击事件的累计成本已超过15亿美元。
过去一年中著名的跨链桥漏洞攻击事件来源:Decrypt,KudelskiSecurityResearch,TheVerge,VentureBeat雪上加霜的是,不知情的web3用户很容易感到使用TVL/TVB更高的跨链桥更安全,因为这些跨链桥似乎足够强大来处理大量的代币转移;然而,TVL/TVB与安全性之间并没有明确的相关性。事实上,有人可能会提出反面看法,随着TVL/TVB的增高,恶意行为者利用漏洞的经济激励也会增大,因此跨链桥面临的安全性风险也更高。因此,在转移资金时应考虑了解一下跨链桥使用的底层安全系统。如果零散交易者需要快速发送0.5ETH以确保完成NFT铸造,那么安全性就无足轻重了。但是,如果DAO计划要将10,000ETH转移到不同链上的合约时,则有必要仔细检查跨链桥的底层安全性。结语
随着加密行业的不断发展,将探索出新的跨链桥设计,将试验出新的安全模型,基于跨链桥的全新应用程序也将出现。兼具安全性、灵活性和高效性的跨链桥的成功涌现将允许协议和社区间实现更广泛的互连。因为我们正处在过滤和淘汰不安全跨链桥的时期,所以会有短期的阵痛,但跨链桥行业的未来将充满光明。免责声明
AmberGroup投资了Nomad、Orbiter、Catalog、Zeta链,并且我们为上述列出的许多协议提供路由/绑定/流动性服务。本文所载的资料供参考之用,属摘要形式,并不完备。该等资料不是、也无意作为出售或购买任何证券或产品的要约或要约邀请。该等资料并未提供,亦不应视为提供投资建议。该等资料并不考虑任何潜在投资者的特定投资目标、财务状况或特殊需要。对于“资料”的公正性、正确性、准确性、合理性或完整性,不作任何明示或暗示的承诺或保证。我们不承诺更新该资料。潜在投资者不应将其视为自己判断或研究的替代品。潜在投资者应在其认为必要的范围内,咨询自己的法律、监管、税务、商业、投资、财务和会计方面的顾问,并根据自己的判断和这些顾问的建议做出任何投资决定。原地址
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。