乾貨:一文讀懂以太坊過去、現狀與未來

買賣虛擬貨幣

以太坊網路

早在2013年,BTC程式設計師、BTC雜誌的出版人Vitalik Buterin發表了《以太坊》白皮書。以太坊的目標是將區塊鏈技術的應用範圍拓展到支付之外。

以太坊是一個通用的區塊鏈。像許多其他區塊鏈一樣,它是開源的,公開的,並擁有自己的貨幣:以太或ETH。通用的區塊鏈意味著有一個去中心化的平臺,它提供了一種程式語言,開發者可以使用它來建立智慧合約。智慧合約執行在網路的每個節點上,使得開發分散式應用程式(DApps)成為可能。這些Dapp繼承了區塊鏈技術的顯著特點,即防篡改、透明、可靠和安全。

以太坊程式語言

Solidity 是由Gavin Wood博士建立的以太坊上的主要程式語言。它是一種可用於智慧合約開發的物件導向的高階程式語言,深受Python和JavaScript語言的影響。這是有意為之,這樣開發人員就可以很容易地直接開始開發智慧合約。

Solidity是一種“圖靈完備”語言,這意味著它擁有開發複雜用例的所有能力。相比之下,BTC的程式語言Scrypt在設計上不是“圖靈完備”的。對於智慧合約來說,Solidity是最流行的程式語言,每個開發人員如果想要開始開發智慧合約,都應該研究它。

Vyper是以太坊團隊建立的另一種程式語言,它在以太坊虛擬機器(“EVM”)上執行。它的設計目的是簡化智慧合約的編寫過程,同時使其更易於閱讀。它與Solidity的關鍵區別是Vyper不包含一些物件導向的功能,這使得Vyper更安全,因為開發人員犯錯誤和引入bug的空間更小。

Gas & ETH Price

Gas是衡量在乙太網絡上執行一項交易的成本的單位。每次智慧合約執行一筆交易,都會消耗Gas。這些Gas需要在交易執行時輸入智慧合約。支付Gas的方法是使用ETH。

以太坊面臨的問題和挑戰

以太坊面臨的主要問題是可擴充套件性。該網路被認為是“世界計算機”,但目前它每秒只能處理大約15筆交易,而像Visa這樣的私營公司每秒可以處理多達4.5萬筆交易。如果以太坊想要實現大規模應用,這是一個亟待解決的問題。

為了說明為什麼這個問題很重要,我們可以看看CryptoKitties的例子。在2017年,這個專案非常受歡迎,以至於在智慧合約上執行的交易堵塞了網路。因此,處理交易有相當大的延誤。

此外,安全一直是以太坊的一大難題。主要是因為在一些專案中存在糟糕的開發實踐,導致駭客攻擊和資金損失。以太坊需要為開發人員提供在智慧合約中更好的安全性的工具,同時又不影響其Solidity。

ETH的價格和Gas 的成本使得交易的執行過程變得十分脆弱,在某些情況下這不值得。特別是對於以太坊驗證者,他們目前必須花費大量的電力才能執行節點與PoW共識演算法,在這一過程中,他們沒有得到太多的回報。

公眾認知匱乏和糟糕的DApps使用者體驗是未來需要解決的問題,這是實現大規模應用 的關鍵。

以太坊的現狀

以太坊的生態系統在過去幾年裡一直在穩步發展,儘管它仍然存在很多問題。ETH是全球市值第二大的數字資產。Solidity是最流行的開放區塊鏈程式語言,擁有最著名的開發人員社羣(這是專案健康狀況的一個指標)。一個平臺擁有的開發人員越多,就可以在其上開發出更多有價值的專案。多年來,我們已經看到了許多在以太坊上湧現的優秀專案,當然,也不乏貧庸者和純粹的詐騙專案。

2017年,我們看到專案數量的大幅增長,主要體現為首次代幣融資熱潮和市場看漲。但現實情況是,其中只有幾個專案存活了下來,而且在接下來的幾年內將會越來越少。

一般大眾還沒有采用DApps,主要是因為該平臺不夠成熟,公眾對該技術也缺乏普遍瞭解。儘管如此,在過去的一年中,有不少與遊戲、賭博和金融相關的專案發展迅速,並獲得了良好的使用者基礎。

source: stateofthedapps.com

source: stateofthedapps.com

以太坊開發階段

以太坊的開發計劃分為四個不同的階段。每個階段都是為了引入更多的特性和修復問題。每個步驟還包括“子版本”,即所謂的“硬分叉”,它以一種不向後相容的方式改變功能和特性。

以下時間軸是最初計劃的以太坊發展階段:

Block #0 — Frontier

