深入探讨web3区块链去中心化的底层实现原理

引言

区块链技术以其去中心化、不可篡改和透明性等特点,正逐渐改变着我们对数字信任和交易的理解。去中心化是区块链的核心理念,它消除了中央控制点,实现了点对点的直接交互和信任机制。

这篇文章将从区块链去中心化核心组件、区块链数据存储和验证机制、去中心化应用(DApps)和去中心化金融(DeFi)、以及面临的挑战等方面进行深入探讨,探讨其关键组件、算法和协议。

1. 区块链去中心化的核心组件

区块链技术的核心在于其去中心化的架构,这一架构由多个关键组件共同支撑,包括分布式账本、共识机制、密码学技术和点对点(P2P)网络。下面将详细探讨这些核心组件及其实现原理。

1.1. 分布式账本技术

1.1.1 数据结构

区块链的数据以区块的形式存储,每个区块包含若干交易和一个指向前一区块的哈希值,形成链式结构。

  • 区块:每个区块包含区块头和区块体。区块头中包含上一个区块的哈希值、时间戳、难度目标、随机数(Nonce)等信息。区块体包含交易列表。
  • 链式结构:通过在每个区块中存储前一区块的哈希值,区块链形成一个连续的链条结构。任何一个区块被篡改都会导致其后所有区块的哈希值变化,使得篡改数据变得极其困难。

1.1.2 Merkle 树

Merkle 树是一种树形数据结构,用于高效且安全地验证区块中交易数据的完整性。

  • 叶子节点:每个叶子节点包含一笔交易的哈希值。
  • 非叶子节点:每个非叶子节点包含其子节点哈希值的哈希值。通过递归地计算哈希值,最终得到根哈希(Merkle root)。
  • 验证过程:通过对比根哈希和其他节点哈希,可以快速验证交易数据是否被篡改。

1.2. 共识机制

共识机制是区块链中实现去中心化的核心算法,通过特定算法使网络中的所有节点就账本状态达成一致。主要的共识算法机制有工作量证明、权益证明、委托权益证明、拜占庭容错、混合共识机制等。

共识机制解决什么问题?

共识机制主要解决两个问题: 一是双花问题(即一笔钱被花了两次),二是拜占庭将军问题(即恶意节点篡改数据)

下面介绍几个主要的共识算法机制

1.2.1. 工作量证明(PoW)

概述

工作量证明(Proof of Work, PoW)是比特币最早采用的共识机制,其基本思想是通过计算能力的竞争来决定谁有权添加新区块。

原理

  • 矿工竞争:网络中的矿工们通过计算大量哈希值,试图找到一个符合特定条件(如哈希值的前n位为0)的随机数(Nonce)。
  • 难度调整:区块链系统会根据全网算力定期调整挖矿难度,以保持固定的出块时间(如比特币的10分钟)。
  • 奖励机制:第一个找到有效哈希值的矿工将获得新区块的记账权,并得到系统奖励的比特币及区块中包含的交易手续费。

优点和缺点

  • 优点:安全性高,抗攻击能力强。
  • 缺点:能耗高,算力集中化风险。

1.2.2. 权益证明(PoS)

概述

权益证明(Proof of Stake, PoS)是基于持币量和持币时间来决定谁有权添加新区块的共识机制。

原理

  • 持币量决定权重:节点的记账权与其持有的代币数量成正比,持币量越大,成为记账者的概率越高。
  • 年龄机制:一些 PoS 系统还引入了持币时间(年龄)的概念,持币时间越长,成为记账者的概率越高。

优点和缺点

  • 优点:能耗低,降低了算力集中化风险。
  • 缺点:可能导致持币集中化,较早持有大量代币的用户在系统中的权力更大。

1.2.3. 委托权益证明(DPoS)

概述

委托权益证明(Delegated Proof of Stake, DPoS)是 PoS 的改进版本,通过投票选出一组代表(验证节点)来进行区块生产。

原理

  • 投票机制:持币者通过投票选出一组代表(通常为21-100个验证节点)负责区块生产和验证。
  • 轮流出块:选出的验证节点按轮次依次出块,提高了区块生产的效率和速度。

优点和缺点

  • 优点:高效,区块生产速度快,能耗低。
  • 缺点:中心化风险,代表节点可能操控网络。

1.2.4. 权益授权证明(LPoS)

