以太坊初學者教程:智能合約、DApps、好處和限制

已發表: 2021-03-11

想像一下,您處於以下情況之一:

  • 您的電子錢包帳戶由於某種原因被平台封鎖。
  • 您的公司必須為客戶工作,但您不知道是否可以信任他們。
  • 您的社交媒體帳戶被黑了。

所有這些情況都很痛苦,對吧? 如果我們告訴您有一種技術可以為所有這些情況(以及更多)提供解決方案,那會怎樣。 該技術就是以太坊,這個面向初學者的以太坊教程將使您更加熟悉它。

從世界頂級大學在線學習軟件開發認證。 獲得行政 PG 課程、高級證書課程或碩士課程,以加快您的職業生涯。

目錄

以太坊——簡史

這是您需要了解的有關以太坊發展的所有時間表:

  • 2013 年11 月——最初參與比特幣的開發人員 Vitalik Buterin 發表了一份關於以太坊的白皮書。
  • 2014 年1 月– 一家瑞士公司 Ethereum Switzerland GmbH 宣布開發由 Vitalik Buterin、Mihai Alisie、Anthony Di Iorio 和 Charles Hoskinson 等開發人員團隊領導的以太坊軟件項目。
  • 2014 年8 月——以太坊結束其 ICO 並成功籌集了 1840 萬美元。
  • 2015 年5 月——以太坊發布了它的第一個測試網Olympic。
  • 2015 年7 月– Frontier,以太坊的第一個版本發布。
  • 2016 年3 月– Homestead,以太坊網絡的第二個版本升級發布。
  • 2016 年5 月——當 DAO(去中心化自治組織)在眾籌中籌集了創紀錄的 1.5 億美元時,以太坊獲得了廣泛的媒體報導。
  • 2016 年6 月– DAO 黑客事件發生,導致價值 5000 萬美元的以太幣損失(它佔當時流通的以太幣總量的近 15%)。
  • 2016 年7 月– 以太坊網絡分為兩部分:以太坊 (ETH) 和以太坊經典 (ETC)。
  • 2017 年 6 月 – 自 2017 年 1 月 1 日以來,以太坊以 5001% 的創紀錄漲幅創造了超過 400 美元的收入。

什麼是以太坊?

以太坊是一種基於區塊鏈的、開源的、去中心化的軟件解決方案,我們用它來創建自己的稱為以太幣的加密貨幣。 它允許您在其平台上構建和運行分佈式應用程序 (DApp) 和智能合約,而不會受到任何欺詐、停機或第三方乾擾。

除了作為一個強大的平台之外,以太坊還是一種在區塊鏈上運行的編程語言(圖靈完備)。 簡單來說,以太坊是一個去中心化的平台,你可以用它來編程數字貨幣。

以太坊是最大的去中心化軟件應用程序,在它的幫助下,您可以輕鬆創建和公開下一代 DApps。

以太坊自問世以來,徹底改變了區塊鏈行業。 在它到來之前,基於區塊鏈的解決方案無法執行多種應用程序。 例如,比特幣和其他加密貨幣只能作為數字貨幣運作,而以太坊則是作為開發人員創建基於區塊鏈的程序的平台。

每個人都可以訪問以太坊,並允許每個人開發基於以太坊區塊鏈的程序。 根據Ethereum.org的說法,“以太坊是世界上可編程的區塊鏈”。

以太坊背後的人採用了比特幣和類似加密貨幣的基本概念,並為其添加了更多功能,並創建了這個廣受歡迎的區塊鏈解決方案。

截至2019 年 9 月,以太坊是世界上第二大加密貨幣,僅次於最受歡迎的區塊鏈應用程序比特幣。 但是,與比特幣相比,您可以更快地獲得以太幣(以太坊的加密貨幣),因為前者只需要 14 到 15 秒,而後者需要近 10 分鐘。

要正確理解以太坊,您必須熟悉該技術的一些基本組件。 以下是您應該了解的以太坊的主要方面:

  • 氣體
  • 以太坊虛擬機
  • 智能合約
  • DApps(去中心化應用程序)

在我們面向初學者的以太坊教程的以下部分中,我們將介紹這些概念並了解該區塊鏈平台的內部工作原理:

以太坊——你應該知道的重要術語

1. 貨幣發行

在每個國家,貨幣發行主要由一個國家的中央銀行或該國的貨幣當局管理和監控。 例如,在印度,RBI 是監管所有其他銀行和金融當局的貨幣當局。

