项目介绍|Cosmos:由分布式部落走向经济共同体

2023-10-23 19:50

本文主要是介绍项目介绍|Cosmos:由分布式部落走向经济共同体,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

声明:本文仅分享个人见解,不构成投资建议。

本文转载自公众号【GenesiSee】,原文发布时间:2022年11月18日

原文链接:​​​​​​​Cosmos:由分布式部落走向经济共同体

Web3 的未来将逐渐形成万链互联的格局,那么跨链将会是其中一个十分重要的部分。说到跨链,不得不提公链里的跨链双雄——Cosmos和Polkadot。对于这两个明星产品,小新没法给出一个孰优孰劣的结论。Polkdot的中继链是平行链的唯一安全提供者,在安全性方面相比Cosmos更胜一筹,而Cosmos具有较低的准入门槛和便捷的接入方式,对于开发团队讲更具吸引力。

就在不久前,Cosmos发布2.0白皮书,表示已经通过引入链间安全机制,让平行链的安全性保障得到了进一步的提升。有意思的是,发布2.0白皮书的提案在11月14日被正式拒绝了。今天小新就和大家一起理一理,Cosmos是什么,这Cosmos2.0具体引入了哪些新特性,又是什么原因导致提案未通过。

自2021年IBC跨链协议上线后,Cosmos迎来了爆发式增长。虽然年初Terra链的暴雷给Cosmos生态带来了一些阴霾,但是几个月前,dYdX官方宣布将在年底离开以太坊的怀抱,构建Cosmos主权链,正式加入Cosmos生态,给Cosmos带来了不小的热度。

此外,随着模块化区块链Celestia等Cosmos生态项目热度的增长与Cosmos2.0白皮书的发布,Cosmos在业内正吸引着越来越多的关注。目前接入Cosmos IBC 跨链协议的区块链已有51条,涵盖了DeFi、Web3、智能合约公链、社交、NFT、隐私、跨链、基础设施等领域。

图片来源:https://twitter.com/CosmosATOMDaily/status/1586735103685844992/photo/1

那么,Cosmos究竟是什么?

Cosmos项目是由Tendermint团队发起的一个公链项目,它的愿景是建立区块链的互联网,通过跨链代币转移技术实现多链互联互通,构造一个深度集成的代币经济生态系统。在9月23日Cosmos2.0白皮书发布之前,Cosmos联合创始人Ethan Buchman曾在其个人网站上发文介绍了关于Cosmos项目的发展历程,在该文中,Ethan将Cosmos大致分为三个阶段:

Initiation阶段(2016年—2022年9月26日):2016年发布的Cosmos1.0白皮书中提出了Tendermint core、Cosmos SDK、 IBC协议等概念,这些概念也成为了Cosmos1.0后续发展的理论指导。2019年3月,Cosmos Hub主网启动,具体分为三个阶段:

–第一阶段:网络趋于稳定。

–第二阶段:链上交易开启;

–第三阶段:启用IBC协议。

Integration阶段(2022年9月26至今):该阶段主要提出了一个新型的金融方式——协作金融与可持续发展的政治变革。在1.0的安全堆栈层基础上新增了安全经济扩展层与Hub特定功能层。

Illumination阶段(待定):官方暂未透露关于第三阶段的具体规划。

本次分享主要介绍Integration阶段的更新内容,即Cosmos2.0相较于Cosmos1.0的相关更新。

01|Cosmos1.0

Cosmos2.0白皮书第一句写道:“2016年提出的Cosmos网络的愿景已经实现”,这种具体实现被称为安全堆栈层。我们先简单回顾一下,Cosmos1.0所实现的安全堆栈层究竟是什么。

安全堆栈层共分为三个部分:Tendermint共识算法、CosmosSDK、IBC跨链传输协议。小新将对这三部分的功能进行简单的阐述。

Tendermint共识算法

共识算法是保障区块链分布式账本一致性的核心。根据是否允许作恶节点存在将共识算法分为不允许作恶节点存在的CFT类算法与允许存在部分作恶节点的BFT类算法。长久以来PBFT算法是工业生产环境实际部署的BFT类型的共识协议,然而受限于O(n^2)的通信复杂度,PBFT的可扩展性不足,不太适合公链这种大规模的分布式节点场景。