概述

权益授权证明(Leased Proof of Stake, LPoS)是 Waves 区块链平台提出的共识机制,结合了 PoS 和租赁的概念。

原理

  • 租赁机制:持币者可以将自己的代币租给一个节点,节点使用租赁的代币提高自己获得记账权的概率。
  • 收益分配:租赁节点获得的收益按比例分配给代币租赁者和节点自身。

优点和缺点

  • 优点:提高了网络的参与度和安全性。
  • 缺点:需要对收益分配机制进行严格的管理和验证。

1.2.5. 拜占庭容错(BFT)

概述

拜占庭容错(Byzantine Fault Tolerance, BFT)是一种在分布式系统中实现共识的机制,适用于小规模网络,具有较高的效率和容错性。

原理

  • 多轮投票:节点通过多轮投票来达成共识,确保至少有2/3的节点同意某个提案。
  • 容错能力:可以容忍一定数量的恶意节点(通常少于总数的1/3),确保系统的正常运行。

优点和缺点

  • 优点:高效,适用于小规模网络。
  • 缺点:扩展性差,不适合大规模网络。

1.2.6. 实用拜占庭容错(PBFT)

概述

实用拜占庭容错(Practical Byzantine Fault Tolerance, PBFT)是 BFT 的一种改进算法,专为在分布式网络中实现高效共识设计。

原理

  • 多阶段协议:包括预准备(Pre-prepare)、准备(Prepare)和提交(Commit)三个阶段,每个阶段通过多轮投票达成共识。
  • 验证节点轮换:验证节点轮流发起区块提案,提高了系统的公平性和安全性。

优点和缺点

  • 优点:高效,低延迟,适用于小规模联盟链。
  • 缺点:扩展性差,网络节点增加会显著降低性能。

1.2.7. 延迟拜占庭容错(DBFT)

概述

延迟拜占庭容错(Delegated Byzantine Fault Tolerance, DBFT)是 NEO 区块链平台提出的共识机制,结合了 DPoS 和 PBFT 的特点。

原理

  • 投票选举:通过投票选出一组共识节点(代表),这些节点负责区块生产和验证。
  • 拜占庭容错:共识节点通过多轮投票达成共识,提高了系统的安全性和可靠性。

优点和缺点

  • 优点:高效,适用于大规模商业应用。
  • 缺点:中心化风险,代表节点可能操控网络。

1.2.8. 混合共识机制

概述

混合共识机制结合了多种共识算法的优点,以提高区块链系统的安全性和效率。

示例

  • PoW+PoS:一些区块链系统(如 Decred)结合 PoW 和 PoS 的优点,PoW 提供初始共识,PoS 进行后续验证,增强了系统的安全性。
  • PoS+BFT:一些联盟链(如 Hyperledger Fabric)结合 PoS 和 BFT 的特点,提高了系统的扩展性和容错性。

优点和缺点

  • 优点:灵活,可根据实际需求调整共识机制,提高系统的安全性和效率。
  • 缺点:设计复杂,实现难度较高。

不同的共识机制有其各自的优点和适用场景。 工作量证明(PoW)以其高安全性著称,适用于公有链; 权益证明(PoS)和其变种(DPoS、LPoS)提高了能效,适用于资源受限的环境; 拜占庭容错(BFT)及其改进算法(PBFT、DBFT)提供了高效的共识解决方案,适用于联盟链和私有链; 混合共识机制则结合了多种算法的优点,为不同场景提供了灵活的解决方案。

1.3. 密码学技术

密码学技术在区块链中保护数据安全和隐私,主要包括对称加密、非对称加密、Merkle树完整性校验、零知识证明、哈希函数、数字签名和公钥基础设施(PKI)等。

下面介绍几个主要的区块链密码学。

1.3.1 哈希函数

哈希函数将任意长度的输入映射为固定长度的输出,具有单向性和抗碰撞性。

  • 单向性:无法从哈希值反推原始数据,保证数据的隐私性。
  • 抗碰撞性:难以找到两个不同的输入产生相同的哈希值,保证数据的完整性。
  • 应用:在区块链中用于生成区块哈希值、Merkle 树根哈希和验证数据完整性。常用的哈希算法包括 SHA-256 和 Keccak-256。

1.3.2 数字签名

