當前位置:
首頁 > 科技 > 超越比特幣以太坊的區塊鏈技術:石墨烯項目簡介

超越比特幣以太坊的區塊鏈技術:石墨烯項目簡介

簡介

您可能已經聽到過像「比特幣」和「區塊鏈」這樣的詞,也可能聽說過「以太坊」,而且迫切的想知道這都是什麼玩意。

這都是有用的技術嗎?如果是的話,應該如何使用?

本文旨在通過強調概念背後的技術實例,來闡明區塊鏈的含義。

像OCI和許多其他技術一樣,區塊鏈是中間件。它本身並不是目的;而是達到目的的手段。

區塊鏈在很大程度上跟資料庫差不多,可以存儲並操作數據。然而也有不同的地方,數據作為交易的不可變記錄存儲在區塊鏈中。鏈條的完整性通過使用演算法來保持,該演算法可將每個新區塊與其之前的區塊歷史連接起來,形成區塊鏈。

石墨烯是開源的,主要是用C++開發,區塊鏈實現的最初目的是作為加密貨幣交易市場Bitshares的基礎。

石墨烯已被分叉和調整多次。原始版本由Cryptonomex管理。

石墨烯是開源的,它是以模塊化的方式開發,因此它適用於許多不同的用途。

除了Bitshares之外,它支撐了steem.io基金會,同時基於它的Steem區塊鏈孕育了steemit.com,這是一個類似於reddit.com和PeerPlays.com(一家博彩網站)的新聞匯總網站。

FollowMyVote.com是構建在Graphene區塊鏈上的另一個服務。 FollowMyVote使用石墨烯來促進安全的市政投票。

除此之外,石墨烯還有許多其他用戶。

什麼是區塊鏈

對於那些還沒有聽說過區塊鏈的人來說,網上有很多資料。 我建議你在油管上搜索「什麼是區塊鏈」,會有很多不錯的視頻

我在這裡會簡單講下區塊鏈是什麼和一些基本術語。

區塊鏈是數據狀態隨時間變化的交易記錄的鏈表。 這些記錄塊的鏈接是使用加密演算法完成的,演算法將當前塊中記錄的事務的信息以及該塊之前的區塊的信息合併在一起。

這是一個說明這個概念的圖表。

超越比特幣以太坊的區塊鏈技術:石墨烯項目簡介

一些術語定義

區塊

與區塊鏈相關的數據的容器。數據通常是一組描述數據變化的交易集合。可能是資產從一個所有者轉移到另一個所有者的記錄,或者可能是正在更新的一些個人信息的記錄。根據所需的特徵,區塊可能包含或多或少的事務數據。區塊還包含頭部,該頭部包含有關該區塊的某些元數據,還包括對前一個區塊的引用。

哈希

通過某種演算法計算得出的值,該演算法可唯一標識輸入數據而不會泄露該數據的內容。哈希值用於確保區塊鏈上數據的準確性。區塊頭部包含前一個區塊的哈希,可以快速驗證整個鏈的完整性。

創世塊

這是整個鏈的第一個區塊。它是在區塊鏈首次部署時創建的,用作所有其他區塊的錨點。

交易

對數據集進行更改的記錄。交易通常基於區塊鏈定義的規則。這些規則包括各方之間的合同。

智能合約

合約,可能包含自己行為的觸發事件。

節點

能夠在網路中增加區塊的網路中的主機。節點如何做到這一點則根據鏈的需要而變化。

分散式帳本

記錄跨節點共享的事務記錄。組成區塊鏈的很多節點構成分散式賬本。

共識演算法

在分散式賬本中的節點中使用,並由區塊鏈定義以確定區塊鏈正確性的方法。最普遍的共識演算法是「Pow(工作證明)」,「(Pos)股權證明」和「(DPoS)委託股權證明」。石墨烯採用委託股權證明。

工作證明(PoW)

一種共識演算法,依靠計算難度的挑戰來解決問題,以便找到新塊的哈希。雖然計算得到新區塊的難度很大,但其他節點驗證新區塊的難度很小,從而允許其他參與節點快速認同新區塊的正確性。

股權證明(PoS)

一種基於節點的共識演算法,節點持有可以參與區塊鏈的股權。通過證明股權,區塊可以更快地被添加到鏈中。

委託股權證明(DPoS)

這是一種變化的股權證明演算法,將創建塊的責任委託給稱為「證人」的第三方節點。

見證者節點

DPoS區塊鏈中的一個節點,負責執行創建新區塊的任務。

使用區塊鏈

隨著越來越多的人了解區塊鏈,用例示例池也在不斷增加。

區塊鏈最早的用途集中在虛擬貨幣的轉移。其資產轉移能力可以擴展到供應鏈管理,證據保管或任何其他需要無可辯駁的所有權證明的情況。

