0101基础知识-区块链-web3
文章目录
- 1 web3学习路线
- 2 区块链简史
- 2.1 区块链
- 2.2 公共账本
- 2.3 区块链的设计哲学
- 2.3.1 去中心化
- 2.3.2 共识
- 2.3.2.1 上链
- 2.3.2.2 共识算法
- 3 web3面向资产的互联网
- 3.1 安全性和去中心化的权衡
- 4 智能合约
- 4.1 以太坊智能合约
- 4.2 去中心化应用
- 5 小结
- 结语
1 web3学习路线
参考下面链接1
2 区块链简史
比特币白皮书,全名为《比特币:一种点对点的电子现金系统》(Bitcoin: A Peer-to-Peer Electronic Cash System),由化名“中本聪”(Satoshi Nakamoto)的个人或团队于2008年10月31日首次发布。
2.1 区块链
比特币协议将用户在某一段时间内所有的交易(数据),存储在区块(数据结构)中。随着时间推移,每个新区块包含前一个区块的哈希,这些区块按照先后顺序连起来,构建成区块链的存储结构:
区块链是一个由区块所组成的链式存储结构,区块中包含交易(用户数据)。所有有类似存储结构的协议统称为区块链。
- 解决问题:现有金融系统资金管理不透明、货币超发等等操作引起的各种问题
2.2 公共账本
公共账本是一种去中心化、公开透明的分布式数据库,记录所有参与者的交易或数据变更,无需依赖中心化机构维护。为了激励大家参与到公共账本的维护中,发放比特币奖励。如下图所示:
2.3 区块链的设计哲学
系统简单,使用简洁的脚本语言减少了复杂性,使得系统更易于理解、维护和审计。
图灵完备:计算机科学中的一个术语,通俗的解释,一个系统如果是图灵完备的,就意味着,只要给它足够的时间和资源,它能够执行任何可以通过编程描述的计算任务。
比特币(协议)是图灵不完备的,为了解决这个问题,以太坊协议发布。
Layer2(二层网络):二层网络是基于某一个区块链网络,开发一个新的协议,新的协议可以积累大量的交易收集并且一次提交给主网,作用:
- 提示主网的效率
- 增加主网的可扩展性
- 增加更多的功能
2.3.1 去中心化
区块链中的去中心化指将控制权和决策权从中心化的实体(个人、组织或团体)转让给分布式网络。
2.3.2 共识
2.3.2.1 上链
如何保证不同节点数据一致?
上链:将数据或交易通过区块链网络记录到不可篡改的分布式账本中,使其具备公开透明、可追溯且永久存储的特性。
上链操作步骤
-
创建交易:
- 通过钱包生成交易请求(如MetaMask发送ETH转账)。
- 调用智能合约函数(如ERC-20代币转账、NFT铸造)。
-
签名验证:
- 使用私钥对交易签名,证明所有权(非对称加密)。
-
广播至网络:
- 将签名后的交易广播至区块链节点(如以太坊全节点)。
-
共识确认:
- 矿工/验证者打包交易到区块(如比特币PoW需6次确认)。
-
链上存储:
- 数据写入区块并同步至全网节点(如IPFS存储文件,哈希上链)。
2.3.2.2 共识算法
女巫攻击(Sybil Attack)是指攻击者通过创建多个虚假身份,来操控和破坏网络系统的一种攻击方式。
在区块链和其他分布式系统中,这种攻击可以用来获取不公平的优势,比如控制多数节点来影响共识过程或者干扰网络的正常运行。
比特币网络中,需要解决复杂的数学难题来添加交易。这个过程需要大量的计算资源和时间,确保只有具备足够的计算能力的个才能参与区块链的维护。
提升不诚实节点的作恶成本,增加诚实节点经济激励,让作恶的收益远小于成本。来保证在区块链网络中个体和个体的交互的诚实。
解决难题的过程称为挖矿,用于提供计算资源的机器称为矿机。这种验证方式称为POW工作量证明。
- 难题:矿工们需要解决一个复杂的数学问题,这个问题很难解,但一旦解出来了,其他人很容易验证解是否正确。
- 计算力:解这些问题需要大量的计算资源和电力,这意味着矿工们需要投资昂贵的硬件和支付电费。
- 验证:当一个矿工解出问题并获得一个新块,他会把解和新块广播到整个网络。其他矿工会验证这个解是否正确,如果正确,这个新块就会被添加到区块链中
- 奖励:成功解出问题并添加新块的矿工会得到比特币作为奖励,这是他们投入大量资源的回报。
算法 | 原理 | 优点 | 缺点 | 代表项目 |
---|---|---|---|---|
PoW(工作量证明) | 节点通过计算哈希难题竞争记账权,算力决定成功率。 | 安全性高,抗51%攻击成本高。 | 能耗巨大,交易速度慢(比特币7 TPS)。 | 比特币、莱特币 |
PoS(权益证明) | 节点质押代币参与验证,持币量与时间决定记账概率。 | 节能环保,TPS更高(以太坊PoS约10万 TPS)。 | 富者愈富(马太效应),可能中心化。 | 以太坊2.0、Cardano |
DPoS(委托权益证明) | 持币者投票选出超级节点(如21个),轮流出块。 | 高效(EOS可达4000 TPS),低延迟。 | 节点中心化,依赖治理机制。 | EOS、TRON |
PBFT(实用拜占庭容错) | 节点通过多轮投票达成共识,需2/3以上诚实节点。 | 快速最终确认(秒级),适合联盟链。 | 节点数量受限(通常<100),扩展性差。 | Hyperledger Fabric |
PoA(权威证明) | 预先选定可信节点(如企业或机构)负责记账。 | 高吞吐量,低能耗。 | 完全中心化,牺牲去信任化。 | VeChain、POA Network |
PoH(历史证明) | 通过可验证的时间戳序列化交易,减少节点间同步开销。 | 极高速度(Solana 5万+ TPS)。 | 依赖中心化时钟,安全性待验证。 | Solana |
Avalanche(雪崩协议) | 通过随机抽样和重复投票达成概率共识,无区块概念。 | 高扩展性,低延迟,环保。 | 新兴算法,实际应用验证不足。 | Avalanche |
3 web3面向资产的互联网
3.1 安全性和去中心化的权衡
- 共识算法复杂性: 共识需要多个节点进行验证和沟通,增加共识达成的时间和复杂性。
- 去中心化存储:每个节点都维护整个区块链的副本。每笔交易都需要广播到全网,并由大多数节点验证和存储。
拥有所有权的数据就是一种资产。去中心化系统适用于处理资产数据。
4 智能合约
4.1 以太坊智能合约
- 去中心化
- 数据透明
- 不可篡改
- 消除交易对手风险
4.2 去中心化应用
去中心化金融(Decentralized Finance: DeFi)指在区块链网络上运行的一系列金融应用和服务。DeFi的目标是,无需中介的情况下,通过去中心化技术提供传统金融服务。
非同质化通证(Non-Fungible Token:NFT)
是一种代表独特资产的数字通证。与比特币和以太坊等同质化通证不同,每个NFT都是独一无二的,不能与其他NFT互换。
去中心化自治组织(Decentralized AutonomousOrganization:DAO
通过智能合约在区块链上运行的组织。DAO的决策和管理过程是去中心化的,由所有持有通证的成员共同参与和投票决定。
5 小结
- 区块链历史
区块链的起源 :《一种点对点电子现金系统》以太坊:智能合约承载多种编程逻辑 - 区块链设计哲学:
- 去中心化 &共识
- 去中心化:在没有中介参与的情况下完成交易
- 共识算法:
- PoW 工作量证明
- PoS 权益证明
- 去中心化 &共识
- Web3
- 定义:流转资产和价值的互联网典型
- 应用:DeFi,NFT,DAO,游戏
结语
❓QQ:806797785
⭐️仓库地址:https://gitee.com/gaogzhen
⭐️仓库地址:https://github.com/gaogzhen
[1]Web3开发-仁科[CP/OL].
[2]比特币[CP/OL].
[3]Web3教程:ERC20,NFT,Hardhat,CCIP跨链[CP/OL].
相关文章:
0101基础知识-区块链-web3
文章目录 1 web3学习路线2 区块链简史2.1 区块链2.2 公共账本2.3 区块链的设计哲学2.3.1 去中心化2.3.2 共识2.3.2.1 上链2.3.2.2 共识算法 3 web3面向资产的互联网3.1 安全性和去中心化的权衡 4 智能合约4.1 以太坊智能合约4.2 去中心化应用 5 小结结语 1 web3学习路线 参考下…...
SpringMVC从入门到上手-全面讲解SpringMVC的使用.
一、springmvc介绍 MVC全称Model View Controller,是一种设计创建Web应用程序的模式。这三个单词分别代表Web应用程序的三个部分: Model(模型):指数据模型。用于存储数据以及处理用户请求的业务逻辑。在Web应用中&…...
解锁现代生活健康密码,开启养生新方式
在科技飞速发展的当下,我们享受着便捷生活,却也面临诸多健康隐患。想要维持良好状态,不妨从这些细节入手,解锁科学养生之道。 肠道是人体重要的消化器官,也是最大的免疫器官,养护肠道至关重要。日常可多…...
绿色森林人文生活纪实摄影Lr调色教程,手机滤镜PS+Lightroom预设下载!
调色介绍 绿色森林人文生活纪实摄影 Lr 调色,是借助 Lightroom 软件,对以绿色森林为背景,记录人文生活场景的纪实摄影作品进行后期调色处理。通过调整画面的色彩、光影、对比度等参数,让画面融入绿色森林的独特氛围,真…...
【项目篇】仿照RabbitMQ模拟实现消息队列
大家好呀 我是浪前 项目篇:仿照RabbitMQ模拟实现消息队列 今天是项目的第一篇,我们先来创建出最核心的几个类。 仿照RabbitMQ模拟实现消息队列 创建Exchange类MessageQueue类Binding类Message类1:BasicProperties类2:正文部分3&a…...
JAVA程序获取SVN提交记录
1.获取文件提交记录 private String userName "userName "; //svn账号 private String password "password "; //svn密码 private String urlString "urlString "; //svnurl 换成自己对应的svn信息 package com.tengzhi.common.dao;import…...
从检索到生成:RAG 如何重构大模型的知识边界?
目录 一、技术演进图谱说明 二、RAG 技术概述 (一)核心思想说明 (二)RAG 发展路径与研究范式 三、Naive RAG:最基础的检索增强生成范式 (一)Naive RAG 的标准流程 1. 索引(In…...
rabbitmq-spring-boot-start版本优化升级
文章目录 1.前言2.优化升级内容3.依赖4.使用4.1发送消息代码示例4.2消费监听代码示例4.3 brock中的消息 5.RabbmitMq的MessageConverter消息转换器5.1默认行为5.2JDK 序列化的缺点5.3使用 JSON 进行序列化 6.总结 1.前言 由于之前手写了一个好用的rabbitmq-spring-boot-start启…...
SVN仓库突然没有权限访问
如果svn仓库突然出现无法访问的情况,提示没有权限,所有账号都是如此,新创建的账号也不行。 并且会突然提示要输入账号密码。 出现这个情况时,大概率库里面的文件有http或者https的字样,因为单独给该文件添加权限导致…...
vue实现静默打印pdf
浏览器中想要打印文件,不依靠浏览器自带的打印窗口,想要实现静默打印(也就是不弹出打印对话框),同时控制打印份数的功能,一种方式是使用vue-plugin-hiprint和本地安装客户端electron-hiprint 本来是浏览器去…...
如何开启远程桌面连接外网访问?异地远程控制内网主机
实现远程桌面连接外网访问,能够突破地域限制,随时随地访问远程计算机,满足远程办公、技术支持等多种需求。下面为你详细介绍开启方法。 一、联网条件 确保本地计算机和远程计算机都有稳定的网络连接,有联网能上网。 二、开启远程…...
数据结构与算法学习笔记(Acwing提高课)----动态规划·数字三角形
数据结构与算法学习笔记----动态规划数字三角形 author: 明月清了个风 first publish time: 2025.4.23 ps⭐️终于开始提高课的题啦,借的人家的号看,以后给y总补票叭,提高课的题比之前的多很多啊哈哈哈哈,基本上每种题型都对应了…...
RK3568平台开发系列讲解(调试篇)debugfs文件系统及常见调试节点介绍
更多内容可以加入Linux系统知识库套餐(教程+视频+答疑) 🚀返回专栏总目录 文章目录 一、什么是debugfs二、/proc/filesystems三、debugfs的挂载3.1、fstab 的文件结构3.2、手动挂载与卸载四、debugfs 常见目录有哪些4.1、/sys/kernel/debug/gpio4.2、/sys/kernel/debug/…...
数字化转型避坑指南:中钧科技如何用“四个锚点”破解转型深水区
数字化转型浪潮下,企业常陷入四大典型陷阱:跟风式投入、数据沼泽化、流程伪在线、安全裸奔化。中钧科技旗下产品以“经营帮”平台为核心,通过针对性方案帮助企业绕开深坑。 陷阱一:盲目跟风,为数字化而数字化 许…...
数字化转型下的批发订货系统:降本增效的关键路径
随着数字化转型的不断深入,越来越多的企业开始拥抱现代化的技术和工具,以提升业务效率、降低运营成本。批发行业,作为一个高度依赖库存和订单管理的行业,数字化转型尤为关键。传统的批发订货系统存在信息不对称、操作复杂、效率低…...
一 、环境的安装 Anaconda + Pycharm + PaddlePaddle
《从零到一实践:系统性学习生成式 AI(NLP)》 一 、环境的安装 Anaconda Pycharm PaddlePaddle 1. Anaconda 软件安装 Anaconda 软件安装有大量的教程,此处不在说明,安装完成之后界面如下: 2. 创建 Anaconda 虚拟环境 Paddl…...
Dhtmlx Gantt教程
想实现的效果 插件安装: npm i dhtmlx-gantt使用该插件的时候,直接导入包和对应的样式即可: import { Gantt} from "dhtmlx-gantt"; import "dhtmlx-gantt/codebase/dhtmlxgantt.css";也可以安装试用版本,…...
大模型框架技术全景与下一代架构演进
一、大模型框架概述 大模型框架是支撑千亿级参数模型训练、推理及产业落地的技术底座,涵盖分布式计算、高效内存管理、多模态融合等核心模块。从GPT-3到Gemini Ultra,大模型框架的迭代推动AI从“作坊式实验”迈向“工业化生产”。据Gartner预测&a…...
官方不存在tomcat10-maven-plugin插件
Maven 中央仓库中没有官方的tomcat10-maven-plugin。Apache Tomcat Maven 插件项目目前仅对以下插件提供官方支持: tomcat6-maven-plugin tomcat7-maven-plugin tomcat8-maven-plugin tomcat9-maven-plugin 如果你想使用 cargo 命令来跑支持 Jakarta EE 的 Tomcat 1…...
vue3 el-table 右击
在 Vue 3 中使用 Element Plus 的 <el-table> 组件时,如果你想实现右击(右键点击)事件的处理,你可以通过监听 contextmenu 事件来实现。contextmenu 事件在用户尝试打开上下文菜单(通常是右键点击)时…...
第一节:核心概念高频题-Vue3响应式原理与Vue2的区别
Vue2:基于Object.defineProperty监听对象属性,需手动处理数组方法重写 Vue3:采用Proxy代理实现全量响应式,支持动态新增属性和深层嵌套对象监听 一、实现机制对比 1. Vue2:基于 Object.defineProperty • 原理&#…...
【锂电池剩余寿命预测】CNN卷积神经网络锂电池剩余寿命预测(Pytorch完整源码和数据)
目录 效果一览程序获取程序内容代码分享效果一览 程序获取 获取方式一:文章顶部资源处直接下载:...
web刷题笔记
2024isctf ezrce 禁用了一些关键字符,查询函数,系统执行函数,执行函数都有,空格也和斜杆也禁用了,但是其他一些很大一部分字符都没有禁用,属于关键词禁用的类型,正常的步骤是去查一下列表&#…...
基于FPGA 和DSP 的高性能6U VPX 采集处理板
基于FPGA 和DSP 的高性能6U VPX 采集处理板,是一款处理架构采用FPGADSP 的高性能的6U VPX 采集处理板。板载4 片高速ADC 共8 个采集通道,可支持8 路采样率最高2.6Gsps/14Bit 的模拟信号通道。 板卡FPGA 采用Xilinx 公司KU 系列的XCKU115-2FLVF1924I&…...
uniapp中使用<cover-view>标签
文章背景: uniapp中遇到了原生组件(canvas)优先级过高覆盖vant组件 解决办法: 使用<cover-view>标签 踩坑: 我想实现的是一个vant组件库中动作面板的效果,能够从底部弹出框,让用户进行选择,我直…...
【JavaScript】详讲运算符--算术运算符
1、运算符简介 运算符也叫操作符,通过运算符可以对一个或多个值进行运算,比如:typeof就是运算符,可以来获得一个值的类型,它会将该值的类型以字符串的形式返回,即:typeof 变量名的结果为字符串类型。 <…...
.NET 6 + Dapper + User-Defined Table Type
大家都知道,对于SQL Server IN是有限制条件的,如果IN里面的内容过多,在执行的时候会被自动截断,因而导致查询到的结果不是实际需要的结果。 select * from Payments where Id in (1,2,3,4,...) 为了解决上面的限制,可以…...
使用 Conda 创建新环境
使用 Conda 创建新环境 在使用 Conda 进行包管理和环境隔离时,创建新环境是一个非常常见的操作。通过创建独立的环境,可以避免不同项目之间的依赖冲突,并且能够灵活地管理各个项目的运行环境。 以下是使用 Conda 创建和管理新环境的详细步骤…...
数据为基:机器学习中数值与分类数据的处理艺术及泛化实践
数据为基:机器学习中数值与分类数据的处理艺术及泛化实践 摘要 在机器学习实践中,数据质量对模型效果的影响往往超过算法选择。本文通过详实的案例解析,系统阐述数值型数据与分类数据的特征工程处理方法,揭示数据预处理对模型泛…...
Docker镜像与容器概念解析
Docker镜像与容器概念解析 -更适合大学生宝宝体制的docker学习指南 一、Docker镜像:应用程序的基因库 (1)本质特征:镜像是一个只读的二进制文件包,相当于应用程序的”基因图谱”。就像生物体的DNA决定了生物特征&a…...
基于GMM的语音识别
语音识别是近年来发展非常迅速的一项计算机智能技术,广泛应用在语音控制、身份识别等多个领域。本次项目主要研究语音识别的预处理过程和特征参数的提取环节。通过对原始语音信号进行预加重和分帧、加窗,滤除低频干扰,提升对语音识别有用的部…...
K8S安全认证
一。用户认证的基本框架 在K8S集群中,客户端通常有两类: 1.User Account:一般独立于K8S之外的其他服务管理的用过户账号 2.Service Account:K8S管理的账号,用于为Pod中的服务进程在访问K8S提供身份标识 ApiServer是…...
咖啡机语音芯片方案-WTN6040FP-14S直接驱动4欧/3W喇叭-大功率输出
一、开发背景 随着智能家居市场的快速发展和消费者对家电产品交互体验要求的不断提高,语音提示功能已成为现代咖啡机产品的重要卖点之一。传统咖啡机仅依靠指示灯和简单蜂鸣器提示,无法满足用户对操作引导、状态反馈和个性化体验的需求。 WTN6040FP-14大…...
Vue3集成百度实时语音识别
示例 SpeechRecognitionModal.vue 组件 <template><transition name"modal-fade"><div v-if"isOpen" class"modal-overlay" click.self"handleOverlayClick"><div class"modal-container"><div…...
C# 设计原则总结
跟着视频学习的,记录一下最后的总结。 接口隔离: 单一职责: 里氏替换: 依赖倒置; 迪米特法则; 开闭原则:...
zkPass案例实战之合约篇
目录 一、contracts/contracts/ProofVerifier.sol 1. License 和 Solidity 版本 2. 导入依赖 3. 合约声明和默认分配器地址 4. 验证证明 5. 验证分配器签名 6. 验证验证者签名 7. 签名前缀处理 8. 签名恢复 总结 二、contracts/contracts/SampleAttestation.sol 1. …...
docker学习笔记5-docker中启动Mysql的最佳实践
一、查找目录文件位置 1、mysql的配置文件路径 /etc/mysql/conf.d 2、mysql的数据目录 /var/lib/mysql 3、环境变量 4、端口 mysql的默认端口3306。 二、启动命令 1、启动命令说明 docker run -d -p 3306:3306 -v /app/myconf:/etc/mysql/conf.d # 挂载配置目录 -v…...
彻底禁用windows的语音识别快捷键win+ctrl+s
工作中经常使用ctrls保存,但是经常误触win,结果弹出如下对话框,甚是闹心: 搜索网络,问AI,竟然没有一个好用的不依赖常驻内存软件的办法,最终经过探索与验证,总算是彻底解决了此问题&…...
大数据学习(112)-Analytic函数集
🍋🍋大数据学习🍋🍋 🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言📝支持一…...
文档构建:Sphinx全面使用指南 — 实战篇
文档构建:Sphinx全面使用指南 — 实战篇 Sphinx 是一款强大的文档生成工具,使用 reStructuredText 作为标记语言,通过扩展兼容 Markdown,支持 HTML、PDF、EPUB 等多种输出格式。它具备自动索引、代码高亮、跨语言支持等功能&#…...
欧拉环境(openEuler 22.03 LTS SP3)安装移动磐维数据库(PanWeiDB_V2.0-S2.0.2_B01)步骤
一、磐维数据库概述 中国移动磐维数据库(ChinaMobileDB),简称“磐维数据库”(PanWeiDB),是中国移动信息技术中心首个基于中国本土开源数据库打造的面向ICT基础设施的自研数据库产品。其产品内核能力基于华…...
【产品经理从0到1】产品规划
产品规划 已经知道要做什么功能,展示什么信息,那这些信息应该 以什么方式展现给用户? 信息架构的概念 一般的商场导览图,都有以下特征: • 每一层都由多个店铺组成; • 商场有出口,有入口&am…...
一篇文章学会开发第一个ASP.NET网页
*开发环境:Visual Studio 2022 ASP.NET Core 6.0* 一、开发环境准备 1.1 安装必备工具 Visual Studio 2022 Community(免费版本) .NET 6.0 SDK 验证安装:命令行执行 dotnet --version 显示6.0.x版本 1.2 创建新项目 打开VS…...
[架构之美]Ubuntu源码部署APISIX全流程详解(含避坑指南)
[架构之美]Ubuntu源码部署APISIX全流程详解(含避坑指南) 一、离线安装场景需求分析 1.1 典型应用场景 金融/政务内网环境生产环境安全合规要求边缘计算节点部署1.2 离线安装难点 #mermaid-svg-B25djI0XquaOb1HM {font-family:"trebuchet ms",verdana,arial,sans-s…...
【3】CICD持续集成-k8s集群中安装Jenkins-agent(主从架构)
一、背景: Jenkins Master/Slave架构,Master(Jenkins本身)提供Web页面让用户来管理项目和从节点(Slave),项目任务可以运行在Master本机或者分配到从节点运行,一个Master可以关联多个…...
2024从Maven-MySQL-Nginx部署
1、IDEA配置全局Maven设置 第一步:File->Close Project返回到创建工程界面。 第二步:找到bulid---maven设置对应位置。 第三步:选中两栏后的Override---应用---关闭即可。 *************************************************************…...
MySQL运算符
目录 一、mysql运算符 1. 算数运算符 2. 比较运算符 2.1 等号运算符() 2.2 不等于运算符 ! 3.非符号类型的运算符 3.1 空运算 IS NULL、 IS NOT NULL、 ISNULL 3.2 区间查询 BETWEEN 3.3 包含查询 IN、 NOT IN 3.4模糊查询LIKE 4. 逻辑运算符 4.1 AND(逻…...
什么是区块?
“区块”是区块链技术的基本组成部分,是加密货币交易的数字记录簿。一个区块就像是账本中的一页,详细记录了所有的交易细节。每个区块都包含基本信息,如最近的交易列表、标记区块创建时间的时间戳,以及称为“哈希值”的唯一加密代…...
爬虫学习——获取动态网页信息
对于静态网页可以直接研究html网页代码实现内容获取,对于动态网页绝大多数都是页面内容是通过JavaScript脚本动态生成(也就是json数据格式),而不是静态的,故需要使用一些新方法对其进行内容获取。凡是通过静态方法获取不到的内容,…...
LSA六种类型
LAS --- 链路状态通告 链路状态类型、链路状态ID、通告路由器 --- LSA的三元组 --- 可以唯一标识出一条LSA Type --- OSPFv2中,常见的需要掌握LSA有6种 LS ID --- LSA的名字 --- 因为每一种LSA ID的生成方式都不相同,所以导致可能重复,则如…...