zerodot618
@39696134
07-BTC-挖矿
编程
2022-12-06 01:10
Words count: 5571
北京大学公开课《区块链技术于应用》笔记,由肖臻老师讲授,主要讲解区块链的基本概念和实现原理。

声明:本文是要点笔记,介绍和系列笔记均收录在专题:区块链技术与应用

全节点简介

  • 一直在线,
  • 在本地硬盘上维护完整的区块链信息,
  • 在内存里维护 UTXO 集合,以便快速检验交易的正确性,
  • 监听比特币网络上的交易信息,验证每个交易的合法性,
  • 决定哪些交易会被打包到区块里,
  • 监听别的矿工挖出来的区块,验证其合法性,
  • 挖矿
    • 决定沿着那条链挖下去?
    • 当出现等长的分叉的时候,选择哪一个分叉?

轻节点简介

  • 不是一直在线,
  • 不用保存整个区块链,只要保存每个区块的块头,
  • 不用保存全部交易,只保存与自己相关的交易,
  • 无法检验大多数交易的合法性,只能检验与自己相关的那些交易的合法性,
  • 无法检测网上发布的区块的正确性,
  • 可以验证挖矿的难度,
  • 只能检测哪个是最长链,不知道哪个是最长合法链。

比特币网络中大部分节点都是轻节点,如果只是转账而不是挖矿的话,没必要用全节点。挖矿过程中,如果你监听到别人发布了一个区块,该区块是合法的,也是在延长最长合法链。这时候你该怎么办?

应该停止挖矿,然后重新在本地组装一个候选区块,再重新从头开始挖矿。因为如果沿着新发布的交易往下挖的话,那么本地组装的区块中包含的交易就会发生变化,有些交易可能已经被包含到新发布的区块里了。另外 block header 的内容也会发生变化,像 block header 里由交易所组成的 merkle tree 的根哈希值,还有指向前一个区块的哈希指针,这些也都会发生变化。

Arweave TX
esJlX-9wOe1SQSoPiuRocwvpwTVhbRRZ20URpcfjV8s
Content Digest
41b124697cce12ab5a606930b3a5d20e1c4437232a2dba6d15e8b66cf8a23f51
- 90.0 % More to go -
Pay 0.0000060 BTC (≈$0.3798) to continue reading
and receive early reader revenue (Rules)
This post is a virtural product selling on Quill, IT WILL NOT REFUND once paid. Please pay with caution.
Pay to Read
Already paid? Try to Login
0 : 0
1 times bought, 0 times reward
Comments
zerodot618
@39696134
Subscribing: 0 Subscribers: 2
Subscribe
Related Posts
Defi乐高之借贷协议(2)--MarginFi 隐身3个月通关编程实战项目,升级进取型思维分享。 macOS系统多开Google Chrome浏览器 从小白到科学家(二)之脱胎换骨 Invoke the closed source contract tutorial with MetaMask
Rules Stats Help Github Twitter Discord
zerodot618
@39696134
Subscribing: 0 Subscribers: 2
Subscribe
Related Posts
Defi乐高之借贷协议(2)--MarginFi 隐身3个月通关编程实战项目,升级进取型思维分享。 macOS系统多开Google Chrome浏览器 从小白到科学家(二)之脱胎换骨 Invoke the closed source contract tutorial with MetaMask
Rules Stats Help Github Twitter Discord