当前位置: 首页 > article >正文

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 上链

如何保证不同节点数据一致?

上链:将数据或交易通过区块链网络记录到不可篡改的分布式账本中,使其具备公开透明、可追溯且永久存储的特性。

上链操作步骤

  1. 创建交易

    • 通过钱包生成交易请求(如MetaMask发送ETH转账)。
    • 调用智能合约函数(如ERC-20代币转账、NFT铸造)。
  2. 签名验证

    • 使用私钥对交易签名,证明所有权(非对称加密)。
  3. 广播至网络

    • 将签名后的交易广播至区块链节点(如以太坊全节点)。
  4. 共识确认

    • 矿工/验证者打包交易到区块(如比特币PoW需6次确认)。
  5. 链上存储

    • 数据写入区块并同步至全网节点(如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 以太坊智能合约

  1. 去中心化
  2. 数据透明
  3. 不可篡改
  4. 消除交易对手风险

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学习路线 参考下…...

工作纪实_63-Mac电脑使用brew安装软件

最近在接触kafka&#xff0c;想着在自己的电脑安装一套环境&#xff0c;docker也能行&#xff0c;但是还是想装一些原生的软件试试看&#xff0c;因此便想着整理一下brew的命令&#xff0c;这命令确实是方便&#xff0c;不需要下载tar包乱八七糟的东西&#xff0c;一键安装 bre…...

Cadence学习笔记之---库元件制作、元件放置

目录 01 | 引 言 02 | 环境描述 03 | 工具介绍 04 | 无源器件的制作 05 | IC芯片制作 06 | 放置元件 07 | 结 语 01 | 引 言 在上一篇小记中&#xff0c;讲述使用Cadence创建原理图工程和元件库&#xff1b; 本篇小记主要讲述如何制作常用的库元件&#xff0c;如电阻、…...

服务器如何修复SSL证书错误?

修复服务器上的SSL证书错误需要根据具体错误类型逐步排查和解决。以下是常见的步骤和解决方案&#xff1a; --- ### **1. 确认错误类型** 首先检查浏览器或工具&#xff08;如OpenSSL&#xff09;报错的具体信息&#xff0c;常见错误包括&#xff1a; - **证书过期**&#xf…...

图解Mysql原理:深入理解事务的特性以及它的实现机制

前言 大家好&#xff0c;我是程序蛇玩编程。 Mysql中事务大家不陌生吧&#xff0c;事务就是要保证一组数据库操作&#xff0c;要么全部成功&#xff0c;要么全部失败。那它具有哪些特性&#xff0c;如何实现的呢?接着往下看。 正文 事务的特性: 事务的基本特性主要为四种…...

《前端面试题之 Vue 篇(第四集)》

目录 1、Vue 中实现强制刷新2、Vue3 和 Vue2 的区别解析3、 Vue3 性能优于 Vue2 的原因解析4、Vue3 使用 Proxy5、首屏优化6、组件的理解7、vue项目中合理规划文件目录8、Nuxt.js 简单了解9、单页应用10、 SEO 优化 1、Vue 中实现强制刷新 在 Vue 中实现强制刷新的分析如下&am…...

C++ 模块化编程(Modules)在大规模系统中的实践难点

随着项目规模的不断扩大和代码复杂性的提升,传统的 C++ 开发模式逐渐暴露出一些根深蒂固的问题,尤其是头文件和预处理器机制所带来的编译效率低下、依赖管理混乱以及代码复用性差等痛点。C++20 标准引入的模块化编程(Modules)特性,正是为了解决这些问题而设计的一项革命性…...

DasViewer主要功能流程介绍

摘要&#xff1a;本文主要介绍DasViewer软件本地数据、云端数据以及在线3DTiles服务模型浏览功能。 本地数据浏览功能 打开 DasViewer 浏览器&#xff1b;打开本地数据&#xff0c;包括如下几种方式: 选择工程文件&#xff08;.dav、.dvp&#xff09;、模型文件&#xff08;…...

提交bug单时,应该说明哪些信息?

在提交 Bug 单时&#xff0c;为了让开发人员能够快速定位和解决问题&#xff0c;需要详细说明以下几方面信息&#xff1a; Bug 的基本信息 标题&#xff1a;简洁明了地概括 Bug 的主要问题&#xff0c;例如 “登录页面输入错误密码后提示信息不准确”。Bug 类型&#xff1a;明确…...

Linux[指令与权限]

Linux指令与权限 Linux环境中,打包文件有多种 tar (打包/解包) 指令 tar -czvf 文件要打包到的位置 文件(打包并压缩到) tar -xzvf 文件(在当前目录下解压) tar选项 -c创建压缩文件 -z使用gzip属性压缩 -v展现压缩过程 -f后面使用新建文档名 -x不要新建,解压 -C 文件…...

MySQL 的锁,表级锁是哪一层的锁?行锁是哪一层的锁?

MySQL 的锁层级与类型 在 MySQL 中&#xff0c;锁的层级和实现与存储引擎密切相关。 1. 表级锁&#xff08;Table-Level Locks&#xff09; &#xff08;1&#xff09;存储引擎层的表级锁 实现层级&#xff1a;存储引擎层&#xff08;如 MyISAM、InnoDB&#xff09;。特点&a…...

Flink介绍——实时计算核心论文之Dataflow论文总结

数据流处理的演变与 Dataflow 模型的革新 在大数据处理领域&#xff0c;流式数据处理系统的发展历程充满了创新与变革。从早期的 S4 到 Storm&#xff0c;再到 MillWheel&#xff0c;每一个系统都以其独特的方式推动了技术的进步。S4 以其无中心架构和 PE&#xff08;Processi…...

Next.js 编译并运行

next build 是用于构建 Next.js 应用的命令&#xff0c;而运行构建后的应用则通过 next start。这里是一个简明的流程说明&#xff1a; ✅ 构建 Next.js 应用 next build这个命令会&#xff1a; 编译项目中的 TypeScript 和 JavaScript 代码&#xff1b;优化静态资源&#xf…...

星火燎原:Spark技术如何重塑大数据处理格局

在数字化浪潮席卷全球的今天&#xff0c;数据已成为企业发展与社会进步的核心驱动力。面对海量且复杂的数据&#xff0c;传统的数据处理技术逐渐显得力不从心。而Apache Spark作为大数据领域的明星框架&#xff0c;凭借其卓越的性能与强大的功能&#xff0c;如同一束璀璨的星火…...

LeetCode 2563.统计公平数对的数目:排序 + 二分查找

【LetMeFly】2563.统计公平数对的数目&#xff1a;排序 二分查找 力扣题目链接&#xff1a;https://leetcode.cn/problems/count-the-number-of-fair-pairs/ 给你一个下标从 0 开始、长度为 n 的整数数组 nums &#xff0c;和两个整数 lower 和 upper &#xff0c;返回 公平…...

2025深圳中兴通讯安卓开发社招面经

2月27号 中兴通讯一面 30多分钟 自我介绍 聊项目 我的优缺点&#xff0c;跟同事相比&#xff0c;有什么突出的地方 Handler机制&#xff0c;如何判断是哪个消息比较耗时 设计模式&#xff1a;模板模式 线程的状态 线程的开启方式 线程池原理 活动的启动模式 Service和Activity…...

【Redis】redis主从哨兵

Redis 主从复制 在访问量极高的场景下&#xff0c;单台 Redis 已难以承载所有请求&#xff0c;且单点故障风险高。通过主从复制&#xff0c;可以实现读写分离、数据备份与高可用。 概念 主节点&#xff08;Master&#xff09;&#xff1a;负责写操作&#xff0c;将数据变更同…...

windows docker desktop 无法访问容器端口映射

为什么使用docker desktop访问映射的端口失败&#xff0c;而其端口对应的服务是正常的&#xff1f; 常见问题&#xff0c;容器的防火墙没有关闭&#xff01;&#xff01;&#xff01; 以centos7为例&#xff0c;默认情况下防火墙处于开启状态&#xff1a; 这下访问就OK了...

OpenRAN 6G网络:架构、用例和开放问题

英文标题&#xff1a; Open RAN for 6G Networks: Architecture, Use Cases and Open Issues 作者信息 Bharat Agarwal&#xff1a;2016年毕业于Galgotias University&#xff0c;获得电气与电子工程学士学位&#xff1b;2023年在爱尔兰都柏林城市大学获得电子工程博士学位。2…...

《TCP/IP详解 卷1:协议》之第四、五章:ARP RARP

目录 一、ARP && RARP 报文结构 1、ARP请求报文示例 2、ARP响应报文示例 3、RARP请求报文示例 4、RARP响应报文示例 5、关于 padding 6、免费ARP 二、tcpdump 的使用 1、基本语法 2、常用选项 3、常用过滤条件 三、arp 命令的使用 1、基本语法 2、常用选…...

ttsfrd的使用

ttsfrd的作用&#xff1a; 文本标准化&#xff0c;将数字转成大写等预处理&#xff0c;例&#xff1a;数字处理123 → 一百二十三&#xff0c; 日期处理2023-12-25 → 2023年12月25日&#xff0c;特殊符号 40&#xffe5;→40元。从而适合TTS朗读。 SDK模型下载 from modelsc…...

实战华为1:1方式1 to 1 VLAN映射

本文摘自笔者于2024年出版&#xff0c;并得到广泛读者认可&#xff0c;已多次重印的《华为HCIP-Datacom路由交换学习指南》。 华为设备的1 to 1 VLAN映射有1:1和N :1两种方式。1:1方式是将指定的一个用户私网VLAN标签映射为一个公网VLAN标签&#xff0c;是一种一对一的映射关系…...

NLP 梳理03 — 停用词删除和规范化

一、说明 前文我们介绍了标点符号删除、文本的大小写统一&#xff0c;本文介绍英文文章的另一些删除内容&#xff0c;停用词删除。还有规范化处理。 二、什么是停用词&#xff0c;为什么删除它们&#xff1f; 2.1 停用词的定义 停用词是语言中的常用词&#xff0c;通常语义…...

使用若依二次开发商城系统-1:搭建若依运行环境

前言 若依框架有很多版本&#xff0c;这里使用的是springboot3vue3这样的一个前后端分离的版本。 一.操作步骤 1 下载springboot3版本的后端代码 后端springboot3的代码路径&#xff0c;https://gitee.com/y_project/RuoYi-Vue 需要注意我们要的是springboot3分支。 先用g…...

HarmonyOS-ArkUI: 组件内转场(transition)

什么是组件内转场 组件内转场指的是组件在触发转场的时机所具备的动画效果。转场的时机指的是,组件元素发生变化的时候,具体为: 组件被添加组件被删除组件可见性发生变化-Visibility这些场景有时候单纯的让其消失,出现,平移有时候视觉效果会比较突兀。我们可以利用组件内…...

MVVM框架详解:原理、实现与框架对比

文章目录 1. 引言2. MVVM的基本概念3. MVVM的原理与实现3.1 数据绑定原理3.2 命令模式实现 4. MVVM的优势与局限性4.1 优势4.2 局限性 5. 常见MVVM框架对比5.1 MVVM Light5.2 Prism5.3 Caliburn.Micro5.4 MvvmCross5.5 ReactiveUI 6. 实际应用示例7. 最佳实践与注意事项7.1 MVV…...

opencv--图像处理

这里所说的图像处理并不是专业术语&#xff0c;而是值开发人员对图像的处理技术方法。 教程 菜鸟教程 书籍推介--<opencv4.5 计算机视觉开发实践 基于vc>.朱文伟 获取图像数据 三种方式&#xff1a; cv::VideoCapture&#xff1a; OpenCV 提供的视频捕获类&#xff0…...

达梦官方管理工具 SQLark——全面支持达梦、Oracle、MySQL、PostgreSQL 数据库!

SQLark 是一款面向信创应用开发者的数据库开发和管理工具&#xff0c;用于快速查询、创建和管理不同类型的数据库系统&#xff0c;已支持达梦、Oracle、MySQL数据库&#xff1b;在最新的 V3.4 版本中&#xff0c;SQLark 新增了对 PostgreSQL 的支持&#xff0c;兼容 PostgreSQL…...

解读大型语言模型:从Transformer架构到模型量化技术

一、生成式人工智能概述 生成式人工智能&#xff08;Generative Artificial Intelligence&#xff09;是一种先进的技术&#xff0c;能够生成多种类型的内容&#xff0c;包括文本、图像、音频以及合成数据等。其用户界面的便捷性极大地推动了其广泛应用&#xff0c;用户仅需在…...

理解计算机系统_网络编程(1)

前言 以<深入理解计算机系统>(以下称“本书”)内容为基础&#xff0c;对程序的整个过程进行梳理。本书内容对整个计算机系统做了系统性导引,每部分内容都是单独的一门课.学习深度根据自己需要来定 引入 网络是计算机科学中非常重要的部分,笔者过去看过相关的内…...