Cosmos联合创始人Jae Kwon于2014年发表了《Tendermint: Consensus without Mining》论文,提出了一个新型的BFT类共识算法——Tendermint。此外,根据2018年的论文《Consortium Blockchains: Overview, Applications and Challenges》所提供的数据,传统的PBFT算法最多只支持30个分布式节点。而Tendermint算法支持大约100个节点。Tendermint共识算法相较于PBFT在扩展性方面会更出色。

图片来源:https://www.thinkmind.org/download.php?articleid=tele_v11_n12_2018_5(上述数据来自官方网站,并未进行统一基准测试,实际数据可能存在差异性。)

在最新的66号提案中,Cosmos Hub将验证节点(Validator)数量增加为175个,而Cosmos Hub平均出块速度为7秒左右,达到了秒级出块的性能。

图片来源:https://www.mintscan.io/Cosmos/proposals/66

Cosmos SDK

Cosmos SDK是一个模块化的区块链开发脚手架,可以减少开发者构建底层区块链架构的痛苦。开发者可以基于CosmosSDK与Tendermint core快速搭建应用专属的区块链系统,不需要关注底层逻辑实现,只需要根据具体业务进行上层应用开发。

IBC协议

IBC ( Inter-Blockchain Communication Protocol)是一种允许异构区块链以可靠、有序和信任最小化的方式传递任何数据的协议。

IBC 协议的基础是轻客户端(light clients)和中继器(relayers)。一个具体的IBC跨链传输示例如下图所示。用户通过 IBC 实现从链A到链B的一笔资产转移。IBC协议具有以下几个特性:

  • 链 A 和链 B 互相具有对方链的轻客户端;

  • 链 A 无需信任第三方,只需通过验证区块头就可以对 链 B 的状态达成共识;

  • 通过 IBC模块进行交互的链彼此间不会直接传送消息。相反,链 A 将数据包中的一些消息同步至其状态。

  • 无需许可的中继器(Relayer)进程对链A的数据包进行检测,并将它们传送给目标链。

图片来源:https://ieeexplore.ieee.org/abstract/document/9919970

02|Cosmos2.0

除了上述提及的堆栈层,Cosmos2.0还新增了两层架构:安全经济扩展层和Hub特定功能层。安全经济扩展层由链间安全(Interchain Security)和流动性质押(Liquid·Staking)组成。以Cosmos1.0作为对比,我们先分析一下Cosmos在安全扩展方面作出了哪些更新。

图片来源:https://gateway.pinata.cloud/ipfs/QmdC3YuZBUq5b9mEr3bKTDRq4XLcxafe3LHqDNFUgUoa61

Interchain Security

Cosmos团队最初的设想是将Cosmos Hub当做一个港口城市,应用链之间通过Hub与其他应用链互联,但每条应用链仍拥有自己的主权。然而事与愿违,大多数应用链采用的是IBC直连的方式,没有通过Cosmos Hub进行跨链互操作。因此,现在的Cosmos生态就像是多个松散的部落。这样的设计模式导致了两个问题:

  • 对于一些市值较小的新链,由于没有足够分散的验证节点,有着较高的安全风险。

  • Cosmos Hub上的Atom(Cosmos Hub的原生代币)质押者的权益无法得到保障,也无法享受其他Cosmos应用链的成功所带来的收益。

因此,为了降低新链接入门槛,同时提高Atom的价值捕获能力,Cosmos2.0推出了Interchain Security方案,即让其他链共享Cosmos Hub提供的安全性。这样的方案不仅让新链的开发者可以专注于构建其上层应用程序,不用担心底层安全设计。同时Cosmos Hub的Atom质押者也可以享受新链的出块权益。具体的做法是:

  • Cosmos Hub作为供应商链为消费者链提供验证节点,稀释了消费者链原本的Validator权重,提高了消费者链的安全性;

  • 消费者链向供应商链及其Validator发放区块奖励,Cosmos Hub与Atom质押者将获得更多的收益。

目前,Cosmos Hub 已经确定了从 2023 年开始支持的五个消费者链。

 Liquid Staking

对于区块链来说,质押的比例越高意味着安全性越强,但是用户往往会在质押和流动性之前做权衡。Cosmos2.0推出了流动性质押,即允许质押的Atom在DEFI协议上(如stride)作为抵押品,获得相应的奖励代币,然后作为流动性提供者将资金存入流动性池。因此质押者不仅能享受到质押的收益,还能享受到流动性挖矿所带来的奖励。最终Atom的质押率也会得到提升,随着质押率提升,本链的安全性也得到进一步提高。

