02 BlockChain-- ETH

news2024/9/24 0:09:46

以太坊与比特币有什么不同?

以太坊立足比特币创新之上,于 2015 年启动,两者之间有一些显著不同。

从宏观的方面:

  • 比特币就仅仅是比特币;以太坊(Ethereum)包括以太币(Ether),以太币才是和比特币对等的存在。
  • 比特币使我们能够互通基本信息;以太坊则更进一步,不仅可以互通信息,用户还能编写任何常规程序或合约。可以创建和达成共识的合约种类没有限制。
  • 比特币只是一个支付网络,而以太坊更像是一个金融服务、游戏、社交网络和其他应用程序的市场。

从细节方面:

  • ETH 中存在账户这个概念;相区别,BTC只有 UTXO。
  • ETH 没有发行数量限制,但每次交易过程中,都会有一定数量的 ETH 被燃烧,这就是 Base Gas Fee 基础燃料费。特别是网络需求量高时,燃烧的以太币数量可以多于铸造的以太币数量,有效地抵消了以太币的发行。

ETH Account 账户

一个以太坊帐户是一个具有以太币 (ETH) 余额的实体,可以在以太坊上发送交易。
帐户可以由用户控制,也可以作为智能合约部署。

账户类型

以太坊有两种帐户类型:

  • Externally-owned account (EOA) 外部所有的帐户 – 由任何拥有私钥的人控制
    • 创建帐户是免费的
    • 可以发起交易
    • 外部所有的帐户之间只能进行以太币和代币交易
    • 由一对加密密钥组成:控制帐户活动的公钥和私钥
  • Contract account 合约帐户 – 部署到网络上的智能合约,由代码控制。
    • 创建合约存在成本,因为需要使用网络存储空间
    • 只能在收到交易时,作为回应,发送交易
    • 从外部帐户向合约帐户发起的交易能触发可执行多种操作的代码,例如转移代币甚至创建新合约
    • 合约帐户没有私钥。 相反,它们由智能合约代码逻辑控制

以太坊的账户模型

以太坊使用 账户模型(Account Model),在此模型中,所有的账户都存储在一个全局状态数据库中,称为 世界状态(World State)

以太坊使用一种被称为 Merkle Patricia trie (MPT) 默克尔压缩前缀树的数据结构来存储世界状态和账户存储状态。
这种树形结构结合了前缀树(Patricia Trie)和哈希树(Merkle Tree)的优点,

以太坊有两棵重要的树:

  • 世界状态树:
    • 每个账户的状态都存储在 Trie 中,账户地址作为键,账户状态作为值。
    • 这个状态树的根节点的哈希值称为 stateRoot,并存储在每个区块的区块头中。当交易执行导致账户状态发生变化时,这棵状态树会更新,新的状态树的根哈希也会变化,成为新区块头中的新的 stateRoot。
  • 账户存储树:每个智能合约账户的存储是另一个独立的 Trie,存储在 storageRoot 中。这个 Trie 负责存储智能合约的数据,例如映射、数组等复杂数据结构。

以太坊帐户有四个字段:

  • nonce :一个计数器,用来显示外部帐户发送的交易数量或合约帐户创建的合约数量。 每个帐户只能执行具有一个给定随机数的一笔交易,以防范重放攻击,重放攻击指多次广播和重复执行已签署的交易。
  • balance – 这个地址拥有的 Wei 数量。 Wei 是以太币的计数单位,每个 ETH 有 1e+18 个 Wei。
  • codeHash - 该哈希表示 EVM 上的帐户代码。 合约帐户具有编程的代码片段,可以执行不同的操作。 如果帐户收到消息调用,则执行此 EVM 代码。 与其他帐户字段不同,不能更改。 所有代码片段都被保存在状态数据库的相应哈希下,供后续检索。 此哈希值称 codeHash。 对于外部所有的帐户,codeHash 字段是空字符串的哈希。
  • storageRoot – 有时被称为存储哈希。
    在这里插入图片描述

迈向 ETH2

在这里插入图片描述
以太坊网络同时存在主链和信标链( ETH2 的一部分,现在作为共识层)。

