數(shù)學在人類文明的發(fā)展中起著非常重要的作用。牛頓當年通過數(shù)學計算預見了發(fā)射人造天體的可能性;愛因斯坦相對論的質(zhì)能公式從數(shù)學論證的角度預示了原子能時代的來臨;正是麥克斯韋方程先從數(shù)學上論證了電磁波,后來才會有電磁波聲光信息傳遞技術的發(fā)展;電子數(shù)字計算機的誕生和發(fā)展更是在數(shù)學理論的指導下進行的。當前,隨著電腦應用的普及,信息的數(shù)字化和信息通道的大規(guī)模聯(lián)網(wǎng),依據(jù)數(shù)學所作的創(chuàng)造設想已經(jīng)在我們的生活中扮演越來越重要的角色。區(qū)塊鏈從單筆交易的發(fā)起、確認,到特定時間內(nèi)所有交易集合的打包成塊、達成全網(wǎng)共識,數(shù)學算法都作為一種規(guī)則和通訊工具,通過信息交互和確立信任,協(xié)調(diào)各節(jié)點之間的一致行動,實現(xiàn)對等網(wǎng)絡的有序、持續(xù)運轉(zhuǎn)。如果說區(qū)塊鏈中各種巧妙、完美設計的規(guī)則是其靈魂,那么深深滲透其中的數(shù)學思想則是血液,從而支撐整個區(qū)塊鏈體系信任機制的建立。
交易的發(fā)起
單筆交易是整個區(qū)塊鏈的基本元素,這里面主要包含價值輸出方發(fā)起交易、其他節(jié)點驗證交易兩個動作。整個交易的信任完全是依賴非對稱加密算法進行保證,非對稱加密算法需要兩個密鑰:公鑰和私鑰。公鑰與私鑰是一對,如果用公鑰對數(shù)據(jù)進行加密,只有用對應的私鑰才能解密;如果用私鑰對數(shù)據(jù)進行加密,那么只有用對應的公鑰才能解密。比如現(xiàn)有付款人1-》收款人2、付款人2(前一交易的收款人2)-》收款人3兩筆交易,付款人1-》收款人2的交易為付款人2-》收款人3交易的前序交易。付款人2用自己的私鑰制作數(shù)字簽名,即用前序交易中涉及到收款人2(自己)的信息Y(一般包括前序交易的唯一哈希值、收款人2的公鑰地址哈希、收款人2在前序交易中的排序、收款人2收到的金額等信息)作為明文計算密文X。付款人2將X作為數(shù)字簽名和自己的公鑰地址附在交易中發(fā)給收款人3。
交易的驗證
付款人2到收款人3的交易發(fā)起后,各節(jié)點需要驗證價值由付款人2發(fā)出以及價值可追溯到付款人1-》收款人2的交易數(shù)據(jù)。驗證節(jié)點用付款人2提供的公鑰地址解密數(shù)字簽名X得到明文Y,并與區(qū)塊鏈上記錄的內(nèi)容進行比對,驗證付款人2提供的公鑰地址是否由付款人2持有(付款人持有賬戶);同時,計算付款人2提供的公鑰地址的哈希,繼續(xù)與Y中的收款人2的公鑰地址哈希進行比對,驗證付款人2提供的公鑰地址是否為前序交易的收款地址(付款人賬戶持有價值),進而驗證發(fā)出的價值是否可追溯到付款人1-》收款人2的交易。如兩次比對一致,則付款人2-》收款人3交易有效。
區(qū)塊的打包和上鏈
區(qū)塊的打包
在分布式網(wǎng)絡下,為了降低記賬成本并保證安全性,不是逐筆對交易進行全網(wǎng)共識進而上鏈,而是將一段時間內(nèi)所有交易數(shù)據(jù)匯總打包成塊,并通過競爭性記賬規(guī)則確定上鏈。在區(qū)塊打包過程中,數(shù)字摘要是重要的工具,它是將任意長度的消息變成固定長度的特定短消息,最后將一個區(qū)塊內(nèi)包含的所有信息概括為一個數(shù)字摘要,不同的原始消息會生成不同的摘要,但根據(jù)摘要無法逆推出原始消息。區(qū)塊由區(qū)塊體和區(qū)塊頭組成,區(qū)塊體包含了大量交易信息,每筆交易有唯一地哈希值代表,往上走通過把相鄰的兩個哈希值合并成一個字符串,然后運算這個字符串的哈希,這樣得到了一個“父哈?!?,同樣的計算方式往上走,可以得到數(shù)目更少的新一級哈希,最終形成一棵倒掛的樹,到了樹根的這個位置,就剩下一個根哈希了,也就是Merkle根節(jié)點,它總結(jié)了所有的交易信息。
除了Merkle根節(jié)點,區(qū)塊頭還包括上一區(qū)塊的頭哈希值、時間戳、難度值和隨機數(shù),而頭哈希是區(qū)塊頭五要素的哈希值。一個頭哈希就可以總結(jié)整個區(qū)塊所有交易信息、時間戳、前一區(qū)塊頭哈希、工作量證明等所有信息,任何信息的改變都將直接引起頭哈希的變化。
區(qū)塊的上鏈
區(qū)塊打包完成后,通過共識機制解決了分布式賬本結(jié)構下達成一致并抗攻擊的問題,它解決了去中心化基礎上的節(jié)點間互信問題,是保障區(qū)塊鏈系統(tǒng)持續(xù)安全運行的關鍵?;诜植际骄W(wǎng)絡中各節(jié)點的信任基礎不同,可以分為工作量證明機制、拜占庭容錯機制等,它們在節(jié)點進出進制、抗攻擊性等方面各有優(yōu)勢。以工作量證明機制為例來說明共識機制的原理。達成共識需要一定的標準和規(guī)則,達到標準就可以獲取記賬權,同時這個標準或者規(guī)則是不能低成本實現(xiàn)的,否則記賬的權威性和安全性容易受到挑戰(zhàn)?;跀?shù)學難度的計算工作量證明機制簡單理解就是一份證明,用來確認你做過一定量的工作。因為監(jiān)測工作的整個過程通常是極為低效的,而通過對工作的結(jié)果進行認證來證明完成了相應的工作量,則是一種非常高效的方式。比如現(xiàn)實生活中的畢業(yè)證、駕駛證等等,也是通過檢驗結(jié)果的方式(通過相關的考試)所取得的證明。工作量證明解決了完全去中心化、節(jié)點自由進出的情況下,記賬權的確認問題。
同時,工作量證明也保障了抗攻擊性。多數(shù)人投票的最長鏈投入了最大的工作量,如果大多數(shù)CPU工作量被誠實的節(jié)點控制,誠實的鏈條會增長很快,從而超過其他的鏈。攻擊者為了修改過去的塊,必須重做當前塊以及之后的所有塊,并趕上并超過誠實節(jié)點的工作。當下一區(qū)塊添加時,慢的攻擊者趕超的可能性以指數(shù)級方式減少,從而抵御惡意攻擊。