图源:https://stride.zone/

图源:https://osmosis.zone/

上图所示是一个流动性质押的示例,首先通过Stride质押0.1个Atom得到0.1个stAtom。(注意:质押后将得到几乎等额的stAtom,目前年化有16.8%,即目前1Atom能获得1个stAtom,在一年后1 stAtom 能够换回1.168个 Atom。),随后可以在Osmosis上面进行IBC跨链,将上述得到的stAtom转移到Osmosis链。最后选择Atom/stAtom池添加流动性。

通过这种方式,Atom的持有者不但享受到了在Stride质押Atom所带来的收益,还享受到了Osmosis上面流动性所带来的收益。用户将更加乐于将自己的资产质押到Stride所在的区块链(如Atom持有者通过Stride将资产质押在Cosmos hub上)。提高了质押率的同时也将提高该链的安全性。

在实现了新的安全扩展层的构想后,为了实现Cosmos Hub作为跨链中心的目标,Cosmos2.0建立一个Cosmos生态联盟,新增了Cosmos Hub特定功能层,该层级有以下两个部分组件构成:

● 跨链调度器(Interchain Scheduler):一个安全的跨链区块空间市场和MEV解决方案;

● 跨链分配器(Interchain Allocator):一个协调经济和跨链项目联盟的场所。

接下来小新带大家了解下什么是跨链调度器与跨链分配器。

跨链调度器(Interchain Scheduler)

跨链调度器是一个安全的跨链区块空间市场和MEV解决方案。跨链调度器可以使市场变得更有效、更安全、更有利可图,以避免链下垄断勾结,并为寻求优化区块空间(block space)使用的链提供更多的选择。

什么是MEV与区块空间呢?

一个pos共识的以太坊由以下几个部分组成:用户(发送交易)、交易池、验证者、区块生产者。区块空间是一种商品,因为区块的大小是有上限的,一个区块只能包含有限个数的交易。所以大多数区块链会存在一个区块空间的链下市场,称为 MEV 市场,可以通过 MEV 中继网络来实现。MEV 市场允许提交私人交易,并通过诸如抢先保护、多交易捆绑、失败交易预防和交易顺序优先等保护功能,使用户的交易更具效率。针对MEV获利方式将在下一小节进行详尽说明。

在那些支持区块空间拍卖的区块链中(如以太坊的EIP-1559),用户拍卖到了指定的区块空间,Validator将优先考虑将该用户的交易打包到该指定的区块空间中,即保障了该用户在指定区块空间的MEV权益。

MEV(Miner Extractable Value)

由于每个区块只能包含有限数量的交易,矿工在选择内存池(mempool)中待处理交易的优先处理时拥有完全的自主权(内存池是矿工在链下存储未确认交易的位置,它们将包含在自己的区块中)。为了获得最多的利润,矿工通常以最高的gas价格(交易费)来处理交易。因此,矿工可以利用他们任意对交易进行重新排序的能力,从用户那里获得额外的利润,从中创造出来的价值就被称为矿工可提取价值(MEV)。

默认情况下,矿工不会根据用户提交的时间,而是根据用户支付的费用金额来处理交易。虽然MEV这个概念是一个常见的术语,但今天我们看到的大多数形式的MEV都不是来自矿工本身,而是来自第三方的机器人。这些机器人通过改变支付给矿工的交易费用来操纵他们在一个区块内的交易顺序。这意味着即使矿工根据最高的gas价格来处理交易,MEV还是会产生。然而,由于矿工最终控制了一个区块内的最终交易顺序,MEV可以被看作是矿工可以提取价值的上限。

在以太坊更换为POS共识后,虽然矿工由验证节点(验证节点)所替代,但总体逻辑不变,验证节点(验证节点)仍然能够通过MEV获益。

接下来我们通过2个例子来说明用户是如何通过MEV获利的。

示例一:Dex Arbitrage

小明想要在Uniswap上卖出1000ETH换成DAI,由于DEX的运作机制,对换资金较大时可能出现滑点。MEV 机器人可以通过闪电贷(或其他手段)获得ETH,在Sushiswap上卖掉ETH换成DAI,转手在Uniswap上买回更过多的ETH。

