區(qū)塊鏈基礎(chǔ)知識(shí)

區(qū)塊鏈?zhǔn)且粋€(gè)去中心化的賬本,它以一連串的加密區(qū)塊記錄交易和屎,這些區(qū)塊是不可改變的,并分布在一個(gè)連接的計(jì)算機(jī)網(wǎng)絡(luò)中春瞬。

在區(qū)塊鏈網(wǎng)絡(luò)中柴信,各個(gè)計(jì)算機(jī)--即節(jié)點(diǎn)--相互溝通,形成一個(gè)去中心化的點(diǎn)對點(diǎn)(P2P)網(wǎng)絡(luò)宽气。沒有控制網(wǎng)絡(luò)的中央機(jī)構(gòu)随常,每個(gè)節(jié)點(diǎn)都存儲(chǔ)了一份構(gòu)成典范鏈的區(qū)塊的副本。

在大多數(shù)情況下萄涯,用戶通過發(fā)起交易請求與區(qū)塊鏈互動(dòng)线罕。交易被八卦到網(wǎng)絡(luò)上的其他節(jié)點(diǎn),并由區(qū)塊作者組裝成一個(gè)區(qū)塊窃判。為了確保鏈上數(shù)據(jù)的安全和鏈的持續(xù)進(jìn)展钞楼,節(jié)點(diǎn)使用某種形式的共識(shí)來商定每個(gè)區(qū)塊中的數(shù)據(jù)狀態(tài)和交易處理的順序。

什么是區(qū)塊鏈節(jié)點(diǎn)袄琳?

在高層次上询件,所有區(qū)塊鏈節(jié)點(diǎn)都需要以下核心組件。

  • 數(shù)據(jù)存儲(chǔ)唆樊,用于記錄作為交易結(jié)果的狀態(tài)變化宛琅。

  • 點(diǎn)對點(diǎn)網(wǎng)絡(luò),用于節(jié)點(diǎn)之間的分散通信逗旁。

  • 共識(shí)方法嘿辟,以防止惡意活動(dòng),確保鏈的持續(xù)進(jìn)展片效。

  • 用于排序和處理傳入交易的邏輯红伦。

  • 用于簽署和驗(yàn)證與交易相關(guān)的簽名的密碼學(xué)。

  • 用于編寫和最終確定區(qū)塊的執(zhí)行環(huán)境淀衣。

由于構(gòu)建區(qū)塊鏈所需的核心組件的復(fù)雜性昙读,大多數(shù)區(qū)塊鏈從現(xiàn)有區(qū)塊鏈資源庫的完整副本開始--分叉--以便開發(fā)人員可以修改現(xiàn)有代碼以添加新功能,而不是從頭開始編寫一切膨桥。例如蛮浑,比特幣存儲(chǔ)庫被分叉以創(chuàng)建Litecoin、ZCash只嚣、Namecoin和Bitcoin Cash沮稚。同樣,以太坊存儲(chǔ)庫也被分叉以創(chuàng)建Quorum册舞、POA Network蕴掏、KodakCoin和Musicoin。

然而,大多數(shù)區(qū)塊鏈平臺(tái)的設(shè)計(jì)都不允許修改或定制囚似。因此剩拢,通過分叉構(gòu)建一個(gè)新的區(qū)塊鏈有嚴(yán)重的局限性,包括原區(qū)塊鏈代碼中固有的可擴(kuò)展性等限制饶唤。在探索Substrate如何減輕與其他區(qū)塊鏈項(xiàng)目相關(guān)的許多限制之前徐伐,了解所有區(qū)塊鏈共享的一些共同屬性是很重要的。通過了解大多數(shù)區(qū)塊鏈的運(yùn)作方式募狂,將會(huì)更好地了解Substrate如何為構(gòu)建最適合需求的區(qū)塊鏈提供替代方案和能力办素。

狀態(tài)轉(zhuǎn)換和沖突