2. 去中心化自治組織

去中心化自治組織是一個數字組織,由一組編碼為計算機程序的規則管理和監管,不受中央管理機構的影響——它完全透明並由股東控制。 DAO 的實踐和金融交易記錄保存在區塊鍊網絡上。

3. 智能合約

智能合約是一種計算機協議,旨在促進和驗證兩方或多方之間的合同談判或履行。 這些數字合約依賴於共識系統,並且在沒有任何第三方乾預的情況下執行。

4. 智能物業

智能財產可能意味著建立在以太坊上的實物資產和加密資產(股票、網絡訪問權等)。 智能財產的所有權通過以太坊錢包控制,該錢包充當以太坊區塊鏈上 DApp 的網關。

5. 堅固性

Solidity 是一種高級面向對象的語言,用於在以太坊中實現智能合約。 它從 C++、Python 和 JavaScript 編程語言中汲取靈感,旨在針對以太坊虛擬機 (EVM)

6.以太坊虛擬機

以太坊虛擬機(EVM)是為智能合約設計的運行時環境。 本質上,EVM 是位於底層硬件之上的虛擬計算機層。 這些虛擬層在執行代碼和執行機器之間創建了一個抽象級別。 EVM 有助於提高軟件的可移植性,並確保應用程序不僅相互分離,而且與它們的主機分離。

7. 交易

交易是從一個帳戶發送到另一個帳戶的消息。 它們包括稱為以太的二進制數據。 它是一種價值轉移,被廣播到以太坊網絡並收集到塊中。

以太坊網絡

至此,你已經知道以太坊網絡是一個分佈式去中心化的公有區塊鍊網絡。 然而,還有更多。 以太坊是在以太坊網絡上運行的所有去中心化 P2P 應用程序和組織的基礎。 該網絡由兩個獨特的節點組成——完整節點和輕量級節點。

完整節點是那些包含自創世(父)塊以來交易的完整歷史記錄的節點 他們記錄根據以太坊規範中規定的規則驗證和驗證的每筆交易。 因此,全節點證明了區塊鍊網絡的完整性、安全性和透明度。

與全節點不同,輕量級節點僅包含整個區塊鏈的一個子集。 輕量級節點不會驗證每筆交易,並且可能/可能不會持有當前區塊鏈狀態的副本。 它們主要依賴於完整節點來為它們提供缺失的細節或特定的特定功能。 顧名思義,輕量級節點是輕量級的,因此它們可以在內存受限的設備上運行得更快。 輕量級節點主要用於本質上是輕量級的電子錢包。

什麼是以太?

以太幣是您在以太坊網絡上用於支付交易的加密貨幣。 您可以通過以下兩種方式使用 Ether:

  1. 應用程序需要以太幣支付才能在平台上執行任何操作,以防止惡意和破壞程序在網絡上運行。
  2. 該網絡使用以太幣獎勵像比特幣一樣為以太坊網絡做出貢獻的礦工。

除了這些應用程序之外,您還可以使用 Ether 購買 Gas,我們將在下一節為初學者提供的以太坊教程中介紹。 在以太坊中,Ether 是一個公制單位,可以讓你準確地支付 Gas 和交易費用。 以太幣的最小面額是 Wei。 一個 Ether 有 1e18 Wei。

什麼是氣體?

以太幣並不是以太坊上唯一可用的數字貨幣。 當你在以太坊上執行交易時,你必須通過 Gas 向礦工支付以太幣。 Gas 是一種中介代幣,它允許您衡量完成交易或運行智能合約所需的計算工作。

Gas 的價格以 Ether 表示。 此外,礦工確定 Gas 價格,他們可以拒絕運行智能合約或處理不提供所需 Gas 價格的交易。

我們通過以下等式計算以太坊的交易費用:

以太幣 = Gas Limit x Gas Price

在這裡,Gas Price 是您必須支付的 Ether 數量,Gas Limit 是用於計算過程的 Gas 數量。 Gas Limit 和 Gas Price 確保合約在某個時間點結束。

以太中的氣體去哪兒了? 它位於以太坊虛擬機 (EVM) 中,我們將在以下部分中介紹:

什麼是以太坊虛擬機?

以太坊虛擬機是執行以太坊中所有交易的地方。 它允許您在單一平台上開發所有應用程序。 可以說,EVM 是運行整個以太坊網絡的引擎。