随着以太坊网络的增长,原有架构已经难以支撑日益增长的交易量和复杂的应用场景。为了应对这些问题,以太坊社区启动了以太坊 2.0 项目,即 ETH2,旨在通过一系列的技术革新提升整个网络的性能。

在2020年底,以太坊推出了信标链,这是以太坊向权益证明(PoS) 转换的第一步。
这个新的链与原有的工作量证明(PoW)主链并行运行。在合并之前,信标链主要负责处理以太坊网络未来的 PoS 机制,并且逐步地将接管整个网络的共识机制。

“合并”是指以太坊的 PoW 共识机制向 PoS 机制的转变,这一过程发生在2022年9月。合并后,以太坊的共识层(即之前的信标链)和执行层(即之前的以太坊主网)相结合,形成了一个更加节能高效的区块链网络。

在原有的 PoW 区块链转变为 PoS 区块链的过程中,引入了一个名为“信标链”的新组件,它是 ETH2 的核心部分,负责协调整个网络并向 PoS 机制过渡、管理验证者的集合、分配奖励和惩罚,并协调未来的分片链(Shard Chains)。

信标链是一个由“空”区块组成的链。在以太坊上停止 PoW 并启动 PoS 时,需要先让信标链接受来自执行客户端的交易数据,将它们打包到区块,再将区块组织到一条运行 PoS 共识机制的区块链上。 与此同时,原有的以太坊客户端停止挖矿、区块传播及旧的共识逻辑,并将这一切转交给信标链。 这一事件称为合并。

在合并发生后,就不再有两个区块链。 相反,只有一个 PoS 以太坊,与 PoW 以太坊不同,现在每个节点需要两个不同的客户端
信标链现在是 PoS 以太坊的共识层,即一个处理区块消息和共识逻辑的共识客户端的点对点网络,而原始客户端形成执行层,负责传播消息和执行交易,以及管理 ETH 的状态。
这两层可以使用引擎 API 相互通信。

PoS 、信标链、质押、分片和 ETH2 的关系
迈向 ETH2 的目的是更低能耗更可持续,而 ETH2 最关键的特征就是 PoS。
为了将主链从 PoW 转向 PoS ,引入了信标链和质押,且在完成合并后,信标链就是系统的一部分。
为了进一步横向扩展 ETH ,分片概念得以产生。

ETH1、ETH2、ETH?
“以太坊 2”一词已弃用。 在将“以太坊 1”和“以太坊 2”合并为一条链之后,将不再需要区分两个不同 的以太坊网络,只有以太坊。
但是,若专门提到,以下两个词都特定的含义:

  • “以太坊 1”现在是处理交易和执行的“执行层”。
  • “以太坊 2”现在是处理权益证明共识的“共识层”。

Merge 合并

在这里插入图片描述

合并是指在 ETH 的原有执行层(从创世块开始就一直存在的主网)中加入其新的权益证明共识层,即信标链。
合并摒弃了消耗大量能源的挖矿,而是通过质押以太币来保护网络的安全。

信标链最初是与主网分开上线的。 以太坊主网(所有帐户、余额、智能合约和区块链状态)仍继续由 PoW 保护,与此同时,与之一起运行的信标链采用 PoS。 合并是指这两个系统最终整合在一起之时,且 PoW 被 PoS 永久取代。

信标链最开始并不处理主网上的交易。 而是通过对活跃的验证者及其帐户余额达成一致来就自己的状态达成共识。
经过广泛测试后,即合并后,信标链将成为所有网络数据的共识引擎,包括执行层交易和帐户余额。

合并代表正式转变成使用信标链作为区块生产引擎
同时,挖矿将不再生成区块,该任务交由 PoS 验证者,PoS 现在负责处理所有交易的有效性及创建区块。

功能

信标链是在以太坊质押人开始验证真实的以太坊区块之前管理和协调以太坊质押人网络的帐户账本的名称。 它不处理交易或智能合约交互,因为这些任务在执行层完成。 信标链负责处理区块和证明、运行分叉选择算法以及管理奖励和惩罚等。

  • 共识机制:信标链引入了 PoS 机制,允许用户通过质押一定数量的 ETH(通常为 32ETH)成为验证者,参与区块的创建和验证过程。这与 PoW 相比,减少了计算资源的需求,使得系统更加环保和高效。
  • 分片链管理:信标链不仅负责维护自身的状态,还管理着多个分片链(Shard Chains)。分片链是独立的数据块链,它们可以并行处理交易和智能合约,从而极大地提高了系统的吞吐量。

