資源描述:
《區(qū)塊鏈技術(shù)邏輯和原理》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、區(qū)塊鏈技術(shù)邏輯和原理區(qū)塊鏈技術(shù)邏輯和原理區(qū)塊鏈技術(shù)邏輯和原理 區(qū)塊鏈?zhǔn)欠植际綌?shù)據(jù)存儲(chǔ)、點(diǎn)對(duì)點(diǎn)傳輸、共識(shí)機(jī)制、加密算法等計(jì)算機(jī)技術(shù)的新型應(yīng)用模式。所謂共識(shí)機(jī)制是區(qū)塊鏈系統(tǒng)中實(shí)現(xiàn)不同節(jié)點(diǎn)之間建立信任、獲取權(quán)益的數(shù)學(xué)算法?! ^(qū)塊鏈(Blockchain)是比特幣的一個(gè)重要概念,貨幣聯(lián)合清華大學(xué)五道口金融學(xué)院互聯(lián)網(wǎng)金融實(shí)驗(yàn)室、新浪科技發(fā)布的《2014—2016全球比特幣發(fā)展研究報(bào)告》提到區(qū)塊鏈?zhǔn)潜忍貛诺牡讓蛹夹g(shù)和基礎(chǔ)架構(gòu)。本質(zhì)上是一個(gè)去中心化的數(shù)據(jù)庫,同時(shí)作為比特幣的底層技術(shù)。區(qū)塊鏈?zhǔn)且淮褂妹艽a學(xué)方法相關(guān)聯(lián)產(chǎn)生的數(shù)據(jù)塊,每一個(gè)數(shù)據(jù)塊中包含了一次比特幣網(wǎng)絡(luò)交易
2、的信息,用于驗(yàn)證其信息的有效性(防偽)和生成下一個(gè)區(qū)塊。區(qū)塊鏈技術(shù)邏輯 區(qū)塊鏈可以簡(jiǎn)單的分為三個(gè)層次,協(xié)議層、擴(kuò)展層和應(yīng)用層。其中,協(xié)議層又可以分為存儲(chǔ)層和網(wǎng)絡(luò)層,它們相互獨(dú)立但又不可分割。如圖: 協(xié)議層 所謂的協(xié)議層,就是指代最底層的技術(shù)。這個(gè)層次通常是一個(gè)完整的區(qū)塊鏈產(chǎn)品,類似于我們電腦的操作系統(tǒng),它維護(hù)著網(wǎng)絡(luò)節(jié)點(diǎn),僅提供Api供調(diào)用。通常官方會(huì)提供簡(jiǎn)單的客戶端(通稱為錢包),這個(gè)客戶端錢包功能也很簡(jiǎn)單,只能建立地址、驗(yàn)證簽名、轉(zhuǎn)賬支付、查看余額等。這個(gè)層次是一切的基礎(chǔ),構(gòu)建了網(wǎng)絡(luò)環(huán)境、搭建了交易通道、制定了節(jié)點(diǎn)獎(jiǎng)勵(lì)規(guī)則,至于你要交易什么,想干什么,
3、它一概不過問,也過問不了。典型的例子,自然是比特幣,還有各種二代幣,比如萊特幣等,本書介紹的億書幣也是。這個(gè)層次,是現(xiàn)階段開發(fā)者聚集的地方,這說明加密貨幣仍在起步當(dāng)中。 從用到的技術(shù)來說,協(xié)議層主要包括網(wǎng)絡(luò)編程、分布式算法、加密簽名、數(shù)據(jù)存儲(chǔ)技術(shù)等4個(gè)方面,其中網(wǎng)絡(luò)編程能力是大家選擇編程語言的主要考慮因素,因?yàn)榉植际剿惴ɑ旧蠈儆跇I(yè)務(wù)邏輯上的實(shí)現(xiàn),什么語言都可以做到,加密簽名技術(shù)是直接簡(jiǎn)單的使用(請(qǐng)看書中相關(guān)的加密解密文章,不建議自由發(fā)揮,沒有過多的編碼邏輯),數(shù)據(jù)庫技術(shù)也主要在使用層面,只有點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)的實(shí)現(xiàn)和并發(fā)處理才是開發(fā)的難點(diǎn),所以對(duì)于那些網(wǎng)絡(luò)編程能力
4、強(qiáng),對(duì)并發(fā)處理簡(jiǎn)單的語言,人們就特別偏愛。也因此,Nodejs開發(fā)區(qū)塊鏈應(yīng)用,逐漸變得更加流行,Go語言也在逐漸興起?! ∥野堰@個(gè)層面進(jìn)一步分成了存儲(chǔ)層和網(wǎng)絡(luò)層。數(shù)據(jù)存儲(chǔ)可以相對(duì)獨(dú)立,選擇自由度大一些,可以單獨(dú)來討論。選擇的原則無非是性能和易用性。我們知道,系統(tǒng)的整體性能,主要取決于網(wǎng)絡(luò)或數(shù)據(jù)存儲(chǔ)的I/O性能,網(wǎng)絡(luò)I/O優(yōu)化空間不大,但是本地?cái)?shù)據(jù)存儲(chǔ)的I/O是可以優(yōu)化的。比如,比特幣選擇的是谷歌的LevelDB,據(jù)說這個(gè)數(shù)據(jù)庫讀寫性能很好,但是很多功能需要開發(fā)者自己實(shí)現(xiàn)。目前,困擾業(yè)界的一個(gè)重大問題是,加密貨幣交易處理量遠(yuǎn)不如現(xiàn)在中心化的支付系統(tǒng)(銀行等)
5、,除了I/O,需要全方位的突破?! 》植际剿惴?、加密簽名等都要在實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)的過程中加以使用,所以自然是網(wǎng)絡(luò)層的事情,也是編碼的重點(diǎn)和難點(diǎn),《Nodejs開發(fā)加密貨幣》全書分享的基本上就是這部分的內(nèi)容。當(dāng)然,也有把點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)的實(shí)現(xiàn)單獨(dú)分開的,把節(jié)點(diǎn)查找、數(shù)據(jù)傳輸和驗(yàn)證等邏輯獨(dú)立出來,而把共識(shí)算法、加密簽名、數(shù)據(jù)存儲(chǔ)等操作放在一起組成核心層。無論怎么組合,這兩個(gè)部分都是最核心、最底層的部分,都是協(xié)議層的內(nèi)容。擴(kuò)展層 這個(gè)層面類似于電腦的驅(qū)動(dòng)程序,是為了讓區(qū)塊鏈產(chǎn)品更加實(shí)用。目前有兩類,一是各類交易市場(chǎng),是法幣兌換加密貨幣的重要渠道,實(shí)現(xiàn)簡(jiǎn)單,來錢快,成本低,
6、但風(fēng)險(xiǎn)也大。二是針對(duì)某個(gè)方向的擴(kuò)展實(shí)現(xiàn),比如基于億書側(cè)鏈,可為第三方出版機(jī)構(gòu)、論壇網(wǎng)站等內(nèi)容生產(chǎn)商提供定制服務(wù)等。特別值得一提的就是大家聽得最多的“智能合約”的概念,這是典型的擴(kuò)展層面的應(yīng)用開發(fā)。所謂“智能合約”就是“可編程合約”,或者叫做“合約智能化”,其中的“智能”是執(zhí)行上的智能,也就是說達(dá)到某個(gè)條件,合約自動(dòng)執(zhí)行,比如自動(dòng)轉(zhuǎn)移證券、自動(dòng)付款等,目前還沒有比較成型的產(chǎn)品,但不可否認(rèn),這將是區(qū)塊鏈技術(shù)重要的發(fā)展方向?! U(kuò)展層使用的技術(shù)就沒有什么限制了,可以包括很多,上面提到的分布式存儲(chǔ)、機(jī)器學(xué)習(xí)、VR、物聯(lián)網(wǎng)、大數(shù)據(jù)等等,都可以使用。編程語言的選擇上,
7、可以更加自由,因?yàn)榭梢耘c協(xié)議層完全分離,編程語言也可以與協(xié)議層使用的開發(fā)語言不相同。在開發(fā)上,除了在交易時(shí)與協(xié)議層進(jìn)行交互之外,其他時(shí)候盡量不要與協(xié)議層的開發(fā)混在一起。這個(gè)層面與應(yīng)用層更加接近,也可以理解為B/S架構(gòu)的產(chǎn)品中的服務(wù)端(Server)。這樣不僅在架構(gòu)設(shè)計(jì)上更加科學(xué),讓區(qū)塊鏈數(shù)據(jù)更小,網(wǎng)絡(luò)更獨(dú)立,同時(shí)也可以保證擴(kuò)展層開發(fā)不受約束。 從這個(gè)層面來看,區(qū)塊鏈可以架構(gòu)開發(fā)任何類型的產(chǎn)品,不僅僅是用在金融行業(yè)。在未來,隨著底層協(xié)議的更加完善,任何需要第三方支付的產(chǎn)品都可以方便的使用區(qū)塊鏈技術(shù);任何需要確權(quán)、征信和追溯的信息,都可以借助區(qū)塊鏈來實(shí)現(xiàn)。我個(gè)人
8、覺得,這個(gè)目標(biāo)應(yīng)該很快就能實(shí)現(xiàn)。應(yīng)用層