雖然以太坊已經為開發去中心化應用程序設置了定義的協議,但它之所以能夠這樣做是因為 EVM。 以太坊虛擬機是隔離的和沙盒的。 這意味著運行 EVM 的代碼無法訪問文件系統或網絡,也幾乎無法訪問其他合約。

當你將 Solidity 代碼輸入以太坊時,它首先會進入以太坊編譯器。 之後,它將 EVM 字節碼發送到處理其餘過程的以太坊虛擬機。

EVM 管理以太坊的計算和內部狀態。 它執行代碼,維護一個內部數據庫,並擁有許多可以相互通信的稱為“帳戶”的對象。

什麼是智能合約?

智能合約是一種自動運行的計算機程序。 作為一種交易協議,它使您能夠通過區塊鏈交換商品、金錢和服務。 智能合約具有雙方為對方設定的特定條件,當雙方滿足各自的條件時,智能合約就會相應運行。

使用智能合約,您可以執行各種任務,例如去中心化投票等等。 簡單來說,智能合約是一種自動執行、強制執行、管理和處理付款的合約。

要在以太坊上執行智能合約,您需要代幣(以太幣)。 如果沒有所需的加密貨幣,您將無法在以太坊上使用智能合約。

要創建智能合約,您需要使用以太坊的通用編程語言 Solidity。 它是為在以太坊虛擬機中運行而開發的,允許您執行任意計算、存儲狀態和執行數字代幣的交易。

智能合約提供了多種優勢,因此它們越來越受歡迎。 使用智能合約的最大優勢是它們無需中間人。

由於智能合約是自動的,因此沒有人為錯誤的餘地。 它們是虛擬的,與傳統合同相比,價格相當實惠。 智能合約在多個行業都有潛在的用例,包括:

  • 衛生保健
  • 金融和銀行
  • B2B 服務(IT 服務、營銷服務等)

另請閱讀:以太坊項目的想法和主題

什麼是 DApp?

DApp 或去中心化應用程序是在分佈式網絡上運行的軟件應用程序。 它託管在點對點分散網絡上,而不是中央服務器上。 DApp 可以是任何軟件應用程序,例如移動應用程序或網站。 DApp 和傳統應用程序之間的區別在於它建立在去中心化網絡上。

去中心化應用程序的用戶界面就像任何傳統應用程序的界面一樣。 但是,去中心化應用程序的所有後端進程都基於去中心化網絡。

以太坊是一個去中心化的區塊鍊網絡,所以當你創建一個基於以太坊的應用程序時,你實際上是在創建一個去中心化的應用程序。 DApps 是一個相對較新的概念,但它們正變得非常流行。

隨著人們越來越關注自己的隱私和安全,對 DApp 的需求也會相應增加。 儘早了解它們可以很容易地為您帶來職業優勢。

與去中心化應用程序類似,以太坊也有去中心化自治組織(DAO)。 這些組織僅存在於區塊鏈上,並受區塊鏈協議控制。 創建這些組織是為了持有資產並使用投票系統來管理資產的分配。 了解您需要了解的有關 DApp 的所有信息。

以太幣

如前所述,以太坊網絡運行​​在兩種類型的加密貨幣上——以太幣和天然氣。

1. 以太

以太幣是用於支付在以太坊網絡中進行的所有交易的加密貨幣的名稱。 然而,除了支付一般交易和服務外,Ether 還用於購買 Gas,用於支付 EVM 內的計算服務。

以太幣是一個具有多種面額的公制單位,以幫助用戶支付交易和 Gas 的確切金額。 以太幣的最小面額——基本單位——被稱為魏。 這是所有以太幣面額的完整表格:

2. 氣體

EVM 運行部署在以太坊網絡上的代碼。 現在,您可能認為可以有效地在 EVM 上運行無限循環並使其內存過載。 多虧了 Gas,這是不可能的。

Gas 代表網絡上計算資源的度量。 以太坊網絡上的每份合約都被分配了可用於計算的最大量的 Gas。 這個設定的限制稱為“氣體限制”。 您還應該知道另外兩個 Gas 術語:

Gas Price – 以以太幣及其面額等代幣表示的 Gas 價格。 Gas Price 是一個浮動值,有助於穩定 Gas 的價值。 因此,如果代幣或貨幣的成本波動,Gas Price 也會調整以保持相同的實際價值。

Gas Fee – 它代表運行特定交易或程序(合同)所需支付的 Gas 數量。