區(qū)塊鏈本質(zhì)上是一個(gè)狀態(tài)機(jī)。在任何時(shí)間點(diǎn)上祸穷,區(qū)塊鏈都有一個(gè)當(dāng)前的內(nèi)部狀態(tài)性穿。隨著入站交易的執(zhí)行,它們會(huì)導(dǎo)致狀態(tài)的改變雷滚,所以區(qū)塊鏈必須從其當(dāng)前狀態(tài)過渡到新的狀態(tài)需曾。然而,可能有多個(gè)有效的過渡會(huì)導(dǎo)致不同的未來狀態(tài)祈远,區(qū)塊鏈必須選擇一個(gè)可以被同意的單一狀態(tài)過渡呆万。為了就過渡后的狀態(tài)達(dá)成一致,區(qū)塊鏈內(nèi)的所有操作必須是確定的车份。為了使鏈的進(jìn)展成功谋减,大多數(shù)節(jié)點(diǎn)必須就所有的狀態(tài)轉(zhuǎn)換達(dá)成一致,包括扫沼。

  • 鏈的初始狀態(tài)出爹,稱為創(chuàng)世狀態(tài)或創(chuàng)世塊。
  • 由執(zhí)行的交易產(chǎn)生的一系列狀態(tài)轉(zhuǎn)換缎除,記錄在每個(gè)區(qū)塊中严就。
  • 將被納入鏈中的區(qū)塊的最終狀態(tài)。

在集中式網(wǎng)絡(luò)中伴找,中央機(jī)構(gòu)可以在相互排斥的狀態(tài)轉(zhuǎn)換中進(jìn)行選擇盈蛮,方法是按照它看到的順序記錄狀態(tài)轉(zhuǎn)換的變化,并在出現(xiàn)沖突時(shí)選擇相互競爭的選項(xiàng)中的第一個(gè)技矮。在一個(gè)去中心化的網(wǎng)絡(luò)中,節(jié)點(diǎn)看到的交易順序不同殊轴,所以它們必須使用更復(fù)雜的方法來選擇交易衰倦,并在沖突的狀態(tài)轉(zhuǎn)換之間做出選擇。

區(qū)塊鏈用來將交易批量化為區(qū)塊并選擇哪個(gè)節(jié)點(diǎn)可以向鏈上提交區(qū)塊的方法旁理,被稱為區(qū)塊鏈的共識(shí)模型或共識(shí)算法樊零。最常用的共識(shí)模型被稱為工作證明共識(shí)模型(POW)。在工作證明共識(shí)模式下,首先完成一個(gè)計(jì)算問題的節(jié)點(diǎn)有權(quán)向鏈上提交一個(gè)區(qū)塊驻襟。

為了使區(qū)塊鏈具有容錯(cuò)性夺艰,并提供一致的狀態(tài)視圖,即使一些節(jié)點(diǎn)被惡意行為者破壞或網(wǎng)絡(luò)中斷沉衣,大多數(shù)共識(shí)模型要求至少三分之二的節(jié)點(diǎn)在任何時(shí)候都同意狀態(tài)郁副。這個(gè)三分之二的多數(shù)確保了網(wǎng)絡(luò)的容錯(cuò)性,并能承受一些網(wǎng)絡(luò)參與者的不良行為豌习,無論該行為是故意的還是意外的存谎。

區(qū)塊鏈經(jīng)濟(jì)

所有區(qū)塊鏈都需要資源(處理器、內(nèi)存肥隆、存儲(chǔ)和網(wǎng)絡(luò)帶寬)來執(zhí)行操作既荚。參與網(wǎng)絡(luò)的計(jì)算機(jī)(生成塊的節(jié)點(diǎn))將這些資源提供給區(qū)塊鏈用戶。這些節(jié)點(diǎn)創(chuàng)建一個(gè)分布式的栋艳,分散的網(wǎng)絡(luò)恰聘,以滿足參與者社區(qū)的需求。

為了支持社區(qū)并使區(qū)塊鏈可持續(xù)吸占,大多數(shù)區(qū)塊鏈要求用戶以交易費(fèi)用的形式為他們使用的網(wǎng)絡(luò)資源付費(fèi)晴叨。支付交易費(fèi)用要求用戶身份與持有某種類型資產(chǎn)的賬戶相關(guān)聯(lián)。區(qū)塊鏈通常使用代幣來表示賬戶中資產(chǎn)的價(jià)值旬昭,網(wǎng)絡(luò)參與者通過交易所在鏈外購買代幣篙螟。然后,網(wǎng)絡(luò)參與者可以存入代幣以創(chuàng)建資金的抵押问拘,使他們能夠支付交易費(fèi)用遍略。

區(qū)塊鏈治理

大多數(shù)區(qū)塊鏈還使網(wǎng)絡(luò)參與者能夠提交影響網(wǎng)絡(luò)運(yùn)營或區(qū)塊鏈社區(qū)的提案并進(jìn)行投票。通過提交提案并投票 - 公投 - 區(qū)塊鏈社區(qū)可以確定區(qū)塊鏈如何在一個(gè)本質(zhì)上民主的過程中發(fā)展骤坐。然而绪杏,為了參與治理,大多數(shù)區(qū)塊鏈要求用戶在賬戶中維護(hù)大量的代幣纽绍。

