? 白皮書晦澀難懂,既然要學(xué)區(qū)塊鏈知識了别垮,索性就把它就把它弄透徹它便监,讓自己大腦清晰。遇到不懂區(qū)塊鏈的人碳想,能講的頭頭是道烧董,讓不懂的人,通過自己講解胧奔,能明白什么好似區(qū)塊鏈逊移,是干嘛的,瑜伽區(qū)塊鏈高手不至于一臉蒙龙填,也能跟上別人節(jié)奏胳泉。
? ? 繼續(xù)我們的白皮書解讀,看文章不是太長觅够,應(yīng)該容易懂胶背,心理有點竊喜。
原文:4. 工作量證明(Proof-of-Work) 為了在點對點的基礎(chǔ)上構(gòu)建一組分散化的時間戳服務(wù)器喘先,僅僅像報紙或世界性新聞網(wǎng)絡(luò)組一樣工作是不夠 的钳吟,我們還需要一個類似于亞當(dāng)?柏克(Adam Back)提出的哈希現(xiàn)金(Hashcash)[6] 窘拯。在進(jìn)行隨機(jī)散列 運算時红且,工作量證明機(jī)制引入了對某一個特定值的掃描工作,比方說 SHA-256 下涤姊,隨機(jī)散列值以一個或 多個 0 開始暇番。那么隨著 0 的數(shù)目的上升, 找到這個解所需要的工作量將呈指數(shù)增長,而對結(jié)果進(jìn)行檢驗則 僅需要一次隨機(jī)散列運算思喊。 我們在區(qū)塊中補(bǔ)增一個隨機(jī)數(shù)(Nonce)壁酬,這個隨機(jī)數(shù)要使得該給定區(qū)塊的隨機(jī)散列值出現(xiàn)了所需的那么多 個 0。我們通過反復(fù)嘗試來找到這個隨機(jī)數(shù)恨课,直到找到為止舆乔,這樣我們就構(gòu)建了一個工作量證明機(jī)制。只 要該 CPU 耗費的工作量能夠滿足該工作量證明機(jī)制剂公,那么除非重新完成相當(dāng)?shù)墓ぷ髁肯A搮^(qū)塊的信息就不 可更改。由于之后的區(qū)塊是鏈接在該區(qū)塊之后的纲辽,所以想要更改該區(qū)塊中的信息颜武,就還需要重新完成之后 所有區(qū)塊的全部工作量璃搜。?
證明機(jī)制的本質(zhì)則是一 CPU 一票×凵希“大多數(shù)”的決定表達(dá)為最長的鏈这吻,因為最長的鏈包含了最大的工作量。 如果大多數(shù)的 CPU 為誠實的節(jié)點控制因块,那么誠實的鏈條將以最快的速度延長橘原,并超越其他的競爭鏈條。如 果想要對業(yè)已出現(xiàn)的區(qū)塊進(jìn)行修改涡上,攻擊者必須重新完成該區(qū)塊的工作量外加該區(qū)塊之后所有區(qū)塊的工作 量趾断,并最終趕上和超越誠實節(jié)點的工作量。我們將在后文證明吩愧,設(shè)想一個較慢的攻擊者試圖趕上隨后的區(qū) 塊芋酌,那么其成功概率將呈指數(shù)化遞減。 另一個問題是雁佳,硬件的運算速度在高速增長脐帝,而節(jié)點參與網(wǎng)絡(luò)的程度則會有所起伏。為了解決這個問題糖权, 工作量證明的難度(the proof-of-work difficulty)將采用移動平均目標(biāo)的方法來確定堵腹,即令難度指向令每 小時生成區(qū)塊的速度為某一個預(yù)定的平均數(shù)。如果區(qū)塊生成的速度過快星澳,那么難度就會提高疚顷。
解讀:
先來理清一個感念,工作量證明什么意思禁偎,一個礦工成功后腿堤,他會把之前的大包好的的網(wǎng)絡(luò)是那個交易記錄到一頁賬本上,同步給其他人如暖。因為這個礦工能夠最先計算出超難數(shù)學(xué)題的正確答案笆檀,說明這個礦工付出了工作量,是一個有權(quán)利記賬的人盒至,因此其他人也會同意這一頁賬單酗洒。這種依靠工作量來證明記賬權(quán),大家來達(dá)成共識的機(jī)制叫做工作量證明枷遂,簡而言之結(jié)構(gòu)可以證明你付出了多少工作量樱衷,英文簡稱POW。
上一講登淘,我們了解了時間戳服務(wù)器的原理,但有的人還是會有疑問封字,因為沒有中心化機(jī)制監(jiān)管黔州,如果有人惡意更改時間耍鬓,同時修改比特幣源碼造跳過時間檢測機(jī)制怎么辦或者惡意構(gòu)造交易怎么半,這就是需要另一個機(jī)制來保證流妻,就是工作量證明牲蜀,說白了就是提升作惡的成本。因為工作量證明里面又個 詞哈希值绅这,哈希值算法的計算過程事不可逆轉(zhuǎn)的涣达,礦工們進(jìn)行哈希值計算,可以理解為 一個數(shù)學(xué)游戲证薇, 獲得正確答案度苔,就會獲得記賬權(quán),其他經(jīng)過驗證或浑度,就可以同意其記賬寇窑,打上時間戳,然后緊接著進(jìn)行下一輪算力競賽箩张。如果有人想把這個區(qū)塊的內(nèi)容修改甩骏,拿他就需要把這個區(qū)塊開始所有的區(qū)塊都重新計算一遍,把賬單同步給其他人先慷,而在其他進(jìn)行計算的同時饮笛,其他礦工已經(jīng)在原來的鏈上繼續(xù)進(jìn)行往前進(jìn)行記賬了,在比特幣網(wǎng)絡(luò)里大家認(rèn)為最長的鏈才是正確的鏈论熙,如果惡意串改需要在短時間內(nèi)趕上現(xiàn)有區(qū)塊的高度福青,讓自己的這個鏈條成為最長的鏈,讓其他礦工赴肚,認(rèn)為這個是真確區(qū)塊素跺。除非這個惡意篡改的人,擁有非常大的算力誉券,至少超過50%指厌,否則基本上沒有可能進(jìn)行這樣的篡改。
這里也要理解一個詞哈希值算法踊跟,哈希算法是一個哈希函數(shù)踩验,如果不知什么是哈希函數(shù),只要記住它是一個可以將任意長度的消息映射成一個固定的值商玫,無論輸入什么最后都成為一個固定的值箕憾,那么在區(qū)塊鏈中就是靠每秒的碰撞,解答比特幣的數(shù)學(xué)題拳昌,是一種偉大的密碼學(xué)數(shù)學(xué)算法袭异。
這塊內(nèi)容主要是圍繞著,工作量證明的炬藤,不可更改御铃,即使想做惡修改碴里,也是很難實現(xiàn)的,這也是中本聰?shù)母呙髦幧险妫忍貛艆^(qū)塊的公開透明咬腋,去中心化,不可更改的機(jī)制睡互,不受制約個體操控根竿。這塊解析就到此處。