區塊鏈怎麼解決的拜占庭問題
❶ 區塊鏈pow解決了什麼(區塊鏈pocc合法嗎)
兩種共識機制對比(PoWvsPoS)區塊鏈中最核心的架構就是共識機制,可以說是區塊鏈的驅動引擎,發展這么多年,目前主流比較明確經得住考驗的就只剩下PoW(ProofofWork)與PoS(ProofofStake)兩種機制。簡單概述下,PoW系統的特點是通過消耗大量算力來計算特定演算法的解(典型如哈希),第一個算出結果的有權生成區塊,同時也會得到coin作為獎勵(這也是coin的生產與分發過程,形象地稱為Mining),採用PoW的典型區塊鏈有Bitcoin和Ethereum,目前PoW也是運行時間最長,被公認為是最可靠安全的共識機制;其本質是通過消耗大量算力來實現系統內的逆熵過程,保證系統的長期安全與穩定。但PoW被廣為詬病的也是其消耗太多的能源資源,這方面PoS就被認為是更為綠色的解決方案,顧名思義PoS是通過質押系統中的資產即coin來成為一個質押者(staker),這樣就有權產出區塊,質押份額越多,獲得產出區塊權的概率就越高,也代表著獎勵越多。
在分布式系統中有一個CAP定理,是指一個分布式系統中存在著三元悖論,即不可能同時滿足這三個特性:一致性(Consistency)、可用性(Availability)和分區容錯性(Partitiontolerance),而只能滿足其中兩個。區塊鏈作為一種分布式網路,這個定理也逐漸演變成了區塊鏈的三元悖論,即安全性(Security)、去中心化(Decentralization)和可擴展性(Scalability),也是同時只能滿足兩個特性。
整體上看PoW系統更注重的是安全性(Security)與去中心化(Decentralization),放棄可擴展性(Scalability),這也是Bitcoin網路的吞吐量非常慢的原因。而PoS系統更關注的是可擴展性(Scalability)與去中心化(Decentralization),但就PoS能否真的實現去中心化(Decentralization),我是比較持懷疑態度的。從保守主義與系統的更長期穩定的角度出發,我個人是堅定地站在PoW這邊的,可能跟自身保守的性格有關,並不是特別看好PoS作為基礎層能比較穩定。特別是像這次5月份的Luna事件,事件大概的過程是Luna鏈上的演算法穩定幣UST缺乏價值支撐最終脫錨,其核心問題在於UST的錨定設計試圖用一個PoS股權系統去支撐其錨定美元,而且還超發了太多UST,再加上UST與Luna的兌換設計缺陷最終導致Luna自身的死亡螺旋。但這個事件更大的意義應該是敲響了一個警鍾,PoS機制在面對空頭資本砸盤時真的還能維持穩定、維持所謂的去中心化嗎?可能到時節點數量萎縮的速度會很快,逐漸趨於中心化。
所有系統設計都需要根據自身定位來折中,以下從價值錨定的角度,簡單分析下為什麼長期來看PoW會更有優勢。
在PoW系統中三股主要的參與者分別是研發人員,投資者(或者叫用戶)與Miner,這三者的相互制衡,使得這個系統達到一個穩定平衡的狀態。而PoS系統中,將Miner這個重要的制衡力量移除了,投資者和Miner變成了同一群體質押者(stakers),因此該群體濫用權力的行為會變得相對不受限制,並且該鏈隨後的發展方向也可能會更加不平衡,更容易傾向有利於質押者(stakers)群體的方向。
PoW系統很好的闡述了什麼是被普遍認可的價值,抽象上來看就是高代價的稀缺性,高代價與稀缺性兩者缺一不可。PoS最多隻能實現其中一個稀缺性。
Miner為了在鏈上生產區塊賺取coin,不僅需要持續支付高額電力成本,還必須不斷投入研發、升級硬體、優化基礎設施和運營規模來保持其競爭力。最終結果是,能夠長期持續盈利的Miner並不會是一個一層不變的群體,而是總在競爭中淘汰掉效率太低的Miner,使高效率的Miner能存活下來。這也更有利於去中心化(Decentralization),因為不斷變化的Miner群體意味著沒有一個Miner可以在相當長的時間內保持網路的大部分算力,除非他們通過嚴酷的競爭考驗,不斷優化自身來提供更多的算力。
而PoS系統中的質押者實際上並多少真正的風險投入,也沒有優勝劣汰的嚴酷競爭機制,他們只需要簡單地運行一個staker節點就可以躺著賺利息,本質上只是將自己在銀行系統里的錢簡單的轉化為鏈上資本,就可以坐地收割後進入這個系統的新人。這種行為並沒有太多難度,只是簡單地賺取「無風險」利息,他們並沒有將資本轉化為任何形式的需要面臨風險考驗的投資。
而且當發生硬分叉時,PoW的Miner選擇支持哪條鏈時會更為謹慎,因為他們需要投入高昂的電力成本來為他們的選擇背書,一旦選錯了將損失所有投入成本。PoS系統如果發生硬分叉,質押的coin作為系統內部狀態的一部分,硬分叉後質押者將在兩條不同鏈上都擁有相同數量的資產,由於沒有什麼沉默成本,導致質押者更願意兩邊都支持,從而使硬分叉更容易且更頻繁地出現,這被稱為nothingatstake問題。
PoW是真正能做到無准入限制的(Permissionless),就是說已經在這個系統中的老人無法限制新人加入,只要你有能力提供算力,就能直接接入網路中產出coin。而PoS系統中,新人要進入,都不得不先從老人手中買coin。
而且PoW中Miner為了支付各種高昂成本(電力,設備,基礎設施等),產出coin後也不得不賣出一些以彌補成本,這同時也是一種把coin分發給更多人的過程;特別是在熊市,Miner為了維持開銷也不得不低價賤賣coin,這樣新人才有機會以相對低的成本獲得籌碼入場,這才是一個健康的生態擴張過程。而PoS中由於質押者並沒有什麼運行成本,也不需要面對太多競爭,質押者出塊得到coin後不需要急著賣出,更容易哄抬價格,其實會變相激勵場內老人剝削新入場者,不給後來人更多機會;整個系統會趨向於更封閉,逐漸演變成一個有限游戲,長期運行下去只會越來越中心化;系統中財富越來越集中,富者更富,窮者更窮,從而更不可能實現去中心化(Decentralization)。
由於PoW系統中是以提供工作量的方式產出區塊的,隨著時間的推移這些工作量都會被累積起來並使鏈不斷向前延伸,這也是為什麼叫區塊鏈;這些累積的工作量也給攻擊者造成了巨大障礙,如果想要反轉整條鏈,不僅需要非常高的算力,還需要相當長的時間,這也為應對攻擊提供了足夠長的時間緩沖。
而PoS系統其實只是維護一個分布式賬本,並沒有工作量累積的概念,一旦攻擊成功,要反轉整條鏈就是相當容易的,幾分鍾就可以搞定。
嚴格來說由PoW算力支撐的BTC不應歸為高科技類,由於它整個系統架構更保守更穩定,提供的更多的是一種物化價值(objectivecostliness),更能作為價值之錨,所以數字黃金這個稱號很貼切。而像ETH(目前還是PoW,2.0升級後為PoS)這些更接近科技類創新平台,PoS本質上更像是一種股權系統,其實PoS系統反而是需要中心化,偏向更依靠整個社區的生命力,需要依靠核心團隊的創新與開拓能力往前走;而PoW則需要去中心化,更偏向穩定與提供物化價值(objectivecostliness)。
區塊鏈作為一個價值分配系統,算力是它的價值之錨,如果沒有算力,就會退化為一個股權系統。算力在哪,資金就會跟去哪。目前的發展趨勢也是逐漸往多層網路的方向發展,類似TCP/IP的多層協議棧。從作為基礎層(BaseLayer)的角度看,更需要的是長期穩定與提供價值支撐,因此PoW系統更合適;而PoS可能更多的是可以作為Layer2以實現可擴展性(Scalability),彌補PoW基礎層的吞吐量不足,並通過錨定在PoW基礎層上來獲取算力安全性與價值支撐。
最後順帶說下最近市場行情,5,6月份以來的瀑布令很多人很恐慌,恐慌指數一度長時間停留在個位數;其實我覺得也沒必要那麼恐慌,要在這個圈子長期活下去,面對這種大波動的心理預期還是要有的。想起之前紅杉資本的沈南鵬經常提到一個詞Grit,沙礫,它是礫石在千萬次打磨後留下來的細小顆粒;Grit代表了勇氣和持之以恆的一種堅持,有種經常被按地上摩擦但依然勇往直前的感覺。這個和塔勒布講的反脆弱性有異曲同工之妙,承載價值的東西就應該具有這種品質,PoW系統肯定是有反脆弱性的。
回望2017年入圈後經歷過的各種事件,其實像這樣的大波動近乎每年都有(除了2019年一年比較順利外);像2017年國內的94事件,2018年一整年的大熊市,2020的312事件,2021的519事件,再到2022今年的5,6月份市場轉熊,每次經歷大波動後,市場都會淘汰掉該淘汰的,出清掉該出清的風險,對整個行業發展也是好事。眼光還是應該放遠一點,至少看5到10年後的變化,科技發展過程中所帶來的波動和風險是不可避免的,日光之下無新鮮事,每次科技革命過程中總會夾雜著眾多的反對、質疑,還有眾多的投機、騙局;這個過程也總是通過各種暴雷、回歸,清除泡沫後價值重估,夯實了基礎後積蓄能量再次進入躍升到新的發展階段。價值互聯網的到來是一件無法迴避的事情,當理解和看清了這種趨勢後,規避掉各種坑和市場噪音,遠離合約杠桿和各種山寨的誘惑,握住核心資產,時間本身就會帶來回報。
在公鏈項目早期,為什麼PoW是一個更好選擇?在傳統的互聯網公司或金融機構中,如果一家公司,在一年之內,被委託的交易結算的總量為萬億美元的話,這家公司要麼擁有可靠的技術和雄厚的資本,要麼就是其它大公司及政府為其信用來做背書。而比特幣卻在沒有政府或公司背書的情況下,在過去一年內支持了相當於一萬億美元的交易。這是因為比特幣的工作量證明(PoW)機制確保了全世界的比特幣礦工以點對點的方式去分布式地維護賬本,且保證了其正確性和不可篡改性。
實際上,PoW?協議並不完美,它在運行過程中需要消耗大量的能量來計算哈希函數的結果,以保護區塊鏈系統不被攻擊。很多人認為這是一種「無用的能源消耗」。為了避免這種消耗,股權證明協議(PoS)便作為替代方案被提出。包括以太坊在內的幾個著名的項目也開始探索股權證明協議(PoS),?甚至有人認為,PoS協議在未來將完全取代PoW協議。
但是,在對PoS?協議進行了深入的技術剖析之後,我們會發現:在一個公鏈項目的早期階段,PoS?協議會帶來很多問題,而這些問題在PoW協議下是可以避免。首先,使用PoS協議啟動主網的公鏈項目,會不可避免地存在共識中心化的問題,因為主網上線的時候股權分布往往是相對集中的。此外,純?PoS?協議還面臨著遠程攻擊(LongRangeattack)的威脅。最嚴重的遠程攻擊會導致新加入的節點必須信任一些中心化的網站給出的信息,而這會導致?PoS?公鏈成為一個本質上中心化的網路。去使用PoW協議啟動主網的區塊鏈則可以實現分散的共識,從而避免這些問題。當PoW公鏈經過一段時間的發展,股權分布相對分散以後,還可以選擇PoW/PoS復合機制。
除此之外,還有一點值得注意的是,很多人誤以為比特幣的擴容問題是PoW機制的局限性造成的。我們經常在媒體網站或白皮書中看到這樣的句子,「比特幣因為使用了PoW機制,所以只能處理每秒3-7筆交易」。而事實上,經過適當的設計,例如,GHOST,Conflux?這樣的PoW演算法可以顯著提高出塊效率,達到每秒處理數千筆交易,且每筆交易都能得到全網節點的驗證。
PoWv.s.PoS:如何確定投票權
關於PoW和PoS之間的主要區別,就是在於如何確定區塊鏈共識中的投票權。?在PoW中,系統中的投票權與節點的計算能力成正比。每秒可以計算哈希函數次數越多,節點就越有可能贏得區塊鏈中下一個區塊的出塊權。而在PoS中,系統的投票權與持有的股權比例成正比。節點擁有資金越多,能為確定的下一個區塊投的票數就越多。
在公鏈早期階段,股權中心化將導致共識中心化
對於一個公有鏈來說,其上線初期往往是股權最集中的時候。在主網上線伊始,創始塊中分配的幣絕大多數屬於項目方和私募投資人,而這些人的數量往往非常有限。對於PoW共識機制,初始股權的集中不會帶來安全性問題,因為它的出塊和安全性不依賴於股權持有的分散,而是依賴於算力的分散。對於使用反?ASIC?礦機的挖礦演算法的公有鏈來說,任何人只要擁有顯卡和網路就可以成為礦工,這有助於促進更多人參與挖礦,實現早期算力的分散。只要超過50%的算力來自於誠實的礦工,區塊鏈中的交易就是安全不可逆轉的。
然而,在PoS共識機制下,股權集中會導致共識協議的參與者集中。區塊鏈的出塊權只能由少數在創世塊中擁有股權的玩家決定。如果這些人合謀對區塊鏈進行攻擊,則完全可以成功的實現雙花攻擊(Doublespendingattack).?盡管開發者和投資人出於利益考慮不會進行這樣的攻擊來摧毀他們自己的公鏈,但PoS公鏈也無可避免的在主網上線後就被這些人壟斷和支配。更糟的是,如果出塊可以獲得大量獎勵和交易費用,這些壟斷者就會將大量股權牢牢控制在自己的手裡,使得PoS公鏈成為一個本質上由巨頭控制的網路。
我們不要忘了,區塊鏈的核心價值是什麼?是去中心化的共識協議,保證了區塊鏈系統中每筆交易的正確性、不可篡改性。如果共識協議無法保證參與者的分散,區塊鏈就無法做到無需信任的安全性,那麼區塊鏈和傳統的分布式系統相比就沒有任何優勢了,甚至傳統的分布式系統能做得更經濟更高效。因此,公鏈項目在早期使用PoW,?是避免共識中心化,保護區塊鏈核心價值的明智選擇。
「長程攻擊」與「主觀依賴」問題
在一個公有鏈中,一個攻擊者如果擁有當下足夠多的算力或股權,無疑是可以打破公有鏈安全性完成攻擊的。但是在PoS?公鏈中,如果攻擊者獲得了一些賬戶的私鑰,這些私鑰在歷史上某一時刻控制了超過51%的股權,也可以完成攻擊,這種攻擊的方式被稱為長程攻擊(LongRangeAttack)。
在長程攻擊中,攻擊者首先獲得一些私鑰,只要這些私鑰在歷史上曾經獲得了足夠多的股權,便可以從這一時刻開始分叉進行51%?攻擊,製造一條分叉鏈出來。而?PoS?的出塊不需要進行工作量證明,攻擊者可以短時間內讓重寫歷史的分叉鏈追趕上原本的主鏈,從而造成PoS鏈的分叉和防篡改性被打破。
攻擊者能夠取得這些私鑰不是天方夜譚。如果PoS公鏈的早期投資人在二級市場將持有的代幣賣掉後,將賬戶私鑰賣給攻擊者,攻擊者就可以從創世塊進行長鏈攻擊,從而可以打破一個鏈的安全性。如果一些投資者追求短期收益而非價值投資,攻擊者從他們手裡獲得私鑰就成為了一個可能的事情。
而為了應對長程攻擊,則有各種各樣的解決方案被提出:例如使用密鑰演化演算法更新密鑰,以避免密鑰被盜。但是如果早期投資者一開始就決定通過出售私鑰獲利,那麼他完全可以保留密鑰種子以繞開這一限制。還有一些解決方案基於這樣一個事實:如果攻擊者挖了一條完全不同的鏈,長期在系統中運行的節點或許有能力探測出這種異常。但是,這些方案依然存在如下問題:
PoS?長程攻擊造成的分叉與?PoW?的分叉有所不同。PoW?的分叉鏈難以獲得比特幣全網算力,比特幣礦工很容易從總算力中辨別誰是真正的比特幣。鑒於PoS共識協議在實際運行時,絕大多數股權持有者只是區塊鏈的使用者,並不會一直運行一台伺服器。攻擊者只要在一個歷史節點擁有了相當與PoS實際參與者的股權比例,就可以製造出一條難以辨別的分叉鏈出來。配合女巫攻擊(SybilAttack),攻擊者可以從區塊歷史和節點數量上都獲得和被攻擊主鏈接近的水平,令新加入的節點無法區分,只能通過人工指定的方式選擇。這樣新參與者必須咨詢受信任節點來安全地加入系統,這一問題被稱為「主觀依賴」(WeakSubjectivity)
無利害攻擊
無利害攻擊(NothingatStake)是另一種PoS攻擊方式。當一個?PoS?鏈因為網路延遲、長程攻擊或其他原因出現分叉時,PoS?礦工可以選擇在兩個分叉的鏈上同時出塊,以獲取最大收益。而這違反了共識協議。
在PoW?鏈中,如果一個礦工想同時在多個分叉上挖礦,就必須將自己的算力分散在多個分叉上,所有分叉上分配的算力總和不會超過礦工擁有的總算力。對於多數礦工而言,將自己的全部算力投入到協議指定的鏈上是最優的選擇。
然而,在PoS?多個分叉上同時出塊所帶來的額外成本可以忽略不計,而選擇同時出塊可以保證無論哪一條分叉鏈最終勝出都可獲得收益。如果礦工遵守共識協議,只在協議指定的鏈上挖礦。一旦這個鏈被丟棄,礦工將會失去挖礦獎勵。只追求挖礦收益最大化的礦工會在兩邊同時參與,不惜因此打破協議——這會導致鏈長時間維持分叉的狀態。
與長程攻擊不同,精巧的激勵機制設計可以避免這一攻擊。但無利害攻擊依然表明讓PoS鏈正確地運行是一件很困難的事情。
總結
雖然PoS?具有節省能源等優勢,從而很多項目表示將採用PoS。但我們在分析區塊鏈安全性假設後發現,避免了計算「無用的哈希」之後會引入很多攻擊情形,而且目前沒有很完美的解決方案。誠然PoS有能源效率的優勢,但也帶來了很多安全性威脅。在PoS很好地解決這些威脅之前,PoW消耗的能源,就像和平時期國家軍隊用掉的軍費一樣,阻擋了很多潛在的威脅。最重要的是,其中許多威脅在區塊鏈項目早期顯得尤其致命。這也是我們為什麼相信新的公鏈項目應該從PoW開始。
POW&POS,傻傻分不清楚的共識機制什麼是共識機制?
我在開更的第一篇文章,就簡單講解了數字貨幣世界的16個最高頻名詞,其中一個就是共識機制,還記得嗎?
為什麼要有共識機制呢?
這就必須要解釋一下在分布式系統中不得不了解的「拜占庭將軍問題」了。
拜占庭將軍問題(TheByzantineGeneralsProblem)可以總結為一句話:
在古代,11位忠誠的、不同位置的將軍,如何排除叛徒的影響,對進攻或撤退達成一致。
當然,拜占庭將軍問題並不是如今才提出的,我們大中華在春秋戰國時期就發明了「虎符」這個神奇的方式來保障命令的正確執行。
在分布系數系統中,各個節點就是「拜占庭將軍」,演算法執行中的任意一個錯誤就是「叛徒」。
為了盡可能地排除錯誤、快速達成一致,來讓系統有效地、正確地運行,便應運而生了各種「共識機制」。
————————————————
下面,我們就來一起學習數字貨幣世界中常見的幾種共識機制:
PoW,工作量證明ProofofWork
PoW是比特幣所採用的共識機制,最早是由AdamBack為了解決垃圾郵件的問題而開發的一個「哈希現金Hashcash」程序。
比特幣採用的是SHA256的單向函數,其具體的工作原理實在太專業,我們只需要理解到「SHA256的結果很容易驗證,但是要將其計算出來,需要不斷嘗試運算,直到匹配到某個隨機數;技術上而言,任何新增區塊都需要經過232394億運算才能得到」的程度,感興趣的小夥伴可以搜索SHA256去深入學習。
因此,只要礦工出示運算結果,那通過PoW,全網節點就認可了他所付出的成本,承認新的區塊獎勵屬於他。
如此大量的運算相當浪費資源,實際上並沒有任何科學或實際用途,只是為了實踐工作量證明機制、阻止攻擊者偽裝成節點來控制網路。
雖然在2009年時為了構建這種去中心化的、允許所有人可以免費參與的全球貨幣網路,沒有更好的選擇;但是發展到如今,已經有了其他不需要大量浪費算力的證明機制,比如我們下面就要提到的,PoS權益證明。
————————————————
PoS,權益證明ProofofStake
主要思想是:節點記賬權的獲得難度與節點持有的權益成反比,也就是說,一個節點擁有的幣越多、時間越久,越容易獲取記賬權,也就越容易獲取區塊獎勵。
實際上,最初的PoS是PoW的一種升級,根據每個節點的幣齡,來等比例地降低挖礦難度,從而加快找到隨機數的速度。
什麼是幣齡呢?
幣齡=數量*擁有天數。
由於區塊鏈中的每筆交易記錄都會被標記時間戳,這個時間戳就可以作為幣齡的證明,因此幣齡也不可能被輕易偽造。
比如A從B那裡收到10個幣,並且持有了90天,那麼,A就擁有了900的幣齡;如果A賣了這10個幣,這900幣齡就被消耗了;
後來,為了徹底擺脫PoW這種依靠算力的共識機制,PoS引入了「利息」的概念;年利率是在PoS機制最初確認時就設定的,一般不會變化。
利息=(幣齡*年利率)/365,如果利率是1%,在上個例子中,A就可以得到0.02466個幣的利息。
如此一來,PoS區塊鏈的作用過程就可以這樣描述:
在初期,通過PoW機制,產生創世幣;
在創世幣達到一定規模時,PoS機制開始作用,交易時消耗幣齡、獲得產生區塊的優先權,並獲取利息,同時PoW機制由於消耗太多資源、浪費算力而逐漸淡出;
最終系統中僅剩PoS來維持正常運作。
目前大家所熟悉的以太坊,主要還是採用PoW的機制,不過正在轉向PoS。
————————————————
大家了解了PoW和PoS,在遇到其他共識機制的時候,相信也會比較快得就能理解。
比如:股份授權證明DPOS,類似於董事會投票;燃燒證明POB;沉澱證明POD;能力證明POC;消逝時間證明PODT,等等。
就不在這里為大家一一展開了,感興趣的同學可以網路或知乎一下~
區塊鏈共識機制之一:POW工作量證明機制區塊鏈可以理解為一個不可篡改的公共賬本,所有參與者都能驗證交易並進行記賬,即為分布式賬本。那到底由誰來記賬?又如何保證賬本的一致性、准確性呢?也就是區塊鏈的共識機制是如何的?
區塊鏈的共識機制就是解決由誰來記賬(構造區塊),以及如何維護區塊鏈的一致性問題。目前區塊鏈項目採用的共識機制有多種,如:POW工作量證明機制,POS權益證明機制,DPOS股份授權證明機制等等。本文說明POW工作量證明機制。
區塊鏈的第一個成功應用比特幣系統採用的POW工作量證明機制。即以比特幣系統為例說明POW機制,首先比特幣系統有一套激勵機制讓所有參與者競爭記賬的權利,即誰擁有記賬權誰將獲取構造新區塊的比特幣獎勵(目前獎勵為12.5比特幣),同時獲取新區塊內所有交易的手續費作為獎勵。
參與者如何競爭記賬權利呢?參與者通過自己的算力計算一道數學難題,誰先計算的結果,誰就擁有了記賬的權利,也就可獲得構造新區塊的獎勵。這道數學難題就是尋找一個隨機數Nonce,使得對區塊頭的哈希計算的結果小於目標值,Nonce本身是區塊頭中的一個欄位,所以通過不斷的嘗試Nonce的值,以滿足區塊頭的哈希計算結果小於目標值。通過動態調整目標值,即可調整計算的Nonce值的難度。
關於哈希計算Nonce的過程通常類比為擲篩子游戲,基於參與游戲的篩子的個數通過調整擲得篩子的點數可調整游戲的難度。例如:100個人參與擲篩子,總共有100個篩子,要求擲得點數為100為贏,則100個人誰先擲得點數100即為勝利者,即擁有了記賬權。如果發現大家擲出100點的時間太快,則可增加難度,要求擲得點數為80為贏。如果又有100個人參與游戲,則游戲中增加了篩子數,如:篩子數增加為200個,同樣通過設置擲得點數來調整游戲的難度。
篩子類似於比特幣網路的算力,擲得點數類似於比特幣網路可動態調整的目標值。
區塊鏈以最長的鏈條視為正確的鏈條,如果存在同時出現兩個區塊,會暫時並行記錄兩個區塊,後續再生成的區塊基於其中的某一個
❷ 拜占庭將軍問題與區塊鏈
1982年,圖靈獎得主萊斯利·蘭伯特提出拜占庭將軍問題,探討了分布式系統中節點故障下的共識達成。這一難題隨著區塊鏈技術的發展,愈發引人關注。本文將通過通俗易懂的方式,解析這一問題背後的共識協議。
想像一下,兩位將軍需共同決定進攻時間,但通信途徑受阻。這個簡單的「兩個將軍問題」揭示了在分布式環境中,信息傳遞的不確定性可能導致共識無法達成。FLP定理指出,在非同步通信中,無法保證一致性。
然而,工程師們並未放棄,他們通過調整策略,如增加信使數量,確保至少一部分信息能傳遞,或多次嘗試直到聯系成功,從而在實際操作中找到解決方案。拜占庭將軍問題的復雜版本則涉及更多將軍和復雜策略,但關鍵是叛徒數量不能超過總人數的1/3,否則共識無法達成。
傳統的方法如口頭協定和書面協定都有局限性,口頭協定難以追蹤來源,書面協定依賴於中心化權威。區塊鏈技術的出現,通過非對稱加密和工作量證明(PoW)演算法,解決了這些問題,實現了去中心化的信任網路,確保了消息的不可篡改和來源的可追溯。
總的來說,區塊鏈技術巧妙地解決了拜占庭將軍問題,展示了在分布式系統中達成共識的強大能力,為未來的信任網路奠定了基礎。這個過程雖有挑戰,但通過技術創新,我們找到了一個接近完美的解決方案。