當前位置:
首頁 > 最新 > 區塊鏈中的數學思想概述

區塊鏈中的數學思想概述

作者

區塊鏈基礎設施實驗室

呂雯 張秦龍

數學在人類文明的發展中起著非常重要的作用。牛頓當年通過數學計算預見了發射人造天體的可能性;愛因斯坦相對論的質能公式從數學論證的角度預示了原子能時代的來臨;正是麥克斯韋方程先從數學上論證了電磁波,後來才會有電磁波聲光信息傳遞技術的發展;電子數字計算機的誕生和發展更是在數學理論的指導下進行的。當前,隨著電腦應用的普及,信息的數字化和信息通道的大規模聯網,依據數學所作的創造設想已經在我們的生活中扮演越來越重要的角色。

區塊鏈從單筆交易的發起、確認,到特定時間內所有交易集合的打包成塊、達成全網共識,數學演算法都作為一種規則和通訊工具,通過信息交互和確立信任,協調各節點之間的一致行動,實現對等網路的有序、持續運轉。如果說區塊鏈中各種巧妙、完美設計的規則是其靈魂,那麼深深滲透其中的數學思想則是血液,從而支撐整個區塊鏈體系信任機制的建立。

交易的發起和驗證

1.交易的發起

單筆交易是整個區塊鏈的基本元素,這裡面主要包含價值輸出方發起交易、其他節點驗證交易兩個動作。整個交易的信任完全是依賴非對稱加密演算法進行保證,非對稱加密演算法需要兩個密鑰:公鑰和私鑰。公鑰與私鑰是一對,如果用公鑰對數據進行加密,只有用對應的私鑰才能解密;如果用私鑰對數據進行加密,那麼只有用對應的公鑰才能解密。

比如現有付款人1->收款人2、付款人2(前一交易的收款人2)->收款人3兩筆交易,付款人1->收款人2的交易為付款人2->收款人3交易的前序交易。付款人2用自己的私鑰製作數字簽名,即用前序交易中涉及到收款人2(自己)的信息Y(一般包括前序交易的唯一哈希值、收款人2的公鑰地址哈希、收款人2在前序交易中的排序、收款人2收到的金額等信息)作為明文計算密文X。付款人2將X作為數字簽名和自己的公鑰地址附在交易中發給收款人3。

2.交易的驗證

付款人2到收款人3的交易發起後,各節點需要驗證價值由付款人2發出以及價值可追溯到付款人1->收款人2的交易數據。

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

區塊的打包和上鏈

1.區塊的打包

在分布式網路下,為了降低記賬成本並保證安全性,不是逐筆對交易進行全網共識進而上鏈,而是將一段時間內所有交易數據匯總打包成塊,並通過競爭性記賬規則確定上鏈。在區塊打包過程中,數字摘要是重要的工具,它是將任意長度的消息變成固定長度的特定短消息,最後將一個區塊內包含的所有信息概括為一個數字摘要,不同的原始消息會生成不同的摘要,但根據摘要無法逆推出原始消息。

區塊由區塊體和區塊頭組成,區塊體包含了大量交易信息,每筆交易有唯一地哈希值代表,往上走通過把相鄰的兩個哈希值合并成一個字元串,然後運算這個字元串的哈希,這樣得到了一個「父哈希」,同樣的計算方式往上走,可以得到數目更少的新一級哈希,最終形成一棵倒掛的樹,到了樹根的這個位置,就剩下一個根哈希了,也就是Merkle根節點,它總結了所有的交易信息。

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

2.區塊的上鏈

區塊打包完成後,通過共識機制解決了分布式賬本結構下達成一致並抗攻擊的問題,它解決了去中心化基礎上的節點間互信問題,是保障區塊鏈系統持續安全運行的關鍵。基於分布式網路中各節點的信任基礎不同,可以分為工作量證明機制、拜占庭容錯機制等,它們在節點進出進位、抗攻擊性等方面各有優勢。

以工作量證明機製為例來說明共識機制的原理。達成共識需要一定的標準和規則,達到標準就可以獲取記賬權,同時這個標準或者規則是不能低成本實現的,否則記賬的權威性和安全性容易受到挑戰。基於數學難度的計算工作量證明機制簡單理解就是一份證明,用來確認你做過一定量的工作。因為監測工作的整個過程通常是極為低效的,而通過對工作的結果進行認證來證明完成了相應的工作量,則是一種非常高效的方式。比如現實生活中的畢業證、駕駛證等等,也是通過檢驗結果的方式(通過相關的考試)所取得的證明。工作量證明解決了完全去中心化、節點自由進出的情況下,記賬權的確認問題。

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

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

本文為原創作品,轉載需註明出處。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 區塊鏈基礎設施實驗室 的精彩文章:

TAG:區塊鏈基礎設施實驗室 |

您可能感興趣

區塊鏈的提問和數學的猜想——首屆區塊鏈數學科學會議精華
中國數學史概略
學科知識:數學的靈魂——數學思想
數學的關鍵是思想
區塊鏈技術背後的理論基石—組合數學
寶寶的「數學」概念
不同角度認識《區塊鏈與數學建模》
數學到世界的路——讀《數學思想發展簡史》有感
數學基本思想與教學
區塊鏈與數學的關係是什麼?頂級學術大咖一次性給你講清楚
動物界的科學家!蜜蜂能夠理解一個極其複雜的數學概念
學數學要大量做題嗎?史寧中校長談數學的7個問題
初學機器學習:直觀解讀KL散度的數學概念
數學天才龐華棟與區塊鏈的4個故事
學習數學的唯一方法是做數學
學好數學,只需了解這三個解題思維
發現數學之美——創意思維數學課程新探索
「人工智慧的數理基礎」主題論壇,五位學者從數學角度解決AI問題
難以置信的美麗,世界的數學結構,看完只想好好學數學……
數學與文字、道義的關係,人類文明史中五種形態的數學