智能合約實施指南

與區塊鏈技術同樣,智能合約在商業領域也很是有價值。php

爲了讓咱們的讀者完全瞭解智能合約是什麼以及它們如何影響現代商業的交易方式,咱們準備了本指南。java

集中商業模式正在給去中心化的模式讓路

傳統的商業關係模型都是集中式的,始終存在一個第三方,​​它位於正在進行交易並確認合約中的條款和條件在交易雙方間。該第三方能夠是銀行機構,執法機關,政府機構或其餘中介機構。node

在集中模型中創建關係時,企業依賴於中介,這會使客戶面臨風險。此外,中央系統沒法保證合約的支付和實施。python

區塊鏈技術的發展使企業可以創建去中心化的模型,爲企業開展交易和達成協議開闢了新的視野。而提出替代傳統模式的技術之一是智能合約。android

智能合約概念

雖然智能合約的炒做隨着圍繞區塊鏈技術炒做的增加而增加,但智能合約一詞實際上出如今二十多年前。計算機科學家和密碼學家Nick Szabo在1995年寫了一篇關於智能合約的文章。程序員

Szabo提供的概念與智能合約當前提供的內容徹底一致,包括在分佈式分類賬中實施和存儲智能合約的想法。web

那麼智能合約究竟是什麼?算法

什麼是智能合約?

智能合約相似於物理世界中的合約,但它是數字化的,而且由區塊鏈中存儲的微小計算機程序表示。mongodb

更具體地說,智能合約是一種軟件,它存儲用於協商協議條款的規則,自動驗證履行,而後執行商定的條款。數據庫

智能合約的主要思想是什麼?因爲智能合約在創建業務關係時不依賴第三方,所以達成協議的各方能夠直接相互交易。

以一個衆籌平臺爲例子,產品團隊分享他們的項目並從支持者那裏收錢,直到達到目標。

若是這樣的平臺是集中式的——好比Kickstarter,那麼它就是產品團隊和捐贈者的支持者之間的第三方。這意味着雙方都須要信任Kickstarter,事實上,還要向Kickstarter這個中間人支付額外費用。

智能合約也能夠執行相同的衆籌行動——共享項目,設定目標和收集捐款,但沒有第三方。 簡而言之,咱們能夠編寫智能合約來執行全部這些操做。

更確切地說,咱們能夠編制一份智能合約來接收資金,直到達到目標。若是項目在截止日期以前得到全額資助,則自動籌集的資金將轉入產品團隊。若是項目失敗,資金將自動返回給支持者。

因爲智能合約存儲在區塊鏈內,其中全部數據以分佈式方式存儲,所以沒有人控制錢。在去中心化的商業模式中,智能合約取代任何其餘可信賴的第三方。這致使了一個很是重要的問題:

憑什麼信任智能合約?

智能合約是在區塊鏈中設計和實施的,所以它們繼承了區塊鏈的一些屬性:

  • 它們是不可改變的,這意味着智能合約永遠不會改變,沒有人能夠篡改或違反合合約。
  • 它們是分佈式的,這意味着合約的結果須要由網絡中的每一個人來驗證,就像區塊鏈上的任何交易同樣。分佈式的使攻擊者沒法強制控制釋放資金,由於全部其餘參與者都會檢測到此類嘗試並將其標記爲無效。

智能合約的工做方式

智能合約是一種程序,或者更簡單地說就是代碼。智能合約背後的代碼包含由特定的約定事件觸發時執行的特定術語。

讓咱們來看一個智能合約如何工做的例子,若是愛麗絲在洛杉磯出租房子,而紐約的鮑勃想租房子去那裏旅行。

一種邏輯行爲算法

一般狀況下,愛麗絲和鮑勃會使用一些平臺,它們將主人和客人聯繫起來贊成租房。這種平臺將做爲第三方,並確定負責遵照商定的條款。可是,Alice和Bob都將被平臺收取費用。此外,若是其中任何一方未能履行其承諾,爭議解決可能會耗費時間並須要詳細審查。

若是Alice和Bob改成使用智能合約達成協議,智能合約將根據其算法進行邏輯運算,並保證知足全部商定的條款和條件。智能合約具備不可變性,這是智能合約的DNA,它不會讓愛麗絲或鮑勃做弊。