下图的例子中,一个searcher利用 ETH/DAI 交易对在 Uniswap 和 Sushiswap 的不同价格,将 1, 000 ETH 变成了 1,045 ETH。

图源:https://etherscan.io/tx/0x5e1657ef0e9be9bc72efefe59a2528d0d730d478cfc9e6cdd09af9f997bb3ef4

示例二:三明治攻击

在以X * Y = k理论基础的DEX生态中,每次购买某个Token时候,由于池子里该Token减少,其价格将会上涨,即这个Token产生了滑点。因此,如果我们在产生滑点前低价购买这种Token,在滑点处立即卖出,就可以通过低买高卖实现套利。

一个简单的AMM下三明治攻击过程如下:

假设池子里总量为:TokenA:TokenB = 100:1000,即兑换比例为1:10,在以X * Y = k理论基础的DEX生态中,此时k=1000*10000=100000;

池子总量:TokenA:100 TokenB:1000

攻击者拥有资金:10 TokenA, 0 TokenB

受害者拥有资金:10 TokenA, 0 TokenB

攻击者提前洞察了受害者的交易意图,认为有利可图,提前向池子里注入10个TokenA,此时我们知道,池子里TokenA=100+10=110,由y=k/x可得:兑换后的y=100000/110=909.09,因此攻击者可以兑换90.91个TokenB;此时兑换比例为1:9.091;同时由于池子里TokenA变多,TokenB减少,抬高了TokenB的价格,此时池子里的总量为TokenA:TokenB=110:909.09,产生了滑点。

池子总量:TokenA:110 TokenB:909.09

攻击者拥有资金:0 TokenA, 90.91 TokenB

受害者拥有资金:10 TokenA, 0 TokenB

受害者在不知情的情况下,通过意外价格滑点,以10个TokenA兑换了TokenB,原本受害者认为10个TokenA可以兑换大约100个TokenB,此时, y=100000/120=833.33,此时可兑换的TokenB=909.09-833.33=75.75个,兑换比例为1:7.57。

池子总量:tokenA:120 tokenB:833.33

攻击者拥有资金:0 TokenA, 90.91 TokenB

受害者拥有资金:0 TokenA, 75.75 TokenB

攻击者再将获得的90.91个Token B兑换成TokenA,此时x=100000/(833.33+90.91)=108.19,可获得120-108.19=11.81个TokenA 。

池子总量:tokenA:108.19 tokenB:924.24

攻击者拥有资金:11.81 TokenA, 0 TokenB

受害者拥有资金:0 TokenA, 75.75 TokenB

由于攻击者一开始只有10个TokenA,因此最终获利1.81个TokenA。

Cosmos的MEV解决方案

Cosmos的跨链生态允许跨链MEV。以跨链的Dex arbitrage为例,如果Osmosis的Atom-USDC池与EVMOS上相同池子的价格不同,那么MEV 机器人就能像操控Uniswap与Sushiswap一样,操作两个单独交易进行价格套利。

在以太坊上,MEV的收益往往掌握在拥有较多质押权重的验证节点上,比如目前Lido基本一家独大,所以MEV很大程度会被Lido控制,可能导致这个市场的垄断。

图源:https://cointelegraph.com/news/64-of-staked-eth-controlled-by-five-entities-nansen

而Cosmos的愿景是,使用调度器Interchain Scheduler将这块MEV的大蛋糕从垄断的验证节点手中分给其他大部分用户。以销售block space的方式,让其他用户赢得这个blockspace,他们就能获得强有力的保障,用户的交易序列在区块上能以他们偏好的顺序执行,即让用户锁住那个区块所产生的MEV收益。

图源:https://gateway.pinata.cloud/ipfs/QmdC3YuZBUq5b9mEr3bKTDRq4XLcxafe3LHqDNFUgUoa61

调度器Scheduler系统工作原理如下:

  1. 当消费链启用Scheduler模块时,它可以签订跨链合约,提供它们的部分block space(例如,每分钟一个区块)。链可以按照自己的意愿在市场上出售尽可能多的block space。

  2. 一旦达成协议,Scheduler就会为这些特定的block space铸造NFT作为保留证据,然后,定期批量拍卖来自所有参与链的保留NFT。值得一提的是这些block space的NFT被验证节点赎回前可以在二级市场上进行交易流通。直到该block space被兑现。

  3. 在成功执行区块之后,Scheduler拍卖的收益一部分分给合作的链用来交换block space,还有一部分回流到Cosmos Hub国库。

