01/ 区块链基本概念
区块是区块链的基本组成单位,是交易记录和数据的容器。一个区块就是区块链中的一个数据包,包含一组经过验证的交易以及其他与区块链状态相关的信息。区块存储数据并连接到区块链上的前一个区块,形成连续、不可篡改的链条,保障数据完整性。
区块结构
区块头:提供区块的元信息并链接其他区块,确保区块链的顺序性及数据完整性,包含前一区块哈希值、时间戳、哈希值数Merkle根等。
区块体:储存区块的核心内容,及经过验证的交易数据或其他记录。
生成过程
交易收集:网络节点接收用户广播的交易,将其存入内存池。
打包验证:矿工或验证节点按照共识算法,将合法交易打包成区块。
共识验证:其他节点验证区块的合法性,并将其加入区块链。
区块作用
交易记录:每个区块存储一组经过验证的交易,为网络的完整运行提供基础。
连接节点:区块之间的哈希链接确保了整个网络的连续性和安全性。
防篡改证明:区块头中的哈希值和时间戳使数据的篡改难度极高。
共识算法是分布式系统中用来确保所有节点对数据状态达成一致的机制,它确保网络中没有中心化权威的情况下,仍能安全地记录和更新数据。常见的算法包括工作量证明(PoW)和权益证明(PoS)。
工作量证明
节点(矿工)通过解决复杂数学问题(成为哈希计算)来竞争区块打包权,最先完成的节点获得记账权和区块奖励。
优点:高安全性,抵抗恶意节点攻击的能力强(比特币网络BTC)。
缺点:能源消耗大,交易速度慢。
权益证明
节点通过锁定一定数量的代币(成为:权益“,Stake)获得参与验证的资格,选取验证者的概率与其质押的代币数量成正比。
优点:能耗低,验证速度快。
缺点:大额代币持有者更有可能获得验证资格和区块打包权,可能具有中心化倾向。
哈希函数是一种加密算法,可以将任意长度的输入数据映射为固定长度的输出值,用于数据完整性校验和唯一性验证。
单向性
哈希算法是不可逆的,即无法从哈希值反向推算出原始数值。
高敏感性
输入数据的微小变化会导致哈希值完全不同,
抗碰撞性
不同的输入生成相同哈希值的可能性极低。
02/ 链上交互基础
Web3的账户体系是用户与区块链交互的基础。与Web3的账户模型相比,Web3的账户具有去中心化、无中介和自主控制等特点,用户通过加密技术直接管理资产和数据。
组件
私钥:控制Web3账户的核心工具,由用户存储,用于签名授权交易。丢失私钥等于丢失账户的控制权。
地址:从私钥生成的公开标识符,用于接收和识别资产,例如0x开头的以太坊地址。
交互:同一个Web3账户可以跨多个去中心化应用登录签名使用,作为通用身份和资产管理工具。
账户类型
外部拥有账户(Externally Owned Account, EOA):由私钥直接控制的账户,通常由用户通过钱包(如Metamask)管理。能主动发起交易(如转账或调用智能合约)。只能存储代币和支付Gas费用,不能存储代码或运行逻辑。
智能合约账户(Contract Account):由区块链上的代码控制,行为由预定义逻辑决定。无法主动发起交易,只能在收到EOA或其他合约调用时响应。
区块链的账户模型用于存储和管理用户的资产和交易记录。常见的有UTXO模型(未使用交易输出)和账户余额模型。
UTXO模型
UTXO模型将资产视为不可分割的“硬币”。账户中的余额是未消费交易输出(UTXO)的集合,每次交易会“花费”已有UTXO,并创建新的UTXO。
代表链:比特币
Alice持有两个UTXO,一个为3BTC,另一个为2BTC。当她支付Bob 4BTC时,系统会“消费”这两个UTXO,并生成一个新的1BTC找零UTXO。
账户余额模型
类似银行账户,直接存储用户账户地址的余额和状态。
代表链:以太坊及其兼容链
Alice的以太坊账户有10ETH。当她转载2ETH给Bob后,其余额变为8ETH,而Bob的余额增加至2ETH。
智能合约是部署在区块链上的自执行程序,能够根据预设条件自动执行操作,无需认为干预。通过对区块链读取与写入,智能合约能保证代码的执行结果透明且不可篡改。
特点
自动化:智能合约可以基于预设条件自动完成复杂的交易或流程,如借贷、清算等,无需人工干预。
不可篡改:一旦部署到区块链,其代码和规则无法更改。
透明性:所有智能合约的代码和操作过程都对公众可见,任何人可以验证其逻辑是否被正确执行。
工作机制
合约部署:合约一经部署会生成固定合约地址,所有代码规则都被写入区块链,无法更改或删除。
合约调用:用户通过钱包或dAp调用智能合约的函数,提交交易或触发逻辑。
写入区块:区块链节点验证交易,并根据合约逻辑更新区块链状态。
编程语言
Solidity:以太坊上开发智能合约的主要语言,是目前最流行的智能合约语言。它是一种面向对象的高级语言,语法类似Javascript和C++。
Rust:高性能、内存安全适合高吞吐量的区块链应用,应用于Solana、Polkadot和NEAR等。
Move:关注于资产管理和安全,目前应用于Sui和Aptos链等。