另外一類用例著重於強制執行交易的規則管理。這些規則可以定義合約,這些合約可能包括使合約本身成為參與者的行為編碼。這些通常被稱為智能合約。

我們將在隨後的SETT文章中仔細研究石墨烯上的智能合約

共識是區塊鏈力量的主要貢獻者,特別是在參與者相互不知道對方並缺乏信任的情況下。通過定義由節點生成區塊並由其他節點驗證區塊的演算法解決信任問題。

但是將專有數據或其他敏感數據放在可公開訪問的區塊鏈上可能並不理想。在這些情況下,區塊鏈可能會變得私密。私有區塊鏈可以使用更簡單的共識機制,這反過來又使其更容易部署在少數節點上,甚至可能只有一個節點。

石墨烯簡介

石墨烯區塊鏈不是單個應用程序。 它由許多庫和可執行文件組成,以提供可部署的節點。

圖2提供了石墨烯源代碼包的圖解。

除了下面顯示的軟體包之外,Graphene還依賴於標準的C ++ 11和Boost軟體包,同時還提供了大量的測試套件。

超越比特幣以太坊的區塊鏈技術:石墨烯項目簡介

獲取石墨烯

石墨烯是GitHub上的開源軟體。 代碼倉庫可以在Cryptonomex站點找到。

有三個項目需要克隆:graphene,graphene-ui和fc。

OCI的GitHub頁面包括石墨烯和graphene-ui,它們是我們的研究基礎。 您可以通過訪問https://github.com/objectcomputing/graphene和https://github.com/objectcomputing/graphene-ui 來克隆OCI的石墨烯副本。

這兩個工具包的構建和部署說明包含在它們各自的Readme.md文件中。

石墨烯有三個可執行文件:witness_node,cli_wallet和genesis_util。 一旦編譯完成,你可以嘗試運行一個見證節點。


請注意,此示例顯示如何使用命令行選項運行見證節點。

超越比特幣以太坊的區塊鏈技術:石墨烯項目簡介

在運行節點後,可以使用cli_wallet連接到節點。 在第二個終端窗口中,運行命令行錢包應用程序。

超越比特幣以太坊的區塊鏈技術:石墨烯項目簡介

此時,您可以使用help命令來了解如何使用錢包。

使用石墨烯API編程

石墨烯的基本API基於遠程過程調用(RPC)。 可用的具體功能取決於由特定區塊鏈實例定義的合同條款。

首先通過登錄API訪問公共認證模塊。 通過身份驗證後,客戶端應用程序能夠收集其他遠程對象引用並調用它們。

FC庫用於管理傳輸細節,允許節點接受各種傳輸協議。

到目前為止,witness_node應用程序僅接受HTTP格式的請求。 在C++應用程序中,Graphene應用程序和FC庫一起工作,從而提供了一個簡單的編程模型。

下面是一個來自cli_wallet應用程序的示例,展示了如何連接到節點伺服器,登錄並進行其他調用。

超越比特幣以太坊的區塊鏈技術:石墨烯項目簡介

這裡顯示的是 wdata 是從命令行、配置文件等收集初始化信息。然後創建客戶端連接,登錄(表明已登錄成功),創建一個錢包實例,以進行進一步調用。

尋找未來的SETT文章,以更深入地探索石墨烯API。

下一步

區塊鏈擁有許多應用,從金融服務到身份安全,再到供應鏈管理等等。 為了支持這些眾多的應用,區塊鏈有許多不同的實現。

我相信石墨烯是一個特別重要的區塊鏈框架,因為它的模塊化特性。 通過從邏輯中分離節點間通信支持,可以在另一種傳輸機制(例如OCI的OpenDDS)上替換石墨烯的邏輯組件。 該開源產品使基於OpenDDS的低功耗應用(如IIoT設備),以儘可能少的開銷來增加區塊鏈相關功能。

我預計在其他領域,例如Grails,我們也會看到更多的區塊鏈技術應用。 隨著時間的推移,我希望看到OCI成為裁剪區塊鏈解決方案的領導者,無論是基於Graphene還是其他區塊鏈實現。

參考文獻

比特幣白皮書,開始它的所有文件:https://bitcoin.org/bitcoin.pdf

以太坊白皮書,關於智能合約的討論:http://www.the-blockchain.com/docs/Ethereum_white_paper-a_next_generation_smart_contract_and_decentralized_application_platform-vitalik-buterin.pdf

Bitshares白皮書集合涵蓋了石墨烯背後的理論:https://bitshares.org/technology

Coindesk,提供有關區塊鏈和加密貨幣的及時新聞資源:https://coindesk.com

加密貨幣價格的實時跟蹤器:https://coinmarketshares.com

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 高可用架構 的精彩文章:

區塊鏈傻瓜書:EOS與以太坊對比
只用200行Go代碼寫一個自己的區塊鏈!

TAG:高可用架構 |