导图社区 web3
这是一篇关于web3的思维导图,主要内容包括:基础概念,网络,扩容,应用,面试,智能合约。Web3 是第三代互联网的概念,旨在打造一个更加去中心化、智能和安全的网络环境。
编辑于2025-03-11 13:56:08web3
基础概念
Web3 是第三代互联网的概念,旨在打造一个更加去中心化、智能和安全的网络环境,
区块链
区块链是 Web3 的基础技术,它是一个分布式的账本,记录了网络中所有的交易和数据。区块链的去中心化特性使得数据不可篡改、可追溯,保证了网络的安全性和透明度。
智能合约
智能合约是一种自动执行的合约,它的条款和条件以代码的形式存储在区块链上。当满足预设的条件时,智能合约会自动执行相应的操作,无需第三方的干预。智能合约在 Web3 中被广泛应用于金融、供应链、游戏等领域,实现了自动化的业务流程和信任机制。
去中心化应用(DApps)
DApps 是基于区块链和智能合约构建的应用程序,它们运行在去中心化的网络上,不依赖于单一的服务器。DApps 具有开放性、透明性和抗审查性等特点,用户可以直接与合约进行交互,无需通过中间机构。
去中心化身份(DID)
DID 是 Web3 中用于标识用户身份的一种机制,它允许用户自主控制自己的身份信息,而不依赖于传统的身份验证机构。用户可以通过 DID 实现匿名登录、数据共享等功能,提高了用户的隐私和安全性。
网络
扩容
隔离见证
应用
金融与支付 供应链管理 智能合约与法律科技 医疗健康 版权与知识产权 公共服务与政务 能源与环保 物联网(IoT) 慈善与公益 游戏与数字资产
面试
如何实现跨链技术?
是指实现不同区块链之间互操作性的技术,允许资产、数据和价值在不同区块链网络之间转移和交互
原子交换:原子交换是一种点对点的跨链交易技术,允许用户在不依赖第三方的情况下,直接在不同的区块链之间交换资产。 原理:使用哈希时间锁定合约(HTLC),确保双方要么同时完成交易,要么交易取消。 优点:去中心化,无需信任第三方。 缺点:仅支持简单的资产交换,无法实现复杂的跨链交互。 示例:比特币和莱特币之间的原子交换。
中继链(Relay Chain):中继链是一种通过第三方链(中继链)实现跨链通信的技术。 原理:中继链监听其他链的状态,并验证跨链交易的有效性。 优点:支持复杂的跨链交互。 缺点:需要信任中继链。 示例:Cosmos 的 IBC(Inter-Blockchain Communication)协议。
侧链(Sidechain):侧链是与主链并行运行的区块链,通过双向锚定机制实现资产跨链转移。 原理:将资产锁定在主链上,同时在侧链上释放等值的资产。 优点:灵活性高,支持多种应用场景。 缺点:需要信任侧链的安全性。 示例:Liquid Network(比特币的侧链
跨链桥(Cross-Chain Bridge):跨链桥是一种通过智能合约或托管机制实现资产跨链转移的技术。 原理:将资产锁定在源链上,同时在目标链上铸造等值的资产(如 wrapped token)。 优点:实现简单,应用广泛。 缺点:需要信任跨链桥的安全性。 示例:Wrapped BTC(WBTC,以太坊上的比特币代币)。
哈希锁定(Hash Locking:哈希锁定是一种基于哈希时间锁定合约(HTLC)的跨链技术。 原理:通过共享哈希值和时间锁,确保跨链交易的原子性。 优点:去中心化,无需信任第三方。 缺点:仅支持简单的资产交换。 示例:闪电网络(Lightning Network)中的跨链支付。
跨链协议(Cross-Chain Protocol):跨链协议是一种标准化的跨链通信框架,支持不同区块链之间的互操作性。 原理:定义统一的跨链消息格式和验证机制。 优点:支持复杂的跨链交互。 缺点:实现复杂,需要生态支持。 示例:Polkadot 的 XCMP(Cross-Chain Message Passing)协议。
EVM 是什么?
EVM(以太坊虚拟机,Ethereum Virtual Machine)是以太坊网络的核心组件之一,它负责执行智能合约并处理去中心化应用(DApp)的逻辑。
主要作用 执行智能合约:将智能合约代码(通常用 Solidity 编写)转换成机器可以执行的指令。 处理交易:验证和执行以太坊网络上的交易。 维护状态:管理以太坊区块链的状态(如账户余额、合约数据等)。
EVM 的特点 图灵完备:EVM 可以执行任何复杂的计算,只要提供足够的资源(如 Gas)。 隔离性:EVM 运行在一个隔离的环境中,智能合约无法直接访问外部系统(如文件系统或网络)。 确定性:相同的输入和代码在 EVM 上总是产生相同的输出,确保区块链的一致性。 Gas 机制:EVM 的执行需要消耗 Gas,这是一种防止滥用计算资源的机制。
EVM 的组成 EVM 是一个基于栈的虚拟机,它的核心组件包括: 栈(Stack):用于存储临时数据和执行计算,深度为 1024 个元素。 内存(Memory):用于临时存储数据,合约执行结束后会被清空。 存储(Storage):用于永久存储数据(如合约状态),数据会写入区块链。 程序计数器(PC):记录当前执行的指令位置。 Gas 计数器:记录已消耗的 Gas。
EVM 执行流程 加载字节码:EVM 从区块链中加载智能合约的字节码。 执行指令:EVM 逐条执行字节码中的指令,同时消耗 Gas。 更新状态:执行完成后,EVM 会更新区块链的状态(如修改账户余额或合约数据)。 返回结果:执行结果会被记录在交易中,并广播到整个网络。
智能合约
Solidity
变量
状态变量:如果一个变量是状态变量,那么它的值将永久保存在合约存储空间中。
局部变量:局部变量是仅限于在函数执行过程中有效的变量,函数执行完毕后,变量就不再受任何影响
全局变量:blockhash(uint blockNumber) returns (bytes32) 给定区块的哈希值 – 只适用于 256 最近区块, 不包含当前区块 block.coinbase (address payable) 当前区块矿工的地址 block.difficulty (uint) 当前区块的难度 block.gaslimit (uint) 当前区块的 gaslimit block.number (uint) 当前区块的 number block.timestamp (uint) 当前区块的时间戳,为 unix 纪元以来的秒 gasleft() returns (uint256) 剩余 gas msg.data (bytes calldata) 完成 calldata msg.sender (address payable) 消息发送者 (当前 caller) msg.sig (bytes4) calldata 的前四个字节 (function identifier) msg.value (uint) 当前消息的 wei 值 now (uint) 当前块的时间戳 tx.gasprice (uint) 交易的 gas 价格 tx.origin (address payable) 交易的发送方
数据类型
关键字
pure:用于标记函数不读取也不修改合约的状态 external:函数不能直接在合约内部调用,智能外部调用。 Storage:data is stored on the blockchain Memory : data is cleared out after a function call Transient storage: data is cleared out after a transaction event :申明事件 emit:触发事件 indexed: 参数允许在日志中快速过滤和搜索
透明:区块链用户可以读取智能合约,并可以使用 API 来访问这些合约。 不可变性:智能合约的执行将创建不可更改的日志。 分发:该合约的输出由该网络的节点验证。 合约状态可以公开显示。
hardhat
Hardhat 是一个基于 Node.js 的以太坊开发框架,具有以下核心功能: 智能合约编译:将 Solidity 代码编译成 EVM 字节码。 本地开发网络:提供一个本地的以太坊网络,用于开发和测试。 测试框架:支持使用 Mocha 和 Chai 编写和运行测试。 脚本部署:通过 JavaScript 脚本部署智能合约。 调试工具:提供强大的调试功能,帮助定位和修复问题。 插件系统:支持扩展功能,如代码格式化、Gas 报告等。
OpenZeppelin
是一个强大的智能合约开发库,不仅用于创建代币(如 ERC-20、ERC-721),还提供了许多其他功能,帮助开发者构建安全、可靠和高效的以太坊应用程序
访问控制:管理合约权限。 安全工具:防止常见的安全漏洞。 实用工具:简化开发流程。 可升级合约:支持合约升级。 跨链功能:实现多链应用。 治理工具:创建 DAO 和治理机制
共识机制
工作量证明(Proof of Work,PoW)原理精妙:节点竞相解答复杂哈希谜题,首个达标者赢得记账权及奖赏,此过程耗资不菲,算力与电能并重。以比特币为例,矿工不懈探索随机数值,与交易信息融合哈希,直至觅得低于目标阈值之解。 其优势显著:安全稳固,高昂算力门槛令篡改难行去中心化彻底,记账权竞争开放无界。 然亦存局限:能耗庞大,环境负担不轻交易确认迟缓,比特币平均需十分钟,效率待提。
权益证明(Proof of Stake,PoS)原理精妙:节点记账之机遇,与其所持加密货币之量(即权益)成正比例。权益丰厚者,更有可能执笔账本。以太坊2.0信标链为例,验证者需质押以太币,方得共识之席。质押愈多,区块打包之机遇愈盛。 其优点有二:一则能源效率卓越,无需PoW般海量哈希运算,能耗遂减二则交易迅捷,确认之时甚短。 然亦存短板:一者“富者愈富”之虞,权益集中或致权力失衡二者安全性稍逊,理论上,权益巨擘或蓄意攻伐。
委托权益证明(DPoS)机制,精髓在于代币持有者甄选受托人,以少数精英验证交易、构筑区块。EOS区块链实践此理,由民选21超级节点,轮值铸链,高效非凡。 其利,交易瞬息可达,共识迅速,吞吐量卓绝能耗甚微,无需重资算力。 然其弊亦显,去中心化稍逊,权力集于受托人,联袂作恶之虞存焉。投票机制或陷操纵,公正难保,持币者意志易受外扰。
实用拜占庭容错(PBFT) 原理:秉承状态机副本复制之精髓,借消息传递与多轮投票之力,于拜占庭节点潜藏之际,确保系统一致性与可用性。流程分预准备、准备、提交三阶段,节点间消息互递,共识乃成。 优点:交易确认迅疾,适时性强;恶意节点容忍度高,n节点系统中,f节点作恶无碍,需n≥3f+1。 缺点:扩展性受限,节点增则通信繁;去中心化稍逊,常适用于联盟链等准入制场景。