區(qū)塊鏈?zhǔn)巧叮坷碚搶用妫簠^(qū)塊鏈?zhǔn)侨ブ行幕姆植际劫~本。今天我們以一種大家都能理解的方式來具體講講區(qū)塊鏈,首先,拋出兩個(gè)問題:
A、B是交易雙方,C記錄這筆交易。
例子:現(xiàn)金交易,打借條存證或第三方見證該筆交易。問題:如果發(fā)生交易糾紛,C可作為證據(jù),倘若A、B一方與C串通,或者C丟失,則無法佐證該筆交易。
A、B通過C來交易,C是中心。
例子:用戶使用支付寶之間的交易。問題:如果C中心系統(tǒng)出現(xiàn)問題,丟失數(shù)據(jù),也無法佐證該筆交易。
怎么解決以上兩種問題呢?答案:區(qū)塊鏈將一個(gè)C變成無數(shù)個(gè)C。A、B是交易雙方,系統(tǒng)上所有的節(jié)點(diǎn)C都來記錄。
每發(fā)生一筆交易,系統(tǒng)在每個(gè)節(jié)點(diǎn)C上更新記錄一次這筆交易。如果這筆交易發(fā)生問題,則系統(tǒng)上超過50%的節(jié)點(diǎn)C來驗(yàn)證這筆交易的真實(shí)性。
如何驗(yàn)證呢?比如,A轉(zhuǎn)賬10塊錢給B,這筆轉(zhuǎn)賬會(huì)在區(qū)塊鏈系統(tǒng)上進(jìn)行廣播,接收到廣播信息的節(jié)點(diǎn)C們,就可參與記錄并驗(yàn)證這筆交易。
A和B本身是不公開的,具體內(nèi)容的交易內(nèi)容也不公開,系統(tǒng)僅僅公開發(fā)生了這筆交易及其數(shù)額。而且交易不可篡改,因?yàn)閰^(qū)塊鏈?zhǔn)褂霉K惴ǎ℉asche Algorithm→Hash)。
01哈希算法
哈希算法,是一類哈希函數(shù)的總稱,最直觀的理解是把“任意長度的輸入”變成“固定長度”。哈希函數(shù)H接受任意但有限大小的消息x并輸出固定大小的哈希值h,即h=H(x)。
舉個(gè)例子:
x1=A轉(zhuǎn)賬10塊錢給B h1=a3fc27b01sakhsgdb356cgh1
x2=A轉(zhuǎn)賬了10塊錢給B h2=c6804n57s3p8dh46dfhqpfgm
h1與h2的字符長度是一樣的,每一個(gè)輸入x,對應(yīng)唯一的哈希值h。而且,已知輸入內(nèi)容,求哈希值容易,已知哈希值,求輸入內(nèi)容幾乎不可能。
因此,記錄在區(qū)塊鏈上的信息是無法篡改的,一旦篡改,所有得到的哈希值都會(huì)發(fā)生改變。常用的哈希算法為SHA-256,它的固定輸出長度為64位字符。
哈希算法與區(qū)塊鏈有什么關(guān)系呢?用哈希算法將交易記錄打包成一個(gè)個(gè)數(shù)據(jù)塊(即“區(qū)塊”),然后將數(shù)據(jù)塊一串串的鏈接起來就形成了區(qū)塊鏈。(過于技術(shù)層面的東西我們先不去深究,大概理解是這層意思。)
02非對稱加密技術(shù)
區(qū)塊鏈還使用了非對稱加密技術(shù),交易雙方A、B完全不需要了解對方是誰,更不用尋求第三方機(jī)構(gòu)作為信任背書,就可達(dá)成信任共識(shí),進(jìn)行交易。
那么,什么是非對稱加密技術(shù)呢?
·對稱加密:加密和解密,使用同一個(gè)密鑰。比如我們在社交平臺(tái)注冊賬戶,登錄驗(yàn)證需要一個(gè)密碼。
·非對稱加密:加密和解密,使用不同的密鑰。加密時(shí)的密碼是全網(wǎng)公開可見的公鑰(publickey),解密時(shí)的密碼是擁有者的私鑰(privatekey)。
回到前面的例子:A轉(zhuǎn)賬10塊錢給B(A、B各生成一對密鑰并將公鑰公開)
A在B的公鑰上加密一個(gè)信息“A給B轉(zhuǎn)賬10元錢買XX”,然后發(fā)送給B。B用私鑰解密,接收到這則信息。
B在A的公鑰上加密一個(gè)信息“可以交易10元錢的XX,這樣這樣交易”,然后發(fā)送給A,A用自己的私鑰解密,完成一筆交易。
這種加密屬于交易前的交流,交易后則在區(qū)塊鏈系統(tǒng)上生成廣播:A轉(zhuǎn)賬10塊錢給B,所有節(jié)點(diǎn)C的賬本上都會(huì)記兩筆,A-10,B+10。
以上的描述中,僅僅是區(qū)塊鏈的一部分,僅供大家理解參考。區(qū)塊鏈?zhǔn)嵌喾N技術(shù)整合的結(jié)果,它囊括了密碼學(xué)、數(shù)學(xué)、經(jīng)濟(jì)學(xué)等等....
這些技術(shù)以特定的方式組合在一起,形成了去中心化的記錄與存儲(chǔ)體系,并對存儲(chǔ)數(shù)據(jù)的區(qū)塊打上時(shí)間戳使其形成了一個(gè)連續(xù)的、前后關(guān)聯(lián)的真實(shí)數(shù)據(jù)記錄存儲(chǔ)結(jié)構(gòu)。待續(xù)......