區(qū)塊鏈技術(shù)基礎(chǔ):術(shù)語和用例
1. 區(qū)塊和區(qū)塊鏈
區(qū)塊鏈?zhǔn)且环N分布在整個業(yè)務(wù)網(wǎng)絡(luò)上的共享賬本。業(yè)務(wù)交易被永久記錄在僅附加到賬本的區(qū)塊中。所有經(jīng)過確認(rèn)和證明的交易都從創(chuàng)始區(qū)塊一直鏈接到最新的區(qū)塊,因而得名區(qū)塊鏈。區(qū)塊鏈?zhǔn)亲跃W(wǎng)絡(luò)中的區(qū)塊鏈啟動以來發(fā)生的所有交易的歷史記錄。區(qū)塊鏈被用作該網(wǎng)絡(luò)的單一事實來源。
區(qū)塊鏈網(wǎng)絡(luò)可以是許可網(wǎng)絡(luò)或無許可網(wǎng)絡(luò)。無許可 網(wǎng)絡(luò)向所有參與方開放,參照網(wǎng)絡(luò)上的已有規(guī)則對交易進(jìn)行驗證。任何參與方都可以查看賬本上的交易,即使參與方是匿名的。比特幣是人們最熟悉的一個無許可網(wǎng)絡(luò)示例。
另一方面,許可網(wǎng)絡(luò)僅能由給定業(yè)務(wù)網(wǎng)絡(luò)中的參與者訪問。在許可區(qū)塊鏈上,參與者只允許查看與他們相關(guān)的交易。Hyperledger Project 就是為支持許可區(qū)塊鏈的開發(fā)而創(chuàng)立的。
2. 交易、資產(chǎn)和一致性
深入了解區(qū)塊鏈網(wǎng)絡(luò)概念
在 “分布式賬本簡介” 中了解區(qū)塊鏈網(wǎng)絡(luò)的優(yōu)勢。
交易 是傳輸?shù)劫~本或從賬本傳出的資產(chǎn)。任何可被擁有或控制來產(chǎn)生價值的事物都是資產(chǎn)。資產(chǎn)可以是有形的(比如住宅或汽車)或無形的(比如抵押或租賃)。
賬本中的條目被同步到網(wǎng)絡(luò)中的所有賬本。區(qū)塊鏈網(wǎng)絡(luò)中的參與方處理的每個賬本副本被稱為節(jié)點(diǎn)。節(jié)點(diǎn)之間的一致性 能確保共享賬本是精確的副本,并降低發(fā)生交易欺詐的風(fēng)險,因為篡改需要同時在許多地方進(jìn)行。
要實現(xiàn)一致性,所有參與者都必須同意交易并通過對等網(wǎng)絡(luò)驗證它。參與者還可以建立驗證交易的規(guī)則。與無許可區(qū)塊鏈中存在的更高成本相比,受信任的參與者網(wǎng)絡(luò)可減少在節(jié)點(diǎn)之間建立一致性的成本。
3. 密碼哈希算法和數(shù)字簽名
密碼哈希算法(比如 SHA256 計算算法)利用可變大小的交易輸入生成一個固定大小的唯一哈希值(被稱為摘要)。哈希運(yùn)算包含一個數(shù)學(xué)屬性,那就是一個給定輸入只能得到一個唯一的哈希值,但不能從哈希值推導(dǎo)出輸入。一個給定的輸入總是會計算出相同的哈希值。
對交易輸入的任何修改或改動 — 甚至是最細(xì)微的更改 — 都會導(dǎo)致計算出不同的哈希值,這表明交易輸入可能被損壞。因此,可使用哈希值檢測交易輸入的完整性。
數(shù)字簽名可以確保接收者收到的交易數(shù)據(jù)中沒有包含修改或偽造過的交易內(nèi)容,還可以確保交易源自發(fā)送方(已使用私鑰進(jìn)行簽名),而不是來自冒充者。
對稱密鑰加密使用一個私鑰來加密和解密數(shù)據(jù)。該密鑰必須使用一個安全網(wǎng)絡(luò)進(jìn)行共享,而數(shù)據(jù)可在不安全的網(wǎng)絡(luò)上廣播,但能由擁有該私鑰的各方讀?。?/p>
區(qū)塊鏈技術(shù)使用了公鑰加密,也稱為非對稱密鑰加密。在公鑰加密中,每個參與者都有一個公鑰/私鑰對。發(fā)送者可以使用接收者的公鑰來加密數(shù)據(jù)。然后只能使用接收者的私鑰讀取文檔或數(shù)據(jù)。非對稱密鑰加密在傳輸數(shù)據(jù)時無需使用安全網(wǎng)絡(luò)來交換密鑰。
4. 智能合約和鏈代碼
要使用擬議的交易來更新賬本,每個節(jié)點(diǎn)必須按照智能合約 的邏輯來處理交易。智能合約由直接在復(fù)制的網(wǎng)絡(luò)上運(yùn)行的程序組成。智能合約使用一種編程語言在區(qū)塊鏈上對業(yè)務(wù)規(guī)則或合同進(jìn)行編碼,由網(wǎng)絡(luò)中的所有參與者執(zhí)行。這些程序在 Hyperledger Fabric 中稱為鏈代碼,它們被復(fù)制到網(wǎng)絡(luò)中的每個節(jié)點(diǎn),并由擁有權(quán)限的各方調(diào)用來傳輸資產(chǎn)。
鏈代碼必須是確定的,也就是說,相同的輸入必須始終產(chǎn)生相同的輸出。因此,每個節(jié)點(diǎn)可以相信它和對等節(jié)點(diǎn)處理的是同一個交易。
5. 區(qū)塊鏈應(yīng)用
一個區(qū)塊鏈應(yīng)用需要 3 個相互依賴的組件:面向用戶的應(yīng)用、智能合約和賬本。
頂層是面向用戶的應(yīng)用,用于滿足網(wǎng)絡(luò)參與者的需求。該應(yīng)用讓用戶調(diào)用智能合約在業(yè)務(wù)網(wǎng)絡(luò)中觸發(fā)交易。智能合約 封裝網(wǎng)絡(luò)的業(yè)務(wù)邏輯:資產(chǎn)、所有權(quán)和傳輸方式。每次調(diào)用智能合約,都會在網(wǎng)絡(luò)中創(chuàng)建一個交易并更新賬本。賬本 持有智能合約數(shù)據(jù)的當(dāng)前值(如 vehicleOwner=Daisy),并分發(fā)到整個網(wǎng)絡(luò)。
6. 區(qū)塊鏈用例
區(qū)塊鏈技術(shù)對許多行業(yè)而言是一種潛在的顛覆性技術(shù),因為它能更順利、更高效地組織活動。而且它能協(xié)調(diào)參與者之間更大規(guī)模的活動。下面給出了一些可從區(qū)塊鏈技術(shù)中受益的用例:
(1)物聯(lián)網(wǎng)
- 設(shè)備管理
(2)醫(yī)療保健
- 電子醫(yī)療記錄
- 病毒庫
- 種子庫備份
- 醫(yī)生-供應(yīng)商 RFP 服務(wù)和保險合同
- 區(qū)塊鏈健康研究共享空間
- 區(qū)塊鏈健康司法人員
(3)金融服務(wù)
- 信用證
- 公司債務(wù)和債券
- 交易平臺
- 支付匯款
- 再購買協(xié)議
- 外匯
(4)保險
- 索賠處理
- P2P 保險
- 所有權(quán)
- 銷售和承保
(5)政府
- 政府招標(biāo)程序
- 選舉
- 稅收
(6)工業(yè)
- 制造流程
(7)零售
- 顧客忠誠度
(8)跨行業(yè)
- 身份管理
- 信托行業(yè)
- 資本資產(chǎn)管理
(9)其他行業(yè)
- 游戲
- 音樂