這是以太坊從2015年7月30日到2016年3月的初期開發階段。

Block #200,000 — Ice Age

Ice Age是一個“硬分叉”,它引入了一個指數級的難度增加,以促使在一切就緒的情況下順利完成從PoW到PoS的過渡。

Block #1,150,000 — Homestead

以太坊的第二個階段啟動於2016年3月。

Block #1,192,000 — DAO

臭名昭著的DAO案例。這是一個硬分叉,補償了DAO駭客的受害者,並導致以太坊和以太坊經典分裂成兩個對立的系統。

Block #2,463,00 — Tangerine Whistle

另一個硬分叉用於更改某些I/O繁重操作的gas計算,並在利用這些操作的低gas成本的DoS攻擊後清除累積狀態。

Block #2,675,000 — Spurious Dragon

硬分叉解決了 DoS 攻擊問題,與此同時,另一種狀態也被完全清除。此外,它也是一種重放攻擊的保護機制。

Block #4,370,000 — Metropolis Byzantium

這是以太坊發展的第三階段,於2017年10月啟動。Byzantium是Metropolis兩大分叉中的第一個。

Block #7,280,000 — Constantinople

這是Metropolis階段上的第二個硬分叉,於2019年2月完工。這個硬分叉還包括其他修改,以修復代號為Petersburg的安全問題。

Block #9,056,000 — Istanbul這是另一個硬分叉,計劃在2019年12月4日啟用,將包括更多的安全修復和激勵措施,從PoW轉移到PoS演算法。

Serenity — Ethereum 2.0

Serenity 是以太坊發展的最後階段。它將引入以太坊2.0——一個新的以太坊區塊鏈,完成PoS的整合,並引入一個新的以太坊虛擬機器,此外還有很多細節的改變。

關於Serenity何時上市有很多討論和傳言。這個龐大的階段將分為不同的子階段:

Serenity 路線圖

第0階段: 信標鏈Beacon Chain (Q1/2020)第1階段: 分片鏈Shard Chains (2021)第2階段: 新的以太坊虛擬機器eWASM (2021)第3階段: 持續改進 Continued Development (2022)以太坊2.0

“Ethereum 2.0”這個術語描述了所有來自Serenity的更新,它將使以太坊的可擴充套件性更好,速度更快,區塊鏈狀態更好。正如以太坊研究員Danny Ryan所說,以太坊2.0的主要設計目標是:

系統恢復能力:其目標是為了讓系統在節點大規模宕機或者全網被分割肢解時仍然能保持正常運轉。安全性:目標是為了利用加密和設計機制讓儘量多的驗證節點在每個單位時間內充分參與驗證。簡潔性:系統複雜度越低越好,甚至可以為此犧牲部分效率。永續性:儘量為系統選擇能保證量子安全的元件。如果元件暫時無法保證量子安全,那就選擇容易被替換的元件。日後當有了量子安全的元件時,可以方便地將這些臨時元件用量子安全的元件所替代。去中心化:其目標是為了讓普通的膝上型電腦用複雜度為O(C)的資源就可以處理/驗證複雜度為O(1)的分片任務(包括任何系統級的驗證比如beacon chain中的驗證)。這將允許更多的低端裝置參與網路。為了理解這一切是如何實現的,讓我們看看每個Serenity階段的細節:

第0階段: 信標鏈Beacon Chain

信標鏈將是從以太坊區塊鏈中獨立出來的的區塊鏈。這個新的鏈將由權益證明(PoS)作為共識機制演算法,它將與主要的工作證明共識機制(PoW)以太坊區塊鏈並行執行。最初,為了簡單起見,區塊鏈不支援智慧合約或帳戶。

在撰寫本文時,以太坊正在使用一種“工作證明”(Proof of Work, PoW)共識機制演算法,與BTC使用的演算法非常相似。在以太坊中,這個演算法的名字叫做Ethash。在信標鏈上,我們將看到新的PoS演算法,稱為Casper。在過去的幾年裡,Casper取代Ethash的計劃已經被推遲了好幾次,這就需要採取一些干預措施來化解困難,並推遲PoW被強制淘汰。現在我們終於有了信標鏈。

PoS的簡短說明:

根據PoS共識機制,區塊鏈會跟蹤一組驗證,任何持有區塊鏈基礎數字資產(在此例中為Ether)的人都可以透過傳送特定型別的交易將其以太幣鎖定為存款來完成驗證。驗證者輪流對下一個有效塊進行提議和投票。驗證者投票的權重取決於他們的存款(賭注)的大小。如果大多數驗證者拒絕他們所建立的塊,那麼驗證者將面臨失去存款的風險。相反,驗證者每獲得一個被多數人接受的區塊,就會獲得一個與他們所持有的股份成比例的小獎勵。因此,PoS迫使驗證者誠實行事,並透過獎懲制度遵守共識規則。

