區塊鏈共識演算法通俗解釋
1. 什麼是區塊鏈共識機制
什麼是共識機制?共識機制,簡單說就是在一個時間段內對事物的前後順序達成共識的一種演算法。
在區塊鏈上,共識機制就像一個國家的法律,維系著區塊鏈世界的正常運轉。在區塊鏈上,每個人都會有一份記錄鏈上所有交易的賬本,鏈上產生一筆新的交易時,每個人接收到這個信息的時間是不一樣的,有些想要干壞事的人就有可能在這時發布一些錯誤的信息,這時就需要一個人把所有人接收到的信息進行驗證,最後公布最正確的信息。
目前,常用的共識機制有三種:
1、工作量證明機制(ProofofWork-PoW)是我們最熟知的一種共識機制。就如字面的解釋,PoW就是工作越多,收益越大。這里的工作就是猜數字,誰能最快的猜出這個唯一的數字,誰就能做信息公示人。
2、權益證明機制(ProofofStake-PoS)也屬於一種共識證明,它類似股權憑證和投票系統,因此也叫「股權證明演算法」。由持有最多(token)的人來公示最終信息。
3、拜占庭共識演算法(-PBFT)也是一種常見的共識證明。它與之前兩種都不相同,PBFT以計算為基礎,也沒有代幣獎勵。由鏈上所有人參與投票,少於(N-1)/3個節點反對時就獲得公示信息的權利。
區塊鏈的四種共識機制區塊鏈的共識機制可以分為以下四類:權益證明機制、工作量證明機制、Pool驗證和池股份授權證明機制。
區塊鏈,就是一個又一個區塊組成的鏈條。每一個區塊中保存了一定的信息,它們按照各自產生的時間順序連接成鏈條。這個鏈條被保存在所有的伺服器中,只要整個系統中有一台伺服器可以工作,整條區塊鏈就是安全的。這些伺服器在區塊鏈系統中被稱為節點,它們為整個區塊鏈系統提供存儲空間和算力支持。
區塊鏈的共識機制
所謂「共識機制」,是通過特殊節點的投票,在很短的時間內完成對交易的驗證和確認;對一筆交易,如果利益不相乾的若干個節點能夠達成共識,我們就可以認為全網對此也能夠達成共識。北京木奇移動技術有限公司,專業的區塊鏈外包開發公司,歡迎洽談合作。下面我們將一下區塊鏈的幾種共識機制,希望對大家了解區塊鏈基礎技術有幫助。
因為區塊鏈技術的發展,大家對共識機制這個詞也不再陌生,隨著技術發展,各種創新的共識機制也在發展。
POW工作量證明
比特幣就是使用PoW工作量證明機制,到後來的以太坊都是PoW的共識機制。Pow相當於算出很難的數學難題,就是計算出新區塊的hash值,而且計算的難度會每一段時間就會調整。PoW雖然是大家比較認可的共識機制,計算會消耗大量的能源,還有可能會污染環境。
POS權益證明
通過持有Token的數量和時長來決定獲得記賬權的機率。相比POW,POS避免了挖礦造成大量的資源浪費,縮短了各個節點之間達成共識的時間,網路環境好的話可實現毫秒級,對節點性能要求低。
但POS的缺點同樣明顯,持有Token多的節點更有機會獲得記賬權,這將導致「馬太效應」,富者越富,破壞了區塊鏈的去中心化。
DPOS權益證明
DPOS委託權益證明與POS原理相同,其主要區別在於,DPOS的Token持有者可以投票選舉代理人作為超級節點,負責在網路上生產區塊並維護共識規則。如果這些節點未能履行職責,將投票選出新的節點。同樣的弊端也是傾向於中心化。
POA權威證明
POA節點之間無需進行通信即可達成共識,因此效率極高。並且它也能很好地對抗算力攻擊,安全性較高。但是POA需要一個集中的權威節點來驗證身份,這就意味著它會損害區塊鏈的去中心化,這也是在去中心化和提高效率之間的妥協。
五分鍾了解共識機制五分鍾了解共識機制
什麼是共識機制?
「共識機制是區塊鏈的靈魂。」這是業內經常能聽到的一句話,共識機制在區塊鏈中的地位可想而知。那麼到底什麼是共識機制呢?我們不妨從拜占庭將軍問題說起。
拜占庭位於如今的土耳其的伊斯坦布爾,是東羅馬帝國的首都。由於當時拜占庭羅馬帝國國土遼闊,為了防禦目的,每個軍隊都分隔很遠,將軍與將軍之間只能靠信差傳消息。在戰爭的時候,拜占庭軍隊內所有將軍和副官必須達成一致的共識,決定是否有贏的機會才去攻打敵人的陣營。但是,在軍隊內有可能存有叛徒和敵軍的間諜,左右將軍們的決定又擾亂整體軍隊的秩序。在進行共識時,結果並不代表大多數人的意見。這時候,在已知有成員謀反的情況下,其餘忠誠的將軍在不受叛徒的影響下如何達成一致的協議,拜占庭問題就此形成。
拜占庭將軍問題是一個協議問題,拜占庭帝國軍隊的將軍們必須全體一致的決定是否攻擊某一支敵軍。問題是這些將軍在地理上是分隔開來的,並且將軍中存在叛徒。叛徒可以任意行動以達到以下目標:欺騙某些將軍採取進攻行動;促成一個不是所有將軍都同意的決定,如當將軍們不希望進攻時促成進攻行動;或者迷惑某些將軍,使他們無法做出決定。如果叛徒達到了這些目的之一,則任何攻擊行動的結果都是註定要失敗的,只有完全達成一致的努力才能獲得勝利。
而這個問題該如何解決?中本聰的理念給出了一個比較好的答案:不能讓所有人都有資格發信息,而是給發信息設置了一個條件:「工作量」,將軍們同時做一道計算題,誰先算完,誰才能獲得給其他小國發信息的資格。而其他小國在收到信息後,必須採用加密技術進行簽字蓋戳,以確認身份。然後再繼續做題,做對題的再繼續發消息……對這種先後順序達成共識的演算法,就是共識機制。
共識機制的作用
區塊鏈作為一種按時間順序存儲數據的數據結構,可支持不同的共識機制。在區塊鏈上,每個人都會有一份記錄鏈上所有交易的賬本,鏈上產生一筆新的交易時,每個人接收到這個信息的時間是不一樣的,有些想要干壞事的人就有可能在這時發布一些錯誤的信息,這時就需要一個人把所有人接收到的信息進行驗證,最後公布最正確的信息。
共識機制是區塊鏈技術的重要組件。它就像一本法典,維系著區塊鏈世界的正常運轉,使得區塊鏈技術自帶改善世界的光芒,也是讓區塊鏈得以被全世界逐步接受和認可的最大幕後功臣,它讓互聯網、陌生人之間,在沒有第三方作為信用背書的情況下發生的一切交易變成可能,它賦予了機械的代碼以人性和溫度。
共識機制的類別
目前的共識機制主要有POW、POS、DPOS、PBFT、dBFT、Pool驗證池。
POW,就是人們熟悉的比特幣挖礦,通過計算出一個滿足規則的隨機數,即獲得本次記賬權,發出本輪需要記錄的數據,全網其它節點驗證後一起存儲。可實現完全去中心化,節點自由進出。乾的越多,收的越多。
POS,權益證明,POW的一種升級共識機制,根據每個節點所佔代幣的比例和時間,以此等比例的挖礦難度,從而加快找隨機數的速度。持有越多,獲得越多
DPOS,股份授權證明機制,類似於董事會投票,持幣者投出一定數量的節點,代理他們進行驗證和記賬。
PBFT,,實用拜占庭容錯演算法,是一種狀態機副本復制演算法,即服務作為狀態機進行建模,狀態機在分布式系統的不同節點進行副本復制,每個狀態機的副本都保存了服務的狀態,同時也實現了服務的操作。
dBFT,delegatedBFT授權拜占庭容錯演算法,由權益來選出記賬人,然後記賬人之間通過拜占庭容錯演算法來達成共識。
Pool驗證池,基於傳統的分布式一致性技術建立,並輔之以數據驗證機制,是目前區塊鏈中廣泛使用的一種共識機制。Pool驗證池不需要依賴代幣就可以工作,在成熟的分布式一致性演算法(Pasox、Raft)基礎之上,可以實現秒級共識驗證,更適合有多方參與的多中心商業模式。
現有共識機制存在問題
目前現有的共識機制都不算完美,在一些實際應用場景弊端很多。
A、計算能力浪費
在工作量證明機制POW中,猜數字最快的通常是電腦計算能力強的。超強的計算能級僅用來猜數字,實在是浪費。
B、權益向頂層集中
在權益證明機制POS中,token的余額越多的人獲得公示信息的概率越高,公示人會得到一定的token作為獎勵,如此持有token多的人會越來越多,少的人越來越少。
C、作惡成本低下
在靠算力與權益的的多少來獲得公示信息的權利的模式當中,當算力和權益向少數人集中之後,這些少數人如果想要做一些違反規則的事情是輕而易舉的;在PBFT中,由所有人投票,如果一個沒有任何token余額的人想要搗亂,那他幾乎是完全沒有利益損失。
D、對於真正的去中心化構成威脅
在工作量證明機制中,計算能力越強,獲得記錄權利的概率就越高。如果有人把很多人集中在一起來猜數字,把好多電腦的算力加在一起來用,那這些抱團的人就會更容易獲得公示信息的權利,發展到最後可能公示權就直接掌握在這些人手裡。
在權益證明機制POS中,權益越大的人獲得記錄權利的概率越高,而記錄的人就會有獎勵token,這樣一來這些人就會越來越富有,貧富差距就會越來越大。持有token少的人幾乎都沒有話語權了。權利掌握在少數人手中,這有違區塊鏈去中心化理念。
2. 一張圖了解什麼是區塊鏈(五分鍾帶你看懂什麼是區塊鏈)
簡單易懂地介紹什麼是區塊鏈區塊鏈是一種按照時間順序將數據區塊以順序相連的方式組合成的一種鏈式數據結構,並以密碼學方式保證的不可篡改和不可偽造的分布式賬本。廣義來講,區塊鏈技術是利用塊鏈式數據結構來驗證與存儲數據、利用分布式節點共識演算法來生成和更新數據、利用密碼學的方式保證數據傳輸和訪問的安全、利用由自動化腳本代碼組成的智能合約來編程和操作數據的一種全新的分布式基礎架構與計算範式。
比特幣、萊特幣、普銀、以太幣等數字加密貨幣的底層技術都是區塊鏈,他們都只是區塊鏈的一種應用。
什麼是區塊鏈?一幅漫畫讓你看懂(小白必看)
「區塊鏈」一詞其實在早期的密碼學圈子裡,對於比特幣的底層技術就是稱為「比特幣」,英文則用大寫的B開頭的Bitcoin指比特幣這個網路系統或者網路協議。
但是由於大眾的混淆,現在一談起比特幣人們就十分抵觸,認為比特幣就是違法、騙局、傳銷的代名詞,是互聯網金融又一個現象級泡沫!於是乎,人們只好將所有的底層技術(時間戳、工作量證明機制等等等)合並起來,為了跟比特幣區分,重新取了個名字叫Blockchain,翻譯過來就成了「區塊鏈」,這才有了「區塊鏈」一詞的出現。
區塊鏈不是一個單一的技術,而是一系列技術的集合。
那區塊鏈到底應該如何理解呢?我們首先用大家都愛談的戀愛,舉個簡單的例子。建立一個簡單的區塊鏈模型,那麼在這個區塊鏈模型裡面談戀愛將會出現一下情況:
未來所有適齡男女戀愛,結婚的承諾全過程都被其他所有適齡男女共識,兩個人在一起發生的所有故事就會形成區塊。
其他所有男女就是鏈,如果有第三者來插足或自身違背另一半,其他人都能看到,以後就再也找不到對象了。
區塊鏈准確的說就是「全中心」體系,就是鏈上的每個節點都是中心。
試婚男女談戀愛,曬朋友圈,秀恩愛,承諾相愛一生一世並被其他所有適婚男女所知就是區塊鏈的應用。如果有一天某一方違背諾言,不要以為刪除照片就有用,因為樁樁件件都被所有適婚男女記錄在案。
不可刪除,不可更改,這就是區塊鏈技術。
區塊鏈是什麼通俗解釋,一張圖看懂區塊鏈區塊鏈是什麼通俗解釋,一張圖看懂區塊鏈
區塊鏈是最近一個比較火熱的話題,很多人都在討論區塊鏈的問題,最近國內也有一些公司開始用區塊鏈的技術開發了一些產品,區塊鏈是用於比特幣的一種底層技術,這正式因為比特幣的大火讓很多人關注到了比特幣,但有很多人對於區塊鏈是什麼還並不了解,下面就給我來解釋一下區塊鏈。
比特幣是很多人比較關注的數字貨幣,而比特幣的底層技術就是區塊鏈,區塊鏈是一種計算機技術,是一種新型的應用模式。區塊鏈就好比是一個大的資料庫賬本,在這個大的賬本上記錄了所有的交易情況,而記錄這個賬本的人跟傳統的記賬有很大區別,傳統記賬通常是由專門的記賬方進行操作,例如淘寶、天貓是阿里巴巴進行記賬的,微信交易是由騰訊記賬的,而區塊鏈是由全民參與記賬,每個參與記賬的人入手都有一個賬本。
舉例來給大家說明,例如A想找B借款1萬元,B想將錢借給A,但是又擔心A借錢後賴賬不還,因此在借錢時會找第三方的公證人,由公證人幫忙B將這筆賬給記下來,這種就是傳統的記賬方式,靠第三方來獲取信任,記賬的賬本是在第三方手中的,這種記賬方式存在第三方篡改賬本的可能性,而去中心話的意思就是在借款時不需要公證人,不需要依靠第三方來獲取信任,去中心化的形勢就好比B給A借錢時,B拿著大喇叭喊」A找我借了一萬元錢,你們幫我記下賬「這個時候,大家都會拿著自己手上的賬本將這筆賬給記錄下來,每個人都有一個賬本,可以避免賬本被篡改的可能。
什麼是區塊鏈概念?區塊鏈究竟是什麼?三分鍾讀懂!2019年10月25日,新聞聯播傳遞出一個非常重要的信號:國家要大力發展區塊鏈。之後,區塊鏈簡直就是網紅,大街小巷都飄盪著「區塊鏈「的身影。實際上,很多科技企業早已在區塊鏈技術上布局。
盡管說區塊鏈很火,但是很多人對於區塊鏈並不是很了解。
區塊鏈是什麼呢?
我們先看一下度娘是怎麼解釋的。網路顯示:區塊鏈是分布式數據存儲、點對點傳輸、共識機制、加密演算法等計算機技術的新型應用模式。
區塊鏈為什麼會被叫做區塊鏈呢?
區塊鏈是由一個個的區塊鏈接而成,而區塊是一個一個的存儲單元,記錄了各區塊節點的交流信息,區塊很像資料庫的記錄,每次寫入數據,就是創建一個區塊。而隨著信息交流的擴大,一個區塊與一個區塊相繼續,形成的結果就叫區塊鏈。
區塊鏈的特點有哪些呢?
區塊鏈主要有以下幾個方面的特點:
1、去中心化:在區塊鏈的系統中,每一個節點都有同等的權利和義務,這里沒有中心管制。去中心化很好的建立了彼此之前的信任聯系,盡管沒有一個中央管理機構,但是人們之間可以相互協作相互信任。這主要應用了區塊鏈分布式賬本技術。
2、開放性:區塊鏈的數據對所有的人是開放的,除了一些加密的信息不被開放之外,所有人都可以在這里查到數據。
3、獨立性:整個區塊鏈系統不依賴其他第三方,所有節點能夠在系統內自動安全地驗證、交換數據,不需要任何人為的干預。
4、安全性:區塊鏈具有一定的安全性,不可篡改性。因為區塊鏈系統中大家手裡都是一樣的賬本,如果有人想篡改的話,那麼只有在控制了超過51%的記賬節點,才有可能偽造出一條不存在的記錄。當然了,這基本上是不可能的。這主要是源於區塊鏈的核心技術:共識機制,共識機制具備「少數服從多數」以及「人人平等」的特點。
5、匿名性:很多人覺得區塊鏈這么開放,這么透明,是不是我們就沒有隱私了?其實不是,雖然說在區塊鏈中的交易信息是公開透明的,但是賬戶的身份信息是被進行加密的,只有得到了授權,才能訪問。
現在給大家講一個故事,幫助大家更好的理解區塊鏈。
家裡一共三口人,爸爸媽媽和哥哥弟弟。去年的時候,家裡的賬本是由爸爸來負責的,家裡所有的進賬以及支出都是爸爸一個人在負責。
然而雙十一那天,一向節儉的媽媽想在某寶上給自己買一件漂亮的衣衣,一查賬本,發現不對勁兒。按理說除了存銀行和理財的一些錢,家裡的日常消費的的錢的去向都在這個賬本上,但是怎麼看怎麼都不對。有的消費明明沒有,卻被記錄在內。
後來,爸爸主動招供,說是自己忍不住買了一包煙。
後來媽媽改了策略,全家人都記賬,每個月的消費支出大家都記在自己的賬本上。每當家裡產生了一筆交易或者消費的時候,媽媽都會喊一聲,記賬啦,大家就都把交易記載自己的賬本上。這就是去中心化記賬模式,人人都是中心,人人手裡都有賬本。
而之前的爸爸記賬模式就是中心化記賬,如果爸爸一個人想做手腳,很難有人看得出來,而去中心化記賬模式很好的解決了中心化記賬的弊端,如果爸爸想篡改賬本的話,非常難。
比如說,爸爸如果想從賬本里拿點兒錢再偷偷買煙的話,錢的數量是有限的,而想拿錢就得改改賬本,但是光篡改自己的賬本是不行的,他得把包含他在內的三個人的賬本都改掉。而這無疑是比登天還難。
所以,很多次爸爸動了抽煙的念頭之後,但是無奈現狀如此,只得放棄這個念頭。
區塊鏈和比特幣是不是一回事兒呢?
實際上,區塊鏈和比特幣並不是一回事兒,它只是比特幣的底層技術,比特幣是區塊鏈第一個應用的數字貨幣而已。
2008年中本聰第一次提出了區塊鏈的概念,隨後幾年,成為了電子貨幣比特幣的核心組成部分,作為所有交易的公共賬簿。而區塊鏈首先被應用於比特幣。
區塊鏈的緣起是解決信任問題,而且,區塊鏈最成功的一個應用是數字貨幣。比特幣可以說是到目前為止區塊鏈最成功的一個應用。
區塊鏈的應用有哪些?
區塊鏈的應用其實很廣泛,除了數字貨幣,比特幣未來的應用還是非常廣泛的,區塊鏈技術目前已在不同行業得到了廣泛的應用。如商品溯源、版權保護與交易、支付清算、物聯網、數字營銷、醫療等,推動不同行業快速進入「區塊鏈+」時代。
1、支付清算:區塊鏈可摒棄中轉銀行的角色,實現點到點支付,減少中轉費用,加速資金利用率。
2、商品追溯:比如我們在某寶上買一件衣服,我們可以看到這件衣服的前世今生。
3、證券交易:傳統的證券交易需要經過四大機構協調工作,效率低、成本高。區塊鏈技術可獨立地完成一條龍式服務。
4、供應鏈:將區塊鏈技術引入供應鏈系統,系統內部同步信息、可做到對各個環節把控,更好的完成分工協作,便於事後追責。
5、知識產權:版權上鏈,我們的攝影作品、音樂作品、文學作品等都會成為我們的信息,信息所有權將得以確認,成為我們的財產。
漫畫圖解什麼是區塊鏈漫畫圖解:什麼是區塊鏈
什麼是區塊鏈?
區塊鏈,英文Blockchain,本質上是一種去中心化的分布式資料庫。任何人只要架設自己的伺服器,接入區塊鏈網路,都可以成為這個龐大網路的一個節點。
區塊鏈既然本質是資料庫,裡面究竟存儲了什麼東西呢?讓我們來了解一下區塊鏈的基本單元:區塊(Block)。
一個區塊分為兩大部分:
1.區塊頭
區塊頭裡面存儲著區塊的頭信息,包含上一個區塊的哈希值(PreHash),本區塊體的哈希值(Hash),以及時間戳(TimeStamp)等等。
2.區塊體
區塊體存儲著這個區塊的詳細數據(Data),這個數據包含若干行記錄,可以是交易信息,也可以是其他某種信息。
剛才提及的哈希值又是什麼意思呢?
想必大家都聽說過MD5,MD5就是典型的哈希演算法,可以把一串任意長度的明文轉化成一串固定長度(128bit)的字元串,這個字元串就是哈希值。
而在我們的區塊鏈中,採用的是一種更為復雜的哈希演算法,叫做SHA256。最新的數據信息(比如交易記錄)經過一系列復雜的計算,最終會通過這個哈希演算法轉化成了長度為256bit的哈希值字元串,也就是區塊頭當中的Hash,格式如下:
區塊與Hash是一一對應的,Hash可以當做是區塊的唯一標識。
不同的區塊之間是如何進行關聯的呢?依靠Hash和PreHash來關聯。每一個區塊的PreHash和前一個區塊的Hash值是相等的。
為什麼要計算區塊的哈希值呢?
既然區塊鏈是一個鏈狀結構,就必然存在鏈條的頭節點(第一個區塊)和尾節點(最後一個區塊)。一旦有人計算出區塊鏈最新數據信息的哈希值,相當於對最新的交易記錄進行打包,新的區塊會被創建出來,銜接在區塊鏈的末尾。
新區塊頭的Hash就是剛剛計算出的哈希值,PreHash等於上一個區塊的Hash。區塊體的Data存儲的是打包前的交易記錄,這部分數據信息已經變得不可修改。
這個計算Hash值,創建新區塊的過程就叫做挖礦。
用於進行海量計算的伺服器,叫做礦機。
操作計算的工作人員,叫做礦工。
計算哈希值究竟難在哪裡?咱們來做一個最粗淺的解釋,哈希值計算的公式如下:
Hash=SHA-256(最後一個區塊的Hash+新區塊基本信息+交易記錄信息+隨機數)
其中,交易記錄信息也是一串哈希值,它的計算涉及到一個數據結構MerkleTree。有興趣的小夥伴可以查閱相關資料,我們暫時不做展開介紹。
這里關鍵的計算難點在於隨機數的生成。猥瑣的區塊鏈發明者為了增大Hash的計算難度,要求Hash結果的前72bit必須都是0,這個幾率實在是太小太小。
由於(最後一個區塊的Hash+新區塊基本信息+交易記錄信息)是固定的,所以能否獲得符合要求的Hash,完全取決於隨機數的值。挖礦者必須經過海量計算,反復生成隨機數進行「撞大運」一般的嘗試,才有可能得到正確的Hash,從而挖礦成功。
同時,區塊頭內還包含著一個動態的難度系數,當全世界的硬體計算能力越來越快的時候,區塊鏈的難度系數也會水漲船高,使得全網平均每10分鍾才能產生出一個新區塊。
小夥伴們明白挖礦有多麼難了吧?需要補充的是,不同的區塊鏈應用在細節上是不同的,這里所描述的挖礦規則是以比特幣為例。
區塊鏈的應用
比特幣(BitCoin)的概念最初由中本聰於2008年提出,而後根據這一思路設計發布了開源軟體以及建構其上的P2P網路。比特幣是一種P2P形式的數字貨幣。點對點的傳輸意味著一個去中心化的支付系統。
什麼是P2P網路呢?
傳統的貨幣都是由中央銀行統一發行,所有的個人儲蓄也是由銀行統一管理,這是典型的中心化系統。
而比特幣則是部署在一個全世界眾多對等節點組成的去中心化網路之上。每一個節點都有資格對這種數字貨幣進行記錄和發行。
至於比特幣底層的數據存儲,正是基於了區塊鏈技術。比特幣的每一筆交易,都對應了區塊體數據中的一行,簡單的示意如下:
交易記錄的每一行都包含時間戳、交易明細、數字簽名。
表格中只是為了方便理解。實際存儲的交易明細是匿名的,只會記錄支付方和收款方的錢包地址。
至於數字簽名呢,可以理解為每一條單筆交易的防偽標識,由非對稱加密演算法所生成。
接下來說一說比特幣礦工的獎勵:
比特幣協議規定,挖到新區塊的礦工將獲得獎勵,從2008年起是50個比特幣,然後每4年減半,目前2018年是12.5個比特幣。流通中新增的比特幣都是這樣誕生的,也難怪大家對挖掘比特幣的工作如此趨之若鶩!
區塊鏈的優勢和劣勢
區塊鏈的優勢:
1.去中心化
區塊鏈不依賴於某個中心節點,整個系統的數據由全網所有對等節點共同維護,都可以進行數據的存儲和檢驗。這樣一來,除非攻擊者黑掉全網半數以上的節點,否則整個系統是不會遭到破壞的。
2.信息不可篡改
區塊內的數據是無法被篡改的。一旦數據遭到篡改哪怕一丁點,整個區塊對應的哈希值就會隨之改變,不再是一個有效的哈希值,後面鏈接的區塊也會隨之斷裂。
區塊鏈的劣勢:
1.過度消耗能源
想要生成一個新的區塊,必須要大量伺服器資源進行大量無謂的嘗試性計算,嚴重耗費電能。
2.信息的網路延遲
以比特幣為例,任何一筆交易數據都需要同步到其他所有節點,同步過程中難免會受到網路傳輸延遲的影響,帶來較長的耗時。
幾點補充:
1.本漫畫部分內容參考了阮一峰的博文《區塊鏈入門教程》,感謝這位大神的科普。
2.由於篇幅有限,關於MerkleTree和非對稱加密的知識暫時沒有展開細講,有興趣的小夥伴們可以查閱資料進行更深一步的學習。
3. 學習筆記|一文讀懂11個主流共識演算法
在區塊鏈的交流和學習中,「共識演算法」是被頻繁提及的詞彙。共識演算法確保了區塊鏈的可信性,常見的演算法包括但不限於工作量證明(PoW)、權益證明(PoS)、委託權益證明(DPoS)、實用拜占庭容錯演算法(PBFT)等。共識演算法實質上是通過特定的數學演算法來實現區塊鏈內節點間的協調與數據一致性。
共識演算法可以被理解為一套規則,各個節點都根據這套規則確認各自的數據。類比於現實生活中,當一群人需要達成一致意見,特別是沒有明確的領導者時,共識演算法提供了解決方案。在區塊鏈中,每個節點必須保證自己的賬本與網路中的其他節點賬本保持一致,這與傳統軟體結構中通過中心伺服器實現數據同步的方式不同。共識演算法解決了分布式網路中數據一致性的問題。
工作量證明(PoW)是最常見的共識演算法之一,其核心在於礦工需要解決一個計算難題來驗證並添加新區塊。這種機制通過消耗計算資源來確保網路安全,但存在能源消耗大、效率低、易受大規模經濟影響等問題。工作量證明系統被廣泛應用於比特幣、以太坊、萊特幣、狗狗幣等加密貨幣中。
權益證明(PoS)是一種節能的共識機制,它根據持有加密貨幣的數量和時間分配相應的權益,持有者通過「燒幣」獲取利息收益。權益證明降低了能源消耗,並通過較高的攻擊成本提高了網路安全性。然而,無利害關系(Nothing at Stake)攻擊問題仍然是其面臨的挑戰。以太坊計劃未來採用PoS機制。
延遲工作量證明(dPoW)是工作量證明的改進版本,它通過創建一個可添加至其他區塊鏈的塊,以節省交易成本,同時保持節能和安全性。這種機制被Komodo採用。
委託權益證明(DPoS)是一種授權共識機制,允許加密貨幣持有者投票選舉一組驗證者(超級節點),這些驗證者負責創建新區塊。DPoS旨在提高效率和去中心化程度,同時減少能源消耗。EOS、BitShares、Steemit等項目採用了這種共識機制。
實用拜占庭容錯演算法(PBFT)是一種高效且可擴展的共識演算法,適用於私有和許可網路。它通過少數節點達成一致來確保系統的安全性與高速度。
權威證明(PoA)基於信任驗證者的共識機制,允許持有特定身份證明的節點成為驗證者。這種機制通常用於私有和許可區塊鏈。
所用時間證明(PoET)機制通過隨機選擇等待時間來決定誰有資格創建新區塊,適用於許可區塊鏈網路,旨在提供公平的領導者選舉。
權益流通證明(PoSV)結合了工作量證明和權益證明,旨在提高加密貨幣網路的安全性和效率。
恆星共識(Stellar Consensus)基於聯邦拜占庭共識演算法,提供了一種高效且去中心化的共識機制,適用於Stellar區塊鏈。
活動證明(PoActivity)結合了工作量證明和權益證明,旨在通過驗證者的活動來選擇創建新區塊的節點。
共識演算法的選擇取決於應用場景的需求。工作量證明和權益證明是最早被廣泛應用的演算法,而委託權益證明、實用拜占庭容錯演算法、權威證明等則旨在解決特定問題,如提高效率、降低能源消耗或實現去中心化。選擇共識演算法時,應考慮安全性、效率、能源消耗、去中心化程度以及與具體應用場景的匹配度。