Web3 区块链技术与应用 BTC2
比特币节点分为全节点和轻节点(SPV)。全节点始终在线,保存完整区块链和UTXO集合,验证交易和区块合法性,参与挖矿决策。轻节点仅保存区块头和相关交易,无法验证多数交易合法性。比特币安全性依赖密码学(私钥签名)和共识机制(多数算力遵守协议)。挖矿具有无记忆性,设备从CPU、GPU发展到专用ASIC芯片。"矿石"隐喻数字资产,挖矿机制旨在解决矿工收入不稳定问题。
07-比特币挖矿
节点分类
比特币中的节点分成全节点和轻节点
全节点:
1.一直在线
2.在本地硬盘上维护完整的区块链信息
2.在内存里维护UTXO集合,以便快速检验交易的正确性
4.监听比特币网络上的交易信息,验证每个交易的合法性
5.决定哪些交易会被打包到区块里
6.监听别的矿工挖出来的区块,验证其合法性
7.挖矿:
决定沿着哪条链挖下去?缺省情况下,沿着最长合法链挖下去
当出现等长的分叉的时候,选择哪个分叉?缺省情况下,选择最先听到的分叉
轻节点(SPV,simplified payment verification)(比特币中大部分都是轻节点):
1.不是一直在线
2.不用保存整个区块链,只要保存每个区块的块头
3.不用保存全部交易,只保存与自己有关的交易
4.无法检验大多数交易的合法性,只能检验与自己相关的那些交易的合法性(轻节点只能检测哪个是最长链,但不能检测哪个是最长合法链)
5.无法检测网上发布的区块的正确性
6.可以验证挖矿的难度
7.只能检测哪个是最长链,不知道哪个是最长合法链
安全性
比特币是怎么保证安全性?
1.密码学上的保证:别人没有你的私钥,就没有办法伪造你的签名,所以不能把你账上的钱转走(前提是系统拥有大多数算力的矿工是好的,是遵守协议的,不会接受那些没有合法签名的交易)
2.共识机制
挖矿
挖矿的一个性质是无记忆性,所以无论是继续挖原来的区块,还是停下来重新挖一个新组装的区块,成功的概率都是一样的
挖矿的设备
挖矿的设备越来越趋于专业化
第一代:CPU:性价比太低(通用计算)(少而精)
第二代:GPU:主要用于大规模的并行计算(通用并行计算)(多而专)
第三代:ASIC(Application Specific Integrated Circuit):是专门为了挖矿而设计的芯片,过时即作废,只能计算哈希值,不能干全节点的其他工作(专用挖矿)
"矿石"是数字资源的隐喻,代表可通过计算工作提取的数字资产或价值。
矿石的出现一个目的,就是为了解决收入不稳定,单个矿工的收入是不稳定的
08-比特币脚本(The BitCoin Scripting Language)
比特币脚本是一种基于栈的、图灵不完备的脚本语言,用于定义比特币交易的花费条件。它是比特币系统的“智能合约”层。


Proof of Burn(这个脚本是证明销毁比特币的一种方法)
> output script
RETURN
:
: [zero or more ops or text]
这种形式的output被称为:
Provably Unspendable/Prunable Outputs
>脚本说明
假如有一个交易的input指向这个output,不论input里的input script如何设计,执行到RETURN命令之后都会直接返回false,不会执行RETURN后面的其他指令,所以这个
output无法再被花出去,其对应的UTXO也就可以被剪枝了,无需保存
更多推荐
所有评论(0)