2017 年底,位元幣漲到了最高達十二萬元人民幣,區塊鏈技術也慢慢走進了技術圈的視野。
隨著以太坊 ethereum 的興起,這個開源的擁有智慧型合約功能的區塊鏈平台,也引起了大家的注意。
什麼是智慧型合約?
智慧型合約(smart contract)是一種旨在以資訊化方式傳播、驗證或執行合同的計算機協議。智慧型合約允許在沒有第三方的情況下進行可信交易,這些交易可追蹤且不可逆轉。
我們這裡講的智慧型合約指的是區塊鏈領域的智慧型合約。
區塊鏈領域的智慧型合約有以下特點:
規則公開透明,合約內的規則以及資料對外部來講是可見的。
所有交易公開可見,任何位址與智慧型合約進行交易,都會公開的展示起來,不會存在任何虛假或者隱藏的交易。
之前社會中的合同或者約定的行為,都是由人來制定規則,然後由人去執行,遇到邊界問題或者異常,再由人去做界定。
但是智慧型合約不同,開發者通過智慧型合約去制定一套規則,然後發布到線上,當人們去做事情與智慧型合約互動的,由機器去完成業務的部分,這樣就避免了由人來執行時造成的作弊行為。
這樣就引入了去中心化自治組織(dao,decentralized autonomous organization)的概念,從理論上對智慧型合約的意義進行了昇華。
智慧型合約的分類
3.1 以太坊 solidity
solidity 是以太坊的智慧型合約實現的程式語言,執行在以太坊的虛擬機器 ethereum virtual machine(evm)上。
solidity 是靜態型別的,支援繼承、庫和其他功能中複雜的使用者定義型別。
solidity 是本系列課程的主要內容,將在接下來的課程中詳細介紹。
hyperledger fabric
hyperledger fabric 是 the linux foundation 主辦的 hyperledger 專案之一。
hyperledger fabric 旨在作為開發模組化體系結構的區塊鏈應用程式的基礎,以便諸如共識和會員服務等元件可以即插即用。
它使用容器技術來託管構成系統應用邏輯的智慧型合約(也稱為鏈**),簡而言之,hyperledger fabric 是為企業構建的領先的開源、通用區塊鏈結構。
和以太坊不同的是 hyperledger 主要面對的是企業級的專案開發,hyperledger 專案的主要推動者是 ibm。
3.2 以太坊 ethereum 的 solidity
solidity 是太坊 ethereum 的智慧型合約使用的的程式語言。
solidity 是一種靜態型別的程式語言,用於開發在 evm 上執行的智慧型合約,被編譯為可在 evm 上執行的位元組碼。
藉由 solidity,開發人員能夠編寫出可自我執行其欲實現之商業邏輯的應用程式,該程式可被視為乙份具權威性且永不可悔改的交易合約,對已具備程式編輯能力的人而言,編寫 solidity 的難易度就如同編寫一般的程式語言。
下面是乙個簡單的智慧型合約示例,這裡先做簡單的認識,在接下來的課程中,我們會逐一分析。
智慧型合約和代幣的關係
提起智慧型合約,很多人可能不是很清楚,但是一說 ico,大部分人都是很感興趣的。
ico 的本質就是,用智慧型合約建立規則,並儲存資料。使用者給智慧型合約傳送一定數量的 eth,智慧型合約就在自己的賬戶內建立對應位址的代幣資料。
4.1 erc20
以太坊一直在維護乙個專案,被成為eip(ethereum improvement proposals)。
ethereum improvement proposals (eips) describe standards for the ethereum platform, including core protocol specifications, client apis, and contract standards.
erc20 定義了 erc-20 token 的通用標準,所有符合 erc20 的智慧型合約建立出來的代幣,都被稱為 erc20 代幣,都能夠被以太坊錢包(幾乎所有支援以太幣的錢包,包括 imtoken、幣兜錢包等,也支援 erc-20 的代幣)識別使用。
4.2 erc223
由於之前出現過智慧型合約的問題,導致至少有價值四十萬美元的以太幣的損失,所以後來出現了 erc20 的改良版本——erc223。erc223 標準是向下相容 erc20 的。
目前市面上絕大部分代幣都是基於 erc20 標準的,基於 erc223 的並不多,比如 atn。
4.3 他們的關係
舉個簡單的例子,智慧型合約就像是一張白紙,代幣就像是用白紙疊成的紙飛機,我們還可以用這張白紙來做紙青蛙。
智慧型合約能給我們帶來什麼?
從現在這個時間點來看,智慧型合約首先的應用是創造代幣,也就是大家提到的 ico。
ico 創造一種新的商業模式,它將社群的力量發揮出來。在技術圈內,社群一直是很重要的力量,很多知名的開源專案比如 linux,都是集合了社群開發者的智慧型變得越來越完善。
而 ico 的意義在於,真正有價值的專案可以不用通過傳統的風投而是通過社群人員眾籌來獲得專案的啟動資金,並且隨著專案的發展,社群人員也能通過它來收到回報。這從一定程度上解決了技術人員有能力做專案,卻沒能力籌錢的問題。
但是 ico 也暴露了人性的惡,2017 年開始,大量沒有技術背景的 ico 出現在全球市場上,各種負面新聞也出現,到 2018 年年初,已經有大部分 ico 以失敗告終。
智慧型合約的中心思想是用機器去實現既定的規則,讓規則內的人們不會去作弊,並提高了業務的效率。
除了發代幣之外,智慧型合約的應用場景非常多,比如投票、結合物聯網做智慧型家居等等。
在不久的將來,智慧型合約的應用注定會爆發。
區塊鏈中的智慧型合約是什麼?
鏈客,專為開發者而生,有問必答!智慧型合約是一套以數字形式定義的承諾,承諾控制著數字資產幷包含了合約參與者約定的權利和義務,由計算機系統自動執行。智慧型合約程式不只是乙個可以自動執行的電腦程式,它本身就是乙個系統參與者,對接收到的資訊進行回應,可以接收和儲存價值,也可以向外傳送資訊和價值。這個程式就...
區塊鏈中的智慧型合約是什麼
智慧型合約 這一術語是 1994 年由著名密碼學家尼克薩博首次提出的,它是通過程式設計來準確高效地執行預先設定的合約條款。詳細的解釋就是 智慧型合約其實是一種計算機協議,用一段計算機指令實現自我驗證 自動執行,並產生可以驗證的證據來證明合約操作的有效性。當智慧型合約的雙方在區塊鏈上產生資產交易的時候...
智慧型合約是什麼?
鏈客,專為開發者而生,有問必答!老友記 中的智慧型合約 當今社會,執行合約需要耗費大量社會資源。比方說,a b兩家公司簽訂合同,後來a違反合同條約,導致b損失重大。b想要拿回屬於自己的東西,於是向法院起訴。就算b打官司贏了,判決書生效後,他還需要向法院申請強制執行,包括立案,提供財產線索 整個流程下...