因此,如果您嘗試運行無限代碼(永遠運行的代碼),最終合約將超過其分配的 Gas Limit,並且調用合約的整個交易將回滾到其原始狀態。

以太坊的好處和局限性是什麼?

在我們面向初學者的以太坊教程的這一部分中,我們將看看這個區塊鏈平台的各種優勢:

  • 使用以太坊,您可以上傳和請求要執行的程序。
  • 它提供永久和持久的數據存儲。
  • 您可以創建可交易的代幣,將其用作虛擬股票或數字貨幣。
  • 它提供 100% 的正常運行時間和 DDoS(分佈式拒絕服務)抗性。
  • 您可以在以太坊中創建虛擬組織 (DAO)。
  • 它允許您創建高度安全和容錯的 DApp。

然而,與任何其他技術一樣,以太坊也有其局限性。 以下是以太坊的一些缺點:

  • 需要用戶 ID 驗證的應用程序在以太坊上構建將是有問題的,因為沒有中央機構來執行驗證。
  • 更新應用程序或修復錯誤可能非常具有挑戰性,因為每個節點都必須更新他們的節點軟件。

以太坊挖礦

與任何其他區塊鏈技術一樣,以太坊通過基於激勵的模型(通常稱為工作量證明機制)來提高安全性。 以太坊中使用的工作量證明算法稱為 Ethash,這是一種受 Dagger-Hashimoto 算法啟發的哈希算法。

以太坊挖礦的步驟如下:

  • 用戶通過將 Ether 值發送給另一個用戶來啟動交易。
  • 然後將此新交易與前一個塊中包含的其他交易一起添加到新塊中。
  • 網絡中的礦工競爭使用一組特定的指令來驗證新塊。
  • 能夠成功驗證新區塊並將其添加到網絡中的礦工將獲得獎勵,即 ETH。
  • 一旦交易被驗證,發起交易的用戶也會獲得一個以太幣。

以太坊初學者教程:下一步是什麼?

以太坊是一項具有多個方面的龐大技術。 如果沒有足夠的資源和指導,了解其各個部分(例如智能合約和挖礦)可能會非常麻煩。 正如您在我們的以太坊初學者教程中必須看到的那樣,如果您了解區塊鍊及其在以太坊中的實施,使用這項技術變得輕而易舉。

這就是為什麼我們建議參加涵蓋以太坊及其所有技術方面的區塊鏈課程。 區塊鏈課程將為您提供結構化的課程,以便您可以有效地學習。

在 upGrad,我們提供多個區塊鏈課程,幫助您了解以太坊區塊鏈的基本和高級概念。 您將了解什麼是區塊鏈、什麼是以太坊、它們如何協同工作以及如何將它們用作區塊鏈專業人士。

在 upGrad,您可以獲得以下區塊鏈課程:

計算機科學理學碩士(提供區塊鏈開發專業)

upGrad 與利物浦約翰摩爾斯大學一起提供這個項目。 它持續 19 個月,提供超過 500 小時的學習材料。 在此計劃中,您將獲得與行業導師和 30 多個項目和任務的每兩週一次的小組指導。 對於非技術背景的人來說,這是一門出色的區塊鏈課程。

申請區塊鏈高級證書課程

本課程持續 7.5 個月,為您提供超過 250 小時的學習時間。 您將獲得 IIIT 班加羅爾校友身份和區塊鏈行業專家的 1:1 個性化指導。 除了以太坊,您還將了解 Hyperledger Fabric、智能合約等等。

軟件開發執行 PG 計劃 - 區塊鏈專業化

這個為期 13 個月的課程將為您免費提供為期 4 個月的數據科學和機器學習高管認證。 您將在該計劃期間通過現場講座和在線課程進行學習,並學習 10 多種編程工具和語言。 最重要的是,您可以測試您對區塊鍊和以太坊的了解

上述所有課程都要求您擁有學士學位,並取得 50% 或同等及格分數。 請注意,您無需任何編碼經驗即可註冊其中任何一門課程。 您將學習成為熟練專業人員所需的所有技能。

結論

以太坊無疑是一項了不起的技術。 通過完成這個面向初學者的以太坊教程,你肯定已經邁出了學習這項技術的第一步。

以太坊區塊鏈還有更多值得注意的應用。 區塊鏈領域的職業正在興起,因為它改變了技術的格局。

掌握未來的技術 - 區塊鏈

申請區塊鏈高級證書課程