Beacon Chain 信标链

信标链是 PoS 区块链,它可以让验证者可以参与质押系统、替代矿工的角色而成为链的构建者。
也就是说信标链上管理着验证者的名单,以及分片验证者任务。

信标链由多个部分组成,诸如分片(shards)、质押验证者 (staking validators)、证明 (attestations)、委员会 (committees)、检验点 (checkpoints) 和最终确定性 (finality)。

一个简单的例子

怎么样才可以成为信标链的验证者呢?

首先你需要向当前以太坊主链上的一个合约发送押金( 32 个以太币),然后经过一系列的审核检查之后,你就会收到一张电子收据(以太坊智能合约中的事件),从此你就拥有了验证资格,成为了验证者。
成为验证者之后,信标链就会给你安排任务了。

它会将你随机分配到一到两个分片中去做验证。我们知道,在 PoW 机制下,也就是我们现在的以太坊主链上,矿工通过挖矿生成下一个区块,但是在 PoS 机制下,不存在挖矿,下一个区块的产生是由验证者们选择出来的。这个选择具有随机性,不是一个验证者所能掌控的,这也体现了去中心化的特点。

假如你很“活跃”,就可能被选中成为区块提议者(block proposer)。
假如你不是很“活跃”,信标链将可能将你指定为验证者 (validators),并分配到某一分片,此后你需要同该分片的其它验证者一起从候选区块中选择出新的区块。

然后该分片的区块提议者就会为这个分片收集交易,并且将这些交易纳入到刚刚验证者们选出的区块中去,虽然由于你不是区块的提议者,也就没有将交易纳入新区块的权力,但是作为验证者的你这个时候可以验证这个过程中区块提议者是否行为妥当。

如果你表现良好,做了身为验证者应该做的事就会得到奖励,相反,如果你违反规则就受到惩罚,惩罚就是从你抵押的 32 ETH 中扣除一部分,当抵押金低于 16 个以太币之后,信标链就会将你从验证者列表中移除。

如果有一天你不想当验证者了,你抵押的以太币加上你得到的奖励以及减去你因惩罚而扣除的以太币将不会回到你之前的以太坊主链中,而是会被存进某一个分片链中。

除了管理验证者之外,信标链还需要存储一些认证( Attestation )。

我们知道当前的以太坊区块链上存储了我们平时的那些资产转移等交易的数据信息,但是信标链不同于当前的以太坊主链,它存储的是一系列经过哈希运算的字符串。

在信标链中,验证者验证并签名交易,比如一笔转账交易,然后经过哈希变成一段字符串,将这个字符串存到信标链中,此时这个字符串就代表了一笔交易的数据,这样做的好处就是,你不用去深入探究这笔交易到底在哪个分片中发生。

分片中的状态一旦发生改变(比如某个账户余额发生了丁点改变),验证者都会把这个变化汇报给信标链。因此,信标链实时跟踪者分片的变化,也建立起了个分片间的联系与通信。

Staking 质押

质押是指存入 32 个以太币以激活验证者( validator)的行为。
质押者每质押 32 个以太币,就可激活一个验证者,即,一个质押者可激活多个验证者。

作为验证者,你将负责存储数据,处理交易并向区块链添加新的区块。这将保证以太坊的安全,并在此过程中为你赚取新以太币。

质押的目的和以前的挖矿相似,都是为了保证区块链正常运行。
但又在很多方面不同。 挖矿的前期支出庞大,需要投入强大的硬件和消耗大量能源,从而产生规模经济并促进集中化。
挖矿也没有提出任何将资产锁定作为抵押品的要求,这限制了被攻击后协议惩罚不良行为者的能力。