数字签名通过非对称加密算法生成,用于验证交易的真实性和完整性。

  • 生成过程:交易发送方使用私钥对交易数据进行签名,生成数字签名。
  • 验证过程:接收方使用发送方的公钥验证数字签名,确认交易的真实性。
  • 应用:在区块链中,用于验证交易的合法性,防止篡改和伪造。常用的数字签名算法包括 ECDSA 和 Schnorr 签名。

1.3.3 公钥基础设施(PKI)

PKI 管理公钥和私钥的分发和验证,确保通信双方的身份真实可信。

  • 密钥对生成:用户生成一对公钥和私钥,公钥公开,私钥保密。
  • 证书颁发:可信的证书颁发机构(CA)为用户的公钥颁发数字证书,证明公钥的真实性。
  • 应用:在区块链中,用于身份验证和加密通信,保证数据传输的安��性。

1.4. 点对点(P2P)网络

P2P 网络是区块链去中心化的基础结构,各节点直接相互连接和通信,不依赖中央服务器。P2P网络架构主要分为基于中心服务P2P网络、非结构性分布式网络和结构性分布式网络(DHT分布式哈希表)。P2P网络主要作用有两点:一是数据传播,二是节点发现。

1.4.1 数据传播

区块链中的数据通过 P2P 网络传播,各节点共享区块和交易信息。

  • 广播机制:当节点接收到新的区块或交易时,会将其广播给其他节点,确保全网数据同步。
  • Gossip 协议:一种常用的 P2P 数据传播协议,通过随机选择邻居节点进行数据传播,提高网络的可靠性和效率。

1.4.2 节点发现

节点通过 P2P 协议发现和连接新节点,形成一个去中心化的网络拓扑结构。

  • 引导节点:新节点加入网络时,会先连接一个或多个已知的引导节点,获取其他节点的列表。
  • 节点表维护:每个节点维护一个邻居节点列表,定期更新和验证节点的可达性,确保网络的连通性。
  • Kademlia DHT:一种常用的分布式哈希表(DHT)协议,用于高效地查找和存储节点信息。

2. 区块链数据存储和验证机制

区块链技术通过分布式账本来记录和存储数据,其数据存储和验证机制是确保区块链安全性、透明性和不可篡改性的关键。下面详细介绍区块链的数据存储和验证机制。

2.1. 数据存储

区块链的数据存储结构包括全节点、轻节点、区块、交易、账户状态等,各种数据存储在本地数据库中,如 LevelDB 或 RocksDB,以支持高效的数据读取和写入操作。

2.1.1 区块链的结构

  • 区块:区块是区块链的基本单位,每个区块包含区块头和区块体。

    • 区块头:包括上一区块的哈希值(Prev Hash)、时间戳、Merkle 根哈希、难度目标、随机数(Nonce)等信息。
    • 区块体:包含交易列表,每笔交易记录了发送方、接收方、金额、签名等信息。
  • 链式结构:区块通过区块头中的上一区块哈希值链接在一起,形成一个连续的链条。任何一个区块被篡改都会导致其后所有区块的哈希值变化,使得篡改数据变得极其困难。

2.1.2 全节点和轻节点

  • 全节点:全节点存储整个区块链的完整副本,能够独立验证所有交易和区块。全节点参与区块生成和验证,保证了区块链网络的安全性和去中心化。
  • 轻节点:轻节点仅存储区块头信息,通过查询全节点获取交易和区块数据。轻节点主要用于资源受限的设备,如移动设备。轻节点通过简化支付验证(SPV)协议验证交易的存在和完整性。

2.1.3 本地数据库

区块链节点使用本地数据库来存储区块、交易和账户状态等数据。常用的本地数据库有 LevelDB 和 RocksDB。

  • LevelDB:由 Google 开发的键值对存储数据库,支持高效的读写操作,常用于比特币节点。
  • RocksDB:由 Facebook 开发,基于 LevelDB,优化了写入性能和并发性,常用于以太坊节点。

2.1.4 数据分片

为了提高区块链的存储和处理能力,数据分片技术被提出。数据分片将区块链网络分成多个分片,每个分片处理一部分交易和状态数据。

  • 分片机制:每个分片有独立的账本和状态,节点只需存储和处理所属分片的数据,减少了存储和计算负担。
  • 跨片通信:分片之间通过跨片交易和跨片通信协议进行数据交换,保证全局一致性和数据完整性。