所以,如下條款和事件能夠在Alice和Bob之間的智能合約中列出:

  • 1.建立了獨立存儲區,Alice和Bob均可以賦值,但不能改變。
  • 2.鮑勃在存儲區中存錢。
  • 3.愛麗絲將她的公寓地址和代碼放在存儲區。
  • 4.Alice收到付款確認,Bob收到地址和公寓代碼。
  • 5.若是Bob來到洛杉磯而且Alice提供的地址和代碼是正確的,那麼Alice會收到付款。
  • 6.若是看起來Alice提供的地址或代碼錯誤,Bob會收回他的錢。
  • 7.若是鮑勃不來洛杉磯,愛麗絲會得到違約賠償金,鮑勃獲得剩下的付款。
  • 8.在協議結束時,智能合約被視爲已履行並仍存儲在區塊鏈網絡中。

這組條件和事件表明了最基本的一次性智能合約。在智能合約的代碼中設置條款可確保滿意的執行。

區塊鏈技術自己保證了總體合約履行,由於區塊鏈的完整副本由全部網絡參與者公開存儲,智能合約仍然是不可變的。

一體式——全智能合約的邏輯

一旦Alice生成一份智能合約,能將她的公寓出租給Bob時並自動透明地爲她工做,她可能會考慮爲全部其餘租客建立一個通用協議,這樣她就不須要爲每位新客人建立一份新的智能合約。

根據這項廣泛協議,區塊鏈網絡上的任何人均可以按照上述算法租用Alice的公寓:潛在的客人轉移租金,獲取地址和公寓代碼,而後若是一切按照二者的合同條款運行,Alice會收到付款。

此外,智能合約能夠更加廣泛。咱們能夠編制一份智能合約,不只能夠被愛麗絲使用,也能夠被任何想要出租他或她的公寓的人使用。固然,智能合約能夠包含更具體的條件,例如自動調整的價格,折扣,部分付款以及幾乎任何其餘能夠想象的選項。

使用智能合約的區塊鏈網絡

關於區塊鏈技術的智能合約已經說了不少。雖然在不一樣的區塊鏈網絡和項目中有不少智能合約的實例,但最值得注意的仍然是比特幣和以太坊。

比特幣

雖然比特幣主要以比特幣加密貨幣交易而聞名,但其協議也可用於建立智能合約。比特幣提供了一種編程語言,容許自定義智能合約,如多重簽名賬戶,支付渠道,託管和時間鎖。特別是,在比特幣的區塊鏈上創建了一個名爲RootStock的獨立智能合約平臺。

以太坊

以太坊是最突出的智能合約框架,專爲支持智能合約而建立和設計。該框架採用Solidity語言編程,是一個去中心化的平臺,能夠運行智能合約,不會出現停機,審查,欺詐或第三方干擾的狀況。以太坊區塊鏈數據庫存儲人員之間的交易,涉及智能合約的交易及其源代碼。

智能合約的好處

顯式編程算法(如去中心化,透明度,防欺詐等)的核心和區塊鏈屬性使智能合約成爲創建業務關係和執行交易的可靠替代方案。

做爲具備集中式商業模式的傳統合約的替代方案,如下是智能合約爲企業提供的好處:

  • 直接與客戶打交道。智能合約消除了對中間商的需求,並容許與客戶創建透明,直接的關係。
  • 抵抗失敗。因爲企業不依賴於第三方,所以沒有任何一我的或實體控制數據或金錢。去中心化意味着即便任何我的離開區塊鏈網絡,網絡也將繼續運行而不會丟失數據或完整性。
  • 更多信任。業務協議自動和強制執行。此外,這些協議是不可改變的,所以是牢不可破的。
  • 減小欺詐。因爲智能合約存儲在分佈式區塊鏈網絡中,所以其結果將由該網絡中的每一個人進行驗證。所以,沒有人能夠強制控制釋放其餘人的資金或數據,由於全部其餘區塊鏈參與者都會發現這一點並將此類嘗試標記爲無效。
  • 成本效益。消除中間人能夠免除額外費用,使企業及其客戶不只能夠直接進行互動和交易,並且能夠在交易中收取更低費用或不收取任何額外費用。
  • 保持記錄。全部合約交易都按時間順序存儲在區塊鏈中,而且能夠與完整的審計跟蹤一塊兒訪問。

智能合約用例

智能合約愈來愈受歡迎,並已在各類區塊鏈項目中實施。如下是不一樣行業中智能合約實施的幾個最有但願的例子。

銀行業

銀行業多是智能合約彷佛是傳統交易模式最重要替代方案的主要行業。經過智能合約支付和貸款,幾乎全部其餘金融業務實際上均可以是自動化的。

KYC-Chain爲我的,企業和金融機構實施智能合約。它的核心是容許客戶遵照監管規範的機制,例如自動智能檢查,以及分享相關文件並經過公證人和機構進行數字化驗證。

衛生保健

