如何通俗易懂的理解區塊鏈?
區塊鏈是啥?理論層面:區塊鏈是去中心化的分布式賬本。今天我們以一種大家都能理解的方式來具體講講區塊鏈,首先,拋出兩個問題:
A、B是交易雙方,C記錄這筆交易。
例子:現金交易,打借條存證或第三方見證該筆交易。問題:如果發生交易糾紛,C可作為證據,倘若A、B一方與C串通,或者C丟失,則無法佐證該筆交易。
A、B通過C來交易,C是中心。
例子:用戶使用支付寶之間的交易。問題:如果C中心系統出現問題,丟失數據,也無法佐證該筆交易。

怎么解決以上兩種問題呢?答案:區塊鏈將一個C變成無數個C。A、B是交易雙方,系統上所有的節點C都來記錄。
每發生一筆交易,系統在每個節點C上更新記錄一次這筆交易。如果這筆交易發生問題,則系統上超過50%的節點C來驗證這筆交易的真實性。
如何驗證呢?比如,A轉賬10塊錢給B,這筆轉賬會在區塊鏈系統上進行廣播,接收到廣播信息的節點C們,就可參與記錄并驗證這筆交易。
A和B本身是不公開的,具體內容的交易內容也不公開,系統僅僅公開發生了這筆交易及其數額。而且交易不可篡改,因為區塊鏈使用哈希算法(Hasche Algorithm→Hash)。
01 哈希算法
哈希算法,是一類哈希函數的總稱,最直觀的理解是把“任意長度的輸入”變成“固定長度”。哈希函數H接受任意但有限大小的消息x并輸出固定大小的哈希值h,即h=H(x)。
舉個例子:
x1=A轉賬10塊錢給B h1=a3fc27b01sakhsgdb356cgh1
x2=A轉賬了10塊錢給B h2=c6804n57s3p8dh46dfhqpfgm
h1與h2的字符長度是一樣的,每一個輸入x,對應唯一的哈希值h。而且,已知輸入內容,求哈希值容易,已知哈希值,求輸入內容幾乎不可能。
因此,記錄在區塊鏈上的信息是無法篡改的,一旦篡改,所有得到的哈希值都會發生改變。常用的哈希算法為SHA-256,它的固定輸出長度為64位字符。

哈希算法與區塊鏈有什么關系呢?用哈希算法將交易記錄打包成一個個數據塊(即“區塊”),然后將數據塊一串串的鏈接起來就形成了區塊鏈。(過于技術層面的東西我們先不去深究,大概理解是這層意思。)
02 非對稱加密技術
區塊鏈還使用了非對稱加密技術,交易雙方A、B完全不需要了解對方是誰,更不用尋求第三方機構作為信任背書,就可達成信任共識,進行交易。

那么,什么是非對稱加密技術呢?
- 對稱加密:加密和解密,使用同一個密鑰。比如我們在社交平臺注冊賬戶,登錄驗證需要一個密碼。
- 非對稱加密:加密和解密,使用不同的密鑰。加密時的密碼是全網公開可見的公鑰(publickey),解密時的密碼是擁有者的私鑰(privatekey)。
回到前面的例子:A轉賬10塊錢給B(A、B各生成一對密鑰并將公鑰公開)
A在B的公鑰上加密一個信息“A給B轉賬10元錢買XX”,然后發送給B。B用私鑰解密,接收到這則信息。
B在A的公鑰上加密一個信息“可以交易10元錢的XX,這樣這樣交易”,然后發送給A,A用自己的私鑰解密,完成一筆交易。
這種加密屬于交易前的交流,交易后則在區塊鏈系統上生成廣播:A轉賬10塊錢給B,所有節點C的賬本上都會記兩筆,A -10, B+10。
以上的描述中,僅僅是區塊鏈的一部分,僅供大家理解參考。區塊鏈是多種技術整合的結果,它囊括了密碼學、數學、經濟學等等....
這些技術以特定的方式組合在一起,形成了去中心化的記錄與存儲體系,并對存儲數據的區塊打上時間戳使其形成了一個連續的、前后關聯的真實數據記錄存儲結構。待續......





























