白話區(qū)塊鏈

第一章:初區(qū)塊鏈識(shí)

區(qū)塊鏈本質(zhì)就是一種記賬方式。舉例來(lái)說(shuō),張三、趙四、王五、李六等人,相當(dāng)于一個(gè)區(qū)塊鏈的客戶端,他們運(yùn)行在不同設(shè)備上,彼此之間相互獨(dú)立,我們通常稱之為節(jié)點(diǎn)。節(jié)點(diǎn)運(yùn)行之后,他們彼此會(huì)先認(rèn)識(shí)一下。形成可以相互通信的“網(wǎng)絡(luò)路由”。網(wǎng)絡(luò)路由要保證一個(gè)重要的功能就是數(shù)據(jù)同步,實(shí)時(shí)更新數(shù)據(jù)的方法就是不斷詢問(wèn)臨近節(jié)點(diǎn),節(jié)點(diǎn)彼此都充當(dāng)服務(wù)者和被服務(wù)者,通過(guò)這種方式,網(wǎng)絡(luò)中的每一個(gè)節(jié)點(diǎn)都會(huì)在某一時(shí)刻達(dá)成數(shù)據(jù)上的一致。

在這個(gè)網(wǎng)絡(luò)中,每個(gè)節(jié)點(diǎn)都有一個(gè)獨(dú)立賬本,賬本中記錄著網(wǎng)絡(luò)中發(fā)生的財(cái)務(wù)賬單。要記賬時(shí)會(huì)根據(jù)規(guī)則選出一個(gè)記賬節(jié)點(diǎn),這個(gè)節(jié)點(diǎn)的選擇類似于擲骰子,選擇方法稱之為“共識(shí)算法”。選出節(jié)點(diǎn)之后,則一段時(shí)間內(nèi)數(shù)據(jù)記錄會(huì)以這個(gè)節(jié)點(diǎn)的內(nèi)容為準(zhǔn)。這個(gè)節(jié)點(diǎn)記錄好之后會(huì)把數(shù)據(jù)廣播出去,其他節(jié)點(diǎn)通過(guò)網(wǎng)絡(luò)接收數(shù)據(jù),看記錄的內(nèi)容和自己的賬本匹配不匹配,如果匹配就把數(shù)據(jù)存到自己的賬本里。

在系統(tǒng)中,考慮到記賬節(jié)點(diǎn)的勞動(dòng)付出,于是設(shè)立一種獎(jiǎng)勵(lì)機(jī)制。有時(shí)候,大家會(huì)很希望獲得這個(gè)獎(jiǎng)勵(lì),所以希望骰子可以投中自己。有些區(qū)塊鏈系統(tǒng)在這個(gè)環(huán)節(jié)會(huì)設(shè)計(jì)出一種帶有競(jìng)爭(zhēng)的機(jī)制,讓各個(gè)節(jié)點(diǎn)去搶,誰(shuí)能搶到這個(gè)機(jī)會(huì)誰(shuí)就能獲得打包數(shù)據(jù)的權(quán)利并且同時(shí)獲得這筆獎(jiǎng)勵(lì),這種情況下,我們形象的稱這種競(jìng)爭(zhēng)為“挖礦”。

那么,我們?nèi)绾螛?biāo)記節(jié)點(diǎn)的使用者呢?這點(diǎn)他們不是采用用戶名注冊(cè)的方式,而是采用密碼學(xué)的方法。

用公鑰加密的數(shù)據(jù)必須用對(duì)應(yīng)的私鑰來(lái)解密,而私鑰加密(通常稱之為“簽名”)的數(shù)據(jù)必須通過(guò)對(duì)應(yīng)的公鑰來(lái)解密。如張三要想給李四一個(gè)支票信息,為防止第三者拿到之后信息泄露。于是就在支票上用李四的公鑰加了一個(gè)密,然后再簽上自己的名字(用自己的私鑰),這種設(shè)計(jì)機(jī)制在區(qū)塊鏈中稱為“腳本系統(tǒng)

