官术网_书友最值得收藏!

1.4 去中心化應用DApp

去中心化應用(Decentralized Application, DApp)是一種運行在去中心化點對點(P2P)網絡上的應用軟件。與目前的手機應用類似,DApp也是一類App。但是它不是運行在iOS、安卓平臺上,而是運行在以太坊這個操作系統上。DApp具有開源、去中心化、激勵機制和共識機制等特性。從廣義上說,具有以上特性的分布式應用均可被稱為DApp,如比特幣、以太坊等公網區塊鏈;從狹義上說,運行在區塊鏈上的一組智能合約組成了DApp,本節主要介紹以太坊以及基于以太坊智能合約的去中心化應用。

1.4.1 DApp的優勢

一般來說,一款應用軟件由前端和后端兩部分組成。常見的應用軟件的前端代碼(如用戶界面等)運行在用戶機器上,而后端代碼(如存儲和管理等邏輯)運行在一個中心化服務器上。與一般的應用軟件不同,DApp的后端運行在分布式網絡中的各個用戶節點上,包含一套實現數據的去中心化存儲和管理等邏輯的協議代碼。在以太坊區塊鏈上,DApp后端代碼由智能合約具體實現。相比于現有的中心化應用軟件,DApp具有以下幾個特點及優勢。

第一,DApp均為開源項目,具有公開透明的特點。從理論上講,DApp的運行過程應該由代碼自治管理并且任何個人或組織均不能單獨地決定其操作。盡管軟件的協議等內容可以根據改進計劃或市場反饋等進行修改,但所有的代碼修改必須由大多數用戶達成共識所決定。為使所有用戶可以檢查驗證DApp的代碼邏輯,DApp的源代碼應該被公開。例如,基于以太坊的DApp不僅其字節碼會被記錄于區塊鏈上的交易數據中,其智能合約代碼也應該被開源。此外,以太坊本身也是開源的,因此所有用戶均可以檢驗DApp代碼的運行細節。

第二,去中心化是DApp所具有的最大特點。DApp運行的所有操作必須被記錄于一條公開的、去中心化的區塊鏈之上,可以有效地避免中央服務器發生錯誤帶來的問題。基于以太坊的DApp在運行過程中,其智能合約部署過程和調用操作均被記錄于以太坊區塊鏈上的交易記錄中,實現了應用數據的去中心化存儲。

第三,DApp具有激勵機制。在一般的中心化應用軟件運行過程中,開發者需投入一定成本用于維護軟件在服務器上的運行。而DApp運行于網絡中各用戶節點之上。為了使網絡中眾多用戶愿意投入一定的資源以用于運行和維護該應用,DApp需要設計激勵機制,用于獎勵投入算力、內存空間等資源以維持DApp運行的用戶。例如,在以太坊等區塊鏈項目中,區塊的制造者(“礦工”)投入了一定的算力資源用于執行交易和制造區塊,在區塊得到共識認證之后,該區塊的制造者會得到相應的以太幣獎勵。

第四,DApp具有共識協議。不同于中心化應用的服務器集中管理,DApp在運行過程中還需要一套協議機制,用于使大多數用戶對其運行過程達成共識。DApp開發者需設計或選擇一套共識協議,使得網絡中各用戶節點在運行該DApp的過程中,通過密碼學算法展示某種特定的價值證明,向其他用戶節點證明其運行的正確性,從而使網絡中的所有節點對某一運行過程達成共識。例如,以太坊中現有的工作量證明(PoW)共識協議以及未來計劃實現的股權證明(PoS)共識協議就是用于確保大多數用戶節點對區塊的正確性達成共識的機制。

1.4.2 DApp實例

區塊鏈技術的迅速發展催生了許多區塊鏈項目,由于區塊鏈的普適性,使其可以深入各個領域的應用之中。圖1-8展示了區塊鏈項目的生態系統,橫跨了貨幣、開發工具、主權、金融科技、價值兌換、共享數據、認證系統以及市場預測等領域。其中,以太坊及其智能合約平臺之上的各種DApp也成為區塊鏈生態中不可或缺的一部分,比如本節將談論的算力價值交換DApp的Golem項目、市場預測DApp的Augur項目以及金融科技中去中心化交易所KyberNetwork項目等。

圖1-8 區塊鏈項目生態https://medium.com/@josh_nussbaum/blockchain-project-ecosystem-8940ababaf27。

1.Golem

Golem是一款基于以太坊區塊鏈的DApp,旨在創造一個全球空閑計算資源的產消市場。通過Golem,用戶可以向其他用戶出租自己目前未使用的計算資源,同時也可以向其他用戶租借計算資源用以解決一些消耗較多算力的任務。一方面,Golem客戶端軟件使用去中心化的P2P網絡實現用戶節點之間計算資源的調配;另一方面,Golem借助以太坊區塊鏈上的智能合約創建代幣GNT,用以完成用戶之間的交易。