ETH2 中存在着多种形式的质押
  • 独立质押(Solo Staking)/(Home Staking)
    概述:用户自己运行一个验证者节点,直接参与区块提议和验证。
    要求:必须持有至少32 ETH,具备技术能力来设置和维护验证节点,还需要持续运行高可用的节点。
    优点:完全去中心化,用户自己控制资金,并且可以获得完整的质押奖励。
    缺点:技术门槛高,需承担运营节点的责任,若节点下线或表现不佳,可能会被罚款或削减质押的 ETH。

  • 质押即服务(Staking as a Service)
    概述:以太坊协议本身并不支持质押委托, 如果你有 32 个以太币需要质押,但是没有合适的硬件设备,那么质押即服务可以使你在使用运营商硬件设施的同时获得区块奖励。
    优点:对于那些拥有 32 个以太币但是不能解决运行节点的技术问题的人来说,这是个很好的选择
    缺点: 出于安全原因,用于转移或提取资金的密钥是单独分开的,即每个帐户都由 BLS 签名密钥和 BLS 提款密钥组成。用户会将签名密钥授权给运营商使用。

  • 池化质押/联合质押(Pooled Staking)
    概述:用户可以将少量 ETH 投入质押池,与其他用户共同筹集 32 ETH 来运行一个验证者节点。
    优点:适合小额用户,需达到 32 ETH 的最低限额,通过参与池化质押可以降低技术门槛和资金门槛。
    缺点:质押奖励需要与其他用户共享,管理资金的质押池也可能带来一定的信任风险。

  • 流动性质押(Liquid Staking)
    概述:流动性质押由联合质押而引出。在参与联合质押时,用户可能想在质押过程尚未结束时退出质押(当然还可能有其它原因)。因此,在用户参与联合质押的开始,平台就发给用户代表质押 ETH 的代币(例如 Lido 的 stETH),这些代币可以在二级市场上交易或参与 DeFi 活动。。
    优点:用户可以在质押期间保持资产的流动性,质押代币可以在 DeFi 生态中使用或交易。
    缺点:存在平台风险,流动性质押可能会涉及智能合约的漏洞或平台治理问题。

  • 交易所质押(Exchange Staking)/中心化质押(Centralized exchanges)
    概述:在加密货币交易所(如币安、Coinbase 等)直接质押ETH,用户只需将资金存入交易所账户并参与质押。
    优点:通常没有最低金额要求,用户只需在交易所拥有 ETH 即可,操作最为简单,用户无需管理私钥和节点,质押收益会自动分发。
    缺点:资金完全托管在交易所,存在一定的集中化风险,可能会收取手续费。

PoS

  • 简单来说,PoS意味着:
    • 某个人向存款合约中质押 32 个以太币后,其可化身为验证节点,若顺利完成任务,其最终可以取回 32 个 ETH,以及工作的奖励。但是,如果被证实发生不诚实活动,部分甚至全部质押金额将被销毁。
    • 在每个时隙(12 秒的时间间隔)中,会随机选择一个验证者作为区块提议者。 区块提议者将交易打包为一个区块后执行,然后确定一个新的“状态”。 区块提议者将这些信息包装到一个区块中并传送给其他验证者以供验证。
    • 其他获悉新区块的验证者再次执行区块中包含的交易,确定他们同意对全局状态提出的修改。 假设该区块是有效的,验证者就将该区块添加进各自的数据库。
    • 如果验证者获悉在同一时隙内有两个冲突区块,他们会使用自己的分叉选择算法选择获得最多质押以太币支持的那一个区块。

区块时间

区块时间是指两个区块诞生的时间间隔。

在基于 PoW 的 BTC 中,区块生成时间依赖于挖矿难度调整,是随机的。

在以太坊中,时间划分为每 12 秒一个单位,称为“时隙”。
在每个时隙内,选择一个单独的验证者提议区块。 假设所有验证者都在线且完全正常运行,则每个时隙内都会有一个区块产生,意味着区块时间是 12 秒。 但是,偶尔验证者在被要求提议区块时不在线,导致有时候一些时隙是空的。

即,在 ETH 中,每 12 秒(一个时隙)要么产生一个区块(极大概率),要么不产生,这个时间是确定的。

扩容

二层网络

分片

