曲速未來 消息:區塊鏈Oracle如何與智能合約交互區塊鏈
區塊鏈安全咨詢公司曲速未來表示:智能合約的概念在區塊鏈技術領域已經使用了很長時間。比特幣允許編寫程序代碼以迫使各方遵守協議條款。實現更復雜的編程語言來編寫合同是為了增加它們的潛力并擴展它們的使用。以太坊本身可以被視為這種智能合約應用的原始模型。
區塊鏈安全咨詢公司 曲速未來 表示:智能合約的概念在區塊鏈技術領域已經使用了很長時間。比特幣允許編寫程序代碼以迫使各方遵守協議條款。實現更復雜的編程語言來編寫合同是為了增加它們的潛力并擴展它們的使用。以太坊本身可以被視為這種智能合約應用的原始模型。
使用智能合約可確保在滿足特定條件時自動執行協議。但是,必須驗證是否滿足這些條件。如果事務只涉及區塊鏈及其組件,則沒有問題。不幸的是,區塊鏈不存儲有關離線世界的任何信息。因此,這種驗證不能完全通過區塊鏈和智能合約來實現。
智能合約有缺陷
一些區塊鏈解決方案允許編寫智能合約以便能夠處理外部數據源。不幸的是,這涉及各種并發癥和不可接受的后果。由于不同地理位置,網絡時間滯后,分布式服務等對計算機網絡的破壞,同一智能合約的兩個實例在計算后可能會有不同的結果。如果不同節點上的兩個類似的合同得出不同的結論,則會發生事務不一致。因此,交易可能永遠不會被添加到塊中,甚至可能導致分叉。此外,智能合約的主要概念有以下缺點:
·合同以區塊鏈為基礎;
·正確的目標執行需要考慮變化的因素;
·正確寫合同很困難;
·無法更改或刪除已激活的合同。
Oracle簡介
為了補償訪問限制,智能合約需要區塊鏈和外部環境之間的鏈接。一個名為“Oracle”的軟件扮演著這樣的角色。簡而言之,oracle是一個提供基于區塊鏈的合同的程序,可以訪問外部信息。合同要求Oracle提供有助于其做出決策的信息,Oracle將相應地向合同提供此信息。
Oracle可以被認為是一種特殊類型的智能合約。實際上,oracle代碼必須放在一個完整的節點中。它與來自智能合約的請求交互,并根據嚴格的算法運行。另一方面,oracle本身不會對區塊鏈內容進行任何更改。它只能向外部數據源發送請求,并將響應重新傳輸到智能合約。
應該指出的是,每個區塊鏈的智能合約都是不同的。這是由于應用了不同的編程語言。就比特幣而言,它是一種腳本語言。以太坊智能合約是一個用多種語言編寫的成熟程序。其他加密貨幣可能有完全不同的方法。契約的差異決定了眾神的多樣性。盡管如此,甲骨文在智能合約中的作用并沒有根本的不同。
后記
區塊鏈安全咨詢公司 曲速未來 表示:智能合約是區塊鏈中包含的小型程序產品。每個完整節點所有者都擁有所有智能合約的完整副本。智能合約只能使用區塊鏈內容來制定決策。
Oracle是位于區塊鏈邊界的程序代碼,可以與智能合約交換數據。 Oracle扮演著硬件或軟件界面的角色。顯然,區塊鏈上唯一的智能神諭威脅到完全不信任交易對手的原則。為解決此問題,Oracle使用了多種方法,包括驗證硬件組件。
本文內容由 曲速未來 (WarpFuture.com) 安全咨詢公司整理編譯,轉載請注明。 曲速未來提供包括主鏈安全、交易所安全、交易所錢包安全、DAPP開發安全、智能合約開發安全等相關區塊鏈安全咨詢服務。
1.TMT觀察網遵循行業規范,任何轉載的稿件都會明確標注作者和來源;
2.TMT觀察網的原創文章,請轉載時務必注明文章作者和"來源:TMT觀察網",不尊重原創的行為TMT觀察網或將追究責任;
3.作者投稿可能會經TMT觀察網編輯修改或補充。