以太坊的智能合約理論
① 以太坊的智能合約是什麼意思
智能合約的觀念可以追溯到1995年,與互聯網一同誕生。首次提出「智能合約」這一術語的是密碼學家尼克·薩博。這里的「智能」並非指類似人類或AI的智能,而是指「智能化」。智能化指的是現代通信與信息技術、計算機網路技術、行業技術、智能控制技術集成在某一領域的應用。
合約則是雙方或多方在市場交易中基於各自利益要求達成的協議。智能合約則是一段自動執行的計算機程序,合約則定義了各方在使用合同時的條件。如果滿足預先設定的條件,智能合約就會自動執行。由於存儲在區塊鏈網路中的每台計算機上,智能合約必須在所有計算機上執行相同的結果,確保用戶能確信結果的正確性。
假設A想將文件資料出售給B,雙方同意建立一個智能合約以確保交易安全。合約中包括交易內容、成本和時間表。A將文件上傳到區塊鏈,B則支付款項。合約機制持有這兩個項目,直至約定日期,再將文件釋放給B。若A提供文件,但B未支付款項,則合約未完成,文件被返回給A。如果B支付款項但未收到文件,款項則退還給B。任何擁有區塊鏈副本的人都能遵循此過程,代碼的任何更改都會立即被提取出來,提醒所有參與者。
智能合約在金融、零售等各行各業中帶來有益創新。通過降低費用、加快交易速度、確保業績以及增強締約方協議保護,智能合約幫助最終用戶受益。隨著區塊鏈活動的發展,智能合約的應用前景廣闊,正朝著為各行各業帶來變革的方向發展。
② 以太坊的智能合約是什麼意思
以太坊智能合約是指,部署在以太坊上的智能合約,是一段程序,運行在以太坊的虛擬機EVM中,程序可以按照事先約定的某種規則自動執行操作,執行合約的條款。
同時,智能合約對接收到的信息進行反應,它既可以接收和儲存價值,也可以向外發送信息和價值。
介紹
以太坊創始人V神指出過,以太坊智能合約中的「『合約』不應被理解為需要執行或遵守的東西,而應看成是存在於以太坊執行環境中的『自治代理』(autonomous agents),它擁有自己的以太坊賬戶,它們收到交易信息後就相當於被捅了一下,然後自動執行一段代碼。」
智能合約可以調用其它的智能合約,這就是開啟創立自治代理的能力,代理可以自己進行交易。在區塊鏈上,我們存儲的信息都是「狀態」,而智能合約就是它用於狀態轉換的方式。
③ erc20鍜宔rc721鏄浠ュお鍧婂畼鏂規敮鎸佺殑鏅鴻兘鍚堢害瑙勮寖,綆榪頒粬浠鐨勫尯鍒
ERC20鍜孍RC721閮芥槸浠ュお鍧婂畼鏂規敮鎸佺殑鏅鴻兘鍚堢害瑙勮寖錛屽畠浠鐨勪富瑕佸尯鍒鍦ㄤ簬鍏朵唬琛ㄧ殑璧勪駭鎬ц川鍜屽彲浜掓崲鎬с
棣栧厛錛孍RC20鏍囧噯浠h〃鐨勬槸鍚岃川鍖栦唬甯侊紝榪欐剰鍛崇潃姣忎竴涓狤RC20浠e竵閮芥槸鐩稿悓鐨勶紝娌℃湁鐙鐗規э紝涓斿彲浠ヤ笌鍏朵粬鍚屾牱綾誨瀷鐨勪唬甯佷簰鎹銆備緥濡傦紝濡傛灉鏈100涓狤RC20浠e竵錛岄偅涔堣繖100涓浠e竵鍦ㄤ環鍊煎拰鍔熻兘涓婃槸瀹屽叏鐩稿悓鐨勶紝鍙浠ラ殢鎰忔浛鎹銆傝繖縐嶇壒鎬т嬌寰桬RC20浠e竵闈炲父閫傚悎浣滀負鏀浠樻墜孌墊垨浠峰煎偍瀛樺伐鍏楓傚湪瀹為檯搴旂敤涓錛岃稿氱煡鍚嶇殑鍔犲瘑璐у竵錛屽俇SDT錛屽氨鏄鍩轟簬ERC20鏍囧噯鍙戣岀殑銆
鐩告瘮涔嬩笅錛孍RC721鏍囧噯鍒欎唬琛ㄤ簡闈炲悓璐ㄥ寲浠e竵錛屾瘡涓涓狤RC721浠e竵閮芥槸鐙涓鏃犱簩鐨勶紝鍏鋒湁涓嶅彲浜掓崲鎬с傝繖灝卞儚鏄涓浠惰壓鏈鍝佹垨鐝嶅搧錛屾瘡涓浠墮兘鏈夊叾鐙鐗圭殑浠峰煎拰鎰忎箟錛屼笉鑳戒笌鍏朵粬鍚岀被鍨嬬殑鐗╁搧浜掓崲銆侲RC721鏍囧噯鐨勮繖縐嶇壒鎬т嬌寰楀畠闈炲父閫傚悎鐢ㄤ簬琛ㄧず鏁板瓧鑹烘湳鍝併佹敹鈃忓搧銆佹父鎴忎腑鐨勭嫭鐗歸亾鍏風瓑銆備緥濡傦紝涓嬈懼熀浜庡尯鍧楅摼鐨勬父鎴忎腑鐨勭█鏈夋﹀櫒鎴栬呭囷紝灝卞彲浠ラ氳繃ERC721浠e竵鏉ヨ〃紺猴紝紜淇濆叾鍞涓鎬у拰鎵鏈夋潈銆
浠庢妧鏈瀹炵幇鐨勮掑害鏉ョ湅錛孍RC20鍜孍RC721鏍囧噯涔熸湁鎵涓嶅悓銆侲RC20鏍囧噯涓昏佽勫畾浜嗕唬甯佺殑絎﹀彿銆佸彂琛岄噺銆佽漿璐︺佹巿鏉冪瓑鍩烘湰鎺ュ彛鍜屽姛鑳斤紝浣垮緱絎﹀悎璇ユ爣鍑嗙殑浠e竵鍙浠ュ湪浠ュお鍧婇挶鍖呬腑榪涜岀$悊鍜屼氦鏄撱傝孍RC721鏍囧噯鍒欏畾涔変簡涓縐嶄互澶鍧婄敓鎬佷腑涓嶅彲鍒嗗壊鐨勩佸叿鏈夊敮涓鎬х殑Token浜や簰銆佹祦閫氱殑鎺ュ彛瑙勮寖錛屽寘鎷浠e竵鐨勫敮涓鏍囪瘑絎︺佹墍鏈夋潈杞縐匯佸厓鏁版嵁鏌ヨ㈢瓑鍔熻兘銆
鎬葷殑鏉ヨ達紝ERC20鍜孍RC721鐨勪富瑕佸尯鍒鍦ㄤ簬鍏朵唬琛ㄧ殑璧勪駭鎬ц川鍜屽彲浜掓崲鎬с侲RC20閫傜敤浜庡悓璐ㄥ寲浠e竵鐨勫彂琛屽拰綆$悊錛岃孍RC721鍒欐洿閫傜敤浜庤〃紺哄拰浜ゆ槗闈炲悓璐ㄥ寲鐨勩佸叿鏈夌嫭鐗逛環鍊肩殑璧勪駭銆
④ 以太坊的智能合約
智能合約是運行在計算機裡面的,用於保證讓參與方執行承諾的代碼,般情況下,普通合約上記錄了甲方與乙方各方面的關系條款,並通常是通過法律強制執行或保護的,而「智能合約」則是用密碼或密鑰來執行關系。以更加直接的角度來理解的話,即「智能合約」的程序內容將同-開始大家一起設定好的那樣百分百執行,並且零差錯。
舉個例子,以太坊用戶可以使用智能合約在特定日期向朋友發送10個以太幣。在這種情況下,用戶可以操作創建一個合約,然後將程序推人該合約中進行特殊計算,以便它能夠執行所需的命令。而以太坊就是專門把精力集中在這件事上的這么一個平台。
比特幣是第一個支持「智能契約」的資源幣種,因為網路的價值在於把價值或數據從一個點或人轉移到另一個點或人身上。節點網路只在滿足某些條件時才會進行驗證,但是,比特幣僅限於貨幣用例。相反,以大坊取代了比特幣那種帶有不小限制性的編程語言,取而代之的是一種允許開發人員編寫自己程序的語言。以太坊允許開發人員編寫他們自己的「智能契約」,即「自主代理」或「自治代理」,正如ETH白皮書所稱的那樣。該編程語言是「圖靈完備」語言,這意味著它支持一組更廣泛的計算指令。智能合約能做些什麼呢?
1.「多簽名」賬戶功能,只有在一定比例的人同意時才能使用資金。這個功能經常用在與眾籌或募捐類似的活動中。
2.管理用戶之間所簽訂的協議。例如,一方從另一方購買保險服務3.為其他合同提供實用程序。
4.存儲有關應用程序的信息,如「域注冊信息」或「會員信息記錄」。概念有時候比較晦澀,我們舉一個募捐的智能合約的例子來幫助理解:假設我們想向全網用戶發起募捐,那就可以先定義一個智能賬戶,它有三個狀態:當前募捐總量,捐款目標和被捐贈人的地址,然後給它定義兩個函數:接收募捐函數和捐款函數。
接收募捐函數每次收到發過來的轉賬請求,先核對下發送者是否有足夠多的錢(EVM會提供發送請求者的地址,程序可以通過地址獲取到該人當前的區塊鏈財務狀況),然後每次募捐麗數調用時,都會比較下當前募捐總量跟捐款目標的比較,如果超過目標,就把當前收到的捐款全部發送到指定的被捐款人地址,否則的話,就只更新當前募捐總量狀態值。
捐款函數將所有捐款發送到保存的被捐贈人地址,並且將當前捐款總量清零。每一個想要募捐的人,用自己的ETH地址向該智能賬戶發起一筆轉賬,並且指明了要調用接受其募捐函數。於是我們就有一個募捐智能合約了,人們可以往裡面捐款,達到限額後錢會自動發送到指定賬戶,全世界的礦工都在為這個合約進行計算和擔保,不再需要人去盯著看有沒有被挪用,這就是智能合約的魅力所在。
⑤ 以太坊的運算原理是什麼
以太坊的運算原理基於區塊鏈技術和智能合約。它通過以太坊虛擬機(EVM)來執行各種運算。
以太坊的運算主要圍繞智能合約展開。智能合約是一種自動執行的合約條款,以代碼形式部署在以太坊區塊鏈上。當滿足合約設定的條件時,相應的代碼邏輯就會被觸發執行。以太坊虛擬機為智能合約的運行提供了一個隔離的環境。它能夠處理各種復雜的運算,包括數學計算、邏輯判斷、數據存儲與讀取等。在這個環境中,合約代碼可以訪問區塊鏈上的數據,如賬戶余額、交易歷史等。同時,以太坊採用了加密學技術來保證運算的安全性和數據的完整性。通過哈希演算法等手段,確保數據在傳輸和存儲過程中不被篡改。並且,以太坊的運算過程是分布式的,由眾多節點共同參與驗證和執行,這提高了系統的可靠性和抗攻擊性。
以太坊運算首先依賴智能合約作為運算的核心載體。智能合約定義了具體的業務邏輯和規則。1. 以太坊虛擬機為智能合約提供運行環境,它模擬了一個完整的計算機系統,能夠執行各種指令。2. 智能合約中的代碼可以對區塊鏈上的數據進行操作,比如讀取某個賬戶的余額信息,然後根據預設的邏輯進行計算和判斷。3. 加密學技術在其中起到關鍵作用,通過哈希值等方式保證數據的真實性和完整性。4. 分布式的節點網路共同參與運算過程,每個節點都對交易和智能合約的執行進行驗證,確保整個系統的一致性和安全性。5. 以太坊的運算還涉及到共識機制,如工作量證明或權益證明,以保證各個節點對運算結果的認可和同步。