在计算机科学中,主要有两种扩容方式: A.纵向扩容:即增强节点能力 B.横向扩容:即增加节点数量

为了保证去中心化,区块链需要采取横向扩容方式。 ETH2 其中一个目标就是让节点可以在消费级硬件中运行。
总体来说,ETH2 采用的分片机制指的就是对数据库进行横向分割。

每条分片链都拥有一个节点子集,在该链上进行工作。虚拟矿工和验证者被分配到不同的分片中,并且只处理和验证自己所在分片链上的交易。

以太坊分片上的节点子集是动态的,按照区块顺序处理分片。

区块链实行分片机制的主要挑战在于如何确保分片安全性。
由于验证者分散在不同的分片中,有的节点可能会恶意控制某个分片。

解决该问题的关键在于:

随机分配 (shuffling) 验证者,每个分片区块都有一个委员会,其中的验证者都经由随机挑选。这种做法的目的是,经数学计算,如果攻击者控制的验证者少于总数的三分之一,其想要攻击单个分片是难以实现的。

此外,错误性证明(fraud proofs)、数据托管证明 (custody proofs) 和数据可用性检查 (data availability checks) 都是确保安全的重要因素,不过需要单独的讲解才能说清楚。

Eth2 目前的计划是启用64个分片。尽管分片和信标链是独立运作的,我们还是会针对整个系统的关键部分进行阐述。

PoS 的优势是,在任何给定时间都有全部已批准的区块生产者的记录,每个区块生产者都质押了以太币。 这个记录不但为分开治理奠定了基础,还可靠地划分了具体的网络责任。

这种责任与 PoW 形成对比,在 PoW 中,矿工对网络没有义务,可以立即停止挖矿并永久关闭其节点而不会受到任何影响。 而且,也没有已知区块提议者的记录,并且没有可靠的方法安全地划分网络责任。

EVM 以太坊虚拟机

EVM 是一个去中心化虚拟环境,它在所有以太坊节点上一致地方式执行代码。

节点运行以太坊虚拟机,以执行智能合约,利用“燃料”度量执行操作所需的计算工作。
因此我们说:存储以太坊虚拟机状态的实体计算机就是 Node 节点。

任何参与者都可以请求在以太坊虚拟机上执行任意代码,只是要付出一定费用,这个费用就是“燃料”;
代码执行会改变以太坊虚拟机的状态。

从 Ledger 账本 到 State Machine 状态机

Web3

  • Web 1.0 主要是由公司拥有的静态网站,用户之间的互动几乎为零 - 个人很少创造内容,导致它被称为只读网络。
  • Web 2.0 时期于 2004 年开启。 网络不再是只读的,它演变成读写网络。 互联网公司除了向用户提供内容外,还开始提供平台来共享用户生产的内容,并参与用户间的交互。
  • Web3 的核心是通过区块链、加密货币和非同质化代币将权力以所有权的形式归还用户。Web1 是只读的,Web2 能读/能写,未来的 Web3 能读/能写/能拥有。

SmartContract 智能合约

简单来说,你可以把智能合约想象成一种自动售货机:通过特定参数调用脚本后,如果满足某些特定条件,就会执行一些操作或计算。 例如,如果调用者将以太币发送给特定的接收者,简单的卖方智能合约就可以创建和分配数字资产所有权。

任何开发者都可以创建智能合约,并使用区块链作为其数据层,将其公开给网络,但要向网络支付以太币。 然后,任何用户都可以调用智能合约来执行其代码,并再次向网络支付费用。

Dapp 去中心化应用程序

去中心化应用程序 (dapp) 是在去中心化网络上构建的应用程序。

一般来说,一个网页应用 = 后端 + 前端。

一个**Dapp = 智能合约 + 前端用户界面 **,即智能合约就是 Dapp 的后端代码。

优点

  • 零停机时间:一旦将某 dapp 的智能合约部署到区块链上,整个网络都能为那些希望与合约互动的客户提供服务。 因此,恶意参与者无法针对单个
    dapp 发起 DoS 攻击。

