#53
敲點算法題
瑞吉外賣day4
調整心態 睡眠 及精神
web3
以下是應北京大學肖臻老師《區塊鏈技術與用》公開課的完整教學大綱,綜合課程內容、技術模塊及前沿擴展,分為核心章節與專題拓展兩部分,引用自公開課資料及學員筆記。
📘 一、課程概述與教學目標
-
課程定位
-
系統講解區塊鏈底層技術原理(密碼學、數據結構、共識協議)與典型應用場景(比特幣、以太坊生態)。
-
面向計算機科學、金融科技、分布式系統領域的學習者,強調理論與工程實踐結合。
-
核心目標
-
掌握區塊鏈安全機制設計思想(如去中心化信任、防篡改)。
-
具備分析行業痛點(如供應鏈溯源、金融結算)并設計區塊鏈解決方案的能力。
?? 二、比特幣技術精講(BTC)
-
密碼學基礎
-
哈希函數特性(單向性、抗沖突性、謎題友好性)及在區塊鏈中的應用(如Merkle樹)。
-
數字簽名原理與公私鑰體系,解決身份驗證問題。
-
數據結構與協議
-
區塊鏈結構:Hash指針、創世塊、最長鏈原則。
-
Merkle樹與驗證:輕節點Merkle Proof實現高效交易驗證。
-
共識機制:工作量證明(PoW)、挖礦難度動態調整、51%攻擊防御。
-
關鍵問題解析
-
雙花攻擊(Double Spending)及UTXO模型解決方案。
-
分叉類型(硬分叉 vs. 軟分叉)及對生態的影響。
-
比特幣腳本(Bitcoin Script)的局限性與應用場景。
💎 三、以太坊技術精講(ETH)
-
賬戶模型與數據結構
-
賬戶類型:外部賬戶(EOA)與合約賬戶,Nonce防重放攻擊。
-
狀態存儲:MPT(Merkle Patricia Trie)樹實現高效狀態更新與歷史回溯。
-
三棵樹結構:狀態樹(全局賬戶)、交易樹(區塊內交易)、收據樹(執行結果)。
-
共識優化與性能提升
-
GHOST協議:解決高頻出塊導致的臨時分叉問題,引入叔塊獎勵機制。
-
內存硬挖礦算法(Ethash):抵抗ASIC礦機,保障去中心化。
-
Gas機制:燃料費計算與智能合約執行成本控制。
-
智能合約與生態事件
-
智能合約開發框架(Solidity)、部署流程及安全漏洞案例(如TheDAO事件)。
-
權益證明(PoS)過渡方案(Casper FFG)與以太坊2.0升級方向。
🔮 四、前沿與擴展主題
-
跨鏈與擴容技術
-
Layer2解決方案(如Optimistic Rollup、ZK-Rollup)。
-
跨鏈橋(Bridge)實現資產跨鏈轉移的原理與風險。
-
隱私與安全進階
-
零知識證明(ZKP)、同態隱藏技術在匿名交易中的應用。
-
智能合約安全審計工具(如Slither)及常見漏洞防范(重入攻擊、溢出)。
-
行業應用與趨勢
-
DeFi(去中心化金融)、NFT(非同質化代幣)的底層支持邏輯。
-
元宇宙(Metaverse)與區塊鏈的融合場景分析(課時29)。
📚 五、課程特點與學習建議
-
實踐導向:結合Remix、Truffle等工具演示合約開發,通過案例(如NFT市場)深化理解。
-
動態更新:涵蓋以太坊升級(PoS)、隱私計算(課時28)等前沿內容。
-
學習資源:
-
視頻公開課:B站搜索“肖臻區塊鏈”(含29節完整課時)。
-
配套筆記:CSDN博客“肖臻區塊鏈筆記”提供章節技術摘要。
💡 肖臻教授觀點:
“區塊鏈技術遠非僅限于加密貨幣(如比特幣),其核心價值在于構建去中心化信任基礎設施。當前仍處于技術爆發早期,深入理解原理者仍是稀缺人才。”
此大綱覆蓋技術深度與行業寬度,適合系統性學習或作為開發參考指南。
以下是北京大學肖臻教授《區塊鏈技術與應用》課程中密碼學原理部分的詳細筆記整理,結合課程核心內容與公開資料,重點涵蓋哈希函數與數字簽名兩大技術模塊。
🔑 一、哈希函數(Hash Function)
哈希函數是區塊鏈的密碼學基石,核心特性包括:
-
抗碰撞性(Collision Resistance)
-
幾乎不可能找到兩個不同輸入產生相同哈希輸出(如
x ≠ y
但H(x) = H(y)
)。
-
應用:保證數據完整性。例如,比特幣區塊頭包含前一區塊哈希值,篡改任一區塊會導致后續所有哈希值失效。
-
?? 注:抗碰撞性依賴實踐經驗(如MD5已被破解,比特幣采用SHA-256)。
-
隱藏性(Hiding)
-
哈希值無法反推原始輸入(單向性)。
-
應用:實現“數字密封信封”。例如,預測結果拼接隨機數后哈希公布,事后驗證時比對哈希值即可證明未篡改。
-
謎題友好性(Puzzle Friendly)
-
無法預知輸入如何影響輸出,適合工作量證明(PoW)。比特幣要求礦工尋找滿足
H(block header) ≤ target
的隨機數(Nonce)。
-
確定性 & 雪崩效應
-
同一輸入始終輸出相同哈希值;輸入微小變化(如1比特)導致輸出完全不同(例如
"A"
→3A7D
,"a"
→8F1C
)。
區塊鏈中的典型哈希算法:
-
SHA-256:比特幣區塊鏈接與Merkle樹。
-
Keccak-256:以太坊地址生成與狀態樹優化。
📝 二、數字簽名(Digital Signature)
數字簽名用于驗證交易來源與完整性,基于非對稱加密(公鑰加密體系):
1. 核心流程
-
簽名生成:
-
發送方對消息
M
計算哈希值H(M)
。
-
用私鑰加密哈希值生成簽名
S
。
-
簽名驗證:
-
接收方用發送方公鑰解密
S
得到H(M)'
。
-
比對
H(M)'
與本地計算的H(M)
,一致則驗證通過。
2. 關鍵特性
-
不可偽造性:私鑰唯一,簽名無法被偽造。
-
不可抵賴性:公鑰可驗證簽名來源,發送方無法否認。
-
數據完整性:哈希值匹配證明內容未被篡改。
3. 區塊鏈應用
-
比特幣:
-
私鑰代表賬戶控制權,交易需私鑰簽名。
-
地址生成:
私鑰 → SHA256 → RIPEMD160 → Base58編碼
。
-
以太坊:
-
地址 =
Keccak256(公鑰)
的最后20字節。
-
智能合約:預言機數據驗證(如Chainlink先哈希上鏈,鏈下傳遞后比對)。
🌐 三、密碼學在區塊鏈中的綜合應用
-
Merkle樹
-
分層哈希結構,葉子節點為交易哈希,父節點為子節點哈希組合。
-
作用:輕節點通過Merkle路徑驗證交易(如SPV錢包),無需下載全鏈數據。
-
抗攻擊設計
-
生日攻擊防御:SHA-256碰撞概率極低(約2?12?)。
-
量子計算威脅:Grover算法可加速哈希碰撞,但當前量子算力不足(需百萬級量子比特)。
-
隱私增強技術
-
零知識證明(ZKP):Zcash用哈希構建Nullifier防止雙花。
-
同態加密:支持加密數據直接運算(如隱私Rollup)。
🔮 四、前沿挑戰與發展
-
后量子密碼學:
-
NIST推薦SPHINCS?(哈希簽名方案)抵御量子計算。
-
算法升級實踐:
-
比特幣SegWit引入雙重SHA256防御長度擴展攻擊。
-
跨鏈技術:Cosmos IBC協議通過哈希鎖定證明交易真實性。
💎 核心總結
技術 | 核心特性 | 區塊鏈應用場景 |
---|---|---|
哈希函數 | 抗碰撞、隱藏性、謎題友好 | 區塊鏈接、PoW挖礦、Merkle樹驗證 |
數字簽名 | 不可偽造、不可抵賴、完整性 | 交易身份驗證、地址生成、智能合約 |
學習提示:肖臻教授強調密碼學是區塊鏈的“信任基礎設施”,理解其原理是掌握區塊鏈安全機制的前提。建議結合Remix工具實踐哈希計算與簽名驗證,加深對BTC/ETH交易流程的理解。
以下是肖臻《區塊鏈技術與應用》第二課“數據結構”的詳細講解,重點圍繞區塊鏈核心數據結構展開,結合比特幣實現進行說明:
?? 一、區塊鏈的鏈式結構(核心)
區塊鏈本質是由哈希指針連接的區塊鏈表,與普通鏈表的本質區別在于用哈希指針替代了普通指針。
-
哈希指針(Hash Pointer)
-
結構:存儲前一個區塊的內存地址 + 該區塊的哈希值(如
SHA-256(區塊內容)
)。
-
作用:
-
驗證數據完整性:修改任一區塊內容會導致其哈希值變化,后續所有區塊的哈希指針失效。
-
輕節點支持:只需保存最新區塊哈希值即可驗證整條鏈的篡改(如比特幣SPV錢包)。
-
創世區塊:首個區塊的
prev_hash
硬編碼為全0(如000...000
),無前驅區塊。
-
區塊結構拆分 每個區塊分為兩部分:
-
區塊頭(Block Header):存儲元數據(約80字節),包含關鍵字段:
字段 | 作用 |
---|---|
版本號 | 標識協議版本(如比特幣的 version ) |
前一區塊哈希值 | 鏈接前序區塊,形成鏈式結構(prev_hash ) |
Merkle根 | 當前區塊所有交易的Merkle樹根哈希值 |
時間戳 | 區塊生成時間(Unix時間戳) |
難度目標 | 當前PoW挖礦的難度閾值(bits ) |
Nonce | 隨機數,礦工調整以滿足難度目標 |
-
區塊體(Block Body):存儲交易列表(如比特幣的
transactions
)。
-
交易按Merkle樹組織,根哈希值存入區塊頭。
🌳 二、Merkle樹(Merkle Tree)
用于高效驗證區塊內交易的完整性,本質是哈希二叉樹。
-
結構原理
-
葉節點:單筆交易的哈希值(如
H(tx1)
)。
-
非葉節點:子節點哈希拼接后再哈希(如
H(H(tx1) + H(tx2))
)。
-
根節點(Merkle Root):所有交易哈希的最終摘要,存入區塊頭。
-
核心功能
-
防篡改:修改任意交易會連鎖改變父節點哈希直至根節點,導致區塊無效。
-
輕節點驗證(Merkle Proof):
-
存在性證明:全節點向輕節點提供從目標交易到根節點的路徑哈希值,輕節點逐層計算驗證(復雜度O(log n))。
-
不存在性證明:需全節點提供完整Merkle樹(復雜度O(n)),比特幣因交易未排序不支持高效驗證。
-
比特幣中的應用
-
每個區塊的區塊體交易構建Merkle樹,根哈希寫入區塊頭。
-
輕節點僅保存區塊頭即可驗證交易是否被包含。
🔍 三、數據結構對比與演進
-
普通鏈表 vs 區塊鏈
特性 | 普通鏈表 | 區塊鏈 |
---|---|---|
指針類型 | 內存地址指針 | 哈希指針(地址+哈希值) |
防篡改 | 無 | 修改任一區塊導致后續全部失效 |
存儲需求 | 需保存全部節點 | 輕節點僅需保存最新區塊頭 |
-
Merkle樹優化方向
-
Sorted Merkle Tree:交易按哈希值排序,支持高效不存在性證明(比特幣未采用)。
-
Merkle Patricia Trie(MPT):以太坊采用,結合前綴樹壓縮和Merkle驗證,高效存儲賬戶狀態。
?? 四、數據結構如何保障區塊鏈特性
-
不可篡改性
-
鏈式哈希指針 + Merkle樹形成雙重校驗:篡改需重算所有后續區塊哈希及Merkle根,計算成本極高。
-
去中心化
-
輕節點依賴Merkle Proof驗證交易,無需存儲全鏈數據(比特幣全節點約400GB,輕節點僅需數MB)。
-
高效驗證
-
Merkle Proof使交易驗證復雜度從O(n)降至O(log n),適合移動設備等低資源環境。
💎 總結:數據結構的核心價值
區塊鏈通過哈希指針鏈 + Merkle樹構建了“可驗證不可篡改”的分布式賬本:
-
哈希指針 → 確保鏈式歷史不可逆
-
Merkle樹 → 實現交易高效驗證與輕節點支持
-
區塊頭/體分離 → 平衡安全性與存儲效率
學習建議:結合代碼實踐(如Python實現Merkle樹)或比特幣區塊瀏覽器(如blockchain.com)觀察真實區塊結構,深化理解。
以下是肖臻《區塊鏈技術與應用》第三課“比特幣協議”的詳細解析,結合課程內容與比特幣核心技術原理,從協議目標、核心機制到實際運行進行全面拆解:
?? 一、比特幣協議的設計目標
比特幣協議的核心是解決去中心化電子現金系統的三大難題:
-
去信任化(Trustless) 無需銀行等第三方,通過密碼學與共識機制確保交易真實。
-
防雙花(Double-Spending Prevention) 確保同一筆比特幣不被重復使用。
-
抗審查(Censorship Resistance) 任何人均可參與交易,不受地域或身份限制。
🔗 二、協議核心機制解析
1. 區塊鏈結構與數據不可篡改性
-
鏈式哈希指針 每個區塊頭包含前一區塊的哈希值(如
prev_hash
),修改任一區塊會導致后續所有哈希失效。
-
Merkle樹 交易哈希值分層聚合為根哈希(存入區塊頭),輕節點通過 Merkle Proof(路徑哈希)驗證交易是否存在,復雜度僅O(log n)。
2. 工作量證明(PoW)與共識形成
-
挖礦本質 礦工尋找隨機數Nonce,使區塊頭哈希值滿足:
SHA-256(Block Header) ≤ Target
(目標值由網絡難度決定)。
-
難度動態調整 每2016個區塊(約2周)根據全網算力調整Target,維持出塊時間約10分鐘。
-
最長鏈原則 節點默認接受最長鏈為有效鏈,攻擊者需掌握51%算力才可能篡改歷史。
3. UTXO模型:比特幣的“賬戶體系”
-
未花費交易輸出(Unspent Transaction Output) 比特幣余額由UTXO集合構成,交易需引用歷史UTXO作為輸入,并生成新UTXO。 示例: Alice向Bob支付1 BTC:
-
輸入:引用Alice之前收到的某筆UTXO(如2 BTC)。
-
輸出:生成Bob的1 BTC UTXO + Alice的找零1 BTC UTXO。
-
優勢
-
并行交易處理,避免賬戶余額鎖。
-
天然支持交易溯源(每筆UTXO可追溯至創世區塊)。
4. 腳本系統:可編程的交易驗證
-
鎖定腳本(Locking Script)與解鎖腳本(Unlocking Script)
-
鎖定腳本(輸出端):定義UTXO花費條件(如“需提供Bob的簽名”)。
-
解鎖腳本(輸入端):提供滿足條件的證據(如“Bob的簽名”)。 典型腳本:
OP_DUP OP_HASH160 <PubKeyHash> OP_EQUALVERIFY O``P_CHECKSIG
(驗證簽名與公鑰匹配)。
-
擴展性 通過腳本可支持多重簽名、時間鎖等復雜邏輯,為智能合約奠基。
5. P2P網絡與交易傳播
-
Gossip協議 節點將交易/區塊隨機轉發給鄰居,指數級擴散至全網。
-
SPV節點(輕節點) 僅下載區塊頭(約80字節/塊),通過Merkle Proof驗證交易,存儲需求僅全節點的0.1%。
?? 三、協議面臨的挑戰與解決方案
問題 | 原因 | 改進方案 |
---|---|---|
交易吞吐量低 | 區塊大小限制(1MB) | SegWit(隔離見證)擴容 |
能源消耗高 | PoW算力競爭 | 轉向PoS(以太坊2.0)或Layer2 |
交易延展性 | 簽名可修改不影響交易有效性 | SegWit將簽名移出交易ID計算 |
🔮 四、協議演進:分叉與升級
-
軟分叉(Soft Fork)
-
特點:向后兼容,未升級節點仍可驗證交易(如SegWit)。
-
案例:SegWit將簽名數據移至新區塊結構,釋放區塊容量。
-
硬分叉(Hard Fork)
-
特點:規則不兼容,導致鏈分裂(如比特幣現金BCH)。
-
觸發條件:社區對協議升級方向分歧(如區塊大小從1MB增至8MB)。
💎 總結:比特幣協議的核心價值
-
安全基石:PoW+密碼學保障去中心化信任。
-
經濟模型:區塊獎勵(新幣發行)+交易費激勵礦工維護網絡。
-
可擴展生態:腳本系統為DeFi、NFT等應用提供底層支持。
學習建議:
使用比特幣區塊瀏覽器查看真實交易結構(如輸入/輸出腳本)。
閱讀https://bitcoin.org/bitcoin.pdf第4節“工作量證明”,理解PoW設計動機。
代碼實踐:用Python模擬UTXO模型交易驗證流程。
分布式共識(Distributed Consensus)是分布式系統領域的核心問題,指在由多個獨立節點組成的系統中,所有節點如何就某個值(或決策)達成一致,即使部分節點可能發生故障或網絡存在延遲/分區。它是構建可靠、一致分布式系統(如區塊鏈、數據庫集群、分布式存儲)的基礎。
一、為什么需要分布式共識?
分布式系統的核心挑戰在于節點間的不確定性:
-
網絡不可靠:消息可能延遲、丟失或亂序(如跨數據中心的通信)。
-
節點故障:部分節點可能宕機、響應慢或惡意行為(如拜占庭節點)。
-
時鐘不同步:節點本地時鐘無法保證絕對一致,無法依賴時間戳排序。
典型場景:
-
數據庫集群需要確保多個副本的數據一致(如MySQL主從同步)。
-
區塊鏈網絡需要所有節點對交易順序和賬本狀態達成一致(如比特幣)。
-
分布式存儲系統需保證多個存儲節點的數據副本一致(如Ceph)。
二、分布式共識的核心問題
共識算法需解決以下關鍵問題:
-
一致性(Agreement):所有正常節點最終決定相同的值。
-
有效性(Validity):若所有節點初始提議同一個值,則最終決定必須是該值。
-
容錯性(Fault Tolerance):在部分節點故障(或惡意行為)時仍能達成共識。
-
終止性(Termination):算法必須在有限時間內結束,避免無限等待。
三、經典共識算法與分類
根據容錯能力和假設條件,共識算法分為兩類:
1. Crash Fault Tolerance (CFT):容忍節點宕機
假設節點可能宕機,但不會惡意行為(誠實節點)。
代表算法:Paxos、Raft
-
Paxos(1989年提出):
-
核心思想:通過“提案-接受”機制,在多個節點間對某個值達成多數派同意。
-
特點:理論嚴謹但實現復雜,常被視為分布式共識的“基礎模板”。
-
Raft(2013年提出):
-
核心思想:將共識過程拆分為“Leader選舉”“日志復制”“安全性檢查”三個子問題,簡化理解與實現。
-
特點:更易工程化(如etcd、Consul使用Raft),但僅容忍少數節點故障(N/2-1)。
示例:
-
Kubernetes的etcd使用Raft保證集群配置一致性;
-
TiDB的TiKV組件依賴Raft實現多副本數據同步。
2. Byzantine Fault Tolerance (BFT):容忍拜占庭故障
假設部分節點可能任意作惡(如發送矛盾信息、偽造數據)。
代表算法:PBFT、PoW、PoS
-
PBFT(Practical Byzantine Fault Tolerance)(1999年提出):
-
核心思想:通過多輪消息交換(預準備、準備、提交階段)驗證節點一致性,最終多數派達成共識。
-
特點:理論可容忍最多f個惡意節點(總節點數N≥3f+1),但通信復雜度高(O(N2))。
-
應用:早期區塊鏈(如Hyperledger Fabric)、航空航天系統。
-
PoW(Proof of Work)(比特幣提出):
-
核心思想:節點通過計算難題競爭記賬權,最長鏈規則解決沖突,依賴算力保證安全性。
-
特點:容忍≤50%算力作惡,但能耗高、效率低。
-
PoS(Proof of Stake)(以太坊2.0采用):
-
核心思想:節點按持有代幣量和時長投票,權益越高越可能被選為記賬節點。
-
特點:降低能耗,但存在“富者更富”問題。
關鍵區別:
-
CFT算法(如Raft)假設節點僅會宕機,通信復雜度低(O(N)),適合企業級應用;
-
BFT算法(如PBFT)需應對惡意節點,通信復雜度高,但更適合開放網絡(如區塊鏈)。
四、共識算法的核心挑戰
-
性能與擴展性:
-
傳統共識算法(如PBFT)的通信復雜度隨節點數平方增長,難以支撐大規模節點(如物聯網場景)。
-
解決方案:分片(Sharding)、分層共識(如以太坊2.0的信標鏈+分片鏈)。
-
最終一致性 vs 強一致性:
-
強一致性(如Raft)要求所有節點實時同步,犧牲部分可用性(CAP定理);
-
最終一致性(如Gossip協議)允許短暫不一致,適合高可用場景(如Cassandra)。
-
安全性與活性權衡:
-
BFT算法需在“防止作惡”(安全性)和“保證進展”(活性)間平衡,例如PBFT通過超時重試機制避免死鎖。
五、共識在區塊鏈中的特殊性
區塊鏈網絡是典型的“開放、匿名、拜占庭環境”,其共識需額外解決:
-
激勵機制:如何鼓勵誠實節點參與(如比特幣的區塊獎勵)。
-
動態成員管理:允許節點自由加入/退出(如以太坊的PoS驗證者選舉)。
-
雙花攻擊防護:通過共識規則(如最長鏈原則)確保交易唯一性。
趨勢:
-
從PoW轉向PoS(降低能耗);
-
結合分片和Layer2擴容(如以太坊2.0+Rollups);
-
跨鏈共識(如Polkadot的GRANDPA協議)。
六、總結
-
CFT場景:優先選Raft/Paxos(如數據庫、配置管理)。
-
BFT場景:需權衡性能與安全性(如聯盟鏈選PBFT,公鏈選PoS/PoW)。
-
未來方向:高效BFT算法(如HotStuff)、隨機化共識(如Algorand)、融合AI的動態共識。
分布式共識的本質是通過規則設計,在充滿不確定性的分布式環境中“建立信任”,是區塊鏈、元宇宙等技術的底層基石。
比特幣的分布式共識基于工作量證明(PoW)機制,通過算力競爭確保網絡節點對交易和賬本狀態達成一致,核心邏輯如下:
一、核心機制:工作量證明(PoW)
-
挖礦過程
-
節點(礦工)收集未確認的交易,打包成候選區塊。
-
通過不斷嘗試隨機數(nonce),計算區塊頭哈希值,使其滿足前N位為0的難度目標(如比特幣當前要求前19位為0)。
-
這個過程需消耗大量算力,類似“解謎”,最先完成的節點獲得記賬權。
-
最長鏈規則
-
若多個節點同時找到合法區塊,網絡暫存多條鏈,后續節點優先在最長鏈(即包含最多工作量的鏈)上繼續挖礦。
-
隨著時間推移,短鏈會被淘汰,最終所有節點收斂到同一條鏈。
二、關鍵特點
-
去中心化與安全性
-
無需中心機構,任何節點均可參與挖礦,只要控制超過50%的算力即可篡改區塊鏈(實際需超51%攻擊,成本極高)。
-
歷史交易通過哈希鏈錨定,修改任意區塊需重新計算后續所有區塊,幾乎不可行。
-
激勵機制
-
成功挖礦的節點獲得區塊獎勵(比特幣)和交易手續費,激勵節點持續參與。
-
獎勵每21萬個區塊減半(約4年),從最初的50 BTC降至當前6.25 BTC。
三、優勢與挑戰
優勢 | 挑戰 |
---|---|
抗女巫攻擊(需真實算力) | 能耗高(全球礦場年耗電量≈荷蘭全國) |
機制簡單,易于實現 | 確認速度慢(平均10分鐘/區塊) |
抗審查性強 | 硬件壟斷(ASIC礦機集中算力) |
四、與其他共識機制的對比
共識類型 | 代表項目 | 核心邏輯 | 典型場景 |
---|---|---|---|
PoW | 比特幣 | 算力競爭,最長鏈優先 | 公鏈(強去中心化需求) |
PoS | 以太坊2.0 | 權益質押,隨機選舉驗證者 | 公鏈/聯盟鏈(追求效率) |
PBFT | Hyperledger | 多輪投票,容忍拜占庭節點 | 聯盟鏈(低延遲場景) |
五、總結
比特幣的分布式共識通過PoW+最長鏈規則,在無信任的開放網絡中實現了去中心化、不可篡改、抗攻擊的目標,奠定了區塊鏈技術的基石。但其高能耗和低效率的缺點,也推動了PoS等新型共識機制的探索。