2.2. 数据验证

区块链的数据验证机制确保数据的完整性和真实性,主要通过哈希函数、数字签名和共识机制来实现。

2.2.1 哈希函数

哈希函数将任意长度的输入映射为固定长度的输出,具有单向性和抗碰撞性。

  • 区块哈希值:每个区块头包含上一区块的哈希值,通过计算当前区块头的哈希值,将其与预期的上一区块哈希值进行对比,验证区块的完整性。
  • Merkle 树根哈希:区块体中的交易数据通过 Merkle 树组织,Merkle 根哈希值存储在区块头中,通过验证根哈希,可以快速验证区块中的任意交易是否被篡改。

2.2.2 数字签名

数字签名通过非对称加密算法生成,用于验证交易的真实性和完整性。

  • 签名生成:交易发送方使用私钥对交易数据进行签名,生成数字签名。
  • 签名验证:接收方使用发送方的公钥验证数字签名,确认交易的真实性。只有持有私钥的发送方才能生成合法的签名。

2.2.3 共识机制

共识机制通过特定算法使网络中的所有节点就账本状态达成一致,防止双重支付和其他攻击。

  • 工作量证明(PoW) :节点通过解决复杂的数学难题竞争记账权,解决难题的节点可以将新区块添加到区块链中。
  • 权益证明(PoS) :节点根据其持有的代币数量和时间获得记账权,减少了计算资源的浪费。
  • 委托权益证明(DPoS) :通过投票选出一组代表进行区块生产,提高了网络的效率和扩展性。
  • 拜占庭容错(BFT) :通过投票机制实现共识,适用于小规模网络,具有较高的效率和容错性。

2.2.4 智能合约执行

智能合约是存储在区块链上的自动化合约,合约条款和执行逻辑编写在代码中,并由区块链网络自动执行。

  • 虚拟机:以太坊等区块链平台使用虚拟机(如 Ethereum Virtual Machine, EVM)来执行智能合约代码,确保合约执行的确定性和安全性。
  • Gas 机制:为防止合约执行中的无限循环或资源滥用,智能合约执行需要支付 Gas 费用,费用由执行合约的计算资源和存储资源决定。

2.3. 区块链中的数据处理流程

2.3.1 交易的生成和广播

  • 交易生成:用户创建一笔交易,指定发送方、接收方、金额和附加数据,并用私钥对交易进行签名。
  • 交易广播:用户将签名后的交易广播到区块链网络,邻近节点接收到交易后会继续转发,直至全网节点都收到该交易。

2.3.2 交易的验证

  • 初步验证:节点接收到交易后,首先验证交易的签名、格式和账户余额,确保交易的合法性。
  • 打包交易:矿工或验证节点将合法的交易打包成区块,并进行区块头的哈希计算和共识验证。

2.3.3 区块的生成和传播

  • 区块生成:矿工或验证节点成功完成区块头的哈希计算或权益证明,将新区块添加到区块链中。
  • 区块传播:节点将新区块广播到区块链网络,邻近节点接收到新区块后会继续转发,直至全网节点都收到该区块。

2.3.4 区块的验证

  • 区块头验证:节点接收到新区块后,首先验证区块头的哈希值和前一区块哈希值,确保区块链的连续性。
  • 交易验证:节点依次验证区块中的每笔交易,确保交易的签名、格式和账户余额的合法性。
  • 状态更新:节点验证完区块中的所有交易后,更新本地账户状态,将区块添加到本地区块链副本中。

3. 去中心化应用(DApps)和去中心化金融(DeFi)

去中心化应用(DApps)和去中心化金融(DeFi)是区块链技术的重要应用领域。DApps 利用智能合约实现自动化和去中心化操作,而 DeFi 通过区块链技术提供金融服务,无需传统金融中介机构。以下详细介绍这两个领域的原理、应用和技术细节。

3.1. 去中心化应用(DApps)

3.1.1 定义与特点

  • 定义:去中心化应用(DApps)是基于区块链技术运行的应用程序,利用智能合约实现自动化和去中心化操作。

  • 特点

    • 去中心化:DApps 运行在区块链网络上,没有中央服务器,数据存储和计算由网络中的节点分担。
    • 透明性:智能合约代码公开,任何人都可以查看和验证合约逻辑,确保透明和可信。
    • 抗审查性:由于没有中央控制机构,DApps 难以被审查或关闭。
    • 信任最小化:DApps 通过智能合约自动执行,无需信任第三方,减少了对中心化机构的依赖。

