【区块链安全 | 第二篇】区块链概念详解
文章目录
- 概述
- 1. 区块链类型
- 2 区块链五层架构
- 3 账本模型
- 4. 节点(Node)
- 5. 区块(Block)
- 6. 区块链(Blockchain)
- 7. 区块链工作流程
- 核心技术
- 1. 共识机制
- 2. 智能合约
- 主要组件
- 1. 交易(Transaction)
- 2. 存储结构
- 3. Merkle树
- 去中心化和分布式特性
- 应用场景
概述
区块链是一种去中心化(Decentralized) 的分布式账本技术(Distributed Ledger Technology, DLT),它通过密码学、共识算法和点对点网络,实现多个节点之间无信任的存储和共享数据。
区块链的核心特性
去中心化、不可篡改、透明性和安全性。
1. 区块链类型
区块链可以根据其访问权限和管理方式分为三种主要类型:公有链、私有链、联盟链。
1.1 公有链(Public Blockchain)
任何人都可以加入并参与的去中心化区块链网络。
典型代表:比特币(BTC)、以太坊(ETH)、Solana(SOL)。
交易公开透明,不可篡改,依赖共识机制(如 PoW、PoS)确保安全。
适用于去中心化金融(DeFi)、NFT、DAO 等开放型应用。
1.2 私有链(Private Blockchain)
仅限某个组织或机构内部使用,访问和交易权限受控制。
交易速度快,隐私性强,但去中心化程度较低。
典型代表:Hyperledger Fabric(企业级应用)。
适用于企业内部数据管理、供应链管理等。
1.3 联盟链(Consortium Blockchain)
由多个组织或机构共同管理,节点由成员单位控制。
既具有私有链的隐私保护特性,也部分保留公有链的去中心化特性。
典型代表:Quorum(摩根大通推出的企业级以太坊),R3 Corda。
2 区块链五层架构
区块链架构由五个核心层次组成,其中数据层保证数据安全,网络层支持节点通信,共识层确保数据一致性,合约层提供智能合约支持,应用层实现最终用户场景。
2.1 数据层(Data Layer)
负责存储区块链上的数据,主要包括:
- 区块(Block):由交易数据组成的记录单元。
- 链式结构(Chain Structure):通过哈希指针链接的区块,使数据不可篡改。
- Merkle 树:用于高效验证数据完整性。
- 加密技术(哈希、数字签名):保障数据安全性和隐私性。
主要技术:SHA-256(比特币采用的哈希算法)、Keccak-256(以太坊使用的哈希算法)、Secp256k1(椭圆曲线签名算法)
2.网络层(Network Layer)
负责节点之间的通信,支持分布式存储和共识传播。
主要机制:
- P2P 网络(Peer-to-Peer):去中心化的节点通信方式。
- Gossip 协议:用于区块和交易的传播,提高网络同步效率。
- 节点发现(Node Discovery):如 Kademlia DHT 用于高效路由。
主要协议:TCP/IP(基础网络协议)、DevP2P(以太坊的 P2P 协议)、Libp2p(Polkadot 采用的 P2P 协议)
3.共识层(Consensus Layer)
负责网络节点对区块链数据达成一致,确保数据不可篡改。
主要共识机制:
- PoW(工作量证明):比特币、以太坊 1.0(消耗算力)。
- PoS(权益证明):以太坊 2.0、Solana(持币参与验证)。
- DPoS(委托权益证明):EOS、Tron(投票选出验证者)。
- PBFT(拜占庭容错):Hyperledger Fabric(企业级区块链)。
- PoA(权威证明):VeChain、BSC(由授权节点负责出块)。
4.合约层(Contract Layer)
负责智能合约的部署和执行,支持自动化交易和应用逻辑。
主要技术:
-
智能合约(Smart Contract):区块链上的自动执行代码。
-
虚拟机(VM):EVM(以太坊虚拟机)、WASM(WebAssembly,Polkadot 使用)
-
合约语言:Solidity(以太坊)、Rust(Solana、NEAR)、Move(Aptos、Sui)
5.应用层(Application Layer)
负责与用户交互,提供区块链的实际应用功能。
主要应用:
- DeFi(去中心化金融):Uniswap、Aave
- NFT(非同质化代币):OpenSea、Blur
- GameFi(区块链游戏):Axie Infinity
- DAO(去中心化自治组织):MakerDAO
- 跨链协议:LayerZero、Cosmos
3 账本模型
区块链账本模型主要分为 UTXO(未花费交易输出) 和 账户余额模型,它们分别适用于不同的公链,核心区别在于如何存储和管理交易数据。
3.1 UTXO 模型(Unspent Transaction Output)
比特币等公链采用 UTXO 模型,将交易视为输入和输出的 UTXO 变动。UTXO 是指交易产生的输出,但尚未被花费,因此可以用作未来交易的输入。
每笔交易由多个 UTXO 作为输入,并生成新的 UTXO 作为输出。当某个 UTXO 被使用后,它就会从 UTXO 集合中移除,新的 UTXO 进入集合。UTXO 交易是不可分割的,因此如果用户想花费一笔 UTXO 但金额超过实际需求,多余部分会作为找零重新生成 UTXO。
UTXO 结构天然支持并行处理,因为每笔交易只涉及特定的 UTXO,不会影响全局状态。由于 UTXO 交易不直接绑定账户,而是基于交易输入和输出,交易隐私性较高,较难追踪特定账户的余额。
例如,Alice 账户有两个 UTXO,分别是 0.3 BTC 和 0.7 BTC。她希望向 Bob 发送 0.5 BTC,则需要选取 0.7 BTC 作为输入,生成两个新的 UTXO:0.5 BTC 给 Bob,0.2 BTC 找零返回 Alice。这样,Alice 账户的 UTXO 发生变化,而不是余额直接减少。
3.2 账户余额模型(Account/State Model)
以太坊等公链采用账户余额模型,直接存储每个账户的余额,并在交易发生时修改对应账户的余额。这种方式类似于银行账户,交易时只需调整双方的余额,而不需要创建新的 UTXO。
账户模型的状态由全球共享存储,所有账户的余额和合约存储数据都直接在区块链状态树(如以太坊的 Merkle Patricia Tree)中维护。以太坊使用全局状态,使得智能合约能够随时查询和修改存储的数据。
账户余额模型的主要优势在于智能合约的可编程性,允许合约在交易过程中执行复杂逻辑,如资产交换、条件支付、自动清算等。但由于多个交易可能涉及同一账户,因此无法像 UTXO 那样并行处理交易。此外,账户余额的变动是可跟踪的,因此隐私性相对较低。
例如,Alice 账户余额为 1 ETH,她向 Bob 转账 0.5 ETH,交易完成后,Alice 的余额变为 0.5 ETH,Bob 的余额增加 0.5 ETH。整个过程只需更新两方的余额,而不是创建新的 UTXO。
4. 节点(Node)
区块链网络由多个节点组成,节点的种类和功能取决于具体的区块链系统。
全节点(Full Node)
- 存储完整的区块链数据(包括所有区块和交易)。
- 参与交易验证:执行共识协议,对新区块进行验证并存入本地存储。
- 广播新区块:向其他节点传播区块数据,确保网络同步。
- 提供查询服务:轻节点(Light Node)可以向全节点请求数据。
- 代表性区块链:比特币、以太坊等公链中的全节点是整个网络的“信任基础”。
轻节点(Light Node)
-
仅存储区块头,不存储完整交易数据。
-
通过全节点进行数据查询,以减少存储和计算需求。
-
适用于移动设备、低功耗设备,如加密钱包或浏览器插件。
-
验证交易时使用 Merkle 证明(Merkle Proof),确保数据完整性。
矿工节点
-
负责创建新区块,通过 PoW(工作量证明)或其他共识机制竞争记账权。
-
计算复杂数学问题(如比特币的 SHA-256 哈希计算)以挖矿获得奖励。
5. 区块(Block)
区块链由一系列区块组成,每个区块包含多个交易,并通过哈希链接到前一个区块,形成一条不可篡改的链。
每个区块主要由以下部分组成:
区块头(Block Header)
区块头是区块的核心部分,通常包含以下字段:
Merkle树(Merkle Tree)
Merkle 树是一种 二叉哈希树 结构,主要用于高效验证区块中的交易数据。
6. 区块链(Blockchain)
区块链是由一系列区块组成的链,每个区块通过哈希链接到前一个区块,确保数据的不可篡改性。区块链的每个节点都有一个完整或部分的区块链副本。
区块链特性:
7. 区块链工作流程
1、用户使用私钥签名交易,广播到网络。
2、节点验证交易:检查交易的合法性,如账户余额、签名有效性等。
3、交易打包入区块:矿工(PoW)或验证者(PoS)选取待处理交易,组成新区块。
4、共识机制确认新区块,在 PoW 中,矿工计算出满足难度要求的哈希值,获得记账权;在 PoS 中,验证者按照抵押代币数量进行区块确认。
5、新区块加入区块链:新区块的哈希值广播到全网,所有节点更新本地区块链副本。
核心技术
1. 共识机制
共识机制是区块链中节点达成一致并确认交易的协议。它确保所有节点对交易的顺序和数据的有效性达成共识。常见的共识机制包括:
工作量证明(Proof of Work, PoW)
矿工通过计算复杂的数学题来“挖矿”并生成新区块。比特币采用此机制。
权益证明(Proof of Stake, PoS)
节点通过抵押一定数量的加密货币来获得出块权,持币更多的节点更有可能生成新区块。以太坊计划转向PoS。
委托权益证明(Delegated Proof of Stake, DPoS)
通过选举产生的代表节点来生成新区块,常用于EOS、TRON等公链。
拜占庭容错(Byzantine Fault Tolerance, BFT)
允许部分节点故障或恶意操作而不会影响整体网络的共识。
2. 智能合约
智能合约是自动化执行合约条款的程序,它在区块链上运行,确保合约条款在满足特定条件时自动执行。智能合约常用于去中心化应用(DApps)和去中心化金融(DeFi)等领域。
主要组件
1. 交易(Transaction)
交易是区块链中数据交换的核心元素。每个交易包括:
- 发送方和接收方的公钥
- 交易金额(例如,比特币或以太坊的转账)
- 时间戳:交易发生的时间
- 数字签名:用于验证交易的真实性
2. 存储结构
区块链通过 链式结构 存储数据。每个新区块都有指向前一个区块的哈希值,确保数据的顺序性和一致性。每个区块不仅存储交易数据,还保存区块头信息,形成一个加密的“链条”。
3. Merkle树
Merkle树是一种特殊的哈希树结构,用于在区块链中高效地验证大量数据。每个区块的Merkle根用于验证区块内所有交易的完整性,避免重复存储数据。
去中心化和分布式特性
去中心化
网络中的每个节点都有平等的权力参与网络的维护和决策。
区块链的去中心化特性意味着没有单一的控制实体,每个节点都参与区块链的维护与验证。
分布式账本
所有节点都有区块链的副本,共同维护区块链的最新状态,避免单点故障。
应用场景
1、加密货币(Cryptocurrency)
区块链的最知名应用是加密货币,如比特币(BTC)和以太坊(ETH)。它们使用区块链技术进行去中心化的价值转移,无需中介。
2、去中心化金融(DeFi)
DeFi利用智能合约在区块链上提供借贷、交易、保险等金融服务,去除传统金融机构的中介角色。
3、供应链管理
区块链可以用于跟踪供应链中的商品流动,确保商品的来源和状态不可篡改。IBM的Food Trust项目就是一个典型应用案例。
4、数字身份
通过区块链,用户可以拥有去中心化的身份管理系统,确保个人身份数据的隐私性和安全性。
5、投票系统
区块链能够提供去中心化、透明且不可篡改的在线投票平台,保证选举的公平性和安全性。
6、版权和数字内容
区块链技术可以用于数字内容的版权管理,确保创作者能够公平地获得收益,同时确保内容的所有权和使用权不可篡改。
相关文章:
【区块链安全 | 第二篇】区块链概念详解
文章目录 概述1. 区块链类型2 区块链五层架构3 账本模型4. 节点(Node)5. 区块(Block)6. 区块链(Blockchain)7. 区块链工作流程 核心技术1. 共识机制2. 智能合约 主要组件1. 交易(Transaction&am…...
Android实践开发制作小猴子摘桃小游戏
Android实践制作小猴子摘桃小游戏 实践素材项目源文件获取:Android可以存在版本差异项目如果不能正确运行,可以使用里面的素材自己构建项目Android实践制作小猴子摘桃小游戏Android实践制作小猴子摘桃小游戏https://mp.weixin.qq.com/s/jNU_hVfj9xklsil…...
“11.9元“引发的系统雪崩:Spring Boot中BigDecimal反序列化异常全链路狙击战 ✨
💥 "11.9元"引发的系统雪崩:Spring Boot中BigDecimal反序列化异常全链路狙击战 🎯 🔍 用 Mermaid原生防御体系图 #mermaid-svg-XZtcYBnmHrF9bFjc {font-family:"trebuchet ms",verdana,arial,sans-serif;fon…...
【C++】回调函数和回调对象
文章目录 回调可调用对象函数指针作回调函数对象作回调函数对象的使用std::function【C11】作回调使用 【C11】Lambda表达式作回调【C11】bind对象作回调std::bind的使用作回调使用 回调 当发生某种事件时需要调用或触发另一个事件即为回调,回调的核心即为将可调用…...
电子产品可靠性预计怎么做?
目录 1、电子产品可靠性预计的目的 2、电子产品可靠性预计的常用方法 2.1、基于统计数据的预计方法 2.2、物理模型预计方法 2.3、加速寿命试验 2.4、基于仿真的预计方法 3、电子产品可靠性预计的步骤 3.1、定义可靠性指标 3.2、收集数据 3.3、建立模型 3.4、进行仿真…...
Ubuntu20.0.4创建ssh key以及repo命令的使用
创建ssh key ssh-keygen //一路回车,不用输入任何东西cat ~/.ssh/id_rsa.pub 配置git config git config --global user.name xxx // 设置git用户名git config --global user.email xxx.com.cn //设置git 邮箱git config --list// remove the git config// rm -fr …...
Java动态代理的使用和安全问题
前言: java的动态代理是指进行明确的分工的操作(多接口 比如我是酒店的老板 有人找我合作 需要先经过前台 我的助理 而不是直接找我) 序列化 :为什么序列化 序列化的对象是一个类 我们也叫对象 class一堆东西里面有很多函…...
Linux云计算SRE-第二十一周
构建单节点prometheus,部署node exporter和mongo exporter。构建kibana大盘。包含主机PU使用率,主机MEM使用率,主机网络包速度。mongo db大盘,包含节点在线状态,读操作延迟等 一、实验环境准备 - 节点信息࿱…...
《Python实战进阶》第33集:PyTorch 入门-动态计算图的优势
第33集:PyTorch 入门-动态计算图的优势 摘要 PyTorch 是一个灵活且强大的深度学习框架,其核心特性是动态计算图机制。本集将带您探索 PyTorch 的张量操作、自动求导系统以及动态计算图的特点与优势,并通过实战案例演示如何使用 PyTorch 实现…...
python dict转换成json格式
一开始你变成字典格式 data [ { a : 1, b : 2, c : 3, d : 4, e : 5 } ] import json data [ { a : 1, b : 2, c : 3, d : 4, e : 5 } ] data2 json.dumps(data) print(data2)json.dumps(data) 是将数组json化。 json格式化输出 data2 json.dumps({a: Runoob, b: 7…...
美亚科技业绩波动明显:现金流为负,四起未决诉讼涉金额1700万
《港湾商业观察》施子夫 近期,广东美亚旅游科技集团股份有限公司(以下简称,美亚科技)披露第二轮审核问询函的回复。从两轮问询函监管层提出的问题来看,有关美亚科技业绩增长的合理性、募投项目的必要性及合理性、经营…...
Java面试总结+算法
目录 Java 中 和 equals 的区别是什么? 什么是类加载器,Java 中有哪些类加载器?它们的职责分别是什么? Redis 有哪些数据结构?它们分别适用于哪些场景? 什么是索引?MySQL 有哪些常见的索引类…...
深度优先搜索(DFS)在排列组合问题中的应用详解:C++实现与优化
一、排列问题(Permutations) 目标:生成所有可能的排列(元素顺序不同视为不同结果)。 示例:输入 [1,2,3],输出所有长度为3的排列,共6种。 C实现代码 #include <iostream> #i…...
GeoChat : Grounded Large Vision-Language Model for Remote Sensing论文精读
GeoChat : Grounded Large Vision-Language Model for Remote Sensing 是一个针对遥感场景的llm,提供支持多任务对话(对高分辨率遥感图像)。也造了个数据集。 一些思考: 文中提到的局限性:小物体和多框预测较难。小物…...
Postman使用02、断点、fiddler弱网测试
脚本操作 一、脚本导出 1.导出json脚本 2.打包json文件 3.下载的文件 二 .导入脚本 1.选择文件 2.点击导入 3.导入的接口 三.多接口运行 1.集合右键,点击run ,运行多个接口 2.编辑环境,集合,执行次数等 3.运行多个接口 四.运行…...
深入解析 C++20 中的 std::bind_front:高效函数绑定与参数前置
文章目录 1. 什么是 std::bind_front?2. 使用 std::bind_front2.1 基本用法2.2 绑定多个参数 3. 优势与特点3.1 简化代码3.2 支持可调用对象3.3 支持完美转发 4. 实际应用场景4.1 事件处理4.2 算法通用化4.3 成员函数调用 5. 总结 在现代 C 编程中,函数绑…...
Opencv计算机视觉编程攻略-第三节 图像颜色处理
第三节 图像颜色处理 1.颜色比较2.GrabCut分割图像3.色调、饱和度以及亮度 1.颜色比较 主要实现逐像素的颜色比较,其中注意BGR颜色空间不连续,不利于颜色提取和区分,转换到Lab空间: int getColorDistance(const cv::Vec3b& c…...
第十七章:Future Directions_《C++ Templates》notes
Future Directions 核心重难点:示例代码: 设计题多选题答案设计题详解 核心重难点: 泛型非类型模板参数 允许任意类型作为非类型模板参数(如template<typename T, auto N>)需解决类型推导和链接问题 编译期控制…...
ComfyUI-PSD-Replace: 海报与壁纸批量生成
ComfyUI-PSD-Replace: 海报与壁纸批量生成 🚀 插件介绍 ComfyUI-PSD-Replace 是一款强大的图像批量处理插件,专为设计师和创意工作者打造。无论你是想快速生成多款海报、定制壁纸,还是批量更新设计模板,本插件都能帮你轻松实现&a…...
图解预训练模型 ELMo 和 BERT
一、ELMo 二、BERT 以上笔记参考自b站up主 自然卷小蛮(自然卷小蛮的个人空间-自然卷小蛮个人主页-哔哩哔哩视频),感兴趣的可以去深入了解。...
YoloV8训练和平精英人物检测模型
概述 和平精英人物检测,可以识别游戏中所有人物角色,并通过绘制框将人物选中,训练的模型仅仅具有识别功能,可以识别游戏中的视频、图片等文件,搭配Autox.js可以推理,实现实时绘制,但是对手机性…...
基于物联网的智能蔬菜仓库设计(论文+源码)
1系统功能分析 由于蔬菜仓库内部环境直接影响到内部货物的正常存储工作,因此对蔬菜仓库内部环境进行智能化的监控具有重要意义。本次基于物联网的智能蔬菜仓库设计,系统实现的功能如下: (1)对蔬菜仓库内部进行温度检测…...
Java 字符流全解析:核心类实战指南
一、FileReader 与 FileWriter:文本文件基础操作 功能:直接基于字符处理文本文件,自动完成字节到字符的解码(默认使用系统编码)。 适用场景:读写简单的文本文件(如 .txt、.csv)。 …...
SQL Server 2022 安装问题
一、安装与配置问题 1. SQL Server 2022 安装失败怎么办? 常见原因: 硬件或操作系统不满足最低要求(如内存、磁盘空间不足)。未关闭防火墙或杀毒软件。之前版本的 SQL Server 残留文件未清理。 解决方案: 确保硬件配…...
Vue3 实现pdf预览
1.使用到的插件 vue3-pdf-app 以及预览效果 2.下载依赖 // 可以使用npm 以及pnpm // 下载版本1.0.3 pnpm install vue3-pdf-app^1.0.3 3.封装pdfModel组件复用 <template><VuePdfApp :page-scale"pageScale" :theme"theme" :style"width: …...
python网络爬虫开发实战之网页数据的解析提取
目录 1 XPath的使用 1.1 XPath概览 1.2 XPath常用规则 1.3 准备工作 1.4 实例引入 1.5 所有节点 1.6 节点 1.7 父节点 1.8 属性匹配 1.9 文本获取 1.10 属性获取 1.11 属性多值匹配 1.12 多属性匹配 1.13 按序选择 1.14 节点轴选择 2 Beautiful Soup 2.1 简介…...
GitHub Copilot平替:CodeGeeX 2.0实测报告
本文基于20个真实开发场景对CodeGeeX 2.0进行深度评测,涵盖代码生成质量、上下文理解能力、多语言支持度等关键维度。通过Python数据分析、Java微服务、React前端开发三大核心场景的对比实验,揭示其相比GitHub Copilot在中文语境支持、本地化部署、隐私保…...
QT对象模型
信号,槽,函数执行顺序 首先,拖入一个按钮,在转到槽,在click() 转到widget.cpp 在widget.h中 然后在widget.cpp中 运行结果 当发出信号后,先执行槽函数,再执行信号后面的函数(单线程) 在widget.h…...
C++:类型推导规则 unsigned short + 1
在 C/C 中,整数提升(Integer Promotion) 规则决定了 vlan_id 1 的类型: unsigned short 的值在运算时会被 提升(promote) 到 int 或 unsigned int(取决于平台)。 默认情况下&#x…...
PHP接口开发:从基础到高级的全面指南
一、接口基础与核心概念(约800字) 1.1 接口的本质定义 在PHP中,接口(Interface)是一种特殊的抽象结构,它通过interface关键字定义一组方法的契约规范,不包含具体实现。这种设计强制实现类必须遵循统一的调用标准,如: interface PaymentGateway {public function proc…...
C#Dictionary值拷贝还是引用
Dictionary值拷贝还是引用 这可能算是Directionary的一个坑值类型(Value Type)引用类型(Reference Type)总结 关于锁1. **锁对象的可见性**2. **锁对象的唯一性**3. **最佳实践**4. **为什么 readonly 是一个好的选择**5. **总结*…...
deepseek实战教程-第六篇查找源码之仓库地址与deepseek-R1、deepseek-LLM仓库内容查看
上一篇讲了支持deepseek的模型应用的本地安装和部署以及使用。再上一篇讲解了deepseek提供的开放api,便于开发者基于deepseek提供的接口来编写属于自己的业务应用程序。但是前面几篇我们都是在用模型,我们知道deepseek是开源的,那么deepseek的源码在哪里,具体源码是什么样的…...
WELL健康建筑认证是什么?
**WELL健康建筑认证:全方位呵护居住者福祉的权威标准** WELL健康建筑认证,这一源自美国的全球性健康建筑标准,宛如建筑界的璀璨明珠,以其独特的光芒照亮了健康建筑的发展之路。它不仅是全球首部专门针对室内环境提升人体健康与福…...
C++ STL 序列式容器之(三)-- List
一、什么是list? Lists are sequence containers that allow constant time insert and erase operations anywhere within the sequence, and iteration in both directions. 列表是序列容器,允许在序列中的任何位置进行以常量时间插入和擦除操作&…...
CAN基础知识学习二
一、控制器局域网总线(CAN,Controller Area Network); 二、CAN FD 是CAN with Flexible Data rate的缩写,翻译为【可变速率的 CAN】 CAN-FD 采用了两种位速率:从控制场中的 BRS 位到 ACK 场之前(…...
Java编程思想:为何有时要将子类对象赋值给父类引用
为何有时要将子类对象赋值给父类引用,用父类来进行实例化? 这就要说多态的优势: 代码的扩展性和降低耦合度,而不是完全避免修改代码。 TuXing t new Changfangxing(); Changfangxing k (Changfangxing)t;原因1: 代码可拓展性 …...
2025年优化算法:龙卷风优化算法(Tornado optimizer with Coriolis force,TOC)
龙卷风优化算法(Tornado optimizer with Coriolis force)是发表在中科院二区期刊“ARTIFICIAL INTELLIGENCE REVIEW”(IF:11.7)的2025年智能优化算法 01.引言 当自然界的狂暴之力,化身数字世界的智慧引擎&…...
2小样本学习(Few-Shot)之相似度
目录 小样本学习的基本思路: 具体实现方法: 小样本学习的基本思路: 学习一个相似度函数similarity function:sim(x,x) 两个样本越相近,相似度越高。 比如:...
docker-操作实战
前言 C镜像制作 因为我平常不用,所以不书写了 SpringBoot 微服务镜像制作 mkdir java ca java cp /data/maxhou/myapp/xxx.jar . vi Dockerfile FROM openjdk:8 COPY ./xxx.jar /app.jar CMD ["java","-jar","/app.jar"]COPY ./…...
后大模型时代智能体将成为“新宠”
智能体 |未来已来 智能体 |市场井喷 智能体 |定义 智能体 |与大模型的区别 智能体 |与Copilot的区别 智能体 |企业价值 智能体 |个体价值 智能体 |开发流程 智能体 |提示词解读 智能体 |应用场景 智能体 |重难点问题...
【MySQL】监控MySQL
目录 使用状态变量监控MySQL 使用性能模式(Performance Schema)监控MySQL 1.性能模式 2.性能模式设置表 3.sys模式 使用状态变量监控MySQL 使用 show status 语句评估系统运行状况。 可以添加范围修饰符global或session来显示全局或本地状态信息。…...
CTF类题目复现总结-[BSidesSF2020]toast-clicker 1
一、靶场地址 https://buuoj.cn/challenges#[BSidesSF2020]toast-clicker1二、复现步骤 1、下载压缩包,解压是apk文件; 2、利用 jadx apk反编译工具; jadx下载地址:https://github.com/skylot/jadx67, 83, 68, 120, 62, 109, …...
(更新完)Supplementary Material——AZ-NAS
6. Supplementary Material 在本补充材料中,我们提供了 AZ-NAS 在 NDS [18]、NAS-Bench-201 [7] 和 MobileNetV2 [14, 19] 搜索空间上的额外结果和深入分析。 Additional results on the NDS benchmark. 神经设计空间(NDS) [18] 基准提供了…...
基于SSM框架的线上甜品销售系统(源码+lw+部署文档+讲解),源码可白嫖!
摘要 网络技术和计算机技术发展至今,已经拥有了深厚的理论基础,并在现实中进行了充分运用,尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代,所以对于信息的宣传和管理就很关键。因此网上销售信息的…...
TCP | 序列号和确认号 [逐包分析] | seq / ack 详解
注 : 本文为 “TCP 序号(seq)与确认序号(ack)” 相关文章合辑。 英文引文,机翻未校。 中文引文,略作重排。 如有内容异常,请看原文。 Understanding TCP Seq & Ack Numbers […...
Citus源码(1)分布式表行为测试
最近对citus的实现非常好奇,本篇对citus的行为做一些测试。本篇只测行为,不分析源码。后面会继续写一系列文章分析citus源码。 环境:3节点 PG17 with citus。 SELECT citus_set_coordinator_host(127.0.0.1, 3001); SELECT citus_add_node(1…...
【AI测试必学】DeepSeek API 快速入门:获取 API Key 与调用 API 步骤详解
DeepSeek API 快速入门:获取 API Key 与调用 API 步骤详解 一、获取 API Key二、调用 DeepSeek API方法 1:使用 OpenAI Python SDK 调用 DeepSeek API方法 2:使用 requests 库直接发送 HTTP 请求方法 3:使用 curl 命令 相关链接 一…...
Web前端之UniApp、Taro、ReactNative和Flutter的区别
MENU 前言介绍及公司技术差异使用方法使用场景差异注意事项打包与部署差异框架应用实例结语 前言 在移动应用开发领域,跨平台框架已成为开发者的得力工具。UniApp、Taro、ReactNative和Flutter它们在Android(安卓)或iOS(苹果&…...
[leetcode]map的用法
1. 定义和初始化 定义:std::map是一个关联容器,键值对会自动根据键的值进行排序(默认是升序)。 cpp复制 map<char, int> mp; 插入元素:可以通过operator[]或insert方法插入键值对。 cpp复制 mp[a] 1; mp[b] 3…...
PHP大马的使用
BestShell/best_php_shell.php at master Kevil-hui/BestShell 这里用到的是这位师傅的大马(主要是从头开始写一个大马实在太麻烦了) 用pikachu靶场进行上传的测试 在这里传马,这个是简单的前端校验,bp抓包改后缀就好了 上传成…...