看板 DigiCurrency 關於我們 聯絡資訊
新聞來源連結: http://bit.ly/2TEHtJT 新聞本文: 比特幣的深奧起源:第二部 工作證明--挖礦 默克爾樹根所涵蓋的交易在分散帳本的「認可」是交由所謂的比特幣「礦工」的「挖礦」 工作來進行。即礦工所使用的「安全雜湊演算程式-256」(SHA-256)雜湊函數是以一直叠 代迭代來求得一個等於或少於比特幣網通則所宣佈而每兩週會被修改的一個「目標雜湊」 。成功求得相符目標雜湊的礦工則是將滿載一百萬位元組的區塊之「區塊頭條代號」、雜 湊字母數字字符、已經被認可的前段區塊(即「母區塊」)的雜湊字符、時間戳章、比特 幣網所估計之求得雜湊的困難度、默克爾樹根、以及一直被增值而迭代的「只一次使用的 數字」(nonce)的區塊上宣佈,而合格的區塊就會被聯鎖在比特幣的網路分散帳本區塊 鏈上。 該區塊的基本結構可由以下早年的範例參考: Block Header: 156897733… Hash: 000000000043a8c0fd1d6f726790caa2a406010d19efd2780db27bdbbd93baf6 Previous block: 00000000001937917bd2caba204bb1aa530ec1de9d0f6736e5d85d96da9c8bba Time Stamp: 2010-09-16 05:03:47 Difficulty: 712.884864 Merkle root: 8fb300e3fdb6f30a4c67233b997f99fdd518b968b9a3fd65857bfe78b2600719 Nonce: 1462756097 礦工所使用的SHA-256雜湊函數是以布爾運算和32-bit加法的並行運算而求得一個獨一無 二的等於或少於目標雜湊之256位元隨機排列字母數字組合,即所運算出來的字符要相符 目標雜湊前端零號數才算數。但由於是64位元組之16隨機字母數字的組合,只有1664排列 中之一可以相符目標雜湊字符。即雖然可以按照叠代迭代親自動手運算,由此微乎其微的 或然率起見,求得相符的字符是需要一直連續的繁多迭代運算,則是適合用電腦處理,尤 其「圖形微處理器」(GPU)以及專用的「制定應用積體電路」(ASIC)的並行運算。 迭代運算求得相符目標雜湊的零號數之後,該區塊就會按時順序聯鎖在比特幣分散帳本的 整體區塊鏈,即所屬的所有交易就此被比特幣網「認可」,而交易區塊其中所有交易的比 特幣數額、時間、比特幣地址等資料都會以雜湊的形式在分散帳本註冊和公佈。 比特幣的網路分散帳本故而可呈現民衆交易全透明的理想,但是因爲雜湊的數位簽名是隱 蔽當事人的身份,也可確保個人隱私權。亦即,比特幣區塊鏈是形成傳統金融機構所不及 之可公認且能保密之極難得的交易機制。 工作證明的經濟學解釋 比特幣交易如此的認可機制可由經濟學的市場供需分析,即朝氣蓬勃的比特幣網是反映一 個極大的市場需求,則提供分散帳本交易服務是極具經濟價值,而取得此有價值的服務者 應該願意回饋相同價值的金錢、時間、勞力、腦力、能源等可總稱「經濟工作」的經濟資 源。但不同於銀行或金融機構的服務,比特幣的交易服務原則上是免費,而一般人不會願 意無償為他人的交易做認可的工作,所以比特幣網是提供比特幣獎金來引誘礦工的挖礦工 作,而擬加快交易認可者亦可附加礦工可收取的「比特幣交易費」,二者就可承兌交易服 務應該收取的報酬。 挖礦的工作則會花費經濟資源,即求得符合目標雜湊字符所需的演算設備、時間、勞力、 腦力、電費等等,也就是將原為虛擬貨幣的交易服務成本歸附資本主義金錢為媒介之傳統 「生産要素」經濟論述。故比特幣交易服務的經濟價值是在於比特幣挖礦的「工作證明」 ,即經濟資源花費的證明。 工作證明如此是帶給比特幣交易服務一個具體的經濟意義,而因爲全球民衆可參與比特幣 交易並賺取和交換比特幣,且人人又可參加認可的運算遊戲而贏得可觀的比特幣獎金和交 易費,而確實有許多人願意以「工作證明」來認可他人的交易。參與的民衆於是就有維護 網路分散帳本之正當性的誘因,即比特幣網的分散帳本運作如此就是具有參與者的「共識 」(consensus),而該共識就是取代金錢而確保比特幣交易體系的公信力。 工作證明的理論物理詮釋 依據電腦科學的「FLP論述」,任何分散系統不免會有缺陷,譬如在一個群體機器序列中 ,一台機器的故障會妨礙整體機器群的正常運作,但同步運作的機器系統只要等到下一步 的同步就可以偵察到故障的機台而修正系統的運作。然而,非同步運作的機器群因爲沒有 同步的下一步,就要一直等到無限的時間才知道該故障的機器是否在運轉,即理論上不可 能有一個演算程式能確保非同步分散系統的全然可靠度性。 經由網際網路而聯接的比特幣網個人電腦機群本性就是一個非同步的系統,則因爲網路原 本就沒有控制聯接電腦的中央機構,非同步的分散帳本運作原則上就沒有偵察缺陷的機制 。 著名史丹佛大學教授張首晟曾從理論物理的觀點分析分散帳本的區塊鏈工作證明認可機制 ,即任何「分散」的系統之「熵」(entropy)必定會比「有序」的系統高,而由於只有 被工作證明而認可的交易區塊可聯鎖在整體區塊鏈上,比特幣的挖礦工作是正在以「物理 工作」(work)治理整體比特幣網中的波折。即工作證明就是增加區塊鏈的有序度,則如 此就是在降低系統的熵,而順遂防禦譬如「兼得」和「51%」攻擊的分散帳本缺陷。 因爲任何自然進程會加劇分散而增加系統的熵,依照能量守恆定律,工作證明是需要耗費 能量才能降低熵,礦工求得目標雜湊的前端零號數運算工作也就是會耗費演算設備、時間 、勞力、腦力、電力等等能源的成本,而這就是減少熵的物理兼經濟工作代價。 尤其進行個人或商業性的交易者都會贊同比較有序的交易系統,低熵而較無缺陷的分散帳 本應該是比特幣網友的共識,而因爲人人會認知物理和經濟工作的價值,工作證明如此就 是增強分散帳本的公信力。 比特幣的價值是基於民衆共存共榮之權力和權利分享,而非中央控制的金融機構和少數金 主弱肉強食的惡作,即確實可稱得上一個純民主而富足理想的新金融體制。 不動如山的區塊鏈 然而,先人之理想很容易遭遇後人的濫用,即金融全民主化的比特幣網不得不防禦不肖人 士的攻擊和敲詐。但是,工作證明的機制不只是賦予比特幣交易經濟價值,其正常的運作 程序亦可維護分散帳本的公信力。 即區塊鏈中的任何交易資料的不當竄改會改變該交易的雜湊字符,而改變的交易與另一交 易的雜湊也會改變,則所有被雜湊的交易對一直到默克爾樹根的雜湊字符都會變。亦即, 任何改變會促使默克爾樹根中的所有雜湊字符之更改,則區塊鏈之竄改是需要重頭進行挖 礦的工作證明而修改所有被分散到全比特幣網的每一人的分散帳本。有人曾估計此無望的 努力會耗費幾十億美元的運算電源,即是全然不符成本/經濟效益原則。 比特幣的分散帳本如此就是借重不動如山的區塊鏈而達成任何銀行或金融機構所不及的穩 定性。 因爲比特幣網的每一交易會記錄當事人比特幣錢包中的比特幣餘額,比特幣網會攔住超額 的交易,但是因爲不像鈔票用一次就沒了,且各個比特幣單元本身又沒有代號,而比特幣 的交易沒有如銀行的支票、提款卡、信用卡、或移動支付的交易記錄,比特幣則有重復使 用的可能。 譬如能直接聯繫另一節點之「賽跑攻擊者」可先傳送一個沒有被認可的交易之一筆比特幣 款項來購買某產品,則收到產品之後,在比特幣網廣播該交易並沒有被認可,因而該比特 幣款項不會被傳送,而賽跑攻擊者就可騙取免費的產品。當然,如此簡單的敲詐手法應該 很容易查出端倪,則不能多用。 所謂的「二者不可兼得的花費攻擊」是利用比特幣網通則之「最長的區塊鏈必須優先認可 」的規定,則不肖的礦工可先傳送一筆比特幣款項給自己的另一比特幣錢包,而嗣後以同 額的比特幣購買某產品。即「自圓」的交易會在購買的交易之前,則會被聯鎖在一條較長 的區塊鏈而優先被認可。涵蓋購買交易的區塊則會被「分叉」(fork)到後來組成而因此 比較短的區塊鏈,則會被認可在自圓的交易之後。「兼得攻擊者」如此可魚與熊掌兼得產 品而他所「支付」的比特幣款項。 然而,雖然看似可行,由於任何礦工可隨意搜集比特幣地址的交易對,初步的挖礦工作本 性係屬分散且隨機,所以第二個交易仍然有趕上第一個交易的可能。「兼得攻擊者」於是 若要確保自圓的交易一定會在購買交易之前並被聯鎖在一條較長的區塊鏈上,則購買交易 會爾後被分叉到另一條較短的區塊鏈,他總需要監管當時其他的比特幣交易地址而下功夫 作必要的調整。但是,他雖然在盡全力安排各相關區塊鏈,則耗費了不少的工作成本,因 爲挖礦是無中央控制機制,即各個礦工都是自主而挖礦,兼得攻擊者卻不一定能如願以償 地排好相關的區塊鏈,即「兼得」的攻擊是極可能有得不償失之虞。 何況,屢次的自圓交易和相關同額的比特幣款項傳送會在分散帳本留下痕跡,而敲詐的事 件被比特幣網友查出而廣播之後,兼得攻擊者會被開除,而他雖然可加持新的私鑰匙和錢 包而捲土重來,他的作案手法應可被比特幣網友認出而再一次被開除。 分散帳本的全透明化運作於是可賦予全比特幣民衆監督的權力,而如此是增強比特幣網的 公信力。 不過,工作證明和比特幣網全透明的運作恐怕是無法有效地監理將來會遍佈社會之5G物聯 網之「快支付」和「機器對機器」交易,即較爲「世故」的防範未然有必要,而如何防範 正是電腦科學研究的熱門課題。 比特幣逐漸且均勻的發行 認可交易區塊的工作證明雖然是有一定程度的困難,且會耗費相當多的經濟資源,因爲第 一位勝任的人可賺取可觀的比特幣獎金及交易費,許多人會自願參加求得比特幣交易區塊 目標雜湊的運算比賽,而恰好這些礦工的挖礦作業原則上可促使比特幣逐漸的發行和均勻 的分散。 交易區塊的認可運算稱之為「挖礦」是因爲比特幣可比喻隱藏在地球地幔的黃金,即維持 黃金價值的是其有限的天然量,黃金也必須被挖出才能作交易的基礎媒介。然而,黃金主 要是被少數大的礦廠挖掘,而受少數國家中央銀行的保存和控管,爾後被用來做由黃金或 其衍生的貨幣所支撐的各種金融活動,譬如抵押貸款銀行的次級房貸。 比特幣則是隱藏在比特幣網的伺服器記憶體,而以維持價值,比特幣的量是由人爲限定於 兩千一百萬位元整。比特幣與黃金同樣地要被挖出才能作交易的媒介,但是不同於黃金, 比特幣是由網際網路民衆挖掘而透過比特幣網依照比特幣的供需而自行分散,即比特幣是 由人民而非中央銀行或任何金融機構分散到社會大衆。 爲了避免大量的比特幣一時被挖出而集中在少數金主或他們所指定的機構之手裡,比特幣 網會增加求得目標雜湊的困難度,加上比特幣挖礦獎金定期的調降,整體會維持工作證明 每一交易區塊被聯鎖在區塊鏈平均需要十分鐘的標準進度。如此的微調機制就可確保比特 幣之逐漸發行,而且由於網際網路本身就是毫無核心機制或中央權力機構,比特幣網的分 散工作證明機制則可確保比特幣極均勻的散佈。 促進比特幣挖掘的礦工獎金,從2009年的50比特幣已減少到2017年迄今的12.5比特幣。於 2017年底,一位元的比特幣可兌換近兩萬美元,然而於2018年初,就陡然降到迄今的約六 千美元,但儘管比特幣匯率如此的動蕩,挖礦的獎金向來是足以引誘各方的礦工,且推動 比特幣挖礦的規模系統化。 但是,愈高效率和大規模的挖礦會促使過快的比特幣發行,故以維持逐漸的發行,比特幣 網通則是設定一個原則,即挖礦的技術愈進步而促使愈快的工作證明進度,求得目標雜湊 的困難度要跟隨成正比,即目標雜湊字符的前端零號數會增加。 為減緩愈來愈少仍未被挖掘的比特幣挖出,比特幣通則是規定工作證明的獎金要每四年減 一半,再加上目標雜湊愈來愈多之前段零號數,預估到2140年比特幣會被挖光,則之後比 特幣交易會多採用比特幣交易費來促使比特幣的分散和循環。 不知從比特幣免費交易的基本原則而改成付費的制度會不會影響比特幣的發展?但是一百 多年之後的世界,又會是如何的情景也很難說。 評論: 比特幣是一種純民主且理想的新金融體制,但要如何防範將來會遍佈社會之5G物聯網 之「快支付」和「機器對機器」交易仍是CS研究議題。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 203.145.192.245 ※ 文章網址: https://www.ptt.cc/bbs/DigiCurrency/M.1547021243.A.009.html ※ 編輯: zxcvxx (203.145.192.245), 01/09/2019 16:09:33