图源:https://gateway.pinata.cloud/ipfs/QmdC3YuZBUq5b9mEr3bKTDRq4XLcxafe3LHqDNFUgUoa61

Interchain Allocator

跨链分配器(Interchain Allocator)旨在通过引入两种工具:Covenant 和 Rebalancer,为新的Cosmos项目提供更有效的用户获取、流动性和长期生态系统平衡的途径。

  • 契约Covenant:与指定的链和IBC支持的实体建立多边协议的系统。

  • 再平衡器Rebalancer:自动管理具有公共流动性的资产组合的系统。

简单来说,就是Interchain Allocator充当一个投资者的角色,选择一些新的Cosmos链进行投资。Cosmos Hub从国库里面投资一部分Atom给ChainX;作为回报ChainX将部分CoinX资产回馈给Cosmos Hub。

因此Cosmos Hub既增加了Atom的流通性,有利于链间安全、流动性质押,又将享受其他链代币的增长所带来的收益。

图源:https://gateway.pinata.cloud/ipfs/QmdC3YuZBUq5b9mEr3bKTDRq4XLcxafe3LHqDNFUgUoa61

备受争议的Atom2.0

Cosmos2.0在白皮书中提出了一种新型的代币模型。

  • 原本的经济模型是7%-20%的浮动通胀率,即质押率高于67%时,将降低通胀率至7%;质押率低于67%,将会提高通胀率至20%。

  • 新的经济模型把 Atom 的发行分成了过渡和稳定阶段:过渡阶段 36 个月,疯狂增发给国库(1000 万每月,每月按照10%指数型递减)。36 个月之后的每月增发下降到 30 万枚。不过在Cosmos2.0白皮书发布后,上述经济模型备受争议,官方团队在几天后修订了白皮书。修订后的经济模型更改为:过渡阶段36个月,一次性发放400万枚Atom到社区池,在那之后,社区可以以投票的形式决定是否发行更多的 Atom(400 万一份,最多 10 份)来满足开发成本,链间安全,链间分配器等需求。

该经济模型作为82号提案投票已于11月14号截止。虽然投yes的居多,但是按照规定,Cosmos 的任意一项提案否决权票数大于 1/3 时便会作废,由于 NoWithVoto权重超过三分之一,因此82号提案已经被拒绝了。

图源:https://www.mintscan.io/Cosmos/proposals/82

有趣的是,Cosmos创始人之一的Jae Kwon对标82号提案又提出了83号提案。他的提案提出了一个叫做 Photon 的新 Token。这个 Photon Token 只能通过 绑定 Atom Token 来质押铸造,Photon 可以替代Atom用来做 Gas或是 ICS功能。

而社区对于这个新 Token 的争议甚至比 Cosmos2.0 路线图里疯狂增发的新 Token 模型还要大。Cosmso 的一位核心开发人员更是直接表示,从来没见过哪个底层公链双 Token 模型可以运行良好的先例。截至目前该提案投反对的居多,已经被拒绝了。

图源:https://www.mintscan.io/Cosmos/proposals/83

由于82号提案赞成者与反对者各占一半,Cosmos团队在11月12号又提出了86号提案,不过按照目前的投票进度来看,也不太可能被通过。

那么为什么Cosmos2.0更新举步维艰呢?小新认为主要有以下两个方面具有争议点:

  1. Cosmos2.0白皮书相比1.0更新内容过多,如引入了链间调度器与链间分配器,投票者可能会因为否定其中一项更新而投反对票。

  2. Atom2.0的代币在前36个月疯狂增发,后期减少排放。大多数反对者对疯狂增发后的Atom用途并不明晰,也质疑后期减排的缺口是否能够被链间调度器与分配器创造的收益所弥补。

在接连几个提案被拒绝后,Cosmos团队也意识到或许是自己操之过急。决定针对于Cosmos2.0的各项更新以提案的形式进行拆分。在社区与其他质押者充分讨论提案各项利弊后再重新进行投票。并且声称被拒绝的提案并不会影响Cosmos生态,反而彰显了社区的民主性。

图源:https://twitter.com/cosmoshub/status/1592934938021892096