區(qū)塊鏈之所以稱為區(qū)塊鏈?zhǔn)窃谟谒麑a(chǎn)生的數(shù)據(jù)按照一定的時(shí)間間隔,分成一個(gè)個(gè)的數(shù)據(jù)塊記錄,然后再根據(jù)數(shù)據(jù)塊的先后順序串聯(lián)起來(lái),就形成了所謂的區(qū)塊鏈了。按照這個(gè)規(guī)則,沿著時(shí)間線逐漸增加的新的區(qū)塊,就好像時(shí)間記錄儀,記錄下發(fā)生的每一筆操作。

多個(gè)計(jì)算機(jī)在不同設(shè)備上運(yùn)行所組成的網(wǎng)絡(luò),在網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)都是平等的,大家互相為對(duì)方提供服務(wù),這種網(wǎng)絡(luò)稱之為點(diǎn)對(duì)點(diǎn)的“對(duì)等網(wǎng)絡(luò)”。

共識(shí)算法”是什么樣子呢?

在平等的網(wǎng)絡(luò),讓大家各抒己見(jiàn)再投票表決顯然效率太低?,F(xiàn)在的做法是提供一套篩選機(jī)制。設(shè)立一組條件,讓大家都去完成,誰(shuí)能更好的完成指標(biāo),誰(shuí)就有機(jī)會(huì)被選上。在區(qū)塊鏈中比如PoW(Proof of Work 工作量證明)Pos(Proof of Stack 委托權(quán)以證明)等都是這樣的篩選算法。

區(qū)塊鏈實(shí)際上就是一個(gè)維護(hù)公共數(shù)據(jù)的賬本系統(tǒng),一切技術(shù)單元設(shè)計(jì)都是為了更好的維護(hù)這個(gè)公共數(shù)據(jù)賬本。通過(guò)共識(shí)算法達(dá)成節(jié)點(diǎn)的賬本數(shù)據(jù)一致;通過(guò)密碼算法確保賬本的不可篡改性以及數(shù)據(jù)發(fā)送的安全性;通過(guò)腳本系統(tǒng)擴(kuò)展賬本系統(tǒng)的表達(dá)范疇。區(qū)塊鏈甚至可以理解成一個(gè)特別設(shè)計(jì)的數(shù)據(jù)庫(kù)系統(tǒng)或是分布式數(shù)據(jù)庫(kù)系統(tǒng),這個(gè)數(shù)據(jù)庫(kù)可以存儲(chǔ)數(shù)字貨幣,也可以存儲(chǔ)邏輯更復(fù)雜的智能合約,以及范圍更廣泛的各種業(yè)務(wù)數(shù)據(jù)。

挖礦計(jì)算

打包就像記賬,是把發(fā)生的交易事務(wù)信息記錄下來(lái)存檔,但是,無(wú)論什么時(shí)候打包,誰(shuí)來(lái)打包,在網(wǎng)絡(luò)中發(fā)生的交易是持續(xù)不斷的,就像企業(yè)進(jìn)貨記錄,無(wú)論記賬員是一個(gè)月還是半個(gè)月記一次賬,業(yè)務(wù)是持續(xù)進(jìn)行的。在比特幣系統(tǒng)中,每個(gè)人都會(huì)通過(guò)錢包進(jìn)行的轉(zhuǎn)賬交易數(shù)據(jù)存儲(chǔ)到網(wǎng)上,這些都是等待打包的未確認(rèn)數(shù)據(jù)。這些數(shù)據(jù)會(huì)存放在一個(gè)內(nèi)存池中。

挖礦程序從內(nèi)存池中獲取用于打包的區(qū)塊數(shù)據(jù),接下來(lái)進(jìn)行挖礦計(jì)算。挖礦就是重復(fù)計(jì)算區(qū)塊頭的哈希值,不斷修改該參數(shù),直到與難度目標(biāo)值匹配的過(guò)程。

一旦匹配成功,就可以廣播一個(gè)新的區(qū)塊,其他客戶端會(huì)驗(yàn)證你的區(qū)塊是否合法,如果驗(yàn)證通過(guò),就寫入到個(gè)人的區(qū)塊鏈賬本數(shù)據(jù)中。

