時間:2023-07-25|瀏覽:252
以太坊是一個開源的、有智能合約功能的公共區塊鏈平臺。它通過其專用加密貨幣以太幣提供去中心化的以太虛擬機(Ethereum virtual machine)來處理點對點合約。
以太坊是一個平臺,提供了各種模塊讓用戶來搭建具體的應用。如果將搭建應用比作造房子,那么以太坊就提供了墻面、屋頂、地板等模塊,用戶只需像搭積木一樣把房子搭起來,因此在以太坊上建立應用的成本和速度都大大改善。
以太坊的概念最早是由人稱“V神”的俄裔程序員維塔利克·巴特林(Vitalik Buterin)提出,并在2014年通過ICO眾籌建立的。截至2019年,以太坊是市值第二大的區塊鏈項目,僅次于比特幣。而以太坊本身也被認為是區塊鏈2.0的代表。
從本質上講,以太坊是一個基于交易的狀態機(transaction-based state machine)。“狀態機”是一個計算機術語,它能夠將輸入的狀態信號按照預先設定的狀態進行狀態轉移。在“創世狀態”(Genesis State),網絡中沒有任何交易的產生狀態。當交易被執行后,這個“創世狀態”就會轉變成最終狀態。在任何時刻,這個最終狀態都代表著以太坊當前的狀態。
以太坊的狀態有百萬個交易。這些交易都被“組團”到一個區塊中。一個區塊包含了一系列的交易,每個區塊都與它的前一個區塊連接起來。
為了讓一個狀態轉換成下一個狀態,交易必須是有效的。為了讓一個交易被認為是有效的,它必須要經過“挖礦”驗證。任何網絡的節點都可以成為“礦工”,嘗試創建和驗證區塊。每個“礦工”在提交一個區塊到區塊鏈上的時候都會提供一個數學機制的“證明”,這個證明就像一個保證:如果這個證明存在,那么這個區塊一定是有效的。
由于以太坊最早是受比特幣網絡啟發而產生的,它繼承了很多與之類似的技術。同時,以太坊也進行了很多修正和創新。比特幣區塊鏈純粹是一個關于交易的列表,而以太坊的基礎單元是賬戶。以太坊區塊鏈跟蹤每個賬戶的狀態,所有以太坊區塊鏈上的狀態轉換都是賬戶之間價值和信息的轉移。賬戶分為兩類:
(1)外部賬戶(EOA),由私人密碼控制;
(2)合約賬戶,由它們的合約編碼控制,只能由外部賬戶“激活”。
對于大部分用戶來說,兩者基本的區別在于外部賬戶是由用戶掌控的,用戶能夠控制私鑰,進而控制外部賬戶,而合約賬戶則是由內部編碼管控,用戶可以通過在區塊鏈中部署編碼來創建新的合約。
只有當外部賬戶發出指令時,合約賬戶才會執行相應的操作。所以,合約賬戶不可能自發地執行諸如任意數碼生成或應用程序界面調用等操作。只有受外部賬戶提示時,它才會做這些事。這是因為以太坊要求節點能夠與運算結果保持一致,這就要求保證嚴格確定執行。
和比特幣一樣,以太坊用戶必須向網絡支付少量交易費用。這可以使以太坊區塊鏈免受無關緊要或惡意的運算任務干擾,比如分布式拒絕服務(DDoS)攻擊或無限循環。交易的發送者必須對激活的每一步“程序”付款,包括運算和記憶儲存。費用通過以太坊自有的通證——以太幣的形式支付。
交易費用由節點收集,節點使網絡生效。這些“礦工”就是以太坊網絡中收集、傳播、確認和執行交易的節點?!暗V工”們將交易分組,分成的組被稱為“區塊”,袁文澤博客www.yuanwze.cn他們會互相競爭,以使其區塊可以添加到下一個區塊鏈上?!暗V工”們每“挖”到一個成功的區塊就會得到以太幣獎勵。這就為人們帶來了經濟激勵,促使他們為以太坊網絡貢獻硬件和電力。
和比特幣網絡一樣,以太坊中的“礦工”們有解決復雜數學問題的任務,以便成功地“挖”到區塊。為防止比特幣網絡中已經發生的、專門硬件(例如特定用途集成電路)造成的中心化現象,以太坊選擇了難以存儲的運算問題。這就使得普通電腦,而非框架在“挖礦”的過程中更為有力。這種硬件的設置,在一定程度上保證了以太坊的去中心化。
以太坊可以用來創建去中心化的程序、自治組織和智能合約。目前,在以太坊上已經有不少比較有名的應用,例如,去中心化的創業投資TheDAO、The Rudimental,社會經濟平臺Backfeed,去中心化預測市場Augur,音樂版權平臺UjoMusic,移動支付Everex等都是基于以太坊建立的。
作者:計科建站