預(yù)言機
在區(qū)塊鏈和智能合約的背景下,預(yù)言機只是一個代理,用于查找并驗證真實世界的事件并將此信息提交給智能合約使用的區(qū)塊鏈。
智能合約包含資產(chǎn),并且只有在滿足某些預(yù)定條件時才解鎖該資產(chǎn)。當達到一個特定的值時,智能合約改變其狀態(tài)并執(zhí)行程序化的預(yù)定義算法,自動觸發(fā)區(qū)塊鏈上的事件。預(yù)言機的主要任務(wù)是以安全可信的方式將這些值提供給智能合約。
區(qū)塊鏈不能訪問網(wǎng)絡(luò)之外的數(shù)據(jù)。 預(yù)言機是一種數(shù)據(jù)傳送,由第三方服務(wù)提供,用于區(qū)塊鏈上的智能合約。當預(yù)定條件滿足時,預(yù)言機提供外部數(shù)據(jù)并觸發(fā)智能合約執(zhí)行。這種情況可以是任何數(shù)據(jù),如天氣溫度,成功支付,價格波動等。
預(yù)言機是多重簽名合同的一部分,例如原始受托人只有在滿足特定條件時才簽署有關(guān)將來釋放資產(chǎn)的合同。在任何資產(chǎn)被釋放之前,預(yù)言機還必須簽署智能合約。
預(yù)言機的類型
根據(jù)使用類型有不同類型的預(yù)言機。
Software Oracles:用于處理在線信息。例如溫度,商品和商品價格,航班或火車延誤等。數(shù)據(jù)來源于在線資源,如公司網(wǎng)站。Software Oracles提取所需信息并將其推送到智能合約中。
Hardware Oracles:一些智能合約需要直接來自物理世界的信息,例如汽車越過障礙物,移動傳感器必須檢測車輛并將數(shù)據(jù)發(fā)送至智能合約。另一個用例是供應(yīng)鏈行業(yè)的RFID傳感器。Hardware Oracles的最大挑戰(zhàn)是在不犧牲數(shù)據(jù)安全性的情況下報告數(shù)據(jù)的能力。 Oracles通過提供傳感器讀數(shù)和防篡改機制的密碼證據(jù),提出了兩步的解決風險的方案,使得設(shè)備在違規(guī)情況下無法工作。
Inbound Oracles:提供來自外部世界的數(shù)據(jù)的智能合約。例如,如果美元達到一定價格,自動執(zhí)行買入指令。
outbound Oracles:提供了將數(shù)據(jù)發(fā)送到外部世界的智能合同。例如,物理世界中的智能鎖會在其區(qū)塊鏈地址上收到付款并需要自動解鎖。
Consensus Based Oracles:如Augur和Gnosis預(yù)測市場時,嚴重依賴預(yù)言機來確認未來的結(jié)果。只使用一種信息來源,可能存在風險。為了避免操縱預(yù)測市場,實現(xiàn)了預(yù)言機的評級系統(tǒng)。為了進一步的安全性,可以使用不同的預(yù)言機的組合,例如用5個預(yù)言機中的3個輸出作為事件的結(jié)果。
安全挑戰(zhàn)
預(yù)言機是第三方服務(wù),不屬于區(qū)塊鏈共識機制。 預(yù)言機的主要挑戰(zhàn)是人們需要信任這些信息來源。 無論是網(wǎng)站還是傳感器,信息的來源都需要值得信賴。 可以使用不同的可信計算技術(shù)來解決這些問題。 例如Oracalize等公司一直在利用基于TLSNotary的技術(shù)。 Town Crier則專注于利用英特爾的Software Guard Extensions (SGX)。 提供可靠的信息來源的智能合約對用戶來說至關(guān)重要,因為一旦出錯就沒有后悔藥吃。
分散式應(yīng)用程序(dApp)
分散式應(yīng)用程序(dApps)是在多臺計算機的P2P網(wǎng)絡(luò)上運行的應(yīng)用程序,而不是在一臺計算機上運行的。 dApps自P2P網(wǎng)絡(luò)出現(xiàn)以來一直存在。 它們是一種軟件程序,其設(shè)計目的是以不受任何單一實體控制的方式存在于互聯(lián)網(wǎng)上。
分散式應(yīng)用程序不一定需要在區(qū)塊鏈網(wǎng)絡(luò)之上運行。 BitTorrent,Popcorn Time,BitMessage,Tor都是在P2P網(wǎng)絡(luò)上運行的傳統(tǒng)dApp,但并不是在區(qū)塊鏈上(區(qū)塊鏈是一種特定的P2P網(wǎng)絡(luò))。
與簡單的智能合約相反,就比特幣的經(jīng)典意義而言(A轉(zhuǎn)賬給B),dApps在市場上的各個方面擁有無限數(shù)量的參與者。
DApps vs Smart Contracts
dApps是一個“支持比特幣”的網(wǎng)站,其中智能合約允許它連接到區(qū)塊鏈。 了解他們之間的區(qū)別的最簡單方法是了解傳統(tǒng)網(wǎng)站的運作方式。
傳統(tǒng)的Web應(yīng)用程序使用HTML,CSS和JavaScript來呈現(xiàn)頁面。 它還需要利用API從數(shù)據(jù)庫中獲取細節(jié)。 當您進入Facebook時,該頁面將調(diào)用API來獲取您的個人信息并將其顯示在頁面上。
dApps類似于傳統(tǒng)的Web應(yīng)用程序。 前端使用完全相同的技術(shù)來渲染頁面。 一個關(guān)鍵的區(qū)別是,沒有連接到數(shù)據(jù)庫的API,而是有一個智能合約連接到區(qū)塊鏈
與傳統(tǒng)的集中式應(yīng)用程序(后端代碼在集中式服務(wù)器上運行)相反,dApp的后端代碼運行在分散式P2P網(wǎng)絡(luò)上。 分散式應(yīng)用程序由從后端到前端的整個軟件包組成。 智能合約只是dApp的一部分。
另一方面,智能合約僅包含后端,并且通常只包含整個dApp的一小部分。 這意味著,如果您想在智能合約系統(tǒng)上創(chuàng)建分散式應(yīng)用程序,則必須合并多個智能合約,并依靠第三方系統(tǒng)作為前端。
dApp可以用何語言編寫前端代碼和用戶界面(就像應(yīng)用程序一樣),可以調(diào)用其后端。 此外,其前端可以托管在分布式存儲上,如Swarm或IPFS。
dApps Requirements
如果一個應(yīng)用程序為基于區(qū)塊鏈的dApp,它必須符合以下條件:
(1)必須完全開源。它必須自主運作,并且沒有實體控制其大部分代幣。 應(yīng)用程序可能會根據(jù)建議的改進和市場反饋調(diào)整其協(xié)議,但其用戶必須在所有更改上達成共識。
(2)應(yīng)用程序的數(shù)據(jù)和操作記錄必須以加密方式存儲在公共的,分散的區(qū)塊鏈中,以避免出現(xiàn)中心節(jié)點故障。
(3)必須使用訪問應(yīng)用程序所需的加密代幣(比特幣或其系統(tǒng)本身的令牌),并且(礦工)的任何貢獻應(yīng)得到應(yīng)用代幣獎勵。
(4)應(yīng)用程序必須根據(jù)標準加密算法生成代幣,作為節(jié)點為應(yīng)用程序做出貢獻的證明(比特幣使用PoW算法)。
dApp開發(fā)過程
(1)白皮書和相關(guān)協(xié)議。發(fā)布白皮書描述dApp及其功能。 白皮書可以概述dApp開發(fā)的想法,但也需要一個工作原型。
(2)建立初始的代幣。
(3)初始發(fā)行代幣,分散Dapp的所有權(quán)。
(4)開發(fā)和部署。
Example: Ethereum dApps
以太坊計劃為分散式應(yīng)用程序創(chuàng)建協(xié)議。 以太坊為開發(fā)人員提供了一個基礎(chǔ)層:內(nèi)置確定型圖靈機編程語言的區(qū)塊鏈,它允許任何人編寫智能合約和分布式應(yīng)用程序,在這些應(yīng)用程序中他們可以為所有權(quán),交易格式和狀態(tài)轉(zhuǎn)換創(chuàng)建他們自己的任意規(guī)則。 總的來說,在以太坊之上有三種類型的應(yīng)用程序:
(1)金融應(yīng)用。為用戶提供更強大的管理方式,用他們的訂合同
(2)半金融應(yīng)用。涉及貨幣的方面,但是所做的事情也有非常重要的非貨幣方面的。
(3)政府應(yīng)用。如,在線投票,分金融的分布式管理。
dApps的例子
(1)代幣系統(tǒng):區(qū)塊鏈代幣系統(tǒng)有許多應(yīng)用程序,從代表資產(chǎn)(如美元或黃金)的子貨幣到公司股票,代表智能財產(chǎn)的個人代幣,安全且不可偽造的優(yōu)惠券,甚至與傳統(tǒng)貨幣無關(guān)的代幣系統(tǒng),用作激勵的積分系統(tǒng)。
(2)金融衍生工具和價值穩(wěn)定的貨幣:例如,一個非常理想的應(yīng)用程序是一個智能合約,通過使用數(shù)據(jù)饋送(如來自納斯達克),避免以太幣相對于美元的波動性。。
(3)身份與聲譽系統(tǒng):聲明土地所有者名稱的合同可以添加到以太坊網(wǎng)絡(luò)中,但不能修改或刪除。任何人都可以注冊一個具有一定價值的名稱,然后該注冊將永久保存。
(4)分散式文件存儲:類似Dropbox的dApp,其中智能合約將所需數(shù)據(jù)分成塊,對每個塊進行隱私加密,并從中構(gòu)建Merkle樹,然后將整個數(shù)據(jù)分散到計算機的p2p2網(wǎng)絡(luò)。但私人數(shù)據(jù)不會存儲在區(qū)塊鏈中。
(5)分散的自治組織(DAO):擁有一定數(shù)量的成員或股東的虛擬實體,可能擁有67%的多數(shù)股份,有權(quán)使用該實體的資金并修改其代碼。成員們將共同決定組織如何分配資源。
在開放源代碼的許可下,允許dApps在不受版權(quán)或?qū)@拗频那闆r下開放創(chuàng)新。 另外,通過完全開放源代碼,分散式應(yīng)用程序可以在開源軟件的合法模式下運行。 比如,比特幣使用MIT開源軟件許可證。
-
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2931文章
46265瀏覽量
392947 -
區(qū)塊鏈
+關(guān)注
關(guān)注
112文章
15568瀏覽量
108447 -
以太坊
+關(guān)注
關(guān)注
14文章
1838瀏覽量
32753
原文標題:當物聯(lián)網(wǎng)邂逅區(qū)塊鏈
文章出處:【微信號:SSDFans,微信公眾號:SSDFans】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
物聯(lián)網(wǎng)藍牙模塊有哪些優(yōu)勢?
物聯(lián)網(wǎng)的應(yīng)用范圍有哪些?
物聯(lián)網(wǎng)未來發(fā)展趨勢如何?
物聯(lián)網(wǎng)工程師為什么要學Linux?
智慧消防物聯(lián)網(wǎng)平臺
蜂窩物聯(lián)網(wǎng)怎么選
為什么選擇蜂窩物聯(lián)網(wǎng)
宇樹科技在物聯(lián)網(wǎng)方面
物聯(lián)網(wǎng)就業(yè)有哪些高薪崗位?
用菊花鏈連接4片/8片/16片ADS1299,菊花鏈的前八個通道會出現(xiàn)雜波,怎么解決?
物聯(lián)網(wǎng)學習路線來啦!
R棒電感為什么會出現(xiàn)漏感的現(xiàn)象
聚徽-三防平板會出現(xiàn)什么問題

評論