有意思的是,也有一部分人对提案投票的公平性提出质疑。因为一个失败的提案会燃烧提案提供者所质押的资金。然而只要超过33.4%的投票者投出NoWithVote就能让提案失效。似乎就是提案的话语权掌握到了少数人手中,提出希望修复NoWithVote的权重。

图源:https://twitter.com/HushPup2/status/1592546658105327616

总的来说,Cosmos2.0的更新还是任重而道远。

03| 总结

Cosmos2.0构建了一个宏伟的政治经济蓝图,就像当初Cosmos诞生时的愿景一样,Cosmos并不想做一个跨链服务提供商或者单独的区块链系统。它的目标是建立区块链的互联网,通过跨链代币转移技术构造一个深度集成的新型代币经济生态系统。

虽然Cosmos2.0的正式推行暂时受阻,小新相信IBC协议提供的扩展能力、Tendermint与Cosmos SDK提供的底层模块化开发能力以及Cosmos社区呈现的开放包容的氛围将吸引越来越多的开发团队投入Cosmos生态的怀抱。

参考文献

  1. https://gateway.pinata.cloud/ipfs/QmdC3YuZBUq5b9mEr3bKTDRq4XLcxafe3LHqDNFUgUoa61

  2. https://blog.Cosmos.network/Cosmos-history-inception-to-prelaunch-b05bcb6a4b2b

  3. https://ebuchman.github.io/posts/phases-of-Cosmos/

  4. https://mirror.xyz/exploring.eth/KFOLjFeQHdEl_n3lE35DsEpuVdQVRKeZVyNddXaZZD4

  5. https://ethereum.org/en/developers/docs/MEV/

  6. https://www.paradigm.xyz/2021/03/ethereum-blockspace-who-gets-what-and-why

往期回顾

Polygon:首个出圈的以太坊扩容方案

Azuki:缔造NFT元宇宙品牌

Uniswap:一往无前的DEX独角兽(上)


声明:本文所涉及内容、数据来自Cosmos官方公开材料且均已标明来源。部分图文源于网络,如有侵权,请联系删除。

这篇关于项目介绍|Cosmos:由分布式部落走向经济共同体的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/270095

相关文章

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

在cscode中通过maven创建java项目

在cscode中创建java项目 可以通过博客完成maven的导入 建立maven项目 使用快捷键 Ctrl + Shift + P 建立一个 Maven 项目 1 Ctrl + Shift + P 打开输入框2 输入 "> java create"3 选择 maven4 选择 No Archetype5 输入 域名6 输入项目名称7 建立一个文件目录存放项目,文件名一般为项目名8 确定

图神经网络模型介绍(1)

我们将图神经网络分为基于谱域的模型和基于空域的模型,并按照发展顺序详解每个类别中的重要模型。 1.1基于谱域的图神经网络         谱域上的图卷积在图学习迈向深度学习的发展历程中起到了关键的作用。本节主要介绍三个具有代表性的谱域图神经网络:谱图卷积网络、切比雪夫网络和图卷积网络。 (1)谱图卷积网络 卷积定理:函数卷积的傅里叶变换是函数傅里叶变换的乘积,即F{f*g}

Vue3项目开发——新闻发布管理系统(六)

文章目录 八、首页设计开发1、页面设计2、登录访问拦截实现3、用户基本信息显示①封装用户基本信息获取接口②用户基本信息存储③用户基本信息调用④用户基本信息动态渲染 4、退出功能实现①注册点击事件②添加退出功能③数据清理 5、代码下载 八、首页设计开发 登录成功后,系统就进入了首页。接下来,也就进行首页的开发了。 1、页面设计 系统页面主要分为三部分,左侧为系统的菜单栏,右侧

C++——stack、queue的实现及deque的介绍

目录 1.stack与queue的实现 1.1stack的实现  1.2 queue的实现 2.重温vector、list、stack、queue的介绍 2.1 STL标准库中stack和queue的底层结构  3.deque的简单介绍 3.1为什么选择deque作为stack和queue的底层默认容器  3.2 STL中对stack与queue的模拟实现 ①stack模拟实现

SpringBoot项目是如何启动

启动步骤 概念 运行main方法,初始化SpringApplication 从spring.factories读取listener ApplicationContentInitializer运行run方法读取环境变量,配置信息创建SpringApplication上下文预初始化上下文,将启动类作为配置类进行读取调用 refresh 加载 IOC容器,加载所有的自动配置类,创建容器在这个过程