ETH2: 新的Ether

階段1的另一個特徵是引入了ETH2,是一個在新信標鏈上驗證的新資產。這個新的ETH2將被建立作為在信標鏈上驗證交易的獎勵,並且任何ETh2都可以購買它。最初,還沒有辦法將ETH2從信標鏈中取出。如果有人要為新鏈驗證者,他們至少需要32個 ETH來抵押原始鏈。

第1階段: 分片鏈Shard Chains

分片是一種可拓展性技術,可允許並行進行交易。這是為了將網路劃分為多個分片來幫助擴充套件交易規模,從而允許網路同時處理許多事務。

Vitalik Buterin針對“分片”發表過如下看法:

“想象以太坊被分裂成成千上萬的島嶼。每個島嶼都可以做自己的事情。每個島嶼都有自己獨特的特徵,每個人都屬於那個島嶼。比如,賬戶之間可以相互互動,他們可以自由地沉迷於它的所有功能。如果他們想與其他島嶼接觸,他們將不得不使用某種協議”。

分片將在信標鏈上引入,最初的規模約為100個。驗證者將從自己的碎片中驗證交易,在第一階段,它們不會批准任何智慧合約、帳戶或資產。

雖然分片將帶來更多的可拓展性,但是需要考慮一些挫折點。驗證者有一個小的交易池需要驗證,這使得51%的攻擊更容易,因為它們只需要51%的計算能力(或權益),而不是整個網路。

這種技術還可以導致更高的集中化,因為每個碎片都可以透過一小組驗證者進行驗證。看看這個階段如何實現將是非常有趣的,因為它仍然需要徹底的測試,以確保所有的驗證者都是隨機選擇的,以避免集中化和任何風險攻擊。

第2階段: 新的以太坊虛擬機器eWASM

什麼是EVM

以太坊系統上的所有節點都需要執行智慧合約來執行區塊鏈上的最終交易。以太坊虛擬機器(EVM)允許執行這些智慧合約。

EVM是以太坊網路的心臟,是承擔智慧合約部署和執行的核心之所在。它可以被認為是一個包含數百萬個可執行物件的全球分散式計算機,每個物件都有自己的永久資料儲存。從技術層面上來說,它是一個基於堆疊執行的機器語言指令。智慧合約以諸如Solidity之類的“高階”語言編寫,並編譯為位元組碼以便在EVM上執行。

當前EVM的問題

當前EVM的主要問題之一是它按順序處理交易。隨著PoS和分片的更改,需要並行處理交易,而當前的EVM不適合這樣做。

新的EVM

新的EVM稱為eWASM,代表Ethereum WebAssembly。WebAssembly是一個開放標準,為可執行程式定義了一種可移植二進位制程式碼格式。這種用於EVM的新架構將提供更好的效能,並將有可能在新的區塊鏈上支援智慧合約、帳戶、狀態等。eWASM的開發目前處於非常早期的階段,計劃在2021年釋出。目前,仍需要進行大量研究。

第3階段:持續改進 Continued Improvement

“持續改進”是一個程式碼名稱,它包含前面階段的所有未來的更改、修復和改進,以及隨之而來的更多內容。不幸的是,關於這個階段的資訊並不多,因為它最初計劃在2022年啟動。我們所知道的是,將實施以下技術:

跨分片交易;輕量客戶端;超平方圖表;建立更緊密的聯絡;以太坊2.0對加密經濟意味著什麼?

關於瞭解以太坊 2.0最重要的一點是,它不是一夜之間就能發生的變化。最初的釋出計劃分為4個階段,但是沒有人說開發就到此為止,或者在這個過程中不會有延遲和變化。每個軟體都沒有最終版本,總有需要改進和修正的地方。

以太坊是密碼學領域最重要的專案之一,也是許多其他專案所依賴的。它得到了開發社羣和企業的大力支援。有很多人對以太坊的未來投入巨資,因此承載了很大壓力。如果這個團隊成功地實現了這一點,我們將擁有一個完全可擴充套件的通用區塊鏈,它將更接近於最初的以太坊口號:“全球超級計算機”,並將向世界展示“區塊鏈夢想”是可能實現的。這將吸引更多的開發者和投資者在此基礎上繼續構建明星專案。

在接下來的幾年裡,關注以太坊2.0的開發是理解以太坊1.0區塊鏈當前專案如何遷移到新鏈以及加密空間將會發生的重大變化的關鍵。只有時間才能告訴我們,這些事件將在何時、以何種方式發生。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;