區(qū)塊鏈是什么?
“區(qū)塊鏈”技術(shù)最初是由一位化名中本聰?shù)娜藶?a href="http://www.brongaenegriffin.com/tags/比特幣/" target="_blank">比特幣(一種數(shù)字貨幣)而設(shè)計(jì)出的一種特殊的數(shù)據(jù)庫(kù)技術(shù),它基于密碼學(xué)中的橢圓曲線數(shù)字簽名算法(ECDSA)來(lái)實(shí)現(xiàn)去中心化的P2P系統(tǒng)設(shè)計(jì)。但區(qū)塊鏈的作用不僅僅局限在比特幣上?,F(xiàn)在,人們?cè)谑褂谩皡^(qū)塊鏈”這個(gè)詞時(shí),有的時(shí)候是指數(shù)據(jù)結(jié)構(gòu),有時(shí)是指數(shù)據(jù)庫(kù),有時(shí)則是指數(shù)據(jù)庫(kù)技術(shù),但無(wú)論是哪種含義,都和比特幣沒(méi)有必然的聯(lián)系。
從數(shù)據(jù)的角度來(lái)看:區(qū)塊鏈?zhǔn)且环N分布式數(shù)據(jù)庫(kù)(或稱為分布式共享總賬,DistributedShared Ledger),這里的“分布式”不僅體現(xiàn)為數(shù)據(jù)的分布式存儲(chǔ),也體現(xiàn)為數(shù)據(jù)的分布式記錄(即由系統(tǒng)參與者來(lái)集體維護(hù))。簡(jiǎn)單的說(shuō),區(qū)塊鏈能實(shí)現(xiàn)全球數(shù)據(jù)信息的分布式記錄(可以由系統(tǒng)參與者集體記錄,而非由一個(gè)中心化的機(jī)構(gòu)集中記錄)與分布式存儲(chǔ)(可以存儲(chǔ)在所有參與記錄數(shù)據(jù)的節(jié)點(diǎn)中,而非集中存儲(chǔ)于中心化的機(jī)構(gòu)節(jié)點(diǎn)中)。
從效果的角度來(lái)看:區(qū)塊鏈可以生成一套記錄時(shí)間先后的、不可篡改的、可信任的數(shù)據(jù)庫(kù),這套數(shù)據(jù)庫(kù)是去中心化存儲(chǔ)且數(shù)據(jù)安全能夠得到有效保證的。
結(jié)論:區(qū)塊鏈?zhǔn)且环N把區(qū)塊以鏈的方式組合在一起的數(shù)據(jù)結(jié)構(gòu),它適合存儲(chǔ)簡(jiǎn)單的、有先后關(guān)系的、能在系統(tǒng)內(nèi)驗(yàn)證的數(shù)據(jù),用密碼學(xué)保證了數(shù)據(jù)的不可篡改和不可偽造。它能夠使參與者對(duì)全網(wǎng)交易記錄的事件順序和當(dāng)前狀態(tài)建立共識(shí)。
如今的區(qū)塊鏈技術(shù)概括起來(lái)是指通過(guò)去中心化和去信任的方式集體維護(hù)一個(gè)可靠數(shù)據(jù)庫(kù)的技術(shù)。其實(shí),區(qū)塊鏈技術(shù)并不是一種單一的、全新的技術(shù),而是多種現(xiàn)有技術(shù)(如加密算法、P2P文件傳輸?shù)龋┱系慕Y(jié)果,這些技術(shù)與數(shù)據(jù)庫(kù)巧妙地組合在一起,形成了一種新的數(shù)據(jù)記錄、傳遞、存儲(chǔ)與呈現(xiàn)的方式。簡(jiǎn)單的說(shuō),區(qū)塊鏈技術(shù)就是一種大家共同參與記錄信息、存儲(chǔ)信息的技術(shù)。過(guò)去,人們將數(shù)據(jù)記錄、存儲(chǔ)的工作交給中心化的機(jī)構(gòu)來(lái)完成,而區(qū)塊鏈技術(shù)則讓系統(tǒng)中的每一個(gè)人都可以參與數(shù)據(jù)的記錄、存儲(chǔ)。區(qū)塊鏈技術(shù)在沒(méi)有中央控制點(diǎn)的分布式對(duì)等網(wǎng)絡(luò)下,使用分布式集體運(yùn)作的方法,構(gòu)建了一個(gè)P2P的自組織網(wǎng)絡(luò)。通過(guò)復(fù)雜的校驗(yàn)機(jī)制,區(qū)塊鏈數(shù)據(jù)庫(kù)能夠保持完整性、連續(xù)性和一致性,即使部分參與人作假也無(wú)法改變區(qū)塊鏈的完整性,更無(wú)法篡改區(qū)塊鏈中的數(shù)據(jù)。
區(qū)塊鏈技術(shù)涉及的關(guān)鍵點(diǎn)包括:去中心化(Decentralized)、去信任(Trustless)、集體維護(hù)(Collectively maintain)、可靠數(shù)據(jù)庫(kù)(ReliableDatabase)、時(shí)間戳(Time stamp)、非對(duì)稱加密(AsymmetricCryptography)等。
區(qū)塊鏈技術(shù)重新定義了網(wǎng)絡(luò)中信用的生成方式:在系統(tǒng)中,參與者無(wú)需了解其他人的背景資料,也不需要借助第三方機(jī)構(gòu)的擔(dān)?;虮WC,區(qū)塊鏈技術(shù)保障了系統(tǒng)對(duì)價(jià)值轉(zhuǎn)移的活動(dòng)進(jìn)行記錄、傳輸、存儲(chǔ),其最后的結(jié)果一定是可信的。
區(qū)塊鏈技術(shù)原理的來(lái)源可歸納為一個(gè)數(shù)學(xué)問(wèn)題:拜占庭將軍問(wèn)題。拜占庭將軍問(wèn)題延伸到互聯(lián)網(wǎng)生活中來(lái),其內(nèi)涵可概括為:在互聯(lián)網(wǎng)大背景下,當(dāng)需要與不熟悉的對(duì)手方進(jìn)行價(jià)值交換活動(dòng)時(shí),人們?nèi)绾尾拍芊乐共粫?huì)被其中的惡意破壞者欺騙、迷惑從而做出錯(cuò)誤的決策。進(jìn)一步將拜占庭將軍問(wèn)題延伸到技術(shù)領(lǐng)域中來(lái),其內(nèi)涵可概括為:在缺少可信任的中央節(jié)點(diǎn)和可信任的通道的情況下,分布在網(wǎng)絡(luò)中的各個(gè)節(jié)點(diǎn)應(yīng)如何達(dá)成共識(shí)。區(qū)塊鏈技術(shù)解決了聞名已久的拜占庭將軍問(wèn)題——它提供了一種無(wú)需信任單個(gè)節(jié)點(diǎn)、還能創(chuàng)建***絡(luò)的方法。
區(qū)塊鏈技術(shù)的本質(zhì)是一種互聯(lián)網(wǎng)協(xié)議。
設(shè)想一下,如果現(xiàn)在我們想要在互聯(lián)網(wǎng)世界中建立一套全球通用的數(shù)據(jù)庫(kù),那么我們會(huì)面臨三個(gè)亟待解決的問(wèn)題,這三個(gè)問(wèn)題也是設(shè)計(jì)區(qū)塊鏈技術(shù)的核心所在:
問(wèn)題一:如何建立一個(gè)嚴(yán)謹(jǐn)?shù)臄?shù)據(jù)庫(kù),使得該數(shù)據(jù)庫(kù)能夠存儲(chǔ)下海量的信息,同時(shí)又能在沒(méi)有中心化結(jié)構(gòu)的體系下保證數(shù)據(jù)庫(kù)的完整性?
問(wèn)題二:如何記錄并存儲(chǔ)下這個(gè)嚴(yán)謹(jǐn)?shù)臄?shù)據(jù)庫(kù),使得即便參與數(shù)據(jù)記錄的某些節(jié)點(diǎn)崩潰,我們?nèi)匀荒鼙WC整個(gè)數(shù)據(jù)庫(kù)系統(tǒng)的正常運(yùn)行與信息完備?
問(wèn)題三:如何使這個(gè)嚴(yán)謹(jǐn)且完整存儲(chǔ)下來(lái)的數(shù)據(jù)庫(kù)變得可信賴,使得我們可以在互聯(lián)網(wǎng)無(wú)實(shí)名背景下成功防止詐騙?
針對(duì)這三個(gè)核心問(wèn)題,區(qū)塊鏈構(gòu)建了一整套完整的、連貫的數(shù)據(jù)庫(kù)技術(shù)來(lái)達(dá)成目的,解決這三個(gè)問(wèn)題的技術(shù)也成為了區(qū)塊鏈最核心的三大技術(shù)。此外,為了保證區(qū)塊鏈技術(shù)的可進(jìn)化性與可擴(kuò)展性,區(qū)塊鏈系統(tǒng)設(shè)計(jì)者還引入了“腳本”的概念來(lái)實(shí)現(xiàn)數(shù)據(jù)庫(kù)的可編程性。我們認(rèn)為,這四大技術(shù)構(gòu)成了區(qū)塊鏈的核心技術(shù)。
核心技術(shù)1:區(qū)塊+鏈
關(guān)于如何建立一個(gè)嚴(yán)謹(jǐn)數(shù)據(jù)庫(kù)的問(wèn)題,區(qū)塊鏈的辦法是:將數(shù)據(jù)庫(kù)的結(jié)構(gòu)進(jìn)行創(chuàng)新,把數(shù)據(jù)分成不同的區(qū)塊,每個(gè)區(qū)塊通過(guò)特定的信息鏈接到上一區(qū)塊的后面,前后順連來(lái)呈現(xiàn)一套完整的數(shù)據(jù),這也是“區(qū)塊鏈”這三個(gè)字的來(lái)源。
區(qū)塊(block):在區(qū)塊鏈技術(shù)中,數(shù)據(jù)以電子記錄的形式被永久儲(chǔ)存下來(lái),存放這些電子記錄的文件我們就稱之為“區(qū)塊(block)”。區(qū)塊是按時(shí)間順序一個(gè)一個(gè)先后生成的,每一個(gè)區(qū)塊記錄下它在被創(chuàng)建期間發(fā)生的所有價(jià)值交換活動(dòng),所有區(qū)塊匯總起來(lái)形成一個(gè)記錄合集。
區(qū)塊結(jié)構(gòu)(BlockStructure):區(qū)塊中會(huì)記錄下區(qū)塊生成時(shí)間段內(nèi)的交易數(shù)據(jù),區(qū)塊主體實(shí)際上就是交易信息的合集。每一種區(qū)塊鏈的結(jié)構(gòu)設(shè)計(jì)可能不完全相同,但大結(jié)構(gòu)上分為塊頭(header)和塊身(body)兩部分。塊頭用于鏈接到前面的塊并且為區(qū)塊鏈數(shù)據(jù)庫(kù)提供完整性的保證,塊身則包含了經(jīng)過(guò)驗(yàn)證的、塊創(chuàng)建過(guò)程中發(fā)生的價(jià)值交換的所有記錄。
區(qū)塊結(jié)構(gòu)有兩個(gè)非常重要的特點(diǎn):第一,每一個(gè)區(qū)塊上記錄的交易是上一個(gè)區(qū)塊形成之后、該區(qū)塊被創(chuàng)建前發(fā)生的所有價(jià)值交換活動(dòng),這個(gè)特點(diǎn)保證了數(shù)據(jù)庫(kù)的完整性。第二,在絕大多數(shù)情況下,一旦新區(qū)塊完成后被加入到區(qū)塊鏈的最后,則此區(qū)塊的數(shù)據(jù)記錄就再也不能改變或刪除。這個(gè)特點(diǎn)保證了數(shù)據(jù)庫(kù)的嚴(yán)謹(jǐn)性,即無(wú)法被篡改。
顧名思義,區(qū)塊鏈就是區(qū)塊以鏈的方式組合在一起,以這種方式形成的數(shù)據(jù)庫(kù)我們稱之為區(qū)塊鏈數(shù)據(jù)庫(kù)。區(qū)塊鏈?zhǔn)窍到y(tǒng)內(nèi)所有節(jié)點(diǎn)共享的交易數(shù)據(jù)庫(kù),這些節(jié)點(diǎn)基于價(jià)值交換協(xié)議參與到區(qū)塊鏈的網(wǎng)絡(luò)中來(lái)。
區(qū)塊鏈?zhǔn)侨绾巫龅降哪??由于每一個(gè)區(qū)塊的塊頭都包含了前一個(gè)區(qū)塊的交易信息壓縮值,這就使得從創(chuàng)世塊(第一個(gè)區(qū)塊)到當(dāng)前區(qū)塊連接在一起形成了一條長(zhǎng)鏈。由于如果不知道前一區(qū)塊的“交易縮影”值,就沒(méi)有辦法生成當(dāng)前區(qū)塊,因此每個(gè)區(qū)塊必定按時(shí)間順序跟隨在前一個(gè)區(qū)塊之后。這種所有區(qū)塊包含前一個(gè)區(qū)塊引用的結(jié)構(gòu)讓現(xiàn)存的區(qū)塊集合形成了一條數(shù)據(jù)長(zhǎng)鏈?!皡^(qū)塊+鏈”的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)如下圖所示。
我們引用《區(qū)塊鏈:互聯(lián)網(wǎng)金融的終局》(肖風(fēng))的一段話來(lái)總結(jié)區(qū)塊鏈的基本結(jié)構(gòu):“人們把一段時(shí)間內(nèi)生成的信息(包括數(shù)據(jù)或代碼)打包成一個(gè)區(qū)塊,蓋上時(shí)間 戳,與上一個(gè)區(qū)塊銜接在一起,每下一個(gè)區(qū)塊的頁(yè)首都包含了上一個(gè)區(qū)塊的索引數(shù)據(jù),然后再在本頁(yè)中寫入新的信息,從而形成新的區(qū)塊,首尾相連,最終形成了區(qū)塊鏈?!边@個(gè)結(jié)構(gòu)的神奇之處:區(qū)塊(完整歷史)+ 鏈(完全驗(yàn)證)= 時(shí)間戳
“區(qū)塊+鏈”的結(jié)構(gòu)為我們提供了一個(gè)數(shù)據(jù)庫(kù)的完整歷史。從第一個(gè)區(qū)塊開(kāi)始,到最新產(chǎn)生的區(qū)塊為止,區(qū)塊鏈上存儲(chǔ)了系統(tǒng)全部的歷史數(shù)據(jù)。
區(qū)塊鏈為我們提供了數(shù)據(jù)庫(kù)內(nèi)每一筆數(shù)據(jù)的查找功能。區(qū)塊鏈上的每一條交易數(shù)據(jù),都可以通過(guò)“區(qū)塊鏈”的結(jié)構(gòu)追本溯源,一筆一筆進(jìn)行驗(yàn)證。
區(qū)塊+鏈=時(shí)間戳,這是區(qū)塊鏈數(shù)據(jù)庫(kù)的最大創(chuàng)新點(diǎn)。區(qū)塊鏈數(shù)據(jù)庫(kù)讓全網(wǎng)的記錄者在每一個(gè)區(qū)塊中都蓋上一個(gè)時(shí)間戳來(lái)記賬,表示這個(gè)信息是這個(gè)時(shí)間寫入的,形成了一個(gè)不可篡改、不可偽造的數(shù)據(jù)庫(kù)。我們認(rèn)為,時(shí)間戳是區(qū)塊鏈中一項(xiàng)偉大的技術(shù)創(chuàng)新,它可以證明什么呢?
核心技術(shù)2:分布式結(jié)構(gòu)——開(kāi)源的、去中心化的協(xié)議
我們有了區(qū)塊+鏈的數(shù)據(jù)之后,接下來(lái)就要考慮記錄和存儲(chǔ)的問(wèn)題了。我們應(yīng)該讓誰(shuí)來(lái)參與數(shù)據(jù)的記錄,又應(yīng)該把這些蓋了時(shí)間戳的數(shù)據(jù)存儲(chǔ)在哪里呢?在現(xiàn)如今中心化的體系中,數(shù)據(jù)都是集中記錄并存儲(chǔ)于中央電腦上。但是區(qū)塊鏈結(jié)構(gòu)設(shè)計(jì)精妙的地方就在這里,它并不贊同把數(shù)據(jù)記錄并存儲(chǔ)在中心化的一臺(tái)或幾臺(tái)電腦上,而是讓每一個(gè)參與數(shù)據(jù)交易的節(jié)點(diǎn)都記錄并存儲(chǔ)下所有的數(shù)據(jù)。
1.關(guān)于如何讓所有節(jié)點(diǎn)都能參與記錄的問(wèn)題,區(qū)塊鏈的辦法是:構(gòu)建一整套協(xié)議機(jī)制,讓全網(wǎng)每一個(gè)節(jié)點(diǎn)在參與記錄的同時(shí)也來(lái)驗(yàn)證其他節(jié)點(diǎn)記錄結(jié)果的正確性。只有當(dāng)全網(wǎng)大部分節(jié)點(diǎn)(或甚至所有節(jié)點(diǎn))都同時(shí)認(rèn)為這個(gè)記錄正確時(shí),或者所有參與記錄的節(jié)點(diǎn)都比對(duì)結(jié)果一致通過(guò)后,記錄的真實(shí)性才能得到全網(wǎng)認(rèn)可,記錄數(shù)據(jù)才允許被寫入?yún)^(qū)塊中。
2.關(guān)于如何存儲(chǔ)下“區(qū)塊鏈”這套嚴(yán)謹(jǐn)數(shù)據(jù)庫(kù)的問(wèn)題,區(qū)塊鏈的辦法是:構(gòu)建一個(gè)分布式結(jié)構(gòu)的網(wǎng)絡(luò)系統(tǒng),讓數(shù)據(jù)庫(kù)中的所有數(shù)據(jù)都實(shí)時(shí)更新并存放于所有參與記錄的網(wǎng)絡(luò)節(jié)點(diǎn)中。這樣即使部分節(jié)點(diǎn)損壞或被黑客攻擊,也不會(huì)影響整個(gè)數(shù)據(jù)庫(kù)的數(shù)據(jù)記錄與信息更新。
區(qū)塊鏈根據(jù)系統(tǒng)確定的開(kāi)源的、去中心化的協(xié)議,構(gòu)建了一個(gè)分布式的結(jié)構(gòu)體系,讓價(jià)值交換的信息通過(guò)分布式傳播發(fā)送給全網(wǎng),通過(guò)分布式記賬確定信息數(shù)據(jù)內(nèi)容,蓋上時(shí)間戳后生成區(qū)塊數(shù)據(jù),再通過(guò)分布式傳播發(fā)送給各個(gè)節(jié)點(diǎn),實(shí)現(xiàn)分布式存儲(chǔ)。
分布式記賬——會(huì)計(jì)責(zé)任的分散化(Distributedaccountability)
從硬件的角度講,區(qū)塊鏈的背后是大量的信息記錄儲(chǔ)存器(如電腦等)組成的網(wǎng)絡(luò),這一網(wǎng)絡(luò)如何記錄發(fā)生在網(wǎng)絡(luò)中的所有價(jià)值交換活動(dòng)呢?區(qū)塊鏈設(shè)計(jì)者沒(méi)有為專業(yè)的會(huì)計(jì)記錄者預(yù)留一個(gè)特定的位置,而是希望通過(guò)自愿原則來(lái)建立一套人人都可以參與記錄信息的分布式記賬體系,從而將會(huì)計(jì)責(zé)任分散化,由整個(gè)網(wǎng)絡(luò)的所有參與者來(lái)共同記錄。
區(qū)塊鏈中每一筆新交易的傳播都采用分布式的結(jié)構(gòu),根據(jù)P2P網(wǎng)絡(luò)層協(xié)議,消息由單個(gè)節(jié)點(diǎn)被直接發(fā)送給全網(wǎng)其他所有的節(jié)點(diǎn)。
區(qū)塊鏈技術(shù)讓數(shù)據(jù)庫(kù)中的所有數(shù)據(jù)均存儲(chǔ)于系統(tǒng)所有的電腦節(jié)點(diǎn)中,并實(shí)時(shí)更新。完全去中心化的結(jié)構(gòu)設(shè)置使數(shù)據(jù)能實(shí)時(shí)記錄,并在每一個(gè)參與數(shù)據(jù)存儲(chǔ)的網(wǎng)絡(luò)節(jié)點(diǎn)中更新,這就極大的提高了數(shù)據(jù)庫(kù)的安全性。
通過(guò)分布式記賬、分布式傳播、分布式存儲(chǔ)這三大“分布”我們可以發(fā)現(xiàn),沒(méi)有人、沒(méi)有組織、甚至沒(méi)有哪個(gè)國(guó)家能夠控制這個(gè)系統(tǒng),系統(tǒng)內(nèi)的數(shù)據(jù)存儲(chǔ)、交易驗(yàn)證、信息傳輸過(guò)程全部都是去中心化的。在沒(méi)有中心的情況下,大規(guī)模的參與者達(dá)成共識(shí),共同構(gòu)建了區(qū)塊鏈數(shù)據(jù)庫(kù)??梢哉f(shuō),這是人類歷史上第一次構(gòu)建了一個(gè)真正意義上的去中心化體系。甚至可以說(shuō),區(qū)塊鏈技術(shù)構(gòu)建了一套永生不滅的系統(tǒng)——只要不是網(wǎng)絡(luò)中的所有參與節(jié)點(diǎn)在同一時(shí)間集體崩潰,數(shù)據(jù)庫(kù)系統(tǒng)就可以一直運(yùn)轉(zhuǎn)下去。
我們現(xiàn)在已經(jīng)有了一套嚴(yán)謹(jǐn)?shù)臄?shù)據(jù)庫(kù),也有了記錄并存儲(chǔ)這套數(shù)據(jù)庫(kù)的可用協(xié)議,那么當(dāng)我們將這套數(shù)據(jù)庫(kù)運(yùn)用于實(shí)際社會(huì)時(shí),我們要解決最核心的一個(gè)問(wèn)題(問(wèn)題三)是:如何使這個(gè)嚴(yán)謹(jǐn)且完整存儲(chǔ)下來(lái)的數(shù)據(jù)庫(kù)變得可信賴,使得我們可以在互聯(lián)網(wǎng)無(wú)實(shí)名背景下成功防止詐騙?
核心技術(shù)3:非對(duì)稱加密算法
什么是非對(duì)稱加密?簡(jiǎn)單來(lái)說(shuō),它讓我們?cè)凇凹用堋焙汀敖饷堋钡倪^(guò)程中分別使用兩個(gè)密碼,兩個(gè)密碼具有非對(duì)稱的特點(diǎn):(1)加密時(shí)的密碼(在區(qū)塊鏈中被稱為“公鑰”)是公開(kāi)全網(wǎng)可見(jiàn)的,所有人都可以用自己的公鑰來(lái)加密一段信息(信息的真實(shí)性);(2)解密時(shí)的密碼(在區(qū)塊鏈中被稱為“私鑰”)是只有信息擁有者才知道的,被加密過(guò)的信息只有擁有相應(yīng)私鑰的人才能夠解密(信息的安全性)。
簡(jiǎn)單的總結(jié):區(qū)塊鏈系統(tǒng)內(nèi),所有權(quán)驗(yàn)證機(jī)制的基礎(chǔ)是非對(duì)稱加密算法。常見(jiàn)的非對(duì)稱加密算法包括RSA、Elgamal、D-H、ECC(橢圓曲線加密算法)等。在非對(duì)稱加密算法中,如果一個(gè)“密鑰對(duì)”中的兩個(gè)密鑰滿足以下兩個(gè)條件:1、對(duì)信息用其中一個(gè)密鑰加密后,只有用另一個(gè)密鑰才能解開(kāi);2、其中一個(gè)密鑰公開(kāi)后,根據(jù)公開(kāi)的密鑰別人也無(wú)法算出另一個(gè),那么我們就稱這個(gè)密鑰對(duì)為非對(duì)稱密鑰對(duì),公開(kāi)的密鑰稱為公鑰,不公開(kāi)的密鑰稱為私鑰。在區(qū)塊鏈系統(tǒng)的交易中,非對(duì)稱密鑰的基本使用場(chǎng)景有兩種:1、公鑰對(duì)交易信息加密,私鑰對(duì)交易信息解密。私鑰持有人解密后,可以使用收到的價(jià)值。2、私鑰對(duì)信息簽名,公鑰驗(yàn)證簽名。通過(guò)公鑰簽名驗(yàn)證的信息確認(rèn)為私鑰持有人發(fā)出。
我們可以看出,從信任的角度來(lái)看,區(qū)塊鏈實(shí)際上是數(shù)學(xué)方法解決信任問(wèn)題的產(chǎn)物。過(guò)去,人們解決信任問(wèn)題可能依靠熟人社會(huì)的“老鄉(xiāng)”,政黨社會(huì)的“同志”,傳統(tǒng)互聯(lián)網(wǎng)中的交易平臺(tái)“支付寶”。而區(qū)塊鏈技術(shù)中,所有的規(guī)則事先都以算法程序的形式表述出來(lái),人們完全不需要知道交易的對(duì)手方是“君子”還是“小人”,更不需要求助中心化的第三方機(jī)構(gòu)來(lái)進(jìn)行交易背書,而只需要信任數(shù)學(xué)算法就可以建立互信。區(qū)塊鏈技術(shù)的背后,實(shí)質(zhì)上是算法在為人們創(chuàng)造信用,達(dá)成共識(shí)背書。
核心技術(shù)4:腳本
腳本可以理解為一種可編程的智能合約。如果區(qū)塊鏈技術(shù)只是為了適應(yīng)某種特定的交易,那腳本的嵌入就沒(méi)有必要了,系統(tǒng)可以直接定義完成價(jià)值交換活動(dòng)需要滿足的條件。然而,在一個(gè)去中心化的環(huán)境下,所有的協(xié)議都需要提前取得共識(shí),那腳本的引入就顯得不可或缺了。有了腳本之后,區(qū)塊鏈技術(shù)就會(huì)使系統(tǒng)有機(jī)會(huì)去處理一些無(wú)法預(yù)見(jiàn)到的交易模式,保證了這一技術(shù)在未來(lái)的應(yīng)用中不會(huì)過(guò)時(shí),增加了技術(shù)的實(shí)用性。
一個(gè)腳本本質(zhì)上是眾多指令的列表,這些指令記錄在每一次的價(jià)值交換活動(dòng)中,價(jià)值交換活動(dòng)的接收者(價(jià)值的持有人)如何獲得這些價(jià)值,以及花費(fèi)掉自己曾收到的留存價(jià)值需要滿足哪些附加條件。通常,發(fā)送價(jià)值到目標(biāo)地址的腳本,要求價(jià)值的持有人提供以下兩個(gè)條件,才能使用自己之前收到的價(jià)值:一個(gè)公鑰,以及一個(gè)簽名(證明價(jià)值的持有者擁有與上述公鑰相對(duì)應(yīng)的私鑰)。腳本的神奇之處在于,它具有可編程性:(1)它可以靈活改變花費(fèi)掉留存價(jià)值的條件,例如腳本系統(tǒng)可能會(huì)同時(shí)要求兩個(gè)私鑰、或幾個(gè)私鑰、或無(wú)需任何私鑰等;(2)它可以靈活的在發(fā)送價(jià)值時(shí)附加一些價(jià)值再轉(zhuǎn)移的條件,例如腳本系統(tǒng)可以約定這一筆發(fā)送出去的價(jià) 值以后只能用于支付中信證券的手續(xù)費(fèi)、或支付給政府等。
-
區(qū)塊鏈
+關(guān)注
關(guān)注
112文章
15565瀏覽量
108308
原文標(biāo)題:區(qū)塊鏈技術(shù)原理
文章出處:【微信號(hào):C_Expert,微信公眾號(hào):C語(yǔ)言專家集中營(yíng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
評(píng)論