圖6基於區塊鏈的供應商系統流程圖
㈠ 常見的共識演算法介紹
在非同步系統中,需要主機之間進行狀態復制,以保證每個主機達成一致的狀態共識。而在非同步系統中,主機之間可能出現故障,因此需要在默認不可靠的非同步網路中定義容錯協議,以確保各個主機達到安全可靠的狀態共識。
共識演算法其實就是一組規則,設置一組條件,篩選出具有代表性的節點。在區塊鏈系統中,存在很多這樣的篩選方案,如在公有鏈中的POW、Pos、DPOS等,而在不需要貨幣體系的許可鏈或私有鏈中,絕對信任的節點、高效的需求是公有鏈共識演算法不能提供的,對於這樣的區塊鏈,傳統的一致性共識演算法成為首選,如PBFT、PAXOS、RAFT等。
目錄
一、BFT(拜占庭容錯技術)
二、PBFT(實用拜占庭容錯演算法)
三、PAXOS
四、Raft
五、POW(工作量證明)
六、POS(權益證明)
七、DPOS(委任權益證明)
八、Ripple
拜占庭弄錯技術是一類分布式計算領域的容錯技術。拜占庭假設是由於硬體錯誤、網路擁塞或中斷以及遭到惡意攻擊的原因,計算機和網路出現不可預測的行為。拜占庭容錯用來處理這種異常行為,並滿足所要解決問題的規范。
拜占庭容錯系統是一個擁有n台節點的系統,整個系統對於每一個請求,滿足以下條件:
1)所有非拜占庭節點使用相同的輸入信息,產生同樣的結果;
2)如果輸入的信息正確,那麼所有非拜占庭節點必須接收這個信息,並計算相應的結果。
拜占庭系統普遍採用的假設條件包括:
1)拜占庭節點的行為可以是任意的,拜占庭節點之間可以共謀;
2)節點之間的錯誤是不相關的;
3)節點之間通過非同步網路連接,網路中的消息可能丟失、亂序並延時到達,但大部分協議假設消息在有限的時間里能傳達到目的地;
4)伺服器之間傳遞的信息,第三方可以嗅探到,但是不能篡改、偽造信息的內容和驗證信息的完整性。
拜占庭容錯由於其理論上的可行性而缺乏實用性,另外還需要額外的時鍾同步機制支持,演算法的復雜度也是隨節點的增加而指數級增加。
實用拜占庭容錯降低了拜占庭協議的運行復雜度,從指數級別降低到多項式級別。
PBFT是一種狀態機副本復制演算法,即服務作為狀態機進行建模,狀態機在分布式系統的不同節點進行副本復制。PBFT要求共同維護一個狀態。需要運行三類基本協議,包括一致性協議、檢查點協議和視圖更換協議。
一致性協議。一致性協議至少包含若干個階段:請求(request)、序號分配(pre-prepare)和響應(reply),可能包含相互交互(prepare),序號確認(commit)等階段。
PBFT通信模式中,每個客戶端的請求需要經過5個階段。由於客戶端不能從伺服器端獲得任何伺服器運行狀態的信息,PBFT中主節點是否發生錯誤只能由伺服器監測。如果伺服器在一段時間內都不能完成客戶端的請求,則會觸發視圖更換協議。
整個協議的基本過程如下:
1)客戶端發送請求,激活主節點的服務操作。
2)當主節點接收請求後,啟動三階段的協議以向各從節點廣播請求。
[2.1]序號分配階段,主節點給請求賦值一個序列號n,廣播序號分配消息和客戶端的請求消息m,並將構造PRE-PREPARE消息給各從節點;
[2.2]交互階段,從節點接收PRE-PREPARE消息,向其他服務節點廣播PREPARE消息;
[2.3]序號確認階段,各節點對視圖內的請求和次序進行驗證後,廣播COMMIT消息,執行收到的客戶端的請求並給客戶端以響應。
3)客戶端等待來自不同節點的響應,若有m+1個響應相同,則該響應即為運算的結果。
PBFT一般適合有對強一致性有要求的私有鏈和聯盟鏈,例如,在IBM主導的區塊鏈超級賬本項目中,PBFT是一個可選的共識協議。在Hyperledger的Fabric項目中,共識模塊被設計成可插拔的模塊,支持像PBFT、Raft等共識演算法。
在有些分布式場景下,其假設條件不需要考慮拜占庭故障,而只是處理一般的死機故障。在這種情況下,採用Paxos等協議會更加高效。。PAXOS是一種基於消息傳遞且具有高度容錯特性的一致性演算法。
PAXOS中有三類角色Proposer、Acceptor及Learner,主要交互過程在Proposer和Acceptor之間。演算法流程分為兩個階段:
phase 1
a) proposer向網路內超過半數的acceptor發送prepare消息
b) acceptor正常情況下回復promise消息
phase 2
a) 在有足夠多acceptor回復promise消息時,proposer發送accept消息
b) 正常情況下acceptor回復accepted消息
流程圖如圖所示:
PAXOS協議用於微信PaxosStore中,每分鍾調用Paxos協議過程數十億次量級。
Paxos是Lamport設計的保持分布式系統一致性的協議。但由於Paxos非常復雜,比較難以理解,因此後來出現了各種不同的實現和變種。Raft是由Stanford提出的一種更易理解的一致性演算法,意在取代目前廣為使用的Paxos演算法。
Raft最初是一個用於管理復制日誌的共識演算法,它是在非拜占庭故障下達成共識的強一致協議。Raft實現共識過程如下:首先選舉一個leader,leader從客戶端接收記賬請求、完成記賬操作、生成區塊,並復制到其他記賬節點。leader有完全的管理記賬權利,例如,leader能夠決定是否接受新的交易記錄項而無需考慮其他的記賬節點,leader可能失效或與其他節點失去聯系,這時,重新選出新的leader。
在Raft中,每個節點會處於以下三種狀態中的一種:
(1)follower:所有結點都以follower的狀態開始。如果沒收到leader消息則會變成candidate狀態;
(2)candidate:會向其他結點「拉選票」,如果得到大部分的票則成為leader。這個過程就叫做Leader選舉(Leader Election);
(3)leader:所有對系統的修改都會先經過leader。每個修改都會寫一條日誌(log entry)。leader收到修改請求後的過程如下:此過程叫做日誌復制(Log Replication)
1)復制日誌到所有follower結點
2)大部分結點響應時才提交日誌
3)通知所有follower結點日誌已提交
4)所有follower也提交日誌
5)現在整個系統處於一致的狀態
Raft階段主要分為兩個,首先是leader選舉過程,然後在選舉出來的leader基礎上進行正常操作,比如日誌復制、記賬等。
(1)leader選舉
當follower在選舉時間內未收到leader的消息,則轉換為candidate狀態。在Raft系統中:
1)任何一個伺服器都可以成為候選者candidate,只要它向其他伺服器follower發出選舉自己的請求。
2)如果其他伺服器同意了,發出OK。如果在這個過程中,有一個follower宕機,沒有收到請求選舉的要求,此時候選者可以自己選自己,只要達到N/2+1的大多數票,候選人還是可以成為leader的。
3)這樣這個候選者就成為了leader領導人,它可以向選民也就是follower發出指令,比如進行記賬。
4)以後通過心跳消息進行記賬的通知。
5)一旦這個leader崩潰了,那麼follower中有一個成為候選者,並發出邀票選舉。
6)follower同意後,其成為leader,繼續承擔記賬等指導工作。
(2)日誌復制
記賬步驟如下所示:
1)假設leader已經選出,這時客戶端發出增加一個日誌的要求;
2)leader要求follower遵從他的指令,將這個新的日誌內容追加到各自日誌中;
3)大多數follower伺服器將交易記錄寫入賬本後,確認追加成功,發出確認成功信息;
4)在下一個心跳消息中,leader會通知所有follower更新確認的項目。
對於每個新的交易記錄,重復上述過程。
在這一過程中,若發生網路通信故障,使得leader不能訪問大多數follower了,那麼leader只能正常更新它能訪問的那些follower伺服器。而大多數的伺服器follower因為沒有了leader,他們將重新選舉一個候選者作為leader,然後這個leader作為代表與外界打交道,如果外界要求其添加新的交易記錄,這個新的leader就按上述步驟通知大多數follower。當網路通信恢復,原先的leader就變成follower,在失聯階段,這個老leader的任何更新都不能算確認,必須全部回滾,接收新的leader的新的更新。
在去中心賬本系統中,每個加入這個系統的節點都要保存一份完整的賬本,但每個節點卻不能同時記賬,因為節點處於不同的環境,接收不同的信息,如果同時記賬,必然導致賬本的不一致。因此通過同時來決定那個節點擁有記賬權。
在比特幣系統中,大約每10分鍾進行一輪算力競賽,競賽的勝利者,就獲得一次記賬的權力,並向其他節點同步新增賬本信息。
PoW系統的主要特徵是計算的不對稱性。工作端要做一定難度的工作才能得出一個結果,而驗證方卻很容易通過結果來檢查工作端是不是做了相應的工作。該工作量的要求是,在某個字元串後面連接一個稱為nonce的整數值串,對連接後的字元串進行SHA256哈希運算,如果得到的哈希結果(以十六進制的形式表示)是以若干個0開頭的,則驗證通過。
比特幣網路中任何一個節點,如果想生成一個新的區塊並寫入區塊鏈,必須解出比特幣網路出的PoW問題。關鍵的3個要素是 工作量證明函數、區塊及難度值 。工作量證明函數是這道題的計算方法,區塊決定了這道題的輸入數據,難度值決定了這道題所需要的計算量。
(1)工作量證明函數就是<u style="box-sizing: border-box;"> SHA256 </u>
比特幣的區塊由區塊頭及該區塊所包含的交易列表組成。擁有80位元組固定長度的區塊頭,就是用於比特幣工作量證明的輸入字元串。
(2)難度的調整是在每個完整節點中獨立自動發生的。每2016個區塊,所有節點都會按統一的公式自動調整難度。如果區塊產生的速率比10分鍾快則增加難度,比10分鍾慢則降低難度。
公式可以總結為:新難度值=舊難度值×(過去2016個區塊花費時長/20160分鍾)
工作量證明需要有一個目標值。比特幣工作量證明的目標值(Target)的計算公式:目標值=最大目標值/難度值
其中最大目標值為一個恆定值:
目標值的大小與難度值成反比。比特幣工作量證明的達成就是礦工計算出來的 區塊哈希值必須小於目標值 。
(3)PoW能否解決拜占庭將軍問題
比特幣的PoW共識演算法是一種概率性的拜占庭協議(Probabilistic BA)
當不誠實的算力小於網路總算力的50%時,同時挖礦難度比較高(在大約10分鍾出一個區塊情況下)比特幣網路達到一致性的概念會隨確認區塊的數目增多而呈指數型增加。但當不誠實算力具一定規模,甚至不用接近50%的時候,比特幣的共識演算法並不能保證正確性,也就是,不能保證大多數的區塊由誠實節點來提供。
比特幣的共識演算法不適合於私有鏈和聯盟鏈。其原因首先是它是一個最終一致性共識演算法,不是一個強一致性共識演算法。第二個原因是其共識效率低。
擴展知識: 一致性
嚴格一致性,是在系統不發生任何故障,而且所有節點之間的通信無需任何時間這種理想的條件下,才能達到。這個時候整個系統就等價於一台機器了。在現實中,是不可能達到的。
強一致性,當分布式系統中更新操作完成之後,任何多個進程或線程,訪問系統都會獲得最新的值。
弱一致性,是指系統並不保證後續進程或線程的訪問都會返回最新的更新的值。系統在數據成功寫入之後,不承諾立即可以讀到最新寫入的值,也不會具體承諾多久讀到。但是會盡可能保證在某個時間級別(秒級)之後。可以讓數據達到一致性狀態。
最終一致性是弱一致性的特定形式。系統保證在沒有後續更新的前提下,系統最終返回上一次更新操作的值。也就是說,如果經過一段時間後要求能訪問到更新後的數據,則是最終一致性。
在股權證明PoS模式下,有一個名詞叫幣齡,每個幣每天產生1幣齡,比如你持有100個幣,總共持有了30天,那麼,此時你的幣齡就為3000,這個時候,如果你發現了一個PoS區塊,你的幣齡就會被清空為0。你每被清空365幣齡,你將會從區塊中獲得0.05個幣的利息(假定利息可理解為年利率5%),那麼在這個案例中,利息 = 3000 * 5% / 365 = 0.41個幣,這下就很有意思了,持幣有利息。
點點幣(Peercoin)是首先採用權益證明的貨幣。,點點幣的權益證明機制結合了隨機化與幣齡的概念,未使用至少30天的幣可以參與競爭下一區塊,越久和越大的幣集有更大的可能去簽名下一區塊。一旦幣的權益被用於簽名一個區塊,則幣齡將清為零,這樣必須等待至少30日才能簽署另一區塊。
PoS機制雖然考慮到了PoW的不足,但依據權益結余來選擇,會導致首富賬戶的權力更大,有可能支配記賬權。股份授權證明機制(Delegated Proof of Stake,DPoS)的出現正是基於解決PoW機制和PoS機制的這類不足。
比特股(Bitshare)是一類採用DPoS機制的密碼貨幣。它的原理是,讓每一個持有比特股的人進行投票,由此產生101位代表 , 我們可以將其理解為101個超級節點或者礦池,而這101個超級節點彼此的權利是完全相等的。如果代表不能履行他們的職責(當輪到他們時,沒能生成區塊),他們會被除名,網路會選出新的超級節點來取代他們。
比特股引入了見證人這個概念,見證人可以生成區塊,每一個持有比特股的人都可以投票選舉見證人。得到總同意票數中的前N個(N通常定義為101)候選者可以當選為見證人,當選見證人的個數(N)需滿足:至少一半的參與投票者相信N已經充分地去中心化。
見證人的候選名單每個維護周期(1天)更新一次。見證人然後隨機排列,每個見證人按序有2秒的許可權時間生成區塊,若見證人在給定的時間片不能生成區塊,區塊生成許可權交給下一個時間片對應的見證人。
比特股還設計了另外一類競選,代表競選。選出的代表擁有提出改變網路參數的特權,包括交易費用、區塊大小、見證人費用和區塊區間。若大多數代表同意所提出的改變,持股人有兩周的審查期,這期間可以罷免代表並廢止所提出的改變。這一設計確保代表技術上沒有直接修改參數的權利以及所有的網路參數的改變最終需得到持股人的同意。
Ripple(瑞波)是一種基於互聯網的開源支付協議,在Ripple的網路中,交易由客戶端(應用)發起,經過追蹤節點(tracking node)或驗證節點(validating node)把交易廣播到整個網路中。
追蹤節點的主要功能是分發交易信息以及響應客戶端的賬本請求。驗證節點除包含追蹤節點的所有功能外,還能夠通過共識協議,在賬本中增加新的賬本實例數據。
Ripple的共識達成發生在驗證節點之間,每個驗證節點都預先配置了一份可信任節點名單,稱為UNL(Unique Node List)。在名單上的節點可對交易達成進行投票。每隔幾秒,Ripple網路將進行如下共識過程:
1)每個驗證節點會不斷收到從網路發送過來的交易,通過與本地賬本數據驗證後,不合法的交易直接丟棄,合法的交易將匯總成交易候選集(candidate set)。交易候選集裡面還包括之前共識過程無法確認而遺留下來的交易。
2)每個驗證節點把自己的交易候選集作為提案發送給其他驗證節點。
3)驗證節點在收到其他節點發來的提案後,如果不是來自UNL上的節點,則忽略該提案;如果是來自UNL上的節點,就會對比提案中的交易和本地的交易候選集,如果有相同的交易,該交易就獲得一票。在一定時間內,當交易獲得超過50%的票數時,則該交易進入下一輪。沒有超過50%的交易,將留待下一次共識過程去確認。
4)驗證節點把超過50%票數的交易作為提案發給其他節點,同時提高所需票數的閾值到60%,重復步驟3)、步驟4),直到閾值達到80%。
5)驗證節點把經過80%UNL節點確認的交易正式寫入本地的賬本數據中,稱為最後關閉賬本(Last Closed Ledger),即賬本最後(最新)的狀態。
在Ripple的共識演算法中,參與投票節點的身份是事先知道的。該共識演算法只適合於許可權鏈(Permissioned chain)的場景。Ripple共識演算法的拜占庭容錯(BFT)能力為(n-1)/5,即可以容忍整個網路中20%的節點出現拜占庭錯誤而不影響正確的共識。
在區塊鏈網路中,由於應用場景的不同,所設計的目標各異,不同的區塊鏈系統採用了不同的共識演算法。一般來說,在私有鏈和聯盟鏈情況下,對一致性、正確性有很強的要求。一般來說要採用強一致性的共識演算法。而在公有鏈情況下,對一致性和正確性通常沒法做到百分之百,通常採用最終一致性(Eventual Consistency)的共識演算法。
共識演算法的選擇與應用場景高度相關,可信環境使用paxos 或者raft,帶許可的聯盟可使用pbft ,非許可鏈可以是pow,pos,ripple共識等,根據對手方信任度分級,自由選擇共識機制。
㈡ 如何定義區塊鏈區塊鏈的應用場景有哪些
現在很多人 認為區塊鏈是一種萬能的技術,無所不能, 多少有點把區塊鏈技術神話了!
在區塊鏈技術的定義上,美國學者梅蘭妮 斯萬在其著作《區塊鏈:新經濟藍圖及導讀》定義區塊鏈技術是一種公開透明的、去中心化的資料庫。
區塊鏈定義:狹義 VS 廣義
至於區塊鏈技術的應用場景,自然要結合區塊鏈具有的區別於其他技術體系的特點來說。
區塊鏈技術特點包括:
區塊鏈是一個分布在全球各地、能夠協同運轉的資料庫存儲系統,區別於傳統資料庫運作——讀寫許可權掌握在一個公司或者一個集權手上(中心化的特徵),區塊鏈認為,任何有能力架設伺服器的人都可以參與其中。來自全球各地的掘金者在當地部署了自己的伺服器,並連接到區塊鏈網路中,成為這個分布式資料庫存儲系統中的一個節點;一旦加入,該節點享有同其他所有節點完全一樣的權利與義務(去中心化、分布式的特徵)。
與此同時,對於在區塊鏈上開展服務的人,可以往這個系統中的任意的節點進行讀寫操作,最後全世界所有節點會根據某種機制的完成一次又依次的同步,從而實現在區塊鏈網路中所有節點的數據完全一致。
今年初,區塊鏈這一名詞開始進入大家的生活中,上至國家領導,下至跳廣場舞的大媽都知道這個名詞,這一名詞的廣泛被知是由比特幣帶來的。
眾所周知,比特幣最初的幾十個只能換一個披薩到巔峰時候的20000多美金一個,暴漲了何止千倍,由此也造福了一大批土豪,目前有區塊鏈技術產生的虛擬貨幣日漸走入大家的生活,許多人都加入了炒幣行列,經常聽人說,買對百倍幣,單車變跑車,一幣一嫩模,可想而知,其中是多麼的吸引人。
08年開始,各種應用於區塊鏈技術的 游戲 也火爆了起來,諸如養成類(網路萊茨狗,360區塊貓),挖礦類(網易星球,虛擬地球,公信寶),這些以區塊鏈的名義吸引著大家的加入,當然也不乏一些確實靠譜的,這就需要大家仔細辨別了。
區塊鏈(Blockchain)是一種將數據區塊有序連接,並以密碼學方式保證其不可篡改、不可偽造的分布式賬本(資料庫)技術。通俗的說,區塊鏈技術可以在無需第三方背書情況下實現系統中所有數據信息的公開透明、不可篡改、不可偽造、可追溯。區塊鏈作為一種底層協議或技術方案可以有效地解決信任問題,實現價值的自由傳遞,在數字貨幣、金融資產的交易結算、數字政務、存證防偽數據服務等領域具有廣闊前景。
數字貨幣
在經歷了實物、貴金屬、紙鈔等形態之後,數字貨幣已經成為數字經濟時代的發展方向。相比實體貨幣,數字貨幣具有易攜帶存儲、低流通成本、使用便利、易於防偽和管理、打破地域限制,能更好整合等特點。
比特幣技術上實現了無需第三方中轉或仲裁,交易雙方可以直接相互轉賬的電子現金系統。2019年6月互聯網巨頭Facebook也發布了其加密貨幣天秤幣(Libra)白皮書。無論是比特幣還是Libra其依託的底層技術正是區塊鏈技術。
我國早在2014年就開始了央行數字貨幣的研製。我國的數字貨幣DC/EP採取雙層運營體系:央行不直接向 社會 公眾發放數字貨幣,而是由央行把數字貨幣兌付給各個商業銀行或其他合法運營機構,再由這些機構兌換給 社會 公眾供其使用。2019年8月初,央行召開下半年工作電視會議,會議要求加快推進國家法定數字貨幣研發步伐。
金融資產交易結算
區塊鏈技術天然具有金融屬性,它正對金融業產生顛覆式變革。支付結算方面,在區塊鏈分布式賬本體系下,市場多個參與者共同維護並實時同步一份「總賬」,短短幾分鍾內就可以完成現在兩三天才能完成的支付、清算、結算任務,降低了跨行跨境交易的復雜性和成本。同時,區塊鏈的底層加密技術保證了參與者無法篡改賬本,確保交易記錄透明安全,監管部門方便地追蹤鏈上交易,快速定位高風險資金流向。證券發行交易方面,傳統股票發行流程長、成本高、環節復雜,區塊鏈技術能夠弱化承銷機構作用,幫助各方建立快速准確的信息交互共享通道,發行人通過智能合約自行辦理發行,監管部門統一審查核對,投資者也可以繞過中介機構進行直接操作。數字票據和供應鏈金融方面,區塊鏈技術可以有效解決中小企業融資難問題。目前的供應鏈金融很難惠及產業鏈上游的中小企業,因為他們跟核心企業往往沒有直接貿易往來,金融機構難以評估其信用資質。基於區塊鏈技術,我們可以建立一種聯盟鏈網路,涵蓋核心企業、上下游供應商、金融機構等,核心企業發放應收賬款憑證給其供應商,票據數字化上鏈後可在供應商之間流轉,每一級供應商可憑數字票據證明實現對應額度的融資。
數字政務
區塊鏈可以讓數據跑起來,大大精簡辦事流程。區塊鏈的分布式技術可以讓政府部門集中到一個鏈上,所有辦事流程交付智能合約,辦事人只要在一個部門通過身份認證以及電子簽章,智能合約就可以自動處理並流轉,順序完成後續所有審批和簽章。區塊鏈發票是國內區塊鏈技術最早落地的應用。稅務部門推出區塊鏈電子發票「稅鏈」平台,稅務部門、開票方、受票方通過獨一無二的數字身份加入「稅鏈」網路,真正實現「交易即開票」「開票即報銷」——秒級開票、分鍾級報銷入賬,大幅降低了稅收征管成本,有效解決數據篡改、一票多報、偷稅漏稅等問題。扶貧是區塊鏈技術的另一個落地應用。利用區塊鏈技術的公開透明、可溯源、不可篡改等特性,實現扶貧資金的透明使用、精準投放和高效管理。
存證防偽
區塊鏈可以通過哈希時間戳證明某個文件或者數字內容在特定時間的存在,加之其公開、不可篡改、可溯源等特性為司法鑒證、身份證明、產權保護、防偽溯源等提供了完美解決方案。在知識產權領域,通過區塊鏈技術的數字簽名和鏈上存證可以對文字、圖片、音頻視頻等進行確權,通過智能合約創建執行交易,讓創作者重掌定價權,實時保全數據形成證據鏈,同時覆蓋確權、交易和維權三大場景。在防偽溯源領域,通過供應鏈跟蹤區塊鏈技術可以被廣泛應用於食品醫葯、農產品、酒類、奢侈品等各領域。
數據服務
區塊鏈技術將大大優化現有的大數據應用,在數據流通和共享上發揮巨大作用。未來互聯網、人工智慧、物聯網都將產生海量數據,現有中心化數據存儲(計算模式)將面臨巨大挑戰,基於區塊鏈技術的邊緣存儲(計算)有望成為未來解決方案。再者,區塊鏈對數據的不可篡改和可追溯機制保證了數據的真實性和高質量,這成為大數據、深度學習、人工智慧等一切數據應用的基礎。最後,區塊鏈可以在保護數據隱私的前提下實現多方協作的數據計算,有望解決「數據壟斷」和「數據孤島」問題,實現數據流通價值。針對當前的區塊鏈發展階段,為了滿足一般商業用戶區塊鏈開發和應用需求,眾多傳統雲服務商開始部署自己的BaaS(「區塊鏈即服務」)解決方案。區塊鏈與雲計算的結合將有效降低企業區塊鏈部署成本,推動區塊鏈應用場景落地。未來區塊鏈技術還會在慈善公益、保險、能源、物流、物聯網等諸多領域發揮重要作用。
「區塊鏈」這三個字在剛剛過去的春節徹底被點燃,風頭蓋過了一切事物,有人說這是新時代的到來,過去的已成為古典的,還有人說一切都是炒作,終究是個泡沫。
其實區塊鏈技術並不是一個新生的概念,早在過去兩年就已經開始被應用到很多行業之中,比如電子簽名。近日,第三方電子簽名平台e簽寶向新芽NewSeed透露了區塊鏈應用的最新進展。
目前,區塊鏈技術在e簽寶產品中主要應用於存證和出證兩方面,應用的場景包括版權保護、在線簽約、網頁取證、電話錄音、郵箱存證等方面。
以網路作品維權舉例,由於網路維權一般採用事後取證的方式,並沒有在證據產生的過程中進行實時確權,所以整個確權過程耗時長,取證難度大、成本高,舉證、溯源都異常困難,沒辦法滿足網路作品傳播快、數量多的特點。
e簽寶的基於時間戳+區塊鏈的知識產權保護新方案,從用戶進行實名認證開始,就實時固化過程中產生的電子數據,並通過同步於國家授時中心的時間源服務,給網路作品加蓋具有法律效力的時間戳,證明電子文件在某個時間段沒有被篡改。而區塊鏈技術則可以在網路中建立點對點的信任,確保所有的區塊鏈節點都能記錄完整的版權確權和交易記錄,並且可以溯源,真正實現防抵賴防篡改,實現了一種分布式的信任基礎設施。
創始人兼CEO金宏洲認為,去中心化的區塊鏈技術的應用大大提高了數據存證、出證的工作效率,以及當事人的身份可信度,降低了信任成本,但並不能取代原先的中心化的公鑰加密技術,兩者應是互為補充的狀態,通過這兩者的搭配,從而為用戶提供實時、可靠的確權方案。
接下來,e簽寶也將著重建設基於區塊鏈技術的智能合約平台,金宏洲表示,數據存證、出證只是基於區塊鏈技術的比較粗淺的應用,是實現區塊鏈技術落地的第一步,而實現真正的智能合約則是第二步。「智能合約不能簡單的理解為電子合同,它指的是一種過程,從合約的締結到確認再到最後的執行。」金宏洲解釋道。
從技術層面看區塊鏈並不是一門全新的技術,而是分布式數據存儲、點對點傳輸、共識機制、加密演算法、智能合約等計算機技術的新型應用模式。具體而言,區塊鏈技術是一種通過去中心化、高信任的方式集體維護一個可靠資料庫的技術方案。
由於具有「去中心化」、「分布式數據存儲」、「可追溯性」、「防篡改性」、「公開透明」等優勢特點,區塊鏈技術能夠有效解決數據領域的數據真實性、安全性與開放性問題,通過建立可信任的數據管理環境,防範和避免各類數據造假、篡改、遺失等數據管理問題,促進數據的高效共享與應用。實踐 探索 過程中,區塊鏈技術應用范圍不斷擴展,尤其公共資源交易領域,不斷賦能公共資源交易管理服務。
促進交易數據共享和交易見證
促進交易數據共享
當前不同交易中心數據不互通,存在不同交易中心主體信息需要重復錄入、評標過程投標人提供的場外業績驗證困難、同一人員重復擔任項目經理排查難、交易主體失信成本低等問題。建立基於區塊鏈的跨地區的主體庫可以很好地緩解上述問題。
基於區塊鏈的分布式賬本特性可有效保障數據的實時或准實時共享,可減少主體信息重復錄入操作;利用區塊鏈信息不可篡改可保障數據在鏈上流轉過程的真實性,區域聯盟內的投標人業績直接取自鏈上數據使得假業績無所遁形。同時通過區塊鏈的投標行為數據共享為「失信企業聯合懲戒」工作的開展提供了數據基礎。
基於區塊鏈的交易見證
《關於深化公共資源交易平台整合共享的指導意見》(國辦函〔2019〕41號)文件指出需優化見證、場所、信息、檔案、專家抽取等服務。但目前公共資源交易過程見證以人工現場見證為主,見證力度有限,對人力資源佔用高,見證效果有限。傳統的數字化見證系統因其中心化特點事後數據容易被篡改,且數據在存儲、遷移過程容易損壞或丟失,從安全性可用性上都存在一定缺陷。
利用區塊鏈分布式、難篡改、可追溯的特點對每個交易環節產生的數據進行 固化存證, 通過時間戳技術、摘要演算法、電子簽名技術 准確記錄數據產生的時間、內容、數據來源。 根據區塊鏈的技術特性對於簡單的結構化數據可直接將數據保存在區塊鏈上,對於非結構化的版式文件、視頻、音頻的等大文件通過區塊鏈保存其摘要信息,原文件 通過分布式文件存儲服務進行保存。當交易存在糾紛或者問題的時候,區塊鏈可提供一套可信的交易過程數據,釐清交易主體各方的責任。實現全環節風險防控、全過程可溯可查、全方位服務提升的目標。
促進電子保函費率合理化
促進投標企業金融服務和企業融資
促進電子保函費率合理化
目前電子投標保證金擔保保函已在招投標領域有一定的應用,為投標企業解決了投標保證金方面的資金佔用問題。但因目前各家金融機構沒有可靠的投標人 歷史 投標行為數據,無法對不同投標人的違約風險進行判別,導致對投標人收取的擔保服務都採用固定費率,使少部分違約風險高的投標人擔保成本被分攤到大部分違約風險低的投標人身上,在一定程度上提高了大部分投標人保函費率。
目前是否使用電子保函由投標人自主選擇,而費率又是投標人的主要選擇依據, 若通過區塊鏈匯聚共享投標人履約記錄,分析不同投標人履約風險,為不同投標人提供不同擔保費率,既降低金融機構風險,又可降低大部分投標人的使用成本促進投標保函的使用,在一定程度上也可促進投標人重約定守信用,維護招投標市場秩序。
促進投標企業金融服務
投標人的投標行為分散在各個交易中心,單純地將數據匯聚至一個中心化的信息系統又存在數據被篡改風險(不可信),有價值的投標人交易行為數據無法安全可靠地匯聚、共享。通過區塊鏈技術匯聚多個交易中心投標人, 歷史 投標、中標、違約、違規等行為記錄為金融機構對投標人的在招投標細分行業的信用評估提供數據支撐。
解決中標企業融資問題
傳統的企業貸款主要通過評估企業償債能力:抵押物、審計過的報表、持續性盈利等有要求,但是大多數中小企業根本拿不出這些「證明」,融資難、融資貴成為招投標活動中許多中小企業面臨的問題。使用過去的方法已經走不通了,要破解中小企業融資難問題,唯有依靠新技術和新工具。 藉助區塊鏈不可篡改的特點,匯聚多個交易中心一手業務數據,結合大數據分析技術構建可信投標人畫像。一方面提金融機構高風控水平,挖掘優質投標企業,另一方面為投標企業降低貸款門檻,優化服務體驗。
借鑒供應鏈金融模式,招標人是政府部門、國家企事業單位具有很好信用的核心企業,中標人作為供應商獲得的中標合同被金融機構認為是一種優質的資產向金融機構申請貸款。傳統紙質模式下存在訂單合同造假風險且流程煩瑣,中心化系信息系統又需要運營方有極強的權威性。區塊鏈的分布式賬本及難篡改特點將有助於上述問題的解決,將招標人與投標人的合同簽署及後續金融服務環節都在區塊鏈上實現,既解決數據可信問題又降低了整個系統對中心化權威機構的依賴。
通過進一步分析我們發現目前國內企業賒銷盛行,中標人上游供應商的資金缺口大,招標人的信用只能傳遞到中標人(中標合同無法拆分、轉讓),上游供應商無法獲得金融機構優質貸款。若將中標合同轉換為鏈上「通證」,「通證」可拆分,持有「通證」的中標人可將部分或全部的憑證支付給上游供應商,實現可貼現、可融資。鏈上「通證」可由一級供應商拆分流轉至二級(和多級)供應商,從而讓核心企業信用傳遞至多級供應商。因賒銷導致的供應商資金短缺問題得到解決,改善了營商環境;通過區塊鏈進行價值傳遞,融資周期極大縮短;降低供應商貸款成本,有利於降低原材料或中間產品生產成本,並最終提高投標人的利潤空間、間接的降低招標人的成本。
關於區塊鏈,咱們可以想像成去中心化的管理形式以及技術處理方式。
我舉個例子,你們家一共五口人,在如何安排工作以及處理家庭關系方面,一直都拿捏不好分寸。
於是,你們全家一起商量,乾脆用投票等方式來解決問題。
那麼這種投票解決問題的方式,可以叫做最初級的區塊鏈。
去中心化,解決問題。
區塊鏈可以有哪些應用場景呢?
事實上,我們很多家庭、很多組織,每天都在使用區塊鏈管理形式
但,這種用於組織關系的區塊鏈應用,並不能產生經濟價值。
區塊鏈在經濟方面可以有哪些應用呢?
第一種,應用於稅務存證、銀行轉賬等
充分利用區塊鏈的溯源功能,讓所有的記錄都可以隨時調取查詢
第二種,應用於企業經營管理
企業使用區塊鏈管理形式,可以更好的解決企業發展的問題,讓企業能夠發展得更快、賺錢更多。
總結:區塊鏈的應用場景包括稅務、銀行轉賬等,也可以應用於企業經營。
區塊鏈的特徵是分布式記賬、去中心化,但最終的目的是要人與人之間的相處更加平等。技術只有為人類價值服務才有意義,符合人類價值需求的技術才會發展起來,所以區塊鏈符合人類對自由平等的追求,所以其成為主流的趨勢是不可阻擋的。
目前玩區塊鏈噱頭的很多,基本上都是用於發幣。目前新推出的ono,是一款去中心化,自由的全球性的社交平台。由於去中心化,你的聊天通信信息都是點對點的,其餘人不可看。也就是說,你的一言一行不再像現在在微信、qq、臉書一樣被記錄在案並被隨時查閱,讓你擺脫監視困擾。
其實任何一個領域都可利用區塊鏈技術,以前需要第三方確認傳遞的信息都可在上完成,並在多個節點進行確認,很難(幾乎不可能)刪改。
目前區塊鏈還屬於起步階段,技術還不夠成熟,但同時也是較佳的進入時間。
區塊鏈是一項去中心化的技術,目前互聯網所能覆蓋的產品,區塊鏈均可應用其中。
目前呼聲較高的應用行業為金融行業。
已經落地的應用為商品溯源,阿里和京東已經在使用區塊鏈技術,對所售的部分商品進行全程溯源,消費者可以對所購買的商品進行追蹤溯源。數字廣告行業的區塊鏈應用也不在少數,由於數字廣告的流量欺詐每年導致的損失高達數百億美金,所以目前已經出現了基於數字廣告的區塊鏈應用項目,比如DCAD,就是基於區塊鏈技術的數字廣告應用,主要解決的是流量欺詐的問題
未來,隨著區塊鏈技術的應用日趨成熟,會在很多行業得到應用,打造一個基於技術信任的新型生態模式
區塊鏈是什麼 如果用非專業術語解釋區塊鏈,區塊鏈就是一個存放數據的地方,只不過在區塊鏈中存放的數據安全可靠還不用人管,所以在互聯網這個數據爆炸,信息爆炸的地方,能有這么一個地方,將會是神仙寶地一般。
如果當你問道區塊鏈能幹什麼的時候,不如說什麼應用需要用到區塊鏈。前面說區塊鏈是一個安全的地方,那麼,但凡是互聯網上需要安全地保護數據的地方都需要用到區塊鏈技術。例如:
因為使用區塊鏈技術可以更好低保戶數據,現在的互聯網,數據就是價值就是財富,因此價值保護和價值傳輸是互聯網今後發展的方向,而區塊鏈技術恰好能真正做到這一點。
如有不足,歡迎大家評論指正。
狹義來講,區塊鏈是一種按照時間順序將數據區塊以順序相連的方式組合成的一種鏈式數據結構, 並以密碼學方式保證的不可篡改和不可偽造的分布式賬本。
參與交易的雙方不需要知道對方是誰,也不需要第三方進行信任背書,只需要信任共同的演算法就可以建立互信,直接交易。
它的特點就是 去信任、去中心化 ,每個節點賬本的毀壞對整個區塊鏈沒有影響,區塊鏈運行點對點支付,沒有一個可能會作弊的中心,安全性大大提高,整個交易網路從一個星型結構變成了點對點的P2P結構.
未來區塊鏈會應用於很多領域,給人類生活帶來極大影響。從數字貨幣到證券與金融合約、醫療、 游戲 、人工智慧、智能合約、物聯網、電子商務、文件儲存等等領域都可以進行廣泛應用。
一、雲存儲
這個是統計了目前互聯網上雲存儲的數據量,google的數量最大,也就8000PB,那如果把互聯網上大家的閑置的分享出來呢?
星光雲通過星光鏈打造區塊鏈數據計算和存儲湖,總存儲量未來目標為15000P(約157.2864億G)。這將是阿里雲1500PB的10倍以上!也是擴建後世界上最大存儲湖泰州存儲中心的4倍多。
二、醫療方面
用區塊鏈技術對個人醫療記錄進行保存,也就保留了個人醫療的 歷史 數據,未來看病或對自己的 健康 做規劃時可直接調用 歷史 數據。這些數據有很強的隱私性,使用區塊鏈技術也有助於保護患者隱私。
㈢ 智能物流在智能製造中的應用
智能物流在離散智能製造的裝配線上應用越來越具有舉足輕重的作用。隨著倉儲物流裝備製造業快速的發展,會有更多的軟硬體技術應用到智能製造生產中。本文分析了製造行業目前的發展現狀及面臨的痛點,並以實際應用案例佐證了智能物流在智能製造實現過程中的重要性。最終得出結論:智能物流系統不是簡單的設備組合,而是以系統思維的方式對設備功能的充分應用,實現軟硬體介面的無縫和快捷,這是一個全局優化的復雜過程。
一、背景
智能物流是智能製造實現的關鍵一環。對於離散製造業來說,不同企業差別很大,工藝復雜,過程離散,難以形成產品化的解決方案。其數字化、信息化難度很大,真正體現著製造業信息化總體水平。通過倉儲軟體輸入+硬體輸出,將貨品(原材料、工具、產品)等物料進行自動倉儲存取作業,保障生產線工作的不間斷,根據生產節拍進行及時准確的生產配送,使企業各生產單位相互之間以及與眾多的各類庫房之間形成供應關系,通過WMS、WCS、輸入輸出介面等軟體系統,高效、准確地控制貨物、貨流,清楚反映上下游倉儲狀況,保證生產作業計劃和物品存取的准確性。圖1是自動化物流系統的總體工藝設計圖。
二、製造業的重要地位和現狀
由於生產企業的特性(尤其是大型生產企業),一般沒有辦法將常規倉庫設立在每一個車間旁邊,而生產線的生產是一個實時的過程,不允許有任何一點停頓,因此智能物流的主要作用是用來支持生產線的不間斷生產,保證其生成速度的迅速,存儲空間利用率更高。其特點為:佔地面積盡量少,需要盡量多地利用空間存儲;存儲的內容復雜,包括空托盤、配套任務、半成品、成品;信息流與物流同步;出入庫效率要高;供應配送准確率高。
1.行業痛點
標准工藝不易制定,難以掌握,設備、人員、管理等方面狀況復雜。在人員對設備不熟悉的前提下,缺少具備現場解決問題的思路。實際生產時造成無法按標准執行工藝,而部分產品由於一些關鍵工藝受機器等資源的限制,或其他特殊情況導致存在著多種加工工藝流程並存的情況。產品結構及設計變更的管理更為困難,手工作業時面對龐大的材料清單、復雜的生產狀況等,常常造成交貨延遲,庫存積壓,加工失誤,市場時而供不應求等等問題。由於工程變更缺乏科學規范的管理,也經常造成一些物料的停滯,企業的庫存積壓。此時,就需要一些人員、設備、管理等方面的升級,並改善資金有限等問題,確保工藝流程快速、有效。製造企業現狀圖,如圖2。
2.應用案例
(1)項目概述
本項目針對某離散製造業特定產品的裝配流程和裝配工藝,重新設計、布局,建設了一套智能物流生產線(產品裝配生產線),本系統按照智能物流和智能管理的需求,以數字化生產線執行管控為目標,改變傳統的裝配模式,實現了任務下達、倉儲齊套、AGV發運、工位裝配等整個裝配生產過程的信息跟蹤與管控,建設批量裝配的、符合每個工位裝配特點的、高效智能的、相對柔性的智能製造裝配生產線。
本智能製造裝配產線對應的線邊庫包括的設備有:托盤庫(箱式堆垛機立體庫)、物料庫(自動化升降庫)、齊配套庫、AGV、輸送線、RFID、LED等。
本製造裝配產線對應的線邊庫包括的軟體有:托盤庫管理軟體、物料庫管理軟體、齊配套庫管理軟體、托盤庫控制調度軟體、物料庫控制調度軟體、AGV控制調度軟體、與ERP介面、與MES介面等等。
(2)項目作業流程
實際生產過程中,往往有很多不確定因素,如產品的重修返工,材料、半成品的報廢、工位機器的故障、拿取物料不及時等等,管理人員很難及時掌控現場狀況。
圖3為項目物流布局圖,主要是解決生產企業的特性(尤其是大型生產企業),使其生產線的產生變為一個實時的過程,不停頓、送料及時、排故及時等等。其作業流程為:上層系統通過介面下發指令,AGV接收指令沿輸送線前往托盤立體庫(圖8)、
物料立體貨櫃取貨(圖9),
工作人員可在人工齊套工位(圖10)對AGV放置的物料進行配套處理。
隨後AGV將物料送至檢驗台,檢驗完畢後,AGV沿輸送線將貨物送到工位,貨物觸發工位自動加工系統,進行貨物的生產加工。加工完畢後,AGV將成品送到成品存放區(圖11)。實現了智能物流。
(3)物流與信息流
物流和信息流之間的關系是密不可分的。一方面,物流活動產生大量的原材料供應、產成品消費等信息。為提高物流的效率,要求信息流保持暢通,並准確反饋物流各環節運作所需求的信息。另一方面,信息技術的不斷進步為信息的及時大規模傳遞創造了條件,反過來促進物流服務范圍的擴大和物流組織管理手段的不斷改進,促進物流能力和效率的提高。
圖4為物流與信息流圖,是針對特定產品的裝配流程和裝配工藝,自動物料和智能管理的需求,通過與上層介面的對接,配合生產線執行管控,實現工藝(內置,支持VPPC導入)、任務(手工錄入,支持VPPC導入)和物料(物料庫)的導入、導出,來改變傳統的裝配模式,建設的一套實現批量裝配、符合每個工位裝配特點的、高效智能的、相對柔性的數字化裝配生產線。
(4)網路結構
物流信息平台是智慧物流高效運轉的中樞。信息化平台主要價值在於:信息的高效協同、各環節信息的通暢和透明,可以使供應鏈的企業高效及時掌握物流信息,通過共享信息支撐行業與市場規范化協同工作機制的建立。
圖5為整個智慧物流的強大運轉結構圖,其通過大數據、人工智慧和機器學習、自動駕駛車輛、AGV自動引導車和卡車、物聯網感測器、機器人、自組織智能、智能貨架、智能集裝箱、GPS、射頻識別(RFID)、電子數據交換(EDI)、區塊鏈等,實現物流的自動化、可視化、可控化、智能化、網路化,從而提升物流效率,降低成本,推動供應鏈向更高水平發展。
(5)業務流程
圖6為完整的業務流程圖。其主要包括生產任務、生產准備、任務管控、生產執行、生產統計。首先對生產任務進行導入、新建(可隨時查詢任務的變動日誌)。其次進行原材料的領用入庫;人員的調配;工位及工裝准備;物料庫進行齊套配置等等。再次通過查詢任務的可執行條件;對任務進行調整、下達;跟蹤任務執行進度;導出任務執行質量、進度等數據。其次進行生產工位智能調度的執行。最後通過數據的統計,實現動態數據的實時查看;生產統計、質量統計;事務(排故、維修等)記錄。
(6)功能模塊
圖7為本項目設計的數字化生產線執行管控系統的功能模塊圖。其主要包括:任務管理、生產執行、生產物流、統計分析、基礎數據管理、生產調度、產線數據採集七大功能。實現了裝配線及部裝線所需物料的暫存、揀選、配料功能,並與AGV 配套實現工位物料自動配送至各個工位。並與AGV 配套實現工位物料自動配送至各個工位。數字化生產線執行管控系統能對物料實現行跡化管理,可實現對物料的自動記錄、告警、遠程查看、統計和對生產任務、質量、工時的統計等。
3.傳統製造到智能製造的升級
上述項目真正解決了傳統製造在設備、人員、管理等方面狀況復雜的問題。在全自動化的操作下,降低了人工成本,縮短了工藝時間,縮減了工藝流程,降低了人員和工藝流程的費用支出,真正地改變了傳統製造業的弊端,實現了傳統製造到智能製造的升級,如圖12。
三、總結
智能物流系統不是簡單的設備組合,而是以系統思維的方式對設備功能的充分應用,實現軟硬體介面的無縫和快捷,這是一個全局優化的復雜過程。通過運用系統集成的方法,使各種物料最合理、經濟、有效地流動,實現物流的信息化、自動化、智能化、快捷化和合理化,使貨物的存儲形態從靜態存儲過渡為動態存儲,使貨物在倉庫內按需要自動存取,使倉庫轉變為企業生產物流中的一個重要環節;通過短時儲存,使外購件和自製生產件在指定的時間自動輸出到下一道工序生產,進而形成一個智能化的物流作業流程。智能物流在離散智能製造的裝配線上應用越來越具有舉足輕重的作用。隨著倉儲物流裝備製造業快速的發展,會有更多的軟硬體技術應用到智能製造生產中。
㈣ 區塊鏈在供應鏈金融中怎麼使用
在傳統供應鏈金融中,融資難、融資成本高、融資流程繁瑣一直是制約中小微企業做大做強的瓶頸之一。銀行依賴於核心企業的控貨能力和調節銷售能力,出於風控的考慮,銀行僅願對核心企業有直接應付賬款義務的上游供應商(限於一級供應商)提供保理業務,或對其下游經銷商(一級供應商),提供預付款或者存貨融資。這就導致了有巨大融資需求的二級、三級等供應商/經銷商的需求得不到滿足,供應鏈金融的業務量受到限制,而中小企業得不到及時的融資易導致產品質量問題,會傷害整個供應鏈體系。
解決這些問題則可以利用區塊鏈技術去中心化、不可篡改、分布式賬本的特性打造區塊鏈供應鏈金融平台。
1. 核心企業簽發應收憑證給分銷商,分銷商簽收後表示簽訂了購銷合同,核心企業發貨。
2. 分銷商因資金緊張需要向金融融資貸款。
3. 金融機構審核同意後把貸款的金額打給核心企業。
4.分銷商賣掉貨物後歸還貸款和利息
㈤ 區塊鏈如何應用區塊鏈應該怎樣應用
1、金融領域:
區塊鏈在國際匯兌、信用證、股權登記和證券交易所等金融領域有著潛在的巨大應用價值。將區塊鏈技術應用在金融行業中,能夠省去第三方中介環節,實現點對點的直接對接,從而在大大降低成本的同時,快速完成交易支付。
2、物聯網和物流領域:
區塊鏈在物聯網和物流領域也可以天然結合。通過區塊鏈可以降低物流成本,追溯物品的生產和運送過程,並且提高供應鏈管理的效率。該領域被認為是區塊鏈一個很有前景的應用方向。
3、公共服務領域:
區塊鏈在公共管理、能源、交通等領域都與民眾的生產生活息息相關,但是這些領域的中心化特質也帶來了一些問題,可以用區塊鏈來改造。區塊鏈提供的去中心化的完全分布式DNS服務通過網路中各個節點之間的點對點數據傳輸服務就能實現域名的查詢和解析,可用於確保某個重要的基礎設施的操作系統和固件沒有被篡改,可以監控軟體的狀態和完整性,發現不良的篡改,並確保使用了物聯網技術的系統所傳輸的數據沒用經過篡改。
4、數字版權領域:
通過區塊鏈技術,可以對作品進行鑒權,證明文字、視頻、音頻等作品的存在,保證權屬的真實、唯一性。作品在區塊鏈上被確權後,後續交易都會進行實時記錄,實現數字版權全生命周期管理信洞,也可作為司法取證中的技術性保障。例如,美國紐約一家創業公司MineLabs開發了一個基於區塊鏈的元數據協議,這個名為Mediachain的系統利用IPFS文件系統,實現數字作品版權保護,主要是面向數字圖片的版權保護應用。
5、保險領域:
在保險理賠方面,保險機構負責資金歸集、投資、理賠,往往管理和運營成本較高。芹坦橘通過智能合約的應用,既無需投保人申請,也無需保險公司批准,只要觸發理賠條件,實現保單自動理賠。一個典型的應用案例就是LenderBot,是2016年由區塊鏈企業Stratumn、德勤與支付服務商Lemonway合作推出,它允許人們通過FacebookMessenger的聊天功能,注冊定製化的微保險產品,為嫌團個人之間交換的高價值物品進行投保,而區塊鏈在貸款合同中代替了第三方角色。
6、公益領域:
區塊鏈上存儲的數據,高可靠且不可篡改,天然適合用在社會公益場景。公益流程中的相關信息,如捐贈項目、募集明細、資金流向、受助人反饋等,均可以存放於區塊鏈上,並且有條件地進行透明公開公示,方便社會監督。
㈥ 到底什麼是區塊鏈
先說一些基本概念。
網路稱,區塊鏈是分布式數據存儲、點對點傳輸、共識機制、加密演算法等計算機技術的一種新使用模式。它本質上是一個去中心化的資料庫,同時作為比特幣的底層技術,它是由密碼學產生的一系列數據塊。
我們試圖將「區塊鏈是什麼」翻譯成「人類語言」。
該定義提到了區塊鏈3354「分散資料庫」的本質。這與傳統的「集中式資料庫」在存儲、更新和操作上有很大的不同。
集中式資料庫可以被認為是這樣的形狀:
比如我要用支付寶給淘寶賣家付款,從我賺錢到他收到錢的所有數據請求都會由支付寶集中處理。這種數據結構的好處是,只要支付寶對系統的高效安全運行負責,其他人就可以無條件相信,不用擔心;壞處是,如果支付寶出了問題,比如被黑,伺服器被燒,出現內奸,公司跑路(當然以上可能性極低),我們支付寶里的余額明細等信息都會混亂。
然後有人認為這種小概率事件可以用任何技術手段來規避單個風險,把數據不僅僅交給一個中心化的機構。例如,每個人都可以存儲和處理數據。
資料庫結構可能如下所示:
這張圖是「分布式資料庫」的結構示意圖。每個點都是一個伺服器,他們都有同等的權利記錄和計算數據,信息點對點傳播。乍一看確實可以抵禦某個節點崩潰帶來的風險,但直觀上也非常混亂低效。我的信息誰來處理,結果誰說了算?
這時,區塊鏈定義中的「共識機制」就發揮作用了。共識機制主要「規定」以下事情:收到一個數據請求,由誰來處理(需要什麼資格);誰來驗證結果(看他有沒有處理好);如何防止加工者和檢驗者相互勾結等。
當一個「規則」被制定出來時,有些人可能喜歡被質疑。為了形成更強的共識,除了讓規則更合理之外,也要更有吸引力,讓人們有興趣和動力參與到數據處理的工作中來。這就涉及到公鏈的激勵機制。當我們稍後討論區塊鏈的分類和數字貨幣的作用時,我們將再次開始。
當我們把一筆交易交給一個分布式網路的時候,還有一個「心理門檻」:能處理信息的節點那麼多,我一個都不認識(不像支付寶,萬一傷害到我,我可以去找它打官司)。他們都有我的數據,我憑什麼相信他們?
這時,加密演算法(區塊鏈定義中的最後一個描述性詞語)登場了。
在區塊鏈網路中,我們發出的數據請求會根據密碼學原理被加密成接收方根本無法理解的一串字元。這種加密方返豎式的背後是哈希演算法的支持。
哈希演算法可以快速將任何類型的數據轉化為哈希值。這種變化是單向不可逆的、確定的、隨機的、防碰撞的。由於這些特點,處理我的數據請求的人可以幫我記錄信息,但他們不知道我是誰,也不知道我在做什麼。
至此,介紹了分散式網路的工作原理。但是我們似乎忽略了一個細節。前面的示意圖是一張網。滑輪和鏈條在哪裡?為什麼我們稱它為區塊鏈?
要理解這件事,我們需要先理清幾個知識點:
前面這張圖其實是一個「宏觀」的資料庫透視圖,展示了區塊鏈系統處理信息的基本規則和流程。而具體到「微觀」的數據日誌層面,我們會發現賬本被打包、壓縮、胡世核分塊存儲,並按時間順序串在一起,形成一個「鏈式結構」,像這樣:
圖中的每一個圓環都可以看作是一塊積木,許多鏈環扣在一起形成一個區塊鏈。塊存儲數據,這與普通的數據存儲不同:在區塊鏈上,後一個塊中的數據包含前一個塊中的數據。
為了從學術上解釋塊中數據的每個部分的欄位,我們試圖用一本書來比喻什麼是區塊鏈數據結構。
通常,我們看書,看完第一頁,然後看第二頁和第三頁.書脊是一種物理存在,它固定了每一頁的順序。即使書散了,也能確定標有頁碼的每一頁的順序。
在區塊鏈內部,每個塊都標有頁碼,第二頁的內容包含第一頁的內容,第三頁的內容包含第一頁和第二頁的內容.第十頁包含前九頁的內容。
就是這樣一個嵌套的鏈條,可以追溯到最褲掘原始的數據。
這就引出了區塊鏈的一個重要屬性:可追溯性。
當區塊鏈中的數據需要更新時,即按順序生成新的塊時,「共識演算法」再次發揮作用。這個演算法規定,一個新的塊只有得到全網51%以上節點的認可才能形成。說白了就是投票,半數以上的人同意就可以產生。這使得區塊鏈上的數據很難被篡改。如果我要強行改變,要賄賂的人太多,成本太高,不值得。
這就是人們常說的區塊鏈的「不可篡改」特性。
區塊鏈給人信任感的另一個原因是有「智能合約」。
智能合同是由計算機程序定義並自動執行的承諾協議。它是一套由代碼執行的交易規則,類似於目前信用卡的自動還款功能。如果開啟這個功能,你什麼都不用擔心,到期銀行會自動扣你欠的錢。
當你的朋友向你借錢,但不記得還了,或者找借口不還了,智能合約可以防止違約。一旦觸發了合同里的條款,比如什麼時候該還錢了,或者他的賬戶里有了額度,代碼就會自動執行,他欠你的錢不管他要不要都會自動轉回來。
我們來簡單總結一下。區塊鏈技術主要是去中心化,不易篡改,可追蹤,代表了更多的安全和去信任。但也帶來了新的問題:冗餘和低效,需要很多節點認同規則,積極參與。
「烘乾」部分到此結束。接下來,我們來談談野史,區塊鏈的正史。
一項新技術經常被用來為某項任務服務。
或目標而生。那麼區塊鏈最初是被用在哪裡,又是誰先想出來的呢?
讓我們把時間拉回2008年。
9月21日,華爾街投行接連倒下,美聯儲宣布:把僅存的兩家投資銀行(高盛集團和摩根士丹利)改為商業銀行;希望可以靠吸儲渡過金融危機。10月3日,布希政府簽署了7000億美元的金融救市方案。
28天之後,也就是2008年的11月1日,一個密碼學郵件組里出現了一個新帖子:「我正在開發一種新的電子貨幣系統,採用完全點對點的形式,而且無需第三方信託機構。」帖子的正文是一篇名為《Bitcoin: A Peer-to-Peer Electronic Cash System》的論文,署名Satoshi Nakamoto(中本聰)。
論文以較為嚴謹的邏輯闡述了這套點對點電子現金系統的設計,先是討論了金融機構受制於「trust based」(基於信用)的問題,再一步步說明如何實現「無需第三方機構」,並精巧地解決掉前人遺留下來的技術問題。
兩個月後,中本聰發布了開源的第一版比特幣客戶端,並首次挖出50個比特幣。產生第一批比特幣的區塊被稱為「Genesis block」(創世區塊),創始區塊被編譯為0區塊,沒有上鏈。中本聰用了6天時間挖出這個塊。這也在bitcointalk論壇中引發討論,比特幣的「信徒」們聯想到了聖經中,「神用六天創造天地萬物,便在第七日歇工安息了」。
雖然論文中並未出現decentralized(去中心化)、token(通證)、economy(經濟)等概念,但中本聰詳細解釋了區塊(Block)和鏈(Chain)在網路中的工作原理。於是,便有了區塊鏈(Block Chain)。
這篇論文,後來成為了「比特神教」的「聖經」,技術成為信仰的基石,開發者文檔成了「漢謨拉比法典」。
之後,比特幣通過交換披薩實現首次現實場景的支付、被美國政府封鎖賬戶的維基解密依靠比特幣奇跡般地生還、中本聰的「放權」與退隱、真真假假的現身和辟謠等等一系列傳說,融合了後人的期許、想像和投機,成為了「聖經故事」。
也有人並不滿意「舊約」中描繪的世界,另起教派,將教義寫入白皮書,在比特幣之後的十年中,講述著他們的信仰故事。就像66卷聖經的寫作跨越了1500年,又經過2000年的解讀,基督教分化出33000個枝丫。
CoinMarketCap顯示,數字貨幣種類已超過4900種,數字貨幣整體市場規模近1.4億元。比特幣仍以66%的市佔率領跑整個數字貨幣市場,近期價格在7200美元/枚附近徘徊。
這么多的幣種有著不盡相同的功用,又被分成不同的類別:以比特幣為代表的數字貨幣定位在「數字黃金」,有一定的儲值、避險特性;以以太坊為代表的數字貨幣,成為了其網路系統中的「運行燃料」;以USDT、Libra為代表的穩定幣,因其低波動,有著良好的支付性;以DCEP為代表的央行發行數字貨幣,一定程度上取代M0,讓商業機構和普通百姓們在沒現金又斷網的時候,也不耽誤收付款。
可見,區塊鏈技術發展10年,最初和最「大」的使用就是數字貨幣。
數字貨幣也成為了參與者們維護公鏈的誘人獎勵。
那麼在數字貨幣之外,區塊鏈技術還可以被用在哪裡呢?
讓我們再回憶下什麼是區塊鏈的本質——去中心化的資料庫,和相應的一些特點:可追溯、公開、匿名、防篡改。那麼理論上,傳統的、用得到中心化資料庫的場景,都可以試著用區塊鏈來改造下,看看是否合適。
下面,我們來聊幾個成功落地了區塊鏈的行業和場景:
區塊鏈可以通過哈希時間戳證明某個文件或者數字內容在特定時間的存在,為司法鑒證、身份證明、產權保護、防偽溯源等提供了完美解決方案
在防偽溯源領域,通過供應鏈跟蹤區塊鏈技術可以被廣泛使用於食品醫葯、農產品、酒類、奢侈品等各領域。
舉兩個例子。
區塊鏈可以讓政務數據跑起來,大大精簡辦事流程
區塊鏈的分布式技術可以讓政府部門集中到一個鏈上,所有辦事流程交付智能合約,辦事人只要在一個部門通過身份認證以及電子簽章,智能合約就可以自動處理並流轉,順序完成後續所有審批和簽章。
區塊鏈發票是國內區塊鏈技術最早落地的使用。稅務部門推出區塊鏈電子發票「稅鏈」平台,稅務部門、開票方、受票方通過獨一無二的數字身份加入「稅鏈」網路,真正實現「交易即開票」「開票即報銷」——秒級開票、分鍾級報銷入賬,大幅降低了稅收征管成本,有效解決數據篡改、一票多報、偷稅漏稅等問題。
扶貧是區塊鏈技術的另一個落地使用。利用區塊鏈技術的公開透明、可溯源、不可篡改等特性,實現扶貧資金的透明使用、精準投放和高效管理。
也舉兩個例子。
由公安部第三研究所指導的 eID 網路身份運營機構正與公易聯共同研發「數字身份鏈」,以公民身份號碼為根,基於密碼學演算法簽發給中國公民。投入運行以來,eID 數字身份體系已服務 1 億張 eID 的全生命周期管理,有效緩解了個人身份信息被冒用濫用和隱私泄露的問題。
Odaily星球日報整理的在網信辦備案的5個身份鏈項目
區塊鏈技術天然具有金融屬性
支付結算方面,在區塊鏈分布式賬本體系下,市場多個參與者共同維護並實時同步一份「總賬」,短短幾分鍾內就可以完成現在兩三天才能完成的支付、清算、結算任務,降低了跨行跨境交易的復雜性和成本。同時,區塊鏈的底層加密技術保證了參與者無法篡改賬本,確保交易記錄透明安全,監管部門方便地追蹤鏈上交易,快速定位高風險資金流向。
證券發行交易方面,傳統股票發行流程長、成本高、環節復雜,區塊鏈技術能夠弱化承銷機構作用,幫助各方建立快速准確的信息交互共享通道,發行人通過智能合約自行辦理發行,監管部門統一審查核對,投資者也可以繞過中介機構進行直接操作。
數字票據和供應鏈金融方面,區塊鏈技術可以有效解決中小企業融資難問題。目前的供應鏈金融很難惠及產業鏈上游的中小企業,因為他們跟核心企業往往沒有直接貿易往來,金融機構難以評估其信用資質。基於區塊鏈技術,我們可以建立一種聯盟鏈網路,涵蓋核心企業、上下游供應商、金融機構等,核心企業發放應收賬款憑證給其供應商,票據數字化上鏈後可在供應商之間流轉,每一級供應商可憑數字票據證明實現對應額度的融資。
舉個例子。
由工行、郵儲銀行、11家央企等聯合發起的中企雲鏈,自2017年成立至今,已覆蓋4.8萬企業,鏈上確權金額達到1000億元,保理融資570億元,累計交易達3000億元。金融機構收到貸款申請後,可在鏈上驗證合同的真實性、合同有無多次驗證(多頭借貸);智能合約自動清結算,降本增效;同時,核心企業的應付賬款可擁有對應憑證,並由一級供應商進行拆分,交至同在鏈上的二、三??級供應商,助其融資;而核心企業也可藉此了解全鏈條的運轉是否正常,免除緊急兌付壓力。
區塊鏈技術將大大優化現有的大數據使用,在數據流通和共享上發揮巨大作用
前面提到的是我們相對熟悉的領域。隨著更多新技術的發展,區塊鏈或許都可以與之結合,在意想不到的交叉領域和現在還無法預料的新場景下發揮作用。
未來互聯網、人工智慧、物聯網都將產生海量數據,現有中心化數據存儲(計算模式)將面臨巨大挑戰,基於區塊鏈技術的邊緣存儲(計算)有望成為未來解決方案。再者,區塊鏈對數據的不可篡改和可追溯機制保證了數據的真實性和高質量,這成為大數據、深度學習、人工智慧等一切數據使用的基礎。
最後,區塊鏈可以在保護數據隱私的前提下實現多方協作的數據計算,有望解決「數據壟斷」和「數據孤島」問題,實現數據流通價值。
針對當前的區塊鏈發展階段,為了滿足一般商業用戶區塊鏈開發和使用需求,眾多傳統雲服務商開始部署自己的BaaS(「區塊鏈即服務」)解決方案。區塊鏈與雲計算的結合將有效降低企業區塊鏈部署成本,推動區塊鏈使用場景落地。未來區塊鏈技術還會在慈善公益、保險、能源、物流、物聯網等諸多領域發揮重要作用。
在這場從傳統技術到區塊鏈的試驗過程中,我們發現,當某些場景對可追溯、防篡改、去中心的需求更強,又對區塊鏈的弱項(比如性能),要求並不高,這樣的領域就蠻適合結合區塊鏈。
同時,區塊鏈在演進的過程中,也從人人皆可訪問、高度去中心化的公有鏈,發展出了設有不同許可權、由多個中心維護的聯盟鏈,一定程度上平衡了兩種體系的優缺點。
聯盟鏈的典型案例有:微眾銀行牽頭金鏈盟開源工作組共同研發的FISCO BCOS、IBM主要貢獻的Fabric、以及螞蟻區塊鏈主導的螞蟻聯盟鏈等等。
這些去信任的系統代表了更安全的數據認證和存儲機制,其中的數據是被有效認證的和被保護的。企業或個人可以以數字方式交換或簽訂合同,其中這些合同嵌入在代碼中,並存儲在透明的、共享的資料庫中,在這些資料庫中,它們不會被刪除、篡改和修訂。
大膽預測,未來世界的合同、審核、任務、支付都將被具有唯一性和安全性的簽名數字化,數字簽名將被永久地識別、認證、法律化和存儲,並且無法篡改。不需要中介方來為自己的每一筆交易做擔保了,在不了解對方基本信息的情況下就可以進行交易。在提高信息安全性的同時,有效降低交易成本,提高交易效率。
總的來講,相比於兩年前,區塊鏈的落地已有不少進展。
有不少改進是在系統底層,用戶沒法直接看出用了區塊鏈,實已受惠於它;也有部分使用仍處試點,用戶還未能體驗。未來,區塊鏈有望得到大規模使用,成為互聯網基礎設施之一。
希望看到這里的你,已經大致了解了什麼是區塊鏈,以及區塊鏈能做什麼。
相關問答:區塊鏈是什麼
區塊鏈其實就相當於一個去中介化的資料庫,是由一串數據塊組成的。它的每一個數據塊當中都包含了一次比特幣網路交易的信息,而這些都是用於驗證其信息的有效性和生成下一個區塊的。
狹義的來講,區塊鏈是就是一種按照時間順序來將數據區塊以順序相連的方式組合成的一種鏈式數據結構,並以密碼學方式保證的不可篡改和不可偽造的分布式賬本。
而從廣義來講,區塊鏈其實是一種分布式基礎架構與計算方式,它是用於保證數據傳輸和訪問的安全的。
區塊鏈的基礎架構:
區塊鏈是由數據層、網路層、共識層、激勵層、合約層和使用層這六個基礎架構組成的。
㈦ 區塊鏈項目的分類和應用有哪些
從目前主流的區塊鏈項目來看,區塊鏈項目主要為四類:第一類:幣類;第二類:平台類;第三類:應用類;第四類:資產代幣化。
幣類主要充當區塊鏈資產領域的「交換媒介」,交換媒介指一般等價物,比如以前的黃金、銀票等。(交易區塊鏈資產上「幣匯交易所」)
平台類項目是指建立技術平台,用於滿足各種區塊鏈應用開發,可以降低在區塊鏈上開發應用的門檻。
應用類項目范圍比較廣泛,涵蓋金融、社交、游戲、產權保護等諸多領域,也是目前區塊鏈資產增長最快的領域。
資產代幣化項目是指是實物資產的區塊鏈映射,也就是實物資產上鏈,目前不超過10個品種。
01幣類
第一類是幣類項目,也是最早的區塊鏈項目。幣類項目主要包括比特幣和萊特幣等項目。此外,還有一類資產具有匿名的特點,主要功能包括實現支付的同時可以保護支付雙方的隱私,比較知名的有達世幣(Dash)、門羅幣(Monero)及採用零知識證明的大零幣(Zcash)等。幣類主要充當區塊鏈資產領域的「交換媒介」,交換媒介就是你用來換取商品的一般等價物,比如以前黃金、白銀、銀票可以作為交換媒介。目前全球的數字資產種類超過2100個品種,幣類區塊鏈項目數量近期增長較快,截止2018年6月市值最大的依舊是比特幣。
02平台類
第二類是平台類區塊鏈項目,平台類區塊鏈項目主要功能為建立技術平台,滿足各種區塊鏈應用開發所需的技術要求;簡單的說,平台類應用讓開發者可以在區塊鏈上直接發行數字資產,編寫智能合約等。智能合約就是在區塊鏈資料庫上運行的計算機程序,可以滿足其源代碼設定條件下自動執行。
舉個例子,你在區塊鏈上開發一個基於房屋租金協議的智能合約,當業主收到租金時就會觸發自動執行,並將公寓的安全密鑰給到租戶。
平台類區塊鏈項目的主要功能是建立底層的技術平台,讓開發者在底層技術平台上做應用開發,相當一部分平台尚處於開發狀態當中,截止到2018年6月份,市值最大的是以太坊。
03應用類
第三類是應用類區塊鏈項目,應用類項目就是基於區塊鏈開發平台(例如以太坊)開發的能夠解決實體經濟各個領域諸多問題的區塊鏈項目。
例如基於區塊鏈的預測平台Augur,基於區塊鏈的算力交易平台Golem,基於區塊鏈的奢侈品溯源平台VeChain,基於區塊鏈提供資產兌換及轉移服務的OmiseGo。利用區塊鏈技術,這些項目可以更好地解決信任問題、跨國界流通等問題,同時,利用區塊鏈上的智能合約和代幣,可以更好地實現自動執行,大大提高社會經濟活動的效率。應用類區塊鏈項目范圍比較廣泛,涵蓋金融、社交、游戲、產權保護等諸多領域,也是目前區塊鏈項目市值增值最快的領域。
04資產代幣化
第四類是資產代幣化區塊鏈項目,資產代幣化是指將區塊鏈資產掛鉤黃金和美元等實物資產,是實物資產的區塊鏈映射,截至2018年2月不超過10個品種,比較典型的代表是對標美元的USDT,對標黃金的Digix Dao,DigixDAO每個代幣代表1克由倫敦金銀市場協會認證的黃金。資產代幣化具有方便交易,便於保管等優勢。首先,資產代幣化更方便交易。因為區塊鏈資產可以拆分,具有更好地流動性。
舉個例子,目前房產需要整體轉讓,如果房產可以代幣化,便可以拆分購買,更方便交易。其次,實物資產代幣化更利於保管。黃金等在實物交易中,很容易形成磨損、造成損失,但是實物資產代幣化後並不需要進行實物轉移,更利於實物資產的保管。
㈧ 區塊鏈原理
區塊鏈是一種技術,但它不是一種單一的技術,而是由多種技術整合的結果,包括密碼學、數學、經濟學、網路科學等。你可以把它看做是一個分布式共享記賬技術,也可以看做是一個資料庫,只不過這個資料庫是由在這個鏈上的所有節點共同維護,每個節點都有一份賬本,因為所有節點的賬本一致,不同節點之間可以互相信任,對數據沒有疑問,所以大家都說區塊鏈從技術上實現了信任。詳細的專業技術可以咨詢一些專業的技術公司,例:金博科技,專注開發區塊鏈相關產品,專業研發團隊和完善的售後服務,可以電話咨詢。
㈨ 一文看懂互聯網區塊鏈
一文看懂互聯網區塊鏈
一文看懂互聯網區塊鏈,要了解區塊鏈,就不得不從互聯網的誕生開始研究區塊鏈的技術發展簡史,從中發掘區塊鏈產生的動因,並由此推斷區塊鏈的未來。下面讓我們一文看懂互聯網區塊鏈。
一文看懂互聯網區塊鏈1
區塊鏈的鼻祖就是麻將,最早的區塊鏈是中國人發明的!區塊鏈就跟麻將一樣,只不過麻將的區塊比較少而已,麻將只有136個區塊,各地麻將規則不同可視作為比特幣的硬分叉。
麻將作為最古老的區塊鏈項目,四個礦工一組,最先挖出13位正確哈希值的獲得記賬權以及獎勵,採用願賭服輸且不能作弊出老千的共識機制!
麻將去中心化,每個人都可以是庄,完全就是點對點。
礦池=棋牌室的老闆抽佣。
不可篡改,因為說服其他三個人需要消耗太多算力和體力。
典型的價值互聯網。我兜里的價值用不了八圈,就跑到他們兜里去了。
中國人基本上人手打得一手好麻將,區塊鏈方面生產了全球70%~80%的礦機,並擁有全世界最多的算力,約佔77%的算力
麻將其實是最早的的區塊鏈項目:
1,四個礦工一組,先碰撞出13個數字正確哈希值的礦工可以獲得記賬權並得到獎勵。
2,不可篡改。因為說服其他三個人需要消耗太多算力和體力。
3,典型的價值互聯網。我兜里的價值數字貨幣www.gendan5.com/digitalcurrency/btc.html用不了八圈,就跑到他們兜里去了。
4、去中心化,每個人都可以是庄,完全就是點對點。
5、UTXO,未花費的交易支出。
還有另外一種賒賬的區塊鏈玩法,假設大家身上都沒現金
細究一下,在大家達成共識時,我們看不到任何中介或者第三方出來評判丙贏了,大家給丙的獎勵也不需要通過第三方轉交給丙,都是直接點對點交易,這一過程就是去中心化,牌友們(礦工)各自記錄了第一局的戰績,丙大胡自摸十三幺,乙杠了甲東風,記錄完成後就生成了一個完整的區塊,但要記住,這才只是第一局,在整個區塊鏈上,這才僅僅是一個節點,開頭說的8局打完,也就是8個節點(區塊),8個區塊連接在一起就形成了一個完整賬本,這就是區塊鏈。因為這個賬本每人都有一個,所以就是分布式賬本,目的就是為了防止有人篡改記錄,打到最後,誰輸誰贏一目瞭然。
4個男士(甲乙丙丁)湊在一塊打麻將來錢,大家都沒帶現金,於是請一美女(中心化)用本子記賬,記錄每一局誰贏了多少錢、誰輸了多少錢?最後結束時,大家用支付寶或微信支付結總賬,但是如果這位美女記賬時記錯了或者預先被4人中的某人買通了故意記錯,就保證不了這個游戲結果的公正公平合理性,你說是不是?那怎麼辦呢?如果你「打麻將」能用「區塊鏈」作為游戲規則改編為如下:
4個男士(甲乙丙丁)湊在一塊打麻將來錢,大家都沒帶現金,乙說讓她帶來的美女記賬,甲說這位美女我們都不認識,於是甲乙丙丁4人一致約定每個人每局牌都在自己的手機上(區塊鏈節點)同時記賬(去中心化),最後打完麻將,直接手機上以電子貨幣結賬時,大家都對一下記賬的的結果,本來應該是一樣的記賬結果。
假設本來結果是甲手機上記的賬:乙欠甲10元。但乙手機上的記錄卻是不欠,可是其餘2人(丙、丁)和甲的記賬一樣,那還是按照少數服從多數規則結算,另外大家心裡對乙的誠信印象就差評了,下次打麻將就不會帶乙一起玩了。
除非乙預先買通(丙、丁)2人讓其故意作假,但乙買通他們2人的代價是10萬元(賴賬10元的1萬倍),那常理上乙只能選擇放棄,因為做假成本太高了。
假設即使乙在打牌的過程中,偷偷願意以高價10萬元預先買通丙、丁做這筆巨虧的傻貓交易,但區塊鏈的規則是按時間戳記賬的,原來是下午1點鍾記賬乙欠甲10元的,即丙和丁下午3點鍾再改賬時,時間是不可逆的,只能記下午3點鍾,那就又不吻合游戲規則了。
實際上在2017年博主已經開發出了一套麻將幣
中國最早的區塊鏈項目:四個礦工一組,最先從 148 個隨機數字中碰撞出 14 個數字正確哈希值的礦工,可以獲得一次記賬權激勵,由於分布式記賬需要得到其他幾位礦工的共識,因此每次記賬交易時間長約十幾分鍾。
一文看懂互聯網區塊鏈2
一、比特幣誕生之前,5個對區塊鏈未來有重大影響的互聯網技術
1969年,互聯網在美國誕生,此後互聯網從美國的四所研究機構擴展到整個地球。在應用上從最早的軍事和科研,擴展到人類生活的方方面面,在互聯網誕生後的近50年中,有5項技術對區塊鏈的未來發展有特別重大的意義。
1、1974誕生的TCP/IP協議:決定了區塊鏈在互聯網技術生態的位置
1974年,互聯網發展邁出了最為關鍵的一步,就是由美國科學家文頓瑟夫和羅伯特卡恩共同開發的互聯網核心通信技術--TCP/IP協議正式出台。
這個協議實現了在不同計算機,甚至不同類型的網路間傳送信息。所有連接在網路上的計算機,只要遵照這個協議,都能夠進行通訊和交互。
通俗的說,互聯網的數據能穿過幾萬公里,到達需要的計算機用戶手裡,主要是互聯網世界形成了統一的信息傳播機制。也就是互聯網設備傳播信息時遵循了一個統一的法律-TCP/IP協議。
理解TCP/IP協議對掌握互聯網和區塊鏈有非常重要的意義,在1974年TCP/IP發明之後,整個互聯網在底層的硬體設備之間,中間的網路協議和網路地址之間一直比較穩定,但在頂層應用層不斷涌現層出不窮的創新應用,這包括新聞,電子商務,社交網路,QQ,微信,也包括區塊鏈技術。
也就是說區塊鏈在互聯網的技術生態中,是互聯網頂層-應用層的一種新技術,它的出現,運行和發展沒有影響到互聯網底層的基礎設施和通訊協議,依然是按TCP/IP協議運轉的眾多軟體技術之一。
2、1984年誕生的思科路由器技術:是區塊鏈技術的模仿對象
1984年12月,思科公司在美國成立,創始人是斯坦福大學的一對夫婦,計算機中心主任萊昂納德·波薩克和商學院的計算機中心主任桑蒂·勒納,他們設計了叫做「多協議路由器」的聯網設備,放到互聯網的通訊線路中,幫助數據准確快速從互聯網的一端到達幾千公里的另一端。
整個互聯網硬體層中,有幾千萬台路由器工作繁忙工作,指揮互聯網信息的傳遞,思科路由器的一個重要功能就是每台路由都保存完成的互聯網設備地址表,一旦發生變化,會同步到其他幾千萬台路由器上(理論上),確保每台路由器都能計算最短最快的路徑。
大家看到路由器的運轉過程,會感到非常眼熟,那就是區塊鏈後來的重要特徵,理解路由器的意義在於,區塊鏈的重要特徵,在1984年的路由器上已經實現,對於路由器來說,即使有節點設備損壞或者被黑客攻擊,也不會影響整個互聯網信息的傳送。
3、隨萬維網誕生的B/S(C/S)架構:區塊鏈的對手和企圖顛覆的對象
萬維網簡稱為Web,分為Web客戶端和伺服器。所有更新的信息只在Web伺服器上修改,其他幾千,上萬,甚至幾千萬的客戶端計算機不保留信息,只有在訪問伺服器時才獲得信息的數據,這種結構也常被成為互聯網的B/S架構,也就是中心型架構。這個架構也是目前互聯網最主要的架構,包括谷歌、Facebook、騰訊、阿里巴巴、亞馬遜等互聯網巨頭都採用了這個架構。
理解B/S架構,對與後續理解區塊鏈技術將有重要的意義,B/S架構是數據只存放在中心伺服器里,其他所有計算機從伺服器中獲取信息。區塊鏈技術是幾千萬台計算機沒有中心,所有數據會同步到全部的計算機里,這就是區塊鏈技術的核心,
4、對等網路(P2P):區塊鏈的父親和技術基礎
對等網路P2P是與C/S(B/S)對應的另一種互聯網的基礎架構,它的特徵是彼此連接的多台計算機之間都處於對等的地位,無主從之分,一台計算機既可作為伺服器,設定共享資源供網路中其他計算機所使用,又可以作為工作站。
Napster是最早出現的P2P系統之一,主要用於音樂資源分享,Napster還不能算作真正的對等網路系統。2000 年3月14 日,美國地下黑客站點Slashdot郵寄列表中發表一個消息,說AOL的Nullsoft 部門已經發放一個開放源碼的Napster的克隆軟體Gnutella。
在Gnutella分布式對等網路模型中,每一個聯網計算機在功能上都是對等的,既是客戶機同時又是伺服器,所以Gnutella被稱為第一個真正的對等網路架構。
20年裡,互聯網的一些科技巨頭如微軟,IBM,也包括自由份子,黑客,甚至侵犯知識產權的犯罪分子不斷推動對等網路的發展,當然互聯網那些希望加強信息共享的理想主義者也投入了很大的熱情到對等網路中。區塊鏈就是一種對等網路架構的軟體應用。它是對等網路試圖從過去的沉默爆發的標桿性應用。
5、哈希演算法:產生比特幣和代幣(通證)的關鍵
哈希演算法將任意長度的數字用哈希函數轉變成固定長度數值的演算法,著名的哈希函數如:MD4、MD5、SHS等。它是美國國家標准暨技術學會定義的加密函數族中的一員。
這族演算法對整個世界的運作至關重要。從互聯網應用商店、郵件、殺毒軟體、到瀏覽器等、,所有這些都在使用安全哈希演算法,它能判斷互聯網用戶是否下載了想要的東西,也能判斷互聯網用戶是否是中間人攻擊或網路釣魚攻擊的受害者。
區塊鏈及其應用比特幣或其他虛擬幣產生新幣的過程,就是用哈希演算法的函數進行運算,獲得符合格式要求的數字,然後區塊鏈程序給予比特幣的獎勵。
包括比特幣和代幣的挖礦,其實就是一個用哈希演算法構建的小數學游戲。不過因為有了激烈的競爭,世界各地的人們動用了強大的伺服器進行計算,以搶先獲得獎勵。結果導致互聯網眾多計算機參與到這個小數學游戲中,甚至會耗費了某些國家超過40%的電量。
二、區塊鏈的誕生與技術核心
區塊鏈的誕生應該是人類科學史上最為異常和神秘的發明和技術,因為除了區塊鏈,到目前為止,現代科學史上還沒有一項重大發明找不到發明人是誰。
2008年10月31號,比特幣創始人中本聰(化名)在密碼學郵件組發表了一篇論文——《比特幣:一種點對點的電子現金系統》。在這篇論文中,作者聲稱發明了一套新的不受政府或機構控制的電子貨幣系統,區塊鏈技術是支持比特幣運行的基礎。
論文預印本地址在http://www.bitcoin.org/bitcoin.pdf,從學術角度看,這篇論文遠不能算是合格的論文,文章的主體是由8個流程圖和對應的解釋文字構成的, 沒有定義名詞、術語,論文格式也很不規范。
2009年1月,中本聰在SourceForge網站發布了區塊鏈的應用案例-比特幣系統的開源軟體,開源軟體發布後, 據說中本聰大約挖了100萬個比特幣.一周後,中本聰發送了10個比特幣給密碼學專家哈爾·芬尼,這也成為比特幣史上的第一筆交易。伴隨著比特幣的蓬勃發展,有關區塊鏈技術的研究也開始呈現出井噴式增長。
向大眾完整清晰的解釋區塊鏈的確是困難的事情,我們以比特幣為對象,盡量簡單但不斷深入的介紹區塊鏈的技術特徵。
1、區塊鏈是一種對等網路(P2P)的軟體應用
我們在前文提過,在21世紀初,互聯網形成了兩大類型的應用架構,中心化的B/S架構和無中心的對等網路(P2P)架構,阿里巴巴,新浪,亞馬遜,網路等等很多互聯網巨頭都是中心化的B/S架構,簡單的說,就是數據放在巨型伺服器中,我們普通用戶通過手機,個人電腦訪問阿里,新浪等網站的伺服器。
21世紀初以來,出現了很多自由分享音樂,視頻,論文資料的軟體應用,他們大部分採用的是對等網路(P2P)架構,就是沒有中心伺服器,大家的個人計算機都是伺服器,也都是客戶機,身份平等。但這類應用一直沒有流行起來,主要原因是資源消耗大,知識版權有問題等。區塊鏈就是這種領域的一種軟體應用。
2、區塊鏈是一種全網信息同步的對等網路(P2P)軟體應用
對等網路也有很多應用方式,很多時候,並不要求每台計算機都保持信息一致,大家只存儲自己需要的的信息,需要時再到別的計算機去下載。
但是區塊鏈為了支持比特幣的金融交易,就要求發生的每一筆交易都要寫入到歷史交易記錄中,並向所有安裝比特幣程序的計算機發送變動信息。每一台安裝了比特幣軟體的計算機都保持最新和全部的.比特幣歷史交易信息。
區塊鏈的這個全網同步,全網備份的特徵也就是常說的區塊鏈信息安全,不可更改來源。雖然在實際上依然不是絕對的安全,但當用戶量非常大時,的確在防範信息篡改上有一定安全優勢。
3、區塊鏈是一種利用哈希演算法產生」通證(代幣)」的全網信息同步的對等網路(P2P)軟體應用
區塊鏈的第一個應用是著名的比特幣,討論到比特幣時,經常會提到的一個名詞就是「挖礦」,那麼挖礦到底是什麼呢?
形象的比喻是,區塊鏈程序給礦工(游戲者)256個硬幣,編號分別為1,2,3……256,每進行一次Hash運算,就像拋一次硬幣,256枚硬幣同時拋出,落地後如果正巧編號前70的所有硬幣全部正面向上。礦工就可以把這個數字告訴區塊鏈程序,區塊鏈會獎勵50個比特幣給礦工。
從軟體程序的角度說,比特幣的挖礦就是用哈希SHA256函數構建的數學小游戲。區塊鏈在這個小游戲中首先規定了一種獲獎模式:給出一個256位的哈希數,但這個哈希數的後70位全部是0,然後游戲者(礦工)不斷輸入各種數字給哈希SHA256函數,看用這個函數能不能獲得位數有70個0的數字,找到一個,區塊鏈程序會獎勵50個比特幣給游戲者。實際的挖坑和獎勵要更復雜,但上面的舉例表達了挖礦和獲得比特幣的核心過程。
2009年比特幣誕生的時候,每筆賞金是50個比特幣。誕生10分鍾後,第一批50個比特幣生成了,而此時的貨幣總量就是50。隨後比特幣就以約每10分鍾50個的速度增長。當總量達到1050萬時(2100萬的50%),賞金減半為25個。當總量達到1575萬(新產出525萬,即1050的50%)時,賞金再減半為12.5個。根據比特幣程序的設計,比特幣總額是2100萬。
從上述介紹看,比特幣可以看做一個基於對等網路架構的猜數小游戲,每次正確的猜數結果獎勵的比特幣信息會傳遞給所有游戲者,並記錄到每個游戲者的歷史資料庫中。
4、區塊鏈技術因比特幣的興起產生的智能合約,通證、ICO與區塊鏈基礎平台
從上面的介紹看,比特幣的技術並不是從天上掉下來的新技術,而是把原來多種互聯網技術,如對等網路架構,路由的全網同步,網路安全的加密技術巧妙的組合在一起,算是一種組合創新的演算法游戲。
由於比特幣通過運作成為可以兌換法幣,購買實物,通過升值獲得暴利,全世界都不淡定了。抱著你能做,我也能做的態度,很多人創造了自己的仿比特幣軟體應用。同時利用政府難以監管對等網路的特點,各種山寨幣與比特幣一起爆發。這其中出現了很多欺詐和潛逃事件,逐步引起各國政府的關注。
區塊鏈基礎平台:用區塊鏈技術框架創建貨幣還是有相當的技術難度,這時區塊鏈基礎平台以太坊等基礎技術平台出現了,讓普通人也可以方便的創建類「比特幣」軟體程序,各顯神通,請人入局挖幣,炒幣,從中獲得利益。
通證或代幣:各家「比特幣」、「山寨幣」如果用哈希演算法創建的猜數小游戲,產生自己的「貨幣」時,這個「貨幣」統稱「通證」或「代幣」。
ICO:由於比特幣和以太幣已經打通與各國法幣的兌換,其他新虛擬幣發幣時,只允許用比特幣和以太幣購買發行的新幣,這樣的發幣過程就叫ICO,ICO的出現放大了比特幣,以太幣的交易量。同時很多ICO項目完全建立在虛無的項目上,導致大量欺詐案例頻發。進一步加深了社會對區塊鏈生成虛擬貨幣的負面認識。
智能合約:可以看做區塊鏈上的一種軟體功能,是輔助區塊鏈上各種虛擬幣交易的程序,具體的功能就像淘寶上支付寶的資金託管一樣,當一方用戶收到的貨物,在支付寶上進行確認後,資金自動支付個給買家貨主,智能合約在比特幣等區塊鏈應用上也是承擔了這個中介支付功能。
三、區塊鏈技術在互聯網中的歷史地位和未來前景
1、區塊鏈處於互聯網技術的什麼位置?是頂層的一種新軟體和架構。
我們在前面的TCP/IP介紹中提到,區塊鏈與瀏覽器、QQ、微信、網路游戲軟體、手機APP等一樣,是互聯網頂層-應用層的一種軟體形式。它的運行依然要靠TCP/IP的架構體系傳輸數據。只是與大部分應用層軟體不同,沒有採用C/S(B/S)的中心軟體架構。而是採用了不常見的對等網路架構,從這一點說,區塊鏈並不能顛覆互聯網基礎結構。
2、區塊鏈想要顛覆誰?想顛覆萬維網的B/S(C/S)結構。
它試圖要顛覆其實是89年年誕生的萬維網B/S,C/S結構。前面說過。由於89年年歐洲物理學家蒂姆· 伯納斯· 李發明萬維網並放棄申請專利。此後近30年中,包括谷歌,亞馬遜,facebook,阿里巴巴,網路,騰訊等公司利用萬維網B/S(C/S)結構,成長為互聯網的巨頭。
在他們的總部,建立了功能強大的中心伺服器集群,存放海量數據,上億用戶從巨頭伺服器中獲取自己需要的數據,這樣也導致後來雲計算的出現,而後互聯網巨頭把自己沒有用完的中心伺服器資源開放出來,進一步吸取企業,政府,個人的數據。中心化的互聯網巨頭對世界,國家,互聯網用戶影響力越來越大。
區塊鏈的目標是通過把數據分散到每個互聯網用戶的計算機上,試圖降低互聯網巨頭的影響力,由此可見區塊鏈真正的對手和想要顛覆的是1990年誕生的B/S(C/S)結構。但能不能顛覆掉,就要看它的技術優勢和瓶頸。
3、區塊鏈的技術缺陷:追求徹底平等自由帶來的困境
區塊鏈的技術缺陷首先來自與它的對等網路架構上,舉個例子,目前淘寶是B/S結構,海量的數據存放在淘寶伺服器集群機房裡,幾億消費者通過瀏覽器到淘寶伺服器網站獲取最新信息和歷史信息。
如果用區塊鏈技術,就是讓幾億人的個人電腦或手機上都保留一份完整的淘寶資料庫,每發生一筆交易,就同步給其他幾億用戶。這在現實中是完全無法實現的。傳輸和存儲的數據量太大。相當於同時建立幾億個淘寶網站運行。
因此區塊鏈無法應用在數據量大的項目上,甚至小一點的網站項目用區塊鏈也會吃力。到2018年,比特幣運行了近10年,積累的交易數據已經讓整個系統面臨崩潰。
於是區塊鏈採用了很多變通方式,如建立中繼節點和閃電節點,這兩個概念同樣會讓人一頭霧水,通俗的說,就是區塊鏈會向它要顛覆的對象B/S結構進行了學習,建立數據伺服器中心成為區塊鏈的中繼節點,也用類瀏覽器的終端訪問,這就是區塊鏈的閃電節點。
這種變動能夠緩解區塊鏈的技術缺陷,但確讓區塊鏈變成它反對的樣子,中心化。由此可見,單純的區塊鏈技術由於技術特徵有重大缺陷,無法像萬維網一樣應用廣泛,如果技術升級,部分採用B/S(C/S)結構,又會使得區塊鏈有了中心化的信息節點,不在保持它誕生時的夢想。
4、從互聯網大腦模型看區塊鏈的未來前景
我們知道互聯網一般是指將世界范圍計算機網路互相聯接在一起的網際網路,在這基礎上發展出覆蓋全世界的全球性互聯網路稱互聯網,即是互相連接一起的網路結構。
從1969年互聯網誕生以來,人類從不同的方向在互聯網領域進行創新,並沒有統一的規劃將互聯網建造成什麼結構,當時間的車輪到達2017年,隨著人工智慧,物聯網,大數據,雲計算,機器人,虛擬現實,工業互聯網等科學技術的蓬勃發展,當人類抬起頭來觀看自己的創造的巨系統,互聯網大腦的模型和架構已經越來越清晰。
通過近20年的發展依託萬維網的B/S,C/S結構,騰訊QQ,微信,Facebook,微博、twitter亞馬遜已經發展出類神經元網路的結構。互聯網設備特別是個人計算機,手機在通過設備上的軟體在巨頭的中心伺服器上映射出個人數據和功能空間,相互加好友交流,傳遞信息。互聯網巨頭通過中心伺服器集群的軟體升級,不斷優化數億台終端的軟體版本。在神經學的體系中,這是一種標準的中樞神經結構。
區塊鏈的誕生提供了另外一種神經元模式,不在巨頭的集中服務中統一管理神經元,而是每台終端,包括個人計算機和個人手機成為獨立的神經元節點,保留獨立的數據空間,相互信息進行同步,在神經學的體系中,這是一種沒有中心,多神經節點的分布式神經結構。
有趣的是,神經系統的發育出現過這兩種不同類型的神經結構。在低等生物中,出現過類區塊鏈的神經結構,有多個功能相同的神經節,都可以指揮身體活動和反應,但隨著生物的進化,這些神經節逐步合並,當進化成為高等生物時,中樞神經出現了,中樞神經中包含大量神經元進行交互。
四、關於區塊鏈在互聯網未來地位的判斷
1、對比特幣的認知:一個基於對等網路架構(P2P)的猜數小游戲,通過高明的金融和輿論運作,成為不受政府監管的」世界性貨幣」。
2、對區塊鏈的認知:一個利用哈希演算法產生」通證(代幣)」的全網信息同步的對等網路(P2P)軟體應用。
3、區塊鏈有特定的用途,如大規模選舉投票,大規模賭博,規避政府金融監管的金融交易等等領域,還是有不可替代的用處。
4、在更多時候,區塊鏈技術會依附於互聯網的B/S,C/S結構,實現功能的擴展,但總體依然屬於互聯網已有技術的補充。對於區塊鏈目前設想的絕大部分應用場景,都是可以用B/S,C/S結構實現,效率可以更高和技術也可以更為成熟。
5、無論是從信息傳遞效率和資源消耗,還是從神經系統進化看,區塊鏈無法成為互聯網的主流架構,更不能成為未來互聯網的顛覆者和革命者。
6、當然B/S,C/S結構發展出來的互聯網巨頭也有其問題,但這些將來可以通過商業的方式,政治的方式逐漸解決。
㈩ 淺析 Fabric Peer 節點
Hyperledger Fabric,也稱之為超級賬本,是由 IBM 發起,後成為 Linux 基金會 Hyperledger 中的區塊鏈項目之一。
Fabric 是一個提供分布式賬本解決方案的平台,底層的賬本數據存儲使用了區塊鏈。區塊鏈平台通常可以分為公有鏈、聯盟鏈和私有鏈。公有鏈典型的代表是比特幣這些公開的區塊鏈網路,誰都可以加入到這個網路中。聯盟鏈則有準入機制,無法隨意加入到網路中,聯盟鏈的典型例子就是 Fabric。
Fabric 不需要發幣來激勵參與方,也不需要挖礦來防止有人作惡,所以 Fabric 有著更好的性能。在Fabric 網路中,也有著諸多不同類型的節點來組成網路。其中 Peer 節點承載著賬本和智能合約,是整個區塊鏈網路的基礎。在這篇文章中,會詳細分析 Peer 的結構及其運行方式。
在本文中,假設讀者已經了解區塊鏈、智能合約等概念。
本文基於 Fabric1.4 LTS。
區塊鏈網路是一個分布式的網路,Fabric 也是如此,由於 Fabric 是聯盟鏈,需要准入機制,所以在網路結構上會復雜很多,下面是一個簡化的 Fabric 網路:
各個元素的含義如下:
對於 Fabric 網路,外部的用戶需要通過客戶端應用,也就是圖中的 A1、A2 或者 A3 來訪問網路,客戶端應用需要通過 CA 證書表明自己的身份,這樣才能訪問到 Fabric 網路中有許可權訪問的部分。
在上面的網路中,共有四個組織,R1、R2、R3 和 R4。其中 R4 是整個 Fabric 網路的創建者,網路是根據 NC4 配置的。
在 Fabric 網路中,不同的組織可以組成聯盟,不同的聯盟之間數據通過 Channel 來隔離。Channel 中的數據只有該聯盟中的組織才能訪問,每一個新的 Channel 都可以認為是一條新的鏈。與其他的區塊鏈網路中通常只有一條鏈不一樣,Fabric 可以通過 Channel 在網路中快速的搭建出一個新的區塊鏈。
上面 R1 和 R2 組成了一個聯盟,在 C1 上交易。R2 同時又和 R3 組成了另外一個聯盟,在 C2 上交易。R1 和 R2 在 C1 上交易時,對 R3 是不可見的,R2 和 R3 在 C2 上交易時,對 R1 是不可見的。Channel 機制提供了很好的隱私保護能力。
Orderer 節點是整個 Fabric 網路共有的,用來為所有的交易排序、打包。比如上面網路中 O4 節點。本文不會對 Orderer 節點進行詳細說明,可以把這個功能理解為比特幣網路中的挖礦過程。
Peer 節點表示網路中的節點,通常一個 Peer 就表示一個組織,Peer 是整個區塊鏈網路的基礎,是智能合約和賬本的載體,Peer 也是本文討論的重點。
一個 Peer 節點可以承載多套賬本和智能合約,比如 P2 節點,既維護了 C1 的賬本和智能合約,也維護了 C2 的賬本和智能合約。
為了可以更深入了解 Peer 節點的作用,先了解一下 Fabric 整體的交易流程。整體的交易流程圖如下:
Peer 節點按照功能來分可以分為 背書節點 和 記賬節點 。
客戶端會提交交易請求到背書節點,背書節點開始模擬執行交易,在模擬執行之後,背書節點並不會去更新賬本數據,而是把這個交易進行加密和簽名,然後返回給客戶端。
客戶端收到這個響應之後就會把響應提交到 Orderer 節點,Orderer 節點會對這些交易進行排序,並打包成區塊,然後分發到記賬節點,記賬節點就會對交易進行驗證,驗證結束之後,就會把交易記錄到賬本裡面。
一筆交易是否能成功是根據背書策略來指定的,每一個智能合約都會指定一個背書策略。
Peer 節點代表著聯盟鏈中的各個組織,區塊鏈網路也是由 Peer 節點來組成的,而且也是賬本和智能合約的載體。
通過對上面交易過程的了解可以知道,Peer 節點是主要的參與方。如果用戶想要訪問賬本資源,都必須要和 peer 節點進行交互。在一個 Peer 節點中,可以同時維護多個賬本,這些賬本屬於不同的 Channel 。每個 Peer 節點都會維護一套冗餘賬本,這樣就避免了單點故障。
Peer 節點根據在交易中的不同角色,可以分成背書節點(Endorser)和記賬節點(Committer),背書節點會對交易進行模擬執行,記賬節點才會真正將數據存儲到賬本中。
賬本可以分成兩個部分,一部分是區塊鏈,另一部分是 Current State,也被稱之為 World State。
區塊鏈上只能追加,不能對過去的數據進行修改,鏈上也包含兩部分信息,一部分是通道的配置信息,另一部分是不可修改,序列化的記錄。每一個區塊記錄前一個區塊的信息,然後連成鏈,如下圖所示:
第一個區塊被稱之為 genesis block,其中不存儲交易信息。每個區塊可以被分為 區塊頭 、 區塊數據 和 區塊元數據 。區塊頭中存儲著當前區塊的區塊號、當前區塊的 hash 值和上一個區塊的 hash 值,這樣才能把所有的區塊連接起來。區塊數據中包含了交易數據。區塊元數據中則包括了區塊寫入的時間、寫入人及簽名。
其中每一筆交易的結構如下,在 Header 中,包含了 ChainCode 的名稱、版本信息。Signature 就是交易發起用戶的簽名。Proposal 中主要是一些參數。Response 中是智能合約執行的結果。Endorsements 中是背書結果返回的結果。
WorldState中維護了賬本的當前狀態,數據以 Key-Value 的形式存儲,可以快速查詢和修改,每一次對 WorldState 的修改都會被記錄到區塊鏈中。WorldState 中的數據需要依賴外部的存儲,通常使用 LevelDB 或者 CouchDB。
區塊鏈和 WorldState 組成了一個完整的賬本,World State 保證的業務數據的靈活變化,而區塊鏈則保證了所有的修改是可追溯和不可篡改的。
在交易完成之後,數據已經寫入賬本,就需要將這些數據同步到其他的 Peer,Fabric 中使用的是 Gossip 協議。Gossip 也是 Channel 隔離的,只會在 Channel 中的 Peer 中廣播和同步賬本數據。
智能合約需要安裝到 Peer 節點上,智能合約是訪問賬本的唯一方式。智能合約可以通過 Go、Java 等變成語言進行編寫。
智能合約編寫完成之後,需要打包到 ChainCode 中,每個 ChainCode 中可以包含多個智能合約。ChainCode 需要安裝,ChainCode 需要安裝到 Peer 節點上。安裝好了之後,ChainCode 需要在 Channel 上實例化,實例化的時候需要指定背書策略。
智能合約在實例化之後就可以用來與賬本進行交互了,流程圖如下:
用戶編寫並部署實例化智能合約之後,就可以通過客戶端應用程序來向智能合約提交請求,智能合約會對 WorldState 中數據進行 get、put 或者 delete。其中 get 操作直接從 WorldState 中讀取交易對象當前的狀態信息,不會去區塊鏈上寫入信息,但 put 和 delete 操作除了修改 WorldState,還會去區塊鏈中寫入一條交易信息,且交易信息不能修改。
區塊鏈上的信息可以通過智能合約訪問,也可以在客戶端應用通過 API 直接訪問。
Event 是客戶端應用和 Fabric 網路交互的一種方式,客戶端應用可以訂閱 Event,當 Event 發生時,客戶端應用就會接受到消息。
事件源可以兩類,一類是智能合約發出的 Event,另一類是賬本變更觸發的 Event。用戶可以從 Event 中獲取到交易的信息,比如區塊高度等信息。
在這篇文章中,首先介紹了 Fabric 整體的網路架構,通過對 Fabric 交易流程的分析,討論了 peer 節點在交易中的作用,然後詳細分析了 peer 節點所維護的賬本和智能合約,並分析了 peer 節點維護賬本以及 peer 節點執行智能合約的流程。
文 / Rayjun
[1] https://hyperledger-fabric.readthedocs.io/zh_CN/release-1.4/whatis.html
[2] https://developer.ibm.com/zh/technologies/blockchain/series/os-academy-hyperledger-fabric/
[3] https://en.wikipedia.org/wiki/Gossip_protocol