目錄
1. 區(qū)塊鏈介紹
1.1 區(qū)塊鏈技術起源
1.1.1 區(qū)塊鏈技術
1.1.2 區(qū)塊鏈技術發(fā)展
1.2 區(qū)塊鏈核心技術
1.2.1 定義
1.2.2 區(qū)塊鏈技術原理
1.2.3 區(qū)塊鏈工作過程
1.3 區(qū)塊鏈開發(fā)平臺
1.3.1 公有鏈平臺
1.3.2 聯(lián)盟鏈系統(tǒng)
1.3.3 應用場景
1. 區(qū)塊鏈介紹
1.1 區(qū)塊鏈技術起源
1.1.1 區(qū)塊鏈技術
區(qū)塊鏈技術:也稱為分布式賬本技術,是一種互聯(lián)網(wǎng)數(shù)據(jù)庫技術,其特點是去中心化、公開透明,每個
人均可參與數(shù)據(jù)庫記錄,同時數(shù)據(jù)不可篡改。
通俗理解:把數(shù)據(jù)庫比喻為一個賬本,一次記賬的行為就是一次數(shù)據(jù)庫的讀寫;當產(chǎn)生一個數(shù)據(jù)時,將
由在一段時間內(nèi)最快拿到記賬權的人記賬,然后把這個賬本信息發(fā)給整個系統(tǒng)里的其他人;所有人達成
共識時,本次記賬有效,最終任何人無權修改賬本上的數(shù)據(jù)。
1.1.2 區(qū)塊鏈技術發(fā)展
區(qū)塊鏈在應用上分為公有鏈、聯(lián)盟鏈和私有鏈。
區(qū)塊鏈技術發(fā)展經(jīng)歷了區(qū)塊鏈1.0、區(qū)塊鏈2.0和區(qū)塊鏈3.0三個階段。
區(qū)塊鏈1.0:該階段以比特幣為代表的去中心“虛擬貨幣”,是與轉(zhuǎn)賬、匯款和數(shù)字化支付相關的“密碼
學貨幣”應用,主要以公有鏈方式存在。
區(qū)塊鏈2.0:該階段區(qū)塊鏈技術被廣泛應用于各個金融領域,主要以公有鏈、聯(lián)盟鏈方式存在。在區(qū)塊
鏈1.0的基礎上,將智能合約添加到區(qū)塊鏈系統(tǒng)中,形成可編程金融,大大擴展了區(qū)塊鏈技術的應用范
圍。
區(qū)塊鏈3.0:該階段區(qū)塊鏈技術被應用到除金融以外的各個領域,不再需要在第三方信任認證機構的前
提下,實現(xiàn)信息的交換和共享,實現(xiàn)人與人之間的信任;主要以公有鏈、聯(lián)盟鏈和私有鏈方式存在。
1.2 區(qū)塊鏈核心技術
1.2.1 定義
區(qū)塊鏈就是一種特殊的分布式數(shù)據(jù)庫,使用現(xiàn)有的各種成熟的技術,把各種技術集成在一起,實現(xiàn)多
方共識、去中心化、分布式和不可篡改等技術特點。
區(qū)塊鏈技術是結合各種技術建立出的一種全新的技術架構。保證分布式數(shù)據(jù)庫區(qū)塊鏈中數(shù)據(jù)的一致性,
以達到去中心化和不可篡改的目的。區(qū)塊鏈核心技術有點對點傳輸、加密算法和共識機制等。
1)點對點傳輸:指使用P2P網(wǎng)絡協(xié)議實現(xiàn)端對端的數(shù)據(jù)傳輸;在區(qū)塊鏈中進行的交換(如:轉(zhuǎn)賬和
交易),不需要經(jīng)過第三方擔保機構的確認和授權。
2)加密算法:分為對稱機密算法和非對稱加密算法,在區(qū)塊鏈中主要使用非對稱加密算法。非對稱
加密算法是指為滿足安全性需求和所有權驗證需求而集成到區(qū)塊鏈中的加密技術。非對稱加密在加密
和解密過程中使用兩個非對稱的密鑰,分別為公鑰和私鑰。非對稱密鑰有兩個特點:
① 使用一個密鑰(公鑰或私鑰)加密信息后,只能用另一個對應的密鑰才能解開;
② 公鑰向所有人公開,私鑰保密,任何人無法通過公鑰推算出相應的私鑰。
3)共識機制:是指在一個時間段內(nèi)對事物的前后順序達成一致的算法,它是區(qū)塊鏈的基礎,也是區(qū)塊
鏈的靈魂。在區(qū)塊鏈上,每個節(jié)點都會有一份記錄在鏈上的所有的交易賬本,鏈上每產(chǎn)生一筆新的交
易,每個節(jié)點收到信息的時間都不一樣,為了防止信息被破壞地寫入?yún)^(qū)塊中,需要所有節(jié)點對接收到
的信息進行確認。
共識機制目前有工作量證明機制(POW)、股權證明機制(POS)、授權股權證明機制(DPOS)和
實用拜占庭容錯算法(PBFT)。
POW:是比特幣使用的共識機制,是通過一定的工作量,獲取相應的獎勵,算力越高,那么所獲取
的時間就會越短,并且獲取的“代幣”獎勵就越大。這種計算過程被形象地稱為“挖礦”。
POS:是通過“持幣”而產(chǎn)生利息,并且對驗證人和節(jié)點進行獎勵。獲得的獎勵不是通過算力挖礦而
是通過“持幣”而產(chǎn)生的利息。
DPOS:與POS基本類似,只是DPOS選擇了一些節(jié)點來代表以后的交易驗證和記賬。
PBFT:以計算為基礎,沒有“代幣”獎勵,由鏈上所有節(jié)點參與投票,少于(N-1)/3個節(jié)點反對
時就獲得公式信息的權利。
1.2.2 區(qū)塊鏈技術原理
基本概念:
1)交易:一次操作,導致賬本狀態(tài)的一次改變,如添加一條記錄。
2)區(qū)塊:記錄一段時間內(nèi)發(fā)生的交易和狀態(tài)結果,是對當前賬本狀態(tài)的一次共識。
3)鏈:由一個個區(qū)塊按照發(fā)生順序串聯(lián)而成,是整個狀態(tài)變化的日志記錄。
注意:每一次交易,都需要對賬本狀態(tài)進行一次改變,生成一個區(qū)塊,需要所有人確認,達成全員
共識時,該區(qū)塊才生效。
區(qū)塊鏈通過Hash算法,生成一串字符串,把字符串保存在區(qū)塊的頭部中,一個區(qū)塊通過指向上一個
區(qū)塊Hash值從而加入?yún)^(qū)塊鏈中。(Hash算法是一種單向的加密方式,加密后的密文不可逆推,只有
加密過程,沒有解密過程。區(qū)塊鏈中使用SHA-256算法對區(qū)塊進行加密)。
區(qū)塊是區(qū)塊鏈中的主要數(shù)據(jù)存儲結構,一個區(qū)塊由區(qū)塊頭和區(qū)塊體兩部分組成,區(qū)塊頭保存著區(qū)塊
之間的連接信息,區(qū)塊體保存著業(yè)務數(shù)據(jù)信息。
區(qū)塊結構如下:
?區(qū)塊鏈結構如下:
?????????一個區(qū)塊的區(qū)塊頭中保存著上一個區(qū)塊的Hash值(previous hash字段),所以通過某個區(qū)塊就可以找到整個區(qū)塊鏈的第一個區(qū)塊。
區(qū)塊鏈是如何保證數(shù)據(jù)的可靠性:篡改一個區(qū)塊時,需要修改區(qū)塊鏈中后面的所有區(qū)塊,計算一個
區(qū)塊的Hash值是極其困難的,再加上還需要修改后面的所有區(qū)塊的Hash值,則難上加難,所以篡改
區(qū)塊鏈中的業(yè)務信息就成為幾乎不可能做到的事,這保證了區(qū)塊鏈中數(shù)據(jù)的可靠性。
1.2.3 區(qū)塊鏈工作過程
? ? ? ? 區(qū)塊鏈的工作過程包括交易產(chǎn)生、交易廣播、節(jié)點計算、獲取記賬權、記賬權廣播、驗證區(qū)塊和完成記賬7步,如下圖:
區(qū)塊鏈的工作過程:
1)交易產(chǎn)生:用戶向區(qū)塊鏈發(fā)布一筆交易信息,將產(chǎn)生交易;
2)交易廣播:當產(chǎn)生一筆新交易時,區(qū)塊鏈網(wǎng)絡會將其廣播出去,網(wǎng)絡中的其他節(jié)點都會受到
該交易信息;
3)節(jié)點計算:收到交易信息的節(jié)點會把新交易放到區(qū)塊中,通過共識算法決定誰有記賬權;
4)獲取記賬權:根據(jù)不同的共識算法,其中一個節(jié)點將獲取記賬權,如使用POW計算,最快的
節(jié)點將獲取記賬權;
5)記賬權廣播:獲取記賬權的節(jié)點把信息廣播給網(wǎng)絡中的所有節(jié)點;
6)驗證區(qū)塊:收到廣播信息的節(jié)點對區(qū)塊所包含的交易信息進行驗證,確認有效后,接收該區(qū)
塊,并在區(qū)塊鏈尾部接上新的區(qū)塊。
7)完成記賬:所有節(jié)點全部接收該區(qū)塊后,完成一個新區(qū)塊上鏈,網(wǎng)絡中的節(jié)點等待下一個交
易的產(chǎn)生。
1.3 區(qū)塊鏈開發(fā)平臺
? ? ? ? 區(qū)塊鏈的兩大開發(fā)平臺——公有鏈平臺和聯(lián)盟鏈系統(tǒng)。文章來源:http://www.zghlxwxcb.cn/news/detail-422576.html
1.3.1 公有鏈平臺
最著名的公有鏈平臺是以太坊。
以太坊平臺以公有鏈為主,方便開發(fā)者在其平臺上使用區(qū)塊鏈技術開發(fā)去中心化應用,在應用
中運用Solidity來編寫與區(qū)塊鏈交互的智能合約,運用Truffle框架來部署和運行合約,最后使用
Geth或TestRPO來搭建測試網(wǎng)絡,測試通過后便可部署到以太坊正式環(huán)境中。
EOS可與以太坊比肩,是為商用分布式應用設計的一款區(qū)塊鏈操作系統(tǒng),它引入了一種新的區(qū)塊
鏈架構,實現(xiàn)了分布式應用的性能擴展,每秒交易數(shù)可達到百萬級,比以太坊每秒幾十筆更適合高并
發(fā)場景。
1.3.2 聯(lián)盟鏈系統(tǒng)
區(qū)塊鏈開源系統(tǒng)以Hyperledger Fabric(旨在推動區(qū)塊鏈跨行業(yè)應用的開源項目,在金融、
銀行、供應鏈等領域?qū)嵺`)為主,無須關心區(qū)塊鏈的底層技術,只須專注業(yè)務需求,在其基礎上
搭建出滿足業(yè)務邏輯的區(qū)塊鏈應用。
1.3.3 應用場景
區(qū)塊鏈1.0:比特幣
區(qū)塊鏈2.0:在區(qū)塊鏈1.0架構的基礎上,加上智能合約技術,應用擴展到金融領域,解決了跨境支付
與結算、貿(mào)易金融等行業(yè)痛點,大幅減少了人工核對工作,為金融機構節(jié)省了成本。
區(qū)塊鏈3.0:各種行業(yè)使用區(qū)塊鏈技術解決本行業(yè)的痛點。區(qū)塊鏈去中心化、不可篡改和數(shù)據(jù)本地化存
儲的特性,給傳統(tǒng)的架構方式帶來了變革,會最終改善人類互信的社會關系。
文章來源地址http://www.zghlxwxcb.cn/news/detail-422576.html
到了這里,關于【Hyperledger Fabric】學習筆記1—— 區(qū)塊鏈介紹的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!