在區(qū)塊鏈上運(yùn)行的應(yīng)用程序

在區(qū)塊鏈上運(yùn)行的應(yīng)用程序--通常被稱為去中心化的應(yīng)用程序或dApps--通常被寫成智能合約蕾久。

智能合約是一個(gè)在區(qū)塊鏈上運(yùn)行的程序,在特定條件下代表用戶執(zhí)行交易拌夏。開發(fā)者可以編寫智能合約僧著,以確保以程序執(zhí)行的交易結(jié)果被記錄下來,并且永遠(yuǎn)不能被改變障簿。然而盹愚,僅憑智能合約,開發(fā)者無法使用一些底層區(qū)塊鏈功能--如共識(shí)站故、存儲(chǔ)或交易層--而是要遵守一條鏈的固定規(guī)則和限制皆怕。智能合約的開發(fā)者通常接受這些限制,作為一種權(quán)衡,以較少的核心設(shè)計(jì)決策來實(shí)現(xiàn)更快的開發(fā)時(shí)間愈腾。

所有區(qū)塊鏈都有一些共同的特點(diǎn)憋活。Substrate(雖然不是區(qū)塊鏈本身)是一個(gè)區(qū)塊鏈開發(fā)者的工具包,有一個(gè)模塊化的組件框架來創(chuàng)建一個(gè)自定義的區(qū)塊鏈虱黄。通過Substrate悦即,可以采用常見的區(qū)塊鏈組件,如存儲(chǔ)礁鲁、共識(shí)和密碼學(xué)盐欺,并將它們組合起來,按原樣使用它們提供的功能仅醇,或修改它們以適應(yīng)你項(xiàng)目的目的冗美。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市析二,隨后出現(xiàn)的幾起案子粉洼,更是在濱河造成了極大的恐慌,老刑警劉巖叶摄,帶你破解...
    沈念sama閱讀 222,104評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件属韧,死亡現(xiàn)場離奇詭異,居然都是意外死亡蛤吓,警方通過查閱死者的電腦和手機(jī)宵喂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來会傲,“玉大人锅棕,你說我怎么就攤上這事√噬剑” “怎么了裸燎?”我有些...
    開封第一講書人閱讀 168,697評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長泼疑。 經(jīng)常有香客問我德绿,道長,這世上最難降的妖魔是什么退渗? 我笑而不...
    開封第一講書人閱讀 59,836評論 1 298
  • 正文 為了忘掉前任移稳,我火速辦了婚禮,結(jié)果婚禮上会油,老公的妹妹穿的比我還像新娘秒裕。我一直安慰自己,他們只是感情好钞啸,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般体斩。 火紅的嫁衣襯著肌膚如雪梭稚。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,441評論 1 310
  • 那天絮吵,我揣著相機(jī)與錄音弧烤,去河邊找鬼。 笑死蹬敲,一個(gè)胖子當(dāng)著我的面吹牛暇昂,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播伴嗡,決...
    沈念sama閱讀 40,992評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼急波,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了瘪校?” 一聲冷哼從身側(cè)響起澄暮,我...
    開封第一講書人閱讀 39,899評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎阱扬,沒想到半個(gè)月后泣懊,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,457評論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡麻惶,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評論 3 341
  • 正文 我和宋清朗相戀三年馍刮,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片窃蹋。...
    茶點(diǎn)故事閱讀 40,664評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡卡啰,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出脐彩,到底是詐尸還是另有隱情碎乃,我是刑警寧澤,帶...
    沈念sama閱讀 36,346評論 5 350
  • 正文 年R本政府宣布惠奸,位于F島的核電站梅誓,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏佛南。R本人自食惡果不足惜梗掰,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望嗅回。 院中可真熱鬧及穗,春花似錦、人聲如沸绵载。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至焚虱,卻和暖如春购裙,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背鹃栽。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評論 1 272
  • 我被黑心中介騙來泰國打工躏率, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人民鼓。 一個(gè)月前我還...
    沈念sama閱讀 49,081評論 3 377
  • 正文 我出身青樓薇芝,卻偏偏與公主長得像,于是被迫代替她去往敵國和親丰嘉。 傳聞我的和親對象是個(gè)殘疾皇子夯到,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評論 2 359

推薦閱讀更多精彩內(nèi)容