今天,我們來看看區塊鏈技術的基本操作方法的結構。
下面java課程我們來看看具體情況。
計算技術的基本要素是存儲、處理和通信。
大型機、PC、移動設備和雲服務都以自己的方式呈現這些元素。
每個元素中也有特殊的構造塊來分配資源。
本文重點介紹區塊鏈的大框架:介紹區塊鏈各計算元素的模塊以及各模塊的壹些實現案例,偏重於概述而非詳解。
以下是去中心化技術中每個計算元素的構建塊:存儲:令牌存儲、數據庫、文件系統/blob處理:有狀態業務邏輯、無狀態業務邏輯、高性能計算通信:數據、值和狀態連接網絡存儲作為基本計算元素,存儲部分包含以下構建塊。
令牌存儲。
代幣是價值(如資產、證券等)的存儲媒介。),價值可以是比特幣、航空裏程或數字作品的版權。
代幣存儲系統的主要功能是發行和傳輸代幣(有多種變體),同時防止多次支付等事件的發生。
比特幣和Zcash是兩個“純粹”的系統,只專註於代幣本身。
以太坊開始使用代幣進行各種服務,以實現其成為全球計算中心的理想。
在這些例子中,令牌被用作操作整個網絡架構的內部激勵。
有些令牌並不是網絡用來推動自身運行的內部工具,而是作為更高壹級網絡的激勵手段,但其令牌實際上是存儲在底層架構中的。
壹個例子是ERC20令牌,如假人,它運行在以太坊的以太網層。
另壹個例子是Envoke的IP授權令牌,它運行在IPDB網絡層。
數據庫。
數據庫專門用於存儲結構化元數據,例如數據表(關系數據庫)、文檔存儲(如JSON)、鍵值存儲、時間序列或圖形數據庫。
數據庫可以使用類似SQL的查詢來快速檢索數據。
傳統的分布式(但集中式)數據庫,如MongoDB和Cassandra,通常存儲數百TB甚至數Pb的數據,性能可以達到每秒百萬次寫入。
SQL之類的查詢語言是非常強大的,因為它區分了實現和規範,所以不會綁定到某個特定的應用。
幾十年來,SQL壹直被用作標準,因此同壹個數據庫系統可以用於許多不同的行業。
換句話說,討論比特幣之外的壹般性,沒必要談圖靈完備性。
妳只需要壹個數據庫,簡單易擴展。
有時候圖靈完備性也很有用,我們會在“分散處理”壹節詳細討論。
BigchainDB是壹個去中心化的數據庫軟件和壹個專門的文檔存儲系統。
它基於MongoDB(或RethinkDB)並繼承了它的查詢和擴展邏輯。
但它也具有區塊鏈的特點,如分散控制、防篡改和令牌支持。
IPDB是BigchainDB的壹個受監管的公開例子。
在區塊鏈領域,也可以說IOTA是壹個時間序列數據庫。
文件系統/blob數據存儲。
這些系統在目錄和文件的分層結構中存儲大文件(電影、音樂、大數據集)。
IPFS和太浩LAFS是分散的文件系統,包含分散或集中的blob存儲。
FileCoin,Storj,Sia,Tieron都是去中心化的blob存儲系統,還有老的優秀的BitTorrent,雖然後者用p2p系統代替令牌。
以太坊Swarm,Dat,Swarm-JS基本支持以上兩種方式。
數據市場。
這個系統連接了數據擁有者(比如企業)和數據使用者(比如AI創業公司)。
它們位於數據庫和文件系統之上,但仍然是核心架構,因為無數需要數據的應用(比如AI)都依賴於這樣的服務。
Ocean是協議和網絡的壹個例子,可以基於它創建數據市場。
還有壹些特定應用的數據市場:EnigmaCatalyst用於加密市場,Datum用於私有數據,DataBrokerDAO用於物聯網數據流。
處理接下來,我們將討論處理這個基本的計算元素。
“智能合約”系統通常是指以分散形式處理數據的系統[3]。
它實際上有兩個屬性完全不同的子集:無狀態(組合)業務邏輯和有狀態(順序)業務邏輯。
無狀態和有狀態在復雜性和可驗證性上有很大的區別。
三個分散處理模塊是高性能計算(HPC)。
無狀態(組合)業務邏輯。
這是壹個任意的邏輯,不在內部保留狀態。
在電子工程方面,可以理解為組合數字邏輯電路。
這種邏輯可以用真值表、示意圖或帶有條件語句的代碼(if/then、and、or、not等判斷的組合)來表示。
因為它們沒有狀態,所以很容易驗證大型無狀態智能合約,從而創建大型可驗證的安全系統。
n個輸入和壹個輸出需要o (2 n)次計算來驗證。
交叉分類帳協議(ILP)包括密碼條件(CC)協議,以便清楚地標記組合電路。
CC很好理解,因為它已經通過IETF成為互聯網標準,而ILP廣泛應用於各種集中式和分散式支付網絡(如銳博,超過75家銀行使用)。
CC有很多獨立版本,包括JavaScript,Python,Java等等。
BigchainDB、Ripple等系統也使用CC來支持組合的業務邏輯/智能契約。