如何理解區塊鏈的信任機制
⑴ 要建立信任社會的區塊鏈產生了巨大的信任危機
人性中的不信任實際是一種變向的自我保護。
當金錢、當健康、當未來、當生命都成了賭注,即使原本善良的人也會想退避三舍。當違約的代價微乎其微,當道德成為僅剩的約束力,人性中的惡就變得堂而皇之,張牙舞爪。魔鬼也是要遵守契約的。
而商業社會正是建立在信任之上,沒有信任就不可能有商業。你買的房子,你必須信任建築商沒有偷工減料。即使有,也不能是瞬間塌了那種。你去醫院看病,你必須信任醫生是有專業水準和道德的,不會亂治病甚至毒死你。
這就形成了一對矛盾,我們既要出於不信任保護自己,又要建立信任從而在商業社會分工協作,工作生活。而從不信任到信任之間的道路就耗費了我們很多精力。人們也想了各種各樣的方法去解決。當然成本都很高。
2
但區塊鏈的出現,讓信任變得簡單。不,應該說是相對簡單。
很多從事區塊鏈行業的專業人士和區塊鏈信仰者認為,區塊鏈時代一旦降臨,就將顛覆我們現在所有的認知,我們將跨入一個全新的時代,一個不再有信任危機的時代。信任是一種協議,存在於潛意識里,但潛意識多變,因而信任關系不穩定。而區塊鏈就是用理性的技術,來解決人性中的不信任。
區塊鏈構建的是一種是去中心化的信任體制,也就是說在不需要第三方擔保的情況下可以通過技術來保證點對點之間信任的建立從而達成共識——這就是經典的拜占庭將軍問題的解法。而這種社會網路形成後,就意味著我們可以以極低的成本形成社會的信任關系,從而使整個社會運行成本大幅下降。
包括我在內,我之前也是這么想的。我還在幣乎寫過文章,說明區塊鏈是如何通過演算法來達到產生去信任的「魔力」。而現實社會中的運行發現,我們把這一切都想得簡單了。
3
區塊鏈建立去信任機制的核心在於它的演算法,利用演算法和去中心化的機制,讓整個網路信息無法篡改,誰也無法取得對網路的控制。大家都去信任演算法,演算法對每個人都公平,而且公開透明。只要按照既定的規則行事,就有可預期的結果。
其實按照這個模式走下去,區塊鏈確實可以達到建立信任社會的結果。但現實和理想差距是巨大的。
隨便舉幾個例子,就能充分地感受到幣圈和鏈圈的信任危機。
交易所,不管是國內還是國外,只要是做加密貨幣期貨合約的,都被指證存在操縱價格或者「拔網線」的惡劣行徑,通過這種行為讓用戶爆倉,從而獲取利益。
什麼項目都用區塊鏈包裝,發幣來獲取融資。但項目其實就是空氣項目,要麼什麼都沒有,要麼資質特別差。還有更要命的項目是本來幹得不錯,但是錢一下子賺得多了,沒動力了,於是卷錢走人。
穩定幣信任危機。穩定幣是幣圈非常需要的一種避險資產。尤其是熊市存在大量的需求,USDT在熊市期間也不斷增發,可以說就是隨便印鈔的感覺。可是前段時間還是爆發了信任危機,幣價一點都不穩定,最大的原因就是用戶認為USDT亂發貨幣後缺少足額的兌換支撐,缺少監管,信息完全不透明。
例子太多太多。其實熊市的根源就源自於信任危機,因為信任危機大家喪失了信心,從而越跌越慘。
可以看到這多麼可悲,一個號稱要建立信任社會的技術,竟然產生了如此大的信任危機。這也讓我們發現技術不是所有問題的答案。還有很多東西是簡單通過技術無法解決的。
⑵ 區塊鏈中的公有鏈的信任機制是
區塊鏈中寬老的公有凱清鏈的信任機制是工作量證明。工作量證明表現了工作能力,盯巧前更值得別人信任。公有鏈的信任是一種人類信任協作的新形態,它有著最為廣泛的信任范圍。正如賓夕法尼亞大學教授KevinWerbach在其論述區塊鏈信任的專著中所述,為所有的使用者提供最為一般化的信任(信用)服務是公有鏈最為核心的價值,它使得人類首次在達成全球范圍內自發性信任。區塊鏈信任的基礎在於各方在平權、分散的網路中,獨立地記賬、驗證過程。各個參與者在公有鏈無門檻、自由出入、多方持有、多方維護的公共賬本上獨立地記錄、驗證每一筆交易及合約。在共識機制的作用下,每一個網路參與者都有可能成為會計(記賬人),而在交易確認驗證的機制下,每一個網路(全節點)都是審計人。因此,公有區塊鏈是一個全球記賬、全球審計的網路。
⑶ 2.區塊鏈信任和傳統模式信任的區別是什麼
區塊鏈信任和傳統模式信任的區別如下。
1、區塊鏈中的信任,最為不同的就是,它通過數學、計算機技術和加密使信息的記錄不可更改,並通過智能合約將合作的約定寫在區塊鏈上,最後在條件滿足後自動執行合約。區塊鏈消除了信任的第三方,通過區塊鏈,人們不必需要100%信任對方或信任第三方機構,它並不是消除了信任問題,也並不是完全不需要考慮信任問題,在合作過程中,人們仍然是需要去信任的,只不過將信任的對象從人和組織,轉變為共識機制構成的區塊鏈網路。
2、傳統的信任體系主要來自於兩方面:國家和文化。國家運用自己的公信力和公權力,來為合作雙方的信任背書;而文化,則指的是一些隱性規則,比如各種地域習俗的信任體系,以及可能出現的民間第三方機構。國家執行的成本太高,不可能都去依靠國家。而文化的信任培養需要的時間過長,也不能滿足所有人的需要。社會很復雜,不可能事事靠簽訂契約,也不可能事事都適合國家出面。
⑷ 深入了解區塊鏈的共識機制及演算法原理
所謂「共識機制」,是通過特殊節點的投票,在很短的時間內完成對交易的驗證和確認;對一筆交易,如果利益不相乾的若干個節點能夠達成共識,我們就可以認為全網對此也能夠達成共識。再通俗一點來講,如果中國一名微博大V、美國一名虛擬幣玩家、一名非洲留學生和一名歐洲旅行者互不相識,但他們都一致認為你是個好人,那麼基本上就可以斷定你這人還不壞。
要想整個區塊鏈網路節點維持一份相同的數據,同時保證每個參與者的公平性,整個體系的所有參與者必須要有統一的協議,也就是我們這里要將的共識演算法。比特幣所有的節點都遵循統一的協議規范。協議規范(共識演算法)由相關的共識規則組成,這些規則可以分為兩個大的核心:工作量證明與最長鏈機制。所有規則(共識)的最終體現就是比特幣的最長鏈。共識演算法的目的就是保證比特幣不停地在最長鏈條上運轉,從而保證整個記賬系統的一致性和可靠性。
區塊鏈中的用戶進行交易時不需要考慮對方的信用、不需要信任對方,也無需一個可信的中介機構或中央機構,只需要依據區塊鏈協議即可實現交易。這種不需要可信第三方中介就可以順利交易的前提是區塊鏈的共識機制,即在互不了解、信任的市場環境中,參與交易的各節點出於對自身利益考慮,沒有任何違規作弊的動機、行為,因此各節點會主動自覺遵守預先設定的規則,來判斷每一筆交易的真實性和可靠性,並將檢驗通過的記錄寫入到區塊鏈中。各節點的利益各不相同,邏輯上將它們沒有合謀欺騙作弊的動機產生,而當網路中有的節點擁有公共信譽時,這一點尤為明顯。區塊鏈技術運用基於數學原理的共識演算法,在節點之間建立「信任」網路,利用技術手段從而實現一種創新式的信用網路。
目前區款連行業內主流的共識演算法機制包含:工作量證明機制、權益證明機制、股份授權證明機制和Pool驗證池這四大類。
工作量證明機制即對於工作量的證明,是生成要加入到區塊鏈中的一筆新的交易信息(即新區塊)時必須滿足的要求。在基於工作量證明機制構建的區塊鏈網路中,節點通過計算隨機哈希散列的數值解爭奪記賬權,求得正確的數值解以生成區塊的能力是節點算力的具體表現。工作量證明機制具有完全去中心化的優點,在以工作量證明機制為共識的區塊鏈中,節點可以自由進出。大家所熟知的比特幣網路就應用工作量證明機制來生產新的貨幣。然而,由於工作量證明機制在比特幣網路中的應用已經吸引了全球計算機大部分的算力,其他想嘗試使用該機制的區塊鏈應用很難獲得同樣規模的算力來維持自身的安全。同時,基於工作量證明機制的挖礦行為還造成了大量的資源浪費,達成共識所需要的周期也較長,因此該機制並不適合商業應用。
2012年,化名Sunny King的網友推出了Peercoin,該加密電子貨幣採用工作量證明機制發行新幣,採用權益證明機制維護網路安全,這是權益證明機制在加密電子貨幣中的首次應用。與要求證明人執行一定量的計算工作不同,權益證明要求證明人提供一定數量加密貨幣的所有權即可。權益證明機制的運作方式是,當創造一個新區塊時,礦工需要創建一個「幣權」交易,交易會按照預先設定的比例把一些幣發送給礦工本身。權益證明機制根據每個節點擁有代幣的比例和時間,依據演算法等比例地降低節點的挖礦難度,從而加快了尋找隨機數的速度。這種共識機制可以縮短達成共識所需的時間,但本質上仍然需要網路中的節點進行挖礦運算。因此,PoS機制並沒有從根本上解決PoW機制難以應用於商業領域的問題。
股份授權證明機制是一種新的保障網路安全的共識機制。它在嘗試解決傳統的PoW機制和PoS機制問題的同時,還能通過實施科技式的民主抵消中心化所帶來的負面效應。
股份授權證明機制與董事會投票類似,該機制擁有一個內置的實時股權人投票系統,就像系統隨時都在召開一個永不散場的股東大會,所有股東都在這里投票決定公司決策。基於DPoS機制建立的區塊鏈的去中心化依賴於一定數量的代表,而非全體用戶。在這樣的區塊鏈中,全體節點投票選舉出一定數量的節點代表,由他們來代理全體節點確認區塊、維持系統有序運行。同時,區塊鏈中的全體節點具有隨時罷免和任命代表的權力。如果必要,全體節點可以通過投票讓現任節點代表失去代表資格,重新選舉新的代表,實現實時的民主。
股份授權證明機制可以大大縮小參與驗證和記賬節點的數量,從而達到秒級的共識驗證。然而,該共識機制仍然不能完美解決區塊鏈在商業中的應用問題,因為該共識機制無法擺脫對於代幣的依賴,而在很多商業應用中並不需要代幣的存在。
Pool驗證池基於傳統的分布式一致性技術建立,並輔之以數據驗證機制,是目前區塊鏈中廣泛使用的一種共識機制。
Pool驗證池不需要依賴代幣就可以工作,在成熟的分布式一致性演算法(Pasox、Raft)基礎之上,可以實現秒級共識驗證,更適合有多方參與的多中心商業模式。不過,Pool驗證池也存在一些不足,例如該共識機制能夠實現的分布式程度不如PoW機制等
這里主要講解區塊鏈工作量證明機制的一些演算法原理以及比特幣網路是如何證明自己的工作量的,希望大家能夠對共識演算法有一個基本的認識。
工作量證明系統的主要特徵是客戶端要做一定難度的工作來得到一個結果,驗證方則很容易通過結果來檢查客戶端是不是做了相應的工作。這種方案的一個核心特徵是不對稱性:工作對於請求方是適中中的,對於驗證方是易於驗證的。它與驗證碼不同,驗證碼是易於被人類解決而不是易於被計算機解決。
下圖所示的為工作量證明流程。
舉個例子,給個一個基本的字元創「hello,world!」,我們給出的工作量要求是,可以在這個字元創後面添加一個叫做nonce(隨機數)的整數值,對變更後(添加nonce)的字元創進行SHA-256運算,如果得到的結果(一十六進制的形式表示)以「0000」開頭的,則驗證通過。為了達到這個工作量證明的目標,需要不停地遞增nonce值,對得到的字元創進行SHA-256哈希運算。按照這個規則,需要經過4251次運算,才能找到前導為4個0的哈希散列。
通過這個示例我們對工作量證明機制有了一個初步的理解。有人或許認為如果工作量證明只是這樣一個過程,那是不是只要記住nonce為4521使計算能通過驗證就行了,當然不是了,這只是一個例子。
下面我們將輸入簡單的變更為」Hello,World!+整數值」,整數值取1~1000,也就是說將輸入變成一個1~1000的數組:Hello,World!1;Hello,World!2;...;Hello,World!1000。然後對數組中的每一個輸入依次進行上面的工作量證明—找到前導為4個0的哈希散列。
由於哈希值偽隨機的特性,根據概率論的相關知識容易計算出,預計要進行2的16次方次數的嘗試,才能得到前導為4個0的哈希散列。而統計一下剛剛進行的1000次計算的實際結果會發現,進行計算的平均次數為66958次,十分接近2的16次方(65536)。在這個例子中,數學期望的計算次數實際就是要求的「工作量」,重復進行多次的工作量證明會是一個符合統計學規律的概率事件。
統計輸入的字元創與得到對應目標結果實際使用的計算次數如下:
對於比特幣網路中的任何節點,如果想生成一個新的區塊加入到區塊鏈中,則必須解決出比特幣網路出的這道謎題。這道題的關鍵要素是工作量證明函數、區塊及難度值。工作量證明函數是這道題的計算方法,區塊是這道題的輸入數據,難度值決定了解這道題的所需要的計算量。
比特幣網路中使用的工作量證明函數正是上文提及的SHA-256。區塊其實就是在工作量證明環節產生的。曠工通過不停地構造區塊數據,檢驗每次計算出的結果是否滿足要求的工作量,從而判斷該區塊是不是符合網路難度。區塊頭即比特幣工作量證明函數的輸入數據。
難度值是礦工們挖掘的重要參考指標,它決定了曠工需要經過多少次哈希運算才能產生一個合法的區塊。比特幣網路大約每10分鍾生成一個區塊,如果在不同的全網算力條件下,新區塊的產生基本都保持這個速度,難度值必須根據全網算力的變化進行調整。總的原則即為無論挖礦能力如何,使得網路始終保持10分鍾產生一個新區塊。
難度值的調整是在每個完整節點中獨立自動發生的。每隔2016個區塊,所有節點都會按照統一的格式自動調整難度值,這個公式是由最新產生的2016個區塊的花費時長與期望時長(按每10分鍾產生一個取款,則期望時長為20160分鍾)比較得出來的,根據實際時長一期望時長的比值進行調整。也就是說,如果區塊產生的速度比10分鍾快,則增加難度值;反正,則降低難度值。用公式來表達如下:
新難度值=舊難度值*(20160分鍾/過去2016個區塊花費時長)。
工作量證明需要有一個目標值。比特幣工作量證明的目標值(Target)的計算公式如下:
目標值=最大目標值/難度值,其中最大目標值為一個恆定值
目標值的大小與難度值成反比,比特幣工作量證明的達成就是礦中計算出來的區塊哈希值必須小於目標值。
我們也可以將比特幣工作量的過程簡單的理解成,通過不停變更區塊頭(即嘗試不同nonce值)並將其作為輸入,進行SHA-256哈希運算,找出一個有特定格式哈希值的過程(即要求有一定數量的前導0),而要求的前導0個數越多,難度越大。
可以把比特幣將這道工作量證明謎題的步驟大致歸納如下:
該過程可以用下圖表示:
比特幣的工作量證明,就是我們俗稱「挖礦」所做的主要工作。理解工作量證明機制,將為我們進一步理解比特幣區塊鏈的共識機制奠定基礎。