12.03 一文讀懂以太坊:過往、現狀與未來

一文讀懂以太坊:過往、現狀與未來

免責聲明:本文旨在傳遞更多市場信息,不構成任何投資建議。文章僅代表作者觀點,不代表火星財經官方立場。

原文標題:一文讀懂以太坊:過往、現狀與未來

一文读懂以太坊:过往、现状与未来

作者:sheinix@The Startup

翻譯:Lisa Liu

以太坊網絡

早在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將被創建作為在信標鏈上驗證交易的獎勵,並且任何ETH1都可以購買它。最初,還沒有辦法將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區塊鏈當前項目如何遷移到新鏈以及加密空間將會發生的重大變化的關鍵。只有時間才能告訴我們,這些事件將在何時、以何種方式發生。


    分享到:


    相關文章: