給初學者的以太坊路線圖指南
以太坊
以太坊的使命是成為一個可以取代伺服器機房的去中心化世界計算機。 你可以把它想象成為一臺全世界人民都可以使用的公共電腦。 它不能被關機或者關閉電源。 這裡有一個以太坊的初學者指南和一個關於它技術上如何工作的解釋,方便你對它有個大致瞭解。
如果以太坊是一臺計算機, 那麼對它的每次更新都可以看作一次作業系統(OS)升級。 如同谷歌推出 Android Oreo 或蘋果釋出 iOS 10, 以太坊也將分四個階段進行釋出。
每個階段都增加了新功能並提高了平臺的使用者友好性和安全性, 同時讓以太坊容量得到不斷擴充套件。
前沿(2015 年 7 月)— 第一次釋出的以太坊網路。 它允許開發者進行實驗, 挖礦以太幣, 並開始構建 dApp 和相關工具。
家園(2016 年 3 月)ー 以太坊的第一個生產版本,它帶來了許多協議上的改進, 為未來的升級和交易加速奠定了基礎。
大都會(2017 年 10 月)ー 更輕、更快、更安全的以太坊。它分為兩個版本釋出: 拜占庭(Byzantium, 2017 年 10 月)和君士坦丁堡(釋出時間未定)。
寧靜 (釋出時間未定) ー 它將通過 Casper 共識演算法給我們帶來期待已久的 POS 共識機制。
所有這些更新都會有助於以太坊的擴容, 這對每個人來說意味著更快的交易速度和更低的費用。 正如您所看到的, 以太坊團隊在擴充交易量方面做了很棒的工作。
源自: Etherscan
現階段: 大都會
大都會有望成為一個更輕、更快、更安全的以太坊版本。 它還將為智慧合約開發人員提供更大的靈活性。
大都會將被拆分成兩次關鍵釋出: 拜占庭和君士坦丁堡。 第一次拜占庭硬分叉已經在 2017 年 10 月完成。 第二次君士坦丁堡硬分叉還沒有確定日期, 但預計會發生在今年。
每個階段都包括一系列的 EIP(Ethereum Improvement Proposal)。 拜占庭總共有 9 個 EIP 來改善網路的隱私性、可伸縮性和安全性。 所有這些更新將導致更快的出塊速度和更低的使用者費用。
以下是大都會的主要更新:
- 隱私 ー 進行匿名交易的能力(zk-SNARKs)
- 為開發人員提供更簡單的程式設計方式
- 更容易預測 gas 費用
- 增加錢包的安全性(抽象賬戶)
- 增加挖礦難度(難度炸彈)
隱私
在大都會這個版本, 開發人員將得到一個新的隱私工具 - 能夠有效地在鏈上驗證 zk-SNARKs。 Zk-SNARKS 是 “zero-knowledge succinct non-interactive arguments of knowledge" 的縮寫。
簡單來說, 一個零知識的證明是一種不需要額外透露其所要證明的宣告之外的其它資訊就可以證明該宣告的真實性的一種方法。
這裡有一個簡單的例子。 我需要向約翰證明我知道一個隨機拿出的手機的密碼。 為了證明這一點, 我只需要將手機解鎖, 而不是將密碼洩露出去。
一個零知識的證明就是一個說服者(我)不暴露真實知識就可以去說服一個驗證者(約翰)使其相信我確實有這個知識。 在這個例子中, 我可以在手機上輸入密碼, 並且顯示手機沒有上鎖, 而不需要展示我輸入的是什麼。
那麼, 這對以太坊有什麼影響呢? 某些合約變數可以被做成私有。 不是將這些祕密資訊儲存在區塊鏈上, 而是將它們可以與使用者資料一起儲存。 這些隱藏在交易中的資訊包括髮送者、接收者、金額和資料。
除了 zkSnarks(用於 zCash )之外,以太坊還將擁有環簽名(在門羅幣的隱私方案中使用)。這真是個兩全其美的設定方式。
抽象賬戶
在軟體工程中, 抽象是讓程式設計師隱藏手頭問題上那些無關緊要的細節,從而能夠在某個層次的複雜性上去思考的一種工具。開發人員使用抽象的方法來防止終端使用者在更關心更高層次的概念時被一些細節資訊搞暈。
眾所周知,現在的以太坊有兩類賬戶,即外部賬戶和合約賬戶。外部賬戶由私鑰控制,合約賬戶由建立者編寫的程式碼控制。以太坊正在試圖模糊二者的界限,即你可以同時擁有合約賬戶和外部賬戶,這種做法本質上就是讓使用者按照合約賬戶的格式來定義外部賬戶。一旦這樣做,程式碼支援金鑰將使用者特殊的標識加入到交易中,可是這又有什麼用呢?因為你可能會說隨著量子計算機的發展,它會讓加密貨幣變得不那麼安全,假設你想儲存一筆被量子計算機攻擊過的交易,那又該怎麼辦呢?隨著"抽象賬戶"的實施,你可以使用簽名機制就像雜湊梯子一樣來定義你的賬戶,這樣你的賬戶就會具備量子級別的安全性,同時你的賬戶也會完全變成可定製化, 就像智慧合約一樣。
這將給予使用者更多的私鑰控制權, 同時也增加了智慧合約支付採礦費用的能力。 抽象也可以減少被量子計算機攻擊的風險。
挖礦難度炸彈
這個定時炸彈開始於以太坊從工作量證明(POW)轉移到權益證明(PoS)的過程。 這將使礦工運作更加困難, 而且隨著我們從一個以礦工為基礎的 POW 轉變為一個基於驗證者的 PoS 系統, 未來對他們而言, 無疑會降低他們的利潤。 此外, 每個區塊發行的以太幣數量將從 5 個降到 3 個。
最後階段: 寧靜
這是以太坊路線圖的最後一個階段, 將以太坊網路從工作證明切換到權益證明。 寧靜這個階段的期望就是把以太坊網路帶入主流世界。
[圖片上傳失敗...(image-ca96e7-1523096497152)]
源自: Blockgeeks
工作量證明
大多數區塊鏈執行在“工作量證明”上, 這意味著礦工們需要通過解決密碼難題去挖出一個區塊。 隨著時間的推移, 這些難題變得越來越難, 需要大量的能量和計算能力。
“工作量證明”的問題在於它正變得越來越集中化。 這意味著少量礦業公司可以控制整個比特幣世界的雜湊算力。 到目前為止, 有 71.2% 的算力 是受 5 大礦池控制的。
隨著密碼難題變得更具挑戰性, 解出這個難題需要更多昂貴的硬體和能源。 這使得任何個人都難以挖礦, 將算力進一步集中到一些礦池中。
為什麼這樣很不好? 如果這五個採礦池相互協調一致, 他們可以發動 51% 攻擊。 攻擊者將能夠阻止新的交易獲得確認, 使他們能夠停止使用者之間的支付。 此類事件甚至可能催生出像位元現金那樣一個不同的區塊鏈。
權益證明
以太坊解決這個問題的辦法就是轉向“權益證明”。 這意味著, 驗證者(而不是礦工)將不得不將以太幣作為權益, 然後通過押注來“驗證”區塊。 如果區塊通過驗證被加到區塊鏈上, 你將得到與你的權益成比例的獎勵。 如果你押錯了區塊, 你的權益就會被拿走。
權益證明也有助於解決工作量證明的一些問題。它有助於達成去中心化, 提高能源利用效率, 並且有助於以太坊擴容。
Casper
這是以太坊的“權益證明”協議的名稱。有兩個版本的 Casper。其中一個由 Vlad Zamfir 領導,他一直站在以太坊發展的前沿。 另一個稱作 FFG (friendly finality gadget),由 Vitalik Buterin 領導。
相應的, 會有一些人把他們下注的籌碼鎖定在特別的錢包裡。這些人將通過每年的的以太幣分紅獲利。 你持有以太幣越多, 你的分紅越多。
在 PoS 中, 無論發生什麼, 你總是會贏並且沒有什麼可以失去的。 失去你權益的唯一方法就是惡意地驗證錯誤的區塊。
Casper 通過"權益證明"的共識, 阻止了 51% 攻擊的發生。 臨時和持續的 51% 攻擊對於以太坊的未來有著至關重要的影響。 Casper 進一步加固了它。
以太坊如何擴容
Casper 將為擴容以太坊以獲得在主流世界的應用鋪平道路。 為了做到這一點, 以太坊需要能夠處理大規模的交易。 否則, 成本就會飆升, 交易處理需要更長的時間。
創始人 Vitalik 最近提出了一個計劃, 通過分片來擴容以太坊。 與其讓交易以線性順序執行, 分片允許區塊處理並行進行。
這可以看作是從朋友那裡下載一首歌和使用 Torrent 從成千上萬的人那裡下載同樣的檔案之間的區別。
[圖片上傳失敗...(image-ea0be6-1523096497152)]
來自 MongoDB 的分片介紹
分片也是拆分鏈條資料的過程, 因此每個節點只需要關注鏈上的一小部分資料。
這將使以太坊在同一個鏈上每秒處理成千上萬的交易。 據估計, 這種情況將在幾年內發生。
- 比特幣每秒處理約 7 筆交易
- 以太坊每秒處理約 15 筆交易
- Paypal 每秒處理約 200 筆交易
- Visa 每秒處理約 2000 筆交易並有能力達到每秒 56000 筆交易
正如你所看到的, 比特幣和以太坊要超過 Visa 目前的交易量還有很長的路要走。(還有一家名為 Hashgraph 的新公司聲稱它可以處理 250K 交易 / 秒!)
Plasma
與比特幣類似, 以太坊有一個在智慧合同費用不斷上漲的情況交易時間卻被拖慢的擴容性問題, 這個問題是在 ICOs 期間尤其嚴重。 Plasma 是用來修復這個以太坊擴容問題的一個更新。 這項工作是由 Vitalik Buterin 與閃電網路的 Joseph Poon 合作完成的。
根據 Vitalik Buterin 的說法, 將以太坊推向下一個層次有四個主要問題需要解決: 隱私、共識安全、智慧合同安全以及可伸縮性這個最大的挑戰。
以太坊仍然是一個新興的技術, 但是已經有很多可期的擴充套件特性使其走向主流。 如果以太坊能夠實現其雄心勃勃的多年願景, 那麼這無疑會奠定其作為區塊鏈生態基石的地位!
via: https://hackernoon.com/the-beginners-guide-to-ethereum-s-2020-roadmap-2ac5d2dd4881
作者:Michael Karnjanaprakorn
譯者:陳冬林
相關文章
- 給初學者的Web安全指南Web
- 給 DevOps 初學者的入門指南dev
- 一份送給Java初學者的指南Java
- 圖資料庫初學者指南資料庫
- 初學者指南
- 適用於初學者的完整雲端計算學習路線指南
- Nginx初學者指南Nginx
- Groovy初學者指南
- RMAN 初學者指南
- 價值流圖 (VSM) 初學者指南
- 獻給UNIX的初學者
- OAuth 2.0初學者指南OAuth
- Kotlin初學者指南Kotlin
- 【譯】GraphQL 初學者指南
- Apache Hudi初學者指南Apache
- RMAN初學者指南(轉)
- 給初學者的 type 命令教程
- 給初學者的 fc 示例教程
- Electron 的初學者詳細指南
- 一位資深程式設計師給JAVA初學者的學習路線程式設計師Java
- 大資料初學者必備的詳細版學習路線圖大資料
- 給初學者看的 shuf 命令教程
- 給初學者的 Android 加密工具Android加密
- 給安卓初學者的12篇教程安卓
- Java初學者入門指南Java
- 區塊鏈初學者指南區塊鏈
- JavaScript 模組(1):初學者指南JavaScript
- 模板初學者指南1 (轉)
- 模板初學者指南2 (轉)
- HTML初學者指南(九)(轉)HTML
- HTML初學者指南(七)(轉)HTML
- HTML初學者指南(六)(轉)HTML
- HTML初學者指南(四)(轉)HTML
- HTML初學者指南(三)(轉)HTML
- HTML初學者指南(二)(轉)HTML
- HTML初學者指南(一)(轉)HTML
- 給初學者,因為我就是個初學者(3) (569字)
- React Redux 的初學者詳盡指南ReactRedux