缺点

  • Dapp 更难维护,因为发布到区块链的代码和数据更难修改,即使在旧版本中发现了漏洞或安全风险。、
  • 巨大的性能开销,而且难以扩展更多性能。 为了达到以太坊所追求的安全、完整、透明和可靠的水平,每个节点都会运行和存储每一笔交易。 除此之外,达成权益证明共识也需要时间。
  • 网络拥塞:至少在当前模型中,如果一个 dapp 使用了太多的计算资源,整个网络都会承担影响。 目前,该网络每秒只能处理约 10-15 笔交易;如果交易发送的速度超过这个速度,未确认的交易池会迅速膨胀。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2158840.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ubuntu中如何查看类型(函数)定义的头文件

问题: 1.该如何查找函数,或者数据类型的头文件? 方法: 1.使用vim搭配ctags 2.使用vscode 使用vscode查看头文件位置的步骤: 1.例如下图,我想添加包含file_operations的头文件 2.双击选中数据类型&#xf…

network request to https://registry.npmjs.org/xxx failed, reason: connect ETIM

目录: 1、问题描述2、解决方案3、npm镜像仓库替换 1、问题描述 npm install 时,报错:npm ERR! network request to https://registry.npmjs.org/postcss-pxtorem failed, reason: connect ETIMEDOU npm ERR! code ETIMEDOUT npm ERR! errno…

DSP学习00-F28379D学习准备(了解一个工程的构成)

叠甲 我也算初学F28379D,不对之处请大家斧正。不同型号的DSP在外设配置的函数上有一些区别,但是掌握一种对其他型号的来说则难度不大。对于我们而言学习DSP最终还是要用于算法验证,而DSP资源的最大化利用、代码效率提升等则是后话。 软件准…

【ASE】第一课_双面着色器