智能合約還能夠改善醫療保健。他們能夠簡化保險試驗流程,增長對跨機構數據的訪問,並提升患者對保護隱私的信心。身份驗證,受權和身份確認仍然是區塊鏈網絡上執行的智能合約的未解決問題。Dentacoin是醫療行業智能合約的一個例子。它旨在將患者和牙醫彙集在一塊兒,以改善牙科護理並使其在全球範圍內獲得實惠。

供應鏈

智能合約能夠提供實時可見性的另外一個領域是供應鏈。智能合約可確保精細的庫存跟蹤,有利於供應鏈融資,並下降盜竊和欺詐風險。不管市場類型或銷售商品如何,均可以有效地使用智能合約。例如,Name Bazaar正在點對點市場中實施智能合約技術,用戶能夠以域的形式在區塊鏈上交換加密資產。

法律問題

傳統的解決法律問題和證實文件的模式也讓位於智能合約。智能合約消除了公證的須要,不只提供自動化,無偏見,並且還提供具備成本效益的解決方案。Nottar.io說明了使用以太坊區塊鏈公證文件的概念。

房地產

你已經在「智能合約工做方式」部分中瞭解了智能合約如何爲房地產工做的最簡單概念。固然,現實生活中的項目更加複雜和全面,須要涵蓋更普遍的問題和機遇。例如,FOAM是房地產的股票市場,它使用技術讓用戶進行房地產交易,得到融資和基金,以及管理租賃。

政府

調查去中心化技術對壟斷領域,特別是政府系統的潛在影響多是最有趣的。澳大利亞公司Horizo​​n State正在努力提供投票和其餘工具來幫助民主進程。特別是,它打算提供基於區塊鏈的投票生態系統,支持一系列選舉類型和投票參數的安全、經濟高效的廣告運營。其主要目標是在世界各國實現透明,無偏見的投票。

  • 物聯網網絡

智能合約與其餘技術交叉的領域,物聯網(IoT)就是其中之一。智能合約和物聯網的結合很是強大,能夠實現跨行業的重大轉型,爲新的去中心化應用鋪平了道路。Oaken項目證實了這一點。它提供自主物聯網硬件和軟件以及區塊鏈技術。總而言之,這些組件使得Oaknen能夠與幾乎任何設備一塊兒使用來構建物聯網網絡,從而將其應用於各類現實生活中。

最後的想法

與傳統的集中式商業模式不一樣,智能合約促進了創建在信任基礎上的新型商業關係。

經過繼承區塊鏈屬性,智能合約提供了不變的和分佈式存儲,這使它們與傳統協議區別開來。不可變性和分佈式存儲容許智能合約成爲制定業務協議和執行交易的可靠手段。

區塊鏈技術已經在影響企業。固然,很難——甚至不可能——以動動手指頭的方式完全改變行業的運做方式。重大變化須要時間。然而,區塊鏈和智能合約技術的成功和有前途的使用案例正在爲業務的將來奠基基礎。

若是你但願進行開始學習區塊鏈開發,那請看咱們精心打造的教程:

  • java以太坊開發教程,主要是針對java和android程序員進行區塊鏈以太坊開發的web3j詳解。
  • 以太坊入門教程,主要介紹智能合約與dapp應用開發,適合入門。
  • 以太坊開發進階教程,主要是介紹使用node.js、mongodb、區塊鏈、ipfs實現去中心化電商DApp實戰,適合進階。
  • python以太坊,主要是針對python工程師使用web3.py進行區塊鏈以太坊開發的詳解。
  • php以太坊,主要是介紹使用php進行智能合約開發交互,進行帳號建立、交易、轉帳、代幣開發以及過濾器和事件等內容。
  • C#以太坊,主要講解如何使用C#開發基於.Net的以太坊應用,包括帳戶管理、狀態與交易、智能合約開發與交互、過濾器和事件等。
  • php比特幣開發教程,本課程面向初學者,內容即涵蓋比特幣的核心概念,例如區塊鏈存儲、去中心化共識機制、密鑰與腳本、交易與UTXO等,同時也詳細講解如何在Php代碼中集成比特幣支持功能,例如建立地址、管理錢包、構造裸交易等,是Php工程師不可多得的比特幣開發學習課程。
  • EOS入門教程,本課程幫助你快速入門EOS區塊鏈去中心化應用的開發,內容涵蓋EOS工具鏈、帳戶與錢包、發行代幣、智能合約開發與部署、使用代碼與智能合約交互等核心知識點,最後綜合運用各知識點完成一個便籤DApp的開發。

轉載請標明出處。這裏是原文

相關文章
相關標籤/搜索