Golem通過在用戶之間搭建P2P網絡架構,并借助以太坊智能合約實現代幣交易,保證了其去中心化和安全的特點。去中心化的P2P網絡使得Golem系統無需擁有一個可信權威,也可避免個別節點失效對整個網絡造成的影響,同時允許系統擁有更大的規模。除此之外,Golem是一個開源項目,任何感興趣的開發者均可以在Golem的基礎上部署自己的集成模塊,甚至可以再實現一個合適的貨幣機制。

2.CryptoKitties

CryptoKitties是一款基于以太坊區塊鏈的養貓娛樂DApp,用戶可以在DApp中飼養和繁育虛擬的小貓。CryptoKitties的智能合約中采用ERC 721標準將小貓定義為“不可替代的代幣”(Non-Fungible Token, NFT),這使得DApp中的小貓形態各異,每只貓都獨一無二,具有各自獨有的基因和形態,并且公貓與母貓能夠繁殖全新的小貓。這些特征使得游戲具有較強的娛樂性。CryptoKitties也因此在以太坊上引起一陣熱潮,上線僅兩周的時間便吸引了超過十五萬名用戶,用戶在這款DApp上發出的交易量甚至占到了以太坊網絡中所有交易的四分之一,一度造成了網絡堵塞。

3.Augur

Augur是一款基于以太坊區塊鏈的DApp,是一個用于預測未來真實事件的市場預測平臺。用戶可以通過Augur平臺對尚未發生的真實事件作出自己的預測,如果預測正確則可以獲得獎勵,否則會有一定的損失。Augur在以太坊區塊鏈上部署了一套用于市場預測的智能合約,用戶通過Augur應用軟件的前端界面調用該智能合約的相關函數。預測過程中的發起、押注、獲得結果和獎懲分配等相關步驟均由各用戶節點上的Augur前端調用該智能合約執行,充分利用以太坊的智能合約機制保證了代幣交易的安全性。

作為一款DApp, Augur相比于其他預測應用軟件的最大優勢在于去中心化。Augur搭建在以太坊這一去中心化平臺上意味著預測的流程不像其他預測軟件一樣可能受某個中央服務器人為控制。此外,Augur和以太坊開源的特點使得所有人可以用很低的成本、非常方便地創建一個預測流程,同時也可以監督其他預測流程的執行過程。

4.Bancor

Bancor是一款用于實現以太坊上代幣之間兌換的交易所DApp。通過Bancor部署在以太坊上的智能合約,用戶可以將包括以太幣及各種符合ERC 20標準的代幣兌換成Bancor代幣BNT。Bancor的獨特之處在于使用了一套經濟學的換算公式,使得各種代幣均能根據其現有價格、總市值等標準與BNT進行兌換。Bancor的出現為以太坊上種類繁多的合約代幣提供了一個較為統一的兌換平臺,無論代幣的總市值規模大小、兌換數額的多少,Bancor引入的換算公式均能維持所兌換代幣價格的穩定,促進了以太坊上各種代幣的流通性。

5.KyberNetwork

KyberNetwork(KNC)是一款數字貨幣交易所DApp,用于實現跨區塊鏈的各種代幣之間的交易,但不同于Bancor,其主要目標是實現更高效、更靈活、兼容性更強的代幣實時兌換交易。KyberNetwork目前搭建在以太坊上,用戶可以通過其客戶端實現交易過程中的實時代幣兌換。當用戶希望向其他用戶轉賬A代幣,而接收方希望收到B代幣時,用戶可以向KyberNetwork的智能合約發送A代幣,KyberNetwork在其去中心化的代幣儲備池中實時兌換出相應價值的B代幣并發送給接收方,完成一筆交易。此外,KyberNetwork將實現更多智能合約接口并提供給現有的以太坊錢包,用以對接更多的新代幣,拓展錢包可接收的代幣種類。

KyberNetwork在以太坊的基礎上實現了一個去中心化、無需信任的交易所,其內部機制主要由以太坊智能合約實現。KyberNetwork的代幣兌換都是鏈上交易,兌換過程可被立即確認,過程結束后也可追溯,并且用戶無需更改以太坊底層協議或其他智能合約協議。因此,相比于中心化的交易所應用軟件,KyberNetwork提供了更高效的處理過程和更安全的交易環境,并且具有更高的靈活性和兼容性。

主站蜘蛛池模板: 丰镇市| 西华县| 徐州市| 五家渠市| 三门峡市| 黄陵县| 清原| 通辽市| 井冈山市| 岳阳市| 大关县| 习水县| 怀来县| 海盐县| 东源县| 瑞昌市| 苏州市| 乌兰察布市| 玉林市| 南部县| 定安县| 年辖:市辖区| 通海县| 岳阳市| 九台市| 育儿| 巴中市| 泉州市| 临夏县| 吉隆县| 广元市| 伊川县| 和田市| 潮安县| 和平区| 怀化市| 汉中市| 乌什县| 历史| 和林格尔县| 正安县|