3.1.2 技术构成

  • 智能合约:DApps 的核心,自动执行预定义的规则和逻辑。
  • 区块链网络:DApps 运行的基础设施,提供去中心化的数据存储和共识机制。
  • 前端界面:用户与 DApps 交互的界面,通常是 Web 应用,通过浏览器访问。

3.1.3 DApps 的开发流程

  • 定义需求:明确 DApps 的功能需求和业务逻辑。
  • 编写智能合约:使用 Solidity 等智能合约编程语言编写合约代码,部署到区块链网络。
  • 开发前端:使用 Web 技术(如 HTML、CSS、JavaScript)开发用户界面,连接智能合约。
  • 测试与部署:在测试网络上进行测试,确保功能正确后,部署到主网。

3.1.4 DApps 的典型应用

  • 去中心化交易所(DEX) :如 Uniswap 和 SushiSwap,用户可以直接在链上进行代币交易,无需中心化中介。
  • 去中心化社交媒体:如 Steemit,用户在平台上发布内容和互动,数据存储在区块链上。
  • 去中心化游戏:如 CryptoKitties,用户可以购买、繁殖和交易虚拟猫,所有操作记录在区块链上。
  • 去中心化市场:如 OpenSea,用户可以买卖 NFT(非同质化代币),交易记录公开透明。

3.2. 去中心化金融(DeFi)

3.2.1 定义与特点

  • 定义:去中心化金融(DeFi)是基于区块链技术提供的金融服务,包括借贷、交易、支付等,去除了传统金融中介机构。

  • 特点

    • 无须许可:任何人都可以使用 DeFi 协议,无需批准或验证身份。
    • 开放性:DeFi 协议和代码公开透明,任何人都可以查看、使用和改进。
    • 可组合性:不同的 DeFi 协议可以互相组合,形成"乐高积木"般的金融服务。
    • 自主性:用户对自己的资产拥有完全控制权,无需信任第三方。

3.2.2 技术构成

  • 智能合约:自动执行金融交易和操作的核心,确保交易的透明性和自动化。
  • 区块链网络:提供去中心化的基础设施,保障数据安全和交易透明。
  • 去中心化预言机:如 Chainlink,提供链外数据输入,确保智能合约能获取到真实的市场信息。

3.2.3 DeFi 的关键组件

  • 去中心化交易所(DEX) :用户可以在链上直接进行代币交易,如 Uniswap 和 SushiSwap。
  • 去中心化借贷平台:用户可以借入和借出加密资产,如 Aave 和 Compound。
  • 稳定币:与法币挂钩的加密货币,提供稳定的价值储存,如 DAI 和 USDC。
  • 去中心化保险:提供智能合约保险服务,如 Nexus Mutual。
  • 收益聚合器:自动优化收益的投资工具,如 Yearn Finance。

3.2.4 DeFi 的运作机制

  • 流动性提供:用户向去中心化交易所提供流动性,获得交易手续费和奖励。
  • 抵押借贷:用户抵押加密资产,借出其他资产,或将资产借出赚取利息。
  • 算法稳定币:通过算法调节供应,保持与法币的汇率稳定。
  • 预言机机制:获取链外数据(如价格信息)输入到智能合约,确保合约操作的准确性。

3.2.5 DeFi 的典型应用

  • Uniswap:一种去中心化交易所,用户可以直接在链上进行代币交易,流动性由用户提供。
  • Aave:去中心化借贷平台,用户可以抵押加密资产借出其他资产,或将资产借出赚取利息。
  • MakerDAO:去中心化稳定币平台,用户可以通过抵押 ETH 生成稳定币 DAI。
  • Nexus Mutual:去中心化保险平台,用户可以购买智能合约保险,保护自己免受智能合约漏洞的影响。
  • Yearn Finance:收益聚合器,用户可以将资产存入 Yearn,自动优化收益。

4. 区块链去中心化的挑战和未来展望

4.1 扩展性

