概念性知识第二课,这篇之后就会开始学习Solidity,通过代码上手锻炼,希望同学们看完这些之后心里对区块链有个大概的了解 后面会通过代码演示区块的工作性质及原理
区块链是一种分布式账本技术,其工作原理可以分为以下几个关键部分:
区块结构
- 区块:区块是数据的容器,每个区块包含若干交易记录。(可以想象成一个储存盘 在上面增删改查)
- 区块头:区块头包含区块的元数据,如时间戳、前一个区块的哈希值和默克尔根(Merkle Root)。
区块链的构建
- 链式结构:每个区块通过哈希值链接到前一个区块,形成一条链式结构。这种结构保证了数据的不可篡改性,因为修改一个区块将导致其后所有区块的哈希值变化。
- 分布式网络:区块链网络由多个节点组成,每个节点都保存着完整的区块链副本。(如果掌握链上百分之五十的节点 你就是神 你说的每一个数字都会实现 但是这样的行为没意义 可以理解为单机游戏开作弊器 )
共识机制
共识机制是区块链网络中节点就交易有效性达成一致的协议。常见的共识机制包括:
- 工作量证明(PoW):通过计算复杂的数学问题来验证交易(如比特币)。(以前的"挖矿",但是因为环保人士提出意见 算力的浪费代表电 煤 的浪费)
- 权益证明(PoS):基于持有的代币数量和时间来验证交易(如以太坊2.0)。(可以理解成质押 在一个钱庄内 谁股份多就有更多的分红)
- 其他共识机制:如DPoS(委托权益证明)、PBFT(实用拜占庭容错)等。
以太坊平台的基础知识
以太坊是一个开源的区块链平台,支持智能合约和去中心化应用开发。以下是以太坊的一些基础知识:
以太坊虚拟机(EVM)
以太坊虚拟机(EVM)是以太坊智能合约的执行环境,负责执行智能合约代码,并维护以太坊的状态。(运行代码的服务器)
智能合约
- 定义:智能合约是运行在区块链上的自执行代码,能够自动执行合约条款。
- 语言:Solidity是以太坊智能合约的主要编程语言,类似于JavaScript。
以太币(ETH)
以太币(ETH)是以太坊网络的原生加密货币,用于支付交易费用和计算资源。
账户类型
- 外部账户:由私钥控制,主要用于个人用户和钱包。
- 合约账户:由智能合约代码控制,主要用于执行智能合约逻辑。
交易和Gas
- 交易:用户在以太坊网络上进行的操作,如转账和调用智能合约。
- Gas:执行交易所需的计算资源,用户需支付Gas费(手续费)用来执行交易。
以上只是拿出eth举例 理论上有无数的链 他们通过"共识"来运行在各个网络环境
区块链类型
区块链主链是一种类比传统银行账户系统的分布式账本数据库,用于安全地储存和传输数字货币。区块链主链主要在区块链技术的应用领域总结出以下五个类型的区块链主链:
公有链
公有链是不需要任何访问权限的事务记录网络,信息是可以被任何方访问的,无论其归属者是谁。而且一般由各个公司或组织维护,比特币和以太坊就是一个典型的例子。
联盟链
联盟链是一种特殊的公有链,它是由专门负责管理、操作和保护区块链的各方协同构建的托管网络。而只有特定的协同方才能够加入该网络,协同方可以是企业、银行等机构。联盟链也被称为“托管网络”,因为它不仅对网络中的数据做出控制,也将所有网络成员归类为“可信任的”成员,这些可信任的成员才能访问和改变网络上的数据。
私有链
私有链是仅仅在特定的机构或企业内部使用的分布式数据库,这些机构或企业都具备独立的运营权限,拥有私人的区块数据库和使用特定的区块链节点,以追踪数据流转的功能。相比联盟链,更多的实体只允许由私有链所有成员添加或少量的指定机构添加,而其他人无法添加或访问,具有较强的数据安全性,但要求参与机构的技术水平较高。
侧链
侧链可以简单的理解为一种与主链相对立的另外一种区块链的形式,他们是独立于主链的其他数据交换平台,没有侧链的话可以理解为是由主链作为承载平台将基础性资产完成交互,侧链可以利用区块链的特性,对主链上的数据进行分析,挖掘价值,保证主链的数据安全,同时又能保证超大量数据处理。
应用链
应用链是以分布式网络结构为基础的一种去中心化的区块链账本。它比传统的中心化应用拥有更高的可靠度,同时支持透明且安全的数据交换和分发,能够给全球范围内的社会活动的各方提供更便捷、更高效的服务。它也是给企业、金融等行业提供服务机制的一种新型基础设施,通过应用链的技术,可以让这些行业的服务在全球范围内有效发挥影响力。