另外一個(gè)需要注意的是,挖礦算法并不能保證只是一個(gè)礦工能挖到,如果同一時(shí)間內(nèi)多個(gè)礦工都計(jì)算出了符合條件的值,都有了打包權(quán),那么到時(shí)候誰(shuí)能夠獲得真正的打包,只能看運(yùn)氣了。

可編程合約

在比特幣系統(tǒng)中,并不是像銀行賬戶一樣,將金額存儲(chǔ)在某個(gè)賬戶下就表示一筆資產(chǎn)是某個(gè)賬戶擁有的,而是使用一種腳本程序,通過(guò)腳本程序解鎖腳本鎖定腳本一筆資產(chǎn),簡(jiǎn)單的說(shuō),就是讓資產(chǎn)具備更強(qiáng)的編程可控能力,擁有秘鑰的用戶可以提交自己的簽名信息讓腳本來(lái)驗(yàn)證身份,以證明自己對(duì)資產(chǎn)的所有權(quán),并且可以通過(guò)程序設(shè)定對(duì)資產(chǎn)的管理方式,比如設(shè)定一筆資產(chǎn)需要多個(gè)共同簽名才能被轉(zhuǎn)移或者需要達(dá)到某個(gè)條件時(shí)才能被使用等。這種可配置、可控制的思想就是可編程合約的思想。

以太坊擴(kuò)展了這種思想,使得可編程合約進(jìn)一步發(fā)揚(yáng)光大,不但支持加密數(shù)字貨幣,還支持更復(fù)雜的金融與商業(yè)合約編程,比如眾籌、擔(dān)保等。這種合約使用腳本語(yǔ)言進(jìn)行開(kāi)發(fā),部署到區(qū)塊鏈中就不可篡改,也就是所謂的代碼即法律。區(qū)塊鏈系統(tǒng)具有數(shù)據(jù)不可篡改性、價(jià)值傳遞能力,加上可編程合約,就能完全支持商業(yè)環(huán)境下各種合約需求,無(wú)論合約中有哪些條條框框,寫在紙上不如寫在代碼中,部署在區(qū)塊鏈中,公眾透明且剛性執(zhí)行。


第二章:區(qū)塊鏈應(yīng)用發(fā)展

2.7 區(qū)塊鏈基礎(chǔ)設(shè)施:可編程社會(huì)

區(qū)塊鏈應(yīng)用有一個(gè)非常獨(dú)特的特性就是其價(jià)值網(wǎng)絡(luò)(共識(shí))協(xié)議,如何在網(wǎng)絡(luò)節(jié)點(diǎn)之間形成(價(jià)值)共識(shí)是區(qū)塊鏈最核心的邏輯,這個(gè)邏輯往往都是一個(gè)可編程的協(xié)議層提供的。未來(lái)的可編程社會(huì),我們可以預(yù)見(jiàn):信息的流轉(zhuǎn)是綁定資產(chǎn)流轉(zhuǎn)的,資產(chǎn)流轉(zhuǎn)往往是通過(guò)可編程的自動(dòng)化完成的。


后記:區(qū)塊鏈與可編程社會(huì)

還可以記錄醫(yī)療健康信息,再也不用擔(dān)心找不到本子了,而且醫(yī)療機(jī)構(gòu)之間可以共享病例信息,提高對(duì)病人的診斷能力,凡此等等,社會(huì)的方方面面都會(huì)被覆蓋到。

隨著人們對(duì)區(qū)塊鏈技術(shù)的認(rèn)識(shí)加深,大家終將意識(shí)到,與其說(shuō)這是一類技術(shù),不如說(shuō)這是一類思想。它代表了一種價(jià)值觀,公正透明、信任協(xié)作的價(jià)值觀,我們將沿著歷史發(fā)展的路線,從最初的黃金屋(加密數(shù)字貨幣)走到智能合約,再走向更有前景的可編程社會(huì)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容