区块链的扩展性是一个重大挑战,由于每个节点都需要处理和存储所有交易,网络性能和效率下降。为了解决这个问题,社区提出了链下扩展(Layer 2)、分片技术(Sharding)等解决方案。

  • 链下扩展(Layer 2) :通过在链下处理部分交易,提高主链的处理能力。典型的 Layer 2 方案包括闪电网络和状态通道。
  • 分片技术(Sharding) :将区块链网络分成多个分片,每个分片处理一部分交易,提高网络的并行处理能力。

4.2 能耗

某些共识机制(如 PoW)消耗大量能源,对环境造成不利影响。为此,许多区块链项目正在探索更环保的共识机制,如 PoS 和混合共识机制。

  • 权益证明(PoS) :减少了计算资源的浪费,但在去中心化程度和安全性上存在争议。
  • 混合共识机制:结合多种共识机制的优点,提高系统的安全性和效率。

4.3 用户体验

目前去中心化应用最大的缺陷就是不适合实时性非常高的应用,与区块链的交互会出现延迟,几秒到十几秒不等,有的甚至更长���其次,用户需要掌握私钥管理、交易费用等区块链基础知识,这对普及和推广形成了一定的障碍。

改进方向:提高用户界面的友好性,简化私钥管理流程,降低交易费用,提高交易确认速度。

4.4 法律和监管

去中心化网络的法律和监管问题尚未完全解决。由于其全球性和匿名性,去中心化网络可能涉及跨国犯罪、洗钱等法律问题,各国政府需要制定相应的法律和监管框架。

改进方向:建立合理的法律和监管框架,平衡创新和风险,保护用户权益和社会公共利益。

5. 结论

区块链去中心化通过分布式账本、共识机制、密码学技术和 P2P 网络,实现了高安全性、透明性和自主性的系统架构。

区块链去中心化的实现依赖于多个核心组件的协同工作,分布式账本:通过链式结构和 Merkle 树保证数据的完整性和不可篡改性;共识机制:通过不同算法实现网络节点的一致性;密码学技术保护数据的安全和隐私;P2P 网络:实现了数据的高效传播和节点发现。

区块链的数据存储和验证机制通过分布式账本、哈希函数、数字签名和共识机制等多种技术手段,确保数据的完整性、真实性和不可篡改性。全节点和轻节点各自承担不同的存储和验证任务,保证了区块链网络的安全性和去中心化。

去中心化应用(DApps)和去中心化金融(DeFi)通过区块链技术实现了去中心化、透明和自主的操作,打破了传统中心化应用和金融服务的限制。DApps 利用智能合约实现自动化和去中心化操作,广泛应用于交易所、社交媒体、游戏和市场等领域。而DeFi 则通过区块链提供无须许可、开放和自主的金融服务,涵盖了交易、借贷、稳定币、保险和收益聚合等方面。

尽管面临扩展性、能耗、用户体验和法律监管等挑战,去中心化在加密货币、智能合约、DeFi 和去中心化应用等领域展现了巨大的潜力和应用前景。

随着技术的不断进步和完善,去中心化有望在更多领域发挥重要作用,推动社会的进步和变革。

相关推荐
FISCO_BCOS28 分钟前
【区块链 + 基层治理】链动社区:基于 FISCO BCOS 的智慧社区数字化治理平台 | FISCO BCOS应用案例
大数据·区块链
阿雄不会写代码10 小时前
【阿雄不会写代码】全国职业院校技能大赛GZ036第七套
区块链
阿雄不会写代码11 小时前
【阿雄不会写代码】全国职业院校技能大赛GZ036第五套
区块链
I592O92978312 小时前
智能合约系统DAPP开发
区块链·智能合约
bighu14 小时前
区块链应用的密钥管理
区块链·二层
山师第一深情1 天前
区块链基础
算法·区块链·哈希算法
Mindfulness code2 天前
以太坊开发环境
区块链·以太坊
I592O9297832 天前
币安/欧易合约对冲APP系统开发
人工智能·区块链
FISCO_BCOS2 天前
【区块链 + 人才服务】链节区块链教学管理平台 | FISCO BCOS应用案例
区块链·人才服务
i嗑盐の小F2 天前
【IEEE出版 | 往届会后3个月EI检索】第三届IEEE云计算、大数据应用与软件工程国际学术会议 (IEEE-CBASE 2024,10月18-20)
大数据·人工智能·深度学习·物联网·云计算·区块链·软件工程