1. 程式人生 > >區塊鏈筆記(三):stateRoot、nonce值的作用、Hyperledger Fabric和Composer區別、聯盟鏈和中心賬本區別

區塊鏈筆記(三):stateRoot、nonce值的作用、Hyperledger Fabric和Composer區別、聯盟鏈和中心賬本區別

問題1:為什麼要有stateRoot?
方便節點間狀態的互相驗證,保證交易的每個區塊的一致性。

問題2:nonce值有什麼用?
1.區塊中的nonce值:和mixhash值一起用於挖礦;
2.交易中的nonce值:用來區別同一使用者發出的不同交易的標記。①確認交易順序;②防止雙花;③撤銷pending中的交易;④確定生成的合約地址。

問題3:Hyperledger Fabric的特點,和Composer的關係?
Hyperledger Fabric是Hyperledger(超級賬本)的專案之一,是為企業構建的領先的開源、通用區塊鏈結構,目的是為了幫助企業更容易地建立企業級區塊鏈解決方案。而且Hyperledger Fabric的思想與以太坊等公有鏈平臺有所不同,它的中心化更高,鏈只限於聯盟中的成員使用,相對的,犧牲去中心化換來的是比公有鏈更高的效能。

Hyperledger Composer支援現有的Hyperledger Fabric區塊鏈基礎架構,總的來說,Hyperledger Composer是屬於Hyperledger下的,包含了開發構架,和工具的開源專案,是為了抽象出介面,可以和任何區塊鏈網路對聯,目前的開發狀況基本上是基於Hyperledger Fabric來實現的。

問題4:聯盟鏈智慧合約和中心賬本的區別?
中心賬本即是記賬權的集中,資料庫的集中。這是一個有效率的方式,但是“中心”的可信度和資訊儲存的密集性,讓中心賬本的安全性比較低,而且易形成壟斷。
分散式賬本則是把資料加密之後分散式地儲存在各個節點之內,每次賬本的驗證和修改都必須修改所有節點的資料,這是一種非常安全的記賬形式,但是效率不高。
聯盟鏈是中心賬本和完全分散式賬本的折中,由少數預選節點成為記賬人,調節記賬人的數量可以在安全性和效率之間取得一個比較理想的點,這就是“部分去中心化”。