區塊鏈學習筆記 智慧型合約

2021-08-26 05:46:08 字數 1730 閱讀 2657

智慧型合約這個詞首次出現的時間是在2023年由尼克薩博提出的概念。而尼克薩博所提出的智慧型合約的概念是這樣描述:

乙個智慧型合約是一套以數字形式定義的約定,包括合約參與方可以在上面執行這些約定的協議。智慧型合約的基本思想是,各種各樣的合約條款可以嵌入到我們使用的硬體和軟體中從而使得攻擊者需要很大的代價去攻擊。

在生活中我們也會聽到過『合同』這個詞,雖然『合同』跟『合約』感覺上會很相似,但是合同跟合約又不一樣,合同比較像是一種類似保證書的東西,而合約則是如果滿足合約的要求就會觸發執行某些事件。當然滿足合約則觸發執行事件如果能自動觸發就好了,抱著這樣的想法,尼克薩博就提出了智慧型合約的概念。他設想一種能夠自動執行的智慧型合約,而且這個智慧型合約的安全性要求要高。智慧型合約的原型類似於自動售貨機,通過一系列程式設計實現共識並達到某種條件則予以執行。

這裡智慧型合約裡,智慧型卻不是ai的智慧型,而是smart的智慧型,像smart phone 一樣的的那個智慧型,表示靈活的意思。也就是說,智慧型合約是使用計算機語言編寫出來的程式指令,其工作的基本原理類似於電腦程式的if-then語句,只要達成預先設定的條件,就會按程式自動執行相應條件的合同條款。這就會有乙個強制性的特點,不需要中介的參與而自動執行,沒有人可以阻止智慧型合約的執行,具有這樣強制性的特點,為智慧型合約所在的環境系統提供了安全和可信任的保障。

智慧型合約是區塊鏈的基石,區塊鏈中的信任機制可以說是智慧型合約提供了部分。它這在計算機程式設計中相當於就相當於遵循iftt(if -this then-that)邏輯程式設計。在自動販賣機中當我們把錢投進機器裡,然後按照一定的程式觸動了機器等待投錢者選擇哪一種飲料的程式,機器可以在顯示屏上顯示機器正在等待選擇的資訊,或者提示選擇飲品的時間倒計,來體現機器觸發了等待的機制。當投錢者選擇了飲料之後,按照程式合約,機器就會執行下乙個程式合約,即把選擇的飲料出納。這些過程是強制性的,只要滿足條件了就一定會執行,所以投錢者不用擔心錢投了進去卻沒有東西出來,這是投錢者對這機器的信任,當然除去機器損壞的情況。

在區塊鏈中建立乙份智慧型合約,這份智慧型合約做得足夠詳細,足夠細心,考慮周到的話,可信任度就越高,因為智慧型合約事實上就是一堆**實現的各種功能,凡是**多多少少都對有漏洞,若漏洞被黑客發現了,那麼在區塊鏈的信任度也會受影響。所以智慧型合約做得越全面越有保障。

基於區塊鏈的智慧型合約構建及執行分為:

1、多方使用者共同參與制定乙份智慧型合約;(構建)

2、合約通過p2p網路擴散並存入區塊鏈;(儲存)

3、區塊鏈構建的智慧型合約自動執行。(執行)

1)智慧型合約由區塊鏈內的多個使用者共同參與制定,可用於使用者之間的任何交易行為。協議中明確了雙方的權利和義務,開發人員將這些權利和義務以電子化的方式進行程式設計,**中包含會觸發合約自動執行的條件。就相當於自動售貨機給了錢並選擇了哪種飲料後機器必須出納對應的飲料。這裡先把投錢者和自動售貨機都當成是使用者就好理解了,再舉個例子,a發起一筆交易給b,交易內容是a要給b一枚位元幣,之後然後完成各種合約條件,a,b使用者雙方都共同參與了這份智慧型合約的制定了。就等著a把乙個位元幣給b了。(構建)

2)一旦編碼完成,這份智慧型合約就被上傳到區塊鏈網路上,即全網驗證節點都會接收到a和b的交易合約。(儲存)

3)智慧型合約會定期檢查是否存在相關事件和觸發條件;滿足條件的事件將會推送到待驗證的佇列中。假設a給了一枚位元幣給b了,這就觸發了「給一枚位元幣給b」的事件了。然後區塊鏈上的驗證節點先對該事件進行簽名驗證,以確保其有效性;等大多數驗證節點對該事件達成共識後,智慧型合約將成功執行,並通知使用者。成功執行的合約將移出區塊。而未執行的合約則繼續等待下一輪處理,直至成功執行。(執行)

更多智慧型合約的知識等小二學得更深入了在講。

CS 區塊鏈 智慧型合約

和雲計算相似,占用區塊鏈的資源 不管是簡單的轉賬交易,還是合約的部署和執行 同樣需要付出相應的費用。以太坊上用gas機制來計費,gas也可以認為是乙個工作量單位,智慧型合約越複雜 計算步驟的數量和型別,占用的記憶體等 用來完成執行就需要越多gas。gas 由執行合約的人在提交執行合約請求的時候規定,...

區塊鏈智慧型合約開發小記

使用 python和 solidity語言,drf框架開發智慧型合約的一些踩坑記錄。compile source和compile standard方法都無法import 檔案進行編譯,提示找不到檔案,使用compile files方法吧。compile files 方法裡面合約路徑不能有冒號,使用相...

區塊鏈智慧型合約是什麼?

2017 年底,位元幣漲到了最高達十二萬元人民幣,區塊鏈技術也慢慢走進了技術圈的視野。隨著以太坊 ethereum 的興起,這個開源的擁有智慧型合約功能的區塊鏈平台,也引起了大家的注意。什麼是智慧型合約?智慧型合約 smart contract 是一種旨在以資訊化方式傳播 驗證或執行合同的計算機協議...