區塊鏈中的數學思想概述

買賣虛擬貨幣

數學在人類文明的發展中起著非常重要的作用。牛頓當年透過數學計算預見了發射人造天體的可能性;愛因斯坦相對論的質能公式從數學論證的角度預示了原子能時代的來臨;正是麥克斯韋方程先從數學上論證了電磁波,後來才會有電磁波聲光資訊傳遞技術的發展;電子數字計算機的誕生和發展更是在數學理論的指導下進行的。當前,隨著電腦應用的普及,資訊的數字化和資訊通道的大規模聯網,依據數學所作的創造設想已經在我們的生活中扮演越來越重要的角色。區塊鏈從單筆交易的發起、確認,到特定時間內所有交易集合的打包成塊、達成全網共識,數學演算法都作為一種規則和通訊工具,透過資訊互動和確立信任,協調各節點之間的一致行動,實現對等網路的有序、持續運轉。如果說區塊鏈中各種巧妙、完美設計的規則是其靈魂,那麼深深滲透其中的數學思想則是血液,從而支撐整個區塊鏈體系信任機制的建立。


交易的發起和驗證


交易的發起

單筆交易是整個區塊鏈的基本元素,這裡面主要包含價值輸出方發起交易、其他節點驗證交易兩個動作。整個交易的信任完全是依賴非對稱加密演算法進行保證,非對稱加密演算法需要兩個金鑰:公鑰和私鑰。公鑰與私鑰是一對,如果用公鑰對資料進行加密,只有用對應的私鑰才能解密;如果用私鑰對資料進行加密,那麼只有用對應的公鑰才能解密。比如現有付款人1->收款人2、付款人2(前一交易的收款人2)->收款人3兩筆交易,付款人1->收款人2的交易為付款人2->收款人3交易的前序交易。付款人2用自己的私鑰製作數字簽名,即用前序交易中涉及到收款人2(自己)的資訊Y(一般包括前序交易的唯一雜湊值、收款人2的公鑰地址雜湊、收款人2在前序交易中的排序、收款人2收到的金額等資訊)作為明文計算密文X。付款人2將X作為數字簽名和自己的公鑰地址附在交易中發給收款人3。


  • 交易的驗證

付款人2到收款人3的交易發起後,各節點需要驗證價值由付款人2發出以及價值可追溯到付款人1->收款人2的交易資料。驗證節點用付款人2提供的公鑰地址解密數字簽名X得到明文Y,並與區塊鏈上記錄的內容進行比對,驗證付款人2提供的公鑰地址是否由付款人2持有(付款人持有賬戶);同時,計算付款人2提供的公鑰地址的雜湊,繼續與Y中的收款人2的公鑰地址雜湊進行比對,驗證付款人2提供的公鑰地址是否為前序交易的收款地址(付款人賬戶持有價值),進而驗證發出的價值是否可追溯到付款人1->收款人2的交易。如兩次比對一致,則付款人2->收款人3交易有效。


區塊的打包和上鍊


區塊的打包

在分散式網路下,為了降低記賬成本並保證安全性,不是逐筆對交易進行全網共識進而上鍊,而是將一段時間內所有交易資料彙總打包成塊,並透過競爭性記賬規則確定上鍊。在區塊打包過程中,數字摘要是重要的工具,它是將任意長度的訊息變成固定長度的特定短訊息,最後將一個區塊內包含的所有資訊概括為一個數字摘要,不同的原始訊息會生成不同的摘要,但根據摘要無法逆推出原始訊息。區塊由區塊體和區塊頭組成,區塊體包含了大量交易資訊,每筆交易有唯一地雜湊值代表,往上走透過把相鄰的兩個雜湊值合併成一個字串,然後運算這個字串的雜湊,這樣得到了一個“父雜湊”,同樣的計算方式往上走,可以得到數目更少的新一級雜湊,最終形成一棵倒掛的樹,到了樹根的這個位置,就剩下一個根雜湊了,也就是Merkle根節點,它總結了所有的交易資訊。


除了Merkle根節點,區塊頭還包括上一區塊的頭雜湊值、時間戳、難度值和隨機數,而頭雜湊是區塊頭五要素的雜湊值。一個頭雜湊就可以總結整個區塊所有交易資訊、時間戳、前一區塊頭雜湊、工作量證明等所有資訊,任何資訊的改變都將直接引起頭雜湊的變化。


區塊的上鍊

區塊打包完成後,透過共識機制解決了分散式賬本結構下達成一致並抗攻擊的問題,它解決了去中心化基礎上的節點間互信問題,是保障區塊鏈系統持續安全執行的關鍵。基於分散式網路中各節點的信任基礎不同,可以分為工作量證明機制、拜占庭容錯機制等,它們在節點進出進位制、抗攻擊性等方面各有優勢。以工作量證明機制為例來說明共識機制的原理。達成共識需要一定的標準和規則,達到標準就可以獲取記賬權,同時這個標準或者規則是不能低成本實現的,否則記賬的權威性和安全性容易受到挑戰。基於數學難度的計算工作量證明機制簡單理解就是一份證明,用來確認你做過一定量的工作。因為監測工作的整個過程通常是極為低效的,而透過對工作的結果進行認證來證明完成了相應的工作量,則是一種非常高效的方式。比如現實生活中的畢業證、駕駛證等等,也是透過檢驗結果的方式(透過相關的考試)所取得的證明。工作量證明解決了完全去中心化、節點自由進出的情況下,記賬權的確認問題。


同時,工作量證明也保障了抗攻擊性。多數人投票的最長鏈投入了最大的工作量,如果大多數CPU工作量被誠實的節點控制,誠實的鏈條會增長很快,從而超過其他的鏈。攻擊者為了修改過去的塊,必須重做當前塊以及之後的所有塊,並趕上並超過誠實節點的工作。當下一區塊新增時,慢的攻擊者趕超的可能性以指數級方式減少,從而抵禦惡意攻擊。


北京大學數學系密碼學方向王倩雯博士亦對此文有重大貢獻。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;