今天我们一起来学习ASE插件,希望各位点个关注,一起跟随我的步伐 今天我们来学习双面着色器,对颜色和贴图进行差值,双面显示不同的效果 最终效果: 思路: 1.先确定前后面的贴图和颜色 贴图(Alb…

华为高级交换技术笔记 2024-2025

2024-2025 一、9/31.通信模型和封装2.以太网3.MAC地址4.以太网帧5.MAC地址表的建立 二、9/61.交换机的数据的处理2.以太网帧的分类3.广播域4.vlan技术开发背景 一、9/3 1.通信模型和封装 2.以太网 3.MAC地址 4.以太网帧 5.MAC地址表的建立 二、9/6 1.交换机的数据的处理 2.以…

[SAP ABAP] 数据字典外键关联

SE11创建自定义数据库表 学校表(ZDBT_SCH_437) 表有3个组成字段: ① MANDT (参考数据元素为MANDT,主键) ② SCHID 学校ID (参考新建数据元素ZDE_SCHID_437,主键,NUMC4) ③ SCHNAME 学校名称 (CHAR20) 学生表(ZDBT_STU_437) 表有7个…

codeforces round974 div3 分层图 树形dp

A Robin Helps 问题&#xff1a; 思路&#xff1a;模拟 代码&#xff1a; #include <bits/stdc.h> using namespace std;const int N 2e5 10;void solve() {int n, k;cin >> n >> k;vector<int> a(n 1);for(int i 1; i < n; i ) cin >&…

着色器(Vertex Shader)基础

什么是顶点着色器 顶点着色器处理顶点并告知它们在“剪辑空间”中的坐标,该空间使计算机可以轻松了解哪些顶点对摄像机可见,哪些顶点不可见,必须剪切或“剪切”掉。 这使得 GPU 在后期阶段的速度更快,因为它们需要处理的数据较少。 它们通过接收来自顶点列表中的单个顶…

手写数字识别案例分析(torch,深度学习入门)

在人工智能和机器学习的广阔领域中&#xff0c;手写数字识别是一个经典的入门级问题&#xff0c;它不仅能够帮助我们理解深度学习的基本原理&#xff0c;还能作为实践编程和模型训练的良好起点。本文将带您踏上手写数字识别的深度学习之旅&#xff0c;从数据集介绍、模型构建到…

全栈开发(四):使用springBoot3+mybatis-plus+mysql开发restful的增删改查接口

1.创建user文件夹 作为增删改查的根包 路径 src/main/java/com.example.demo/user 2.文件夹里文件作用介绍 1.User(实体类) package com.example.demo.user; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.IdType; impo…

利用影刀实现批量发布文章的RPA流程(附视频演示)

前言 大家好&#xff0c;我是小智。在这篇文章中&#xff0c;我将分享一个实战案例&#xff0c;展示如何利用影刀实现批量发布文章的RPA流程。这里主要介绍其中一个简单步骤&#xff0c;其它步骤将通过视频演示。有使用方面的疑问可以留言。 影刀是一款强大的自动化工具&#x…

Matlab|考虑柔性负荷的综合能源系统低碳经济优化调度

目录 1 主要内容 2 部分代码 3 程序结果 4 下载链接 1 主要内容 程序主要实现的是考虑柔性负荷的综合能源系统低碳经济优化调度&#xff0c;模型参考《考虑柔性负荷的综合能源系统低碳经济优化调度》&#xff0c;求解方法采用的是混合整数规划算法&#xff0c;通过matlabc…

医学数据分析实训 项目四 回归分析--预测帕金森病病情的严重程度

文章目录 项目四&#xff1a;回归分析实践目的实践平台实践内容 预测帕金森病病情的严重程度作业&#xff08;一&#xff09;数据读入及理解&#xff08;二&#xff09;数据准备&#xff08;三&#xff09;模型建立&#xff08;四&#xff09;模型预测&#xff08;五&#xff0…

如何使用cmd命令查看本机电脑的主机名?

1、按键盘win R 键&#xff0c;输入cmd&#xff0c;然后按一下【回车】 2、输入ping -a localhost , 然后按下【回车】 3、如下Ping 后面的DESKTOP-ALB9JF7即是本机电脑的【主机名】

浮动静态路由

浮动静态路由 首先我们知道静态路由的默认优先级是60&#xff0c;然后手动添加一条静态路由优先级为80的路由作为备份路由。当主路由失效的备份路由就会启动。 一、拓扑图 二、基本配置 1.R1: <Huawei>system-view [Huawei]sysname R1 [R1]interface GigabitEthernet…

linux的ssh命令使用介绍

目录 一、SSH的基本概念 二、SSH的工作原理 1、建立连接 2、密钥交换 3、认证 4、加密通信 三、SSH的主要功能 1、远程登录 2、文件传输 3、端口转发 四、SSH的安全性 五、SSH的应用场景 六、SSH的实现软件 一、SSH的基本概念 SSH主要用于登录远程服务器和执行命令、传输文…

使用Conda配置python环境到Pycharm------Window小白版

使用Conda配置python环境到Pycharm 一、Conda安装和环境配置1.1 安装Conda软件1.2 判断是否安装成功1.3 创建Conda虚拟环境 二、 pycharm的安装2.1 Pycharm使用手册2.2 安装pycharm 三、 pycharm导入Conda环境 一、Conda安装和环境配置 anaconda官网 1.1 安装Conda软件 运行…

TryHackMe 第4天 | Pre Security (三)

该学习路径讲解了网络安全入门的必备技术知识&#xff0c;比如计算机网络、网络协议、Linux命令、Windows设置等内容。过去两篇已经对计算机网络和网络协议进行了简单介绍&#xff0c;本篇博客将记录 Linux命令 部分。 Linux 系统的优点就是其轻量级&#xff0c;有些 Linux 系…

通过spring-boot创建web项目

依赖的软件 maven 1. 官网下载zip 文件&#xff0c;比如apache-maven-3.9.9-bin.zip 2. 解压到某个盘符&#xff0c;必须保证父亲目录的名字包含英文&#xff0c;数字&#xff0c;破折号&#xff08;-&#xff09; 3. 设置环境变量M2_HOME, 并将%M2_HOME%\bin添加到windown…

Linux:Bash中的文件描述符详解

相关阅读 Linuxhttps://blog.csdn.net/weixin_45791458/category_12234591.html?spm1001.2014.3001.5482 Linux中的所有进程&#xff0c;都拥有自己的文件描述符(File Descriptor, FD)&#xff0c;它是操作系统在管理进程和文件时的一种抽象概念。每个文件描述符由一个非负整…