Lição 1

以太坊的技術回顧

以太坊是基於區塊鏈技術的去中心化智能合約平颱,使用帳戶模型和以太幣作爲交易媒介。智能合約具有數據透明、不可篡改的特點,執行環境分散且安全。2. 以太坊麵臨擴容問題,開髮社群提出了多種解決方案,如側鏈、Rollup、分片技術等,以實現繫統的可擴展性和性能優化。

前言

以太坊是一個開放的區塊鏈平颱,它可以讓任何人建立和使用去中心化的應用程式。 2013 年以太坊的創始人 Vitalik Buterin 髮錶的以太坊白皮書,闡述了以太坊的設計理念和技術架構,替日後蓬勃髮展的區塊鏈應用與生態繫奠定了基礎。

以太坊的創立初衷是爲了改進比特幣的功能而不僅隻是電子支付繫統,兩者間最主要的區別在於以太坊能夠存儲可以執行程序的代碼,此核心創新又稱爲智能合約,這意味著任何開髮者都能夠在以太坊區塊鏈上編寫可以執行的去中心化應用程序(DApps),實現各種商業邏輯和社會契約。

由於智能合約的出現,使用者可以在無需信任或中介的情況下,進行安全、透明和自動化的交易與協作,區塊鏈網絡有了更多的用途和功能。

然而以太坊的髮展與實際應用也遭遇了一些問題,其中最大的睏境是擴容性問題,當加密貨幣市場出現快速增長和交易量激增時,以太坊區塊鏈的性能不足以應付需求。因此,以太坊需要不斷創新和演進,以滿足不斷增長的用戶群。

本課程旨在回顧以太坊的技術髮展歷程,探討以太坊如何成爲區塊鏈領域的創新者,併了解以太坊麵臨的擴容問題及其改進方曏。

以太坊的架構簡介

先前技術的限製

在以太坊出現前,區塊鏈髮展的重心僅限於數字貨幣和支付繫統,使用去中心化的區塊鏈帳本記録交易。以比特幣爲例,比特幣網絡可視爲一個狀態轉換繫統,使用未花費交易輸出 (Unspent Transactions Output,簡稱 UTXO) 模型,指的是一筆交易後剩餘的可用於另一筆交易的代幣數量,可以理解爲別人給我錢後,剩下還沒花掉的餘額是多少。

每次礦工挖掘出新區塊時,都代錶了比特幣網絡的狀態髮生了變化,因爲新區塊中包含了一些有效的交易,這些交易會消耗一些 UTXO 併産生一些新的 UTXO。這些新的 UTXO 就成爲了比特幣網絡的最新狀態,也就是所有用戶持有的比特幣數量和分布。

上一個狀態 + 新區塊中的有效交易 = 當前狀態

UTXO 的狀態轉換

日常生活中人們比較熟悉像銀行那樣的帳戶模型,一個區塊鏈地址對應到一個帳戶,每筆交易都是從一個帳戶轉移資金或資料到另一個帳戶,您的帳戶餘額就是您擁有的資産。 UTXO 模型進行交易時沒有地址的限製,每一次交易都能使用不衕的地址,您的資産是與您關聯過的所有 UTXO 總和,併非特定地址的餘額。因此 UTXO 有較好的併行性,而帳戶模型更可能是序列執行,因而産生效能上的限製。雖然 UTXO 模型具備更好的隱私性和可擴展性優點,但較不直觀且難以實現覆雜的邏輯運算,例如比特幣的編程語言就存在以下限製:

  1. 缺乏圖靈完備性
    雖然比特幣腳本語言支持非常多樣化的功能,但併沒有支持所有的計算,主要缺少的類別是回圈。理論上任何循環運算都能通過多層的 if 語句多次重覆執行底層代碼來實現,但這會導緻運作效率非常低下。

  2. 價值盲區
    UTXO 腳本無法對可提取金額做精細控製。比如説,某位用戶 A 需要對衝價格風險,另一位用戶 B 作爲對手盤,雙方將價值 $1000 的資産存入合約中,30 天後 A 用戶取回價值 $1000 的比特幣,其餘的部分則髮送給 B,這會需要預言機來確定 1 個比特幣的美元價值,迫使預言機持有許多不衕麵額的 UTXO。

  3. 缺少狀態彈性
    UTXO 隻有兩種狀態,已使用或是未使用。需要多階段狀態(如正在使用中)的期權合約、去中心化交易報價、加密承諾協議等等難以創建。因此 UTXO 隻能用於構建簡單的一次性合約,而不是去中心化協議中更覆雜的“有狀態”合約。

  4. 區塊鏈數據盲區
    UTXO 模型看不到區塊鏈的數據,例如隨機數、時間戳和上一個區塊的哈希值。使得博弈或其他幾類的去中心化應用受到了限製。

以太坊的帳戶模型

爲了解決比特幣在智能合約應用方麵的短闆,以太坊捨棄了 UTXO 採用帳戶模型,就像個人的銀行帳戶那樣,有資料庫在記録每個帳戶的餘額,伴隨每次交易自動更新。

以太坊上有兩種帳戶,一種是通過私鑰控製的普通帳戶,另一種則是由智能合約代碼控製的合約帳戶,以太幣則是以太坊網絡中的交易媒介:

  • 帳戶(Accounts)
    以太坊上的每個帳戶都有一個唯一的 20 位元位址,類似於您銀行帳戶的帳戶號碼,可以儲存一些以太幣或數據,透過交易來互相轉移以太幣或傳遞訊息。
  • 合約(Contracts)
    合約就像是一颱自動販賣機一樣,當您投入一些以太幣,合約就會執行其中的程式碼,併根據代碼的邏輯執行特定操作。合約可以存儲資料、執行程式碼、傳遞訊息、或是與其他合約互動。
  • 以太幣(Ether)
    以太幣是以太坊上的原生加密貨幣,可用於支付以太坊網絡的使用費(Gas Fee)。您可以透過交易來傳遞以太幣,就像利用銀行轉帳一樣,也能購買合約中的服務或産品。

智能合約

在區塊鏈髮展歷程中,以太坊是率先促成智能合約與去中心化應用落地普及的區塊鏈網絡。以太坊的智能合約一般使用 Solidity 語言編程,是一種在區塊鏈上執行的程式,具備自動化、去中心化、資料公開透明、難以被竄改的特點,可用來實現各種商業邏輯和交易規則。用戶在不需要信任第三方的情況下,能夠利用智能合約完成安全可靠的交易。

智能合約可用於開髮各種不衕類型的去中心化應用程序(DApp),讓以太坊網絡實質上成爲一颱全世界共用的電腦,任何人都可以在這颱電腦上存取數據,以及編輯與操作不衕類型的應用程序,來滿足自己的需求。

乍看之下感覺起來似乎沒什麽特別之處,不就是跑程序軟件而已嗎?在中心化的伺服器上存儲數據和執行 Web 應用代碼,或是在自己的個人端電腦上安裝軟件,一樣可以做出與智能合約相衕的應用功能。

然而這種便宜行事的作法將承受數據丟失、篡改、服務中斷等限製和風險。智能合約的出現賦予了傳統應用程序前所未有的安全性、可驗證性、和抗審查性。具體來説,以太坊的智能合約和一般的 Web 應用及個人端軟件有以下幾個主要差異:

  • 數據存儲
    智能合約的數據是存儲在區塊鏈上,每個節點都有一份完整的副本,因此數據是透明和不可篡改的。一般的 Web 應用及個人端軟件的數據是存儲在中心化伺服器上,隻有伺服器管理者或授權者才能訪問和修改數據,因此數據是不透明和可變動的。
  • 程序邏輯
    智能合約的程序邏輯是寫在區塊鏈上,一旦部署就難以竄改或刪除,因此程序邏輯是固定和可預測的。一般的 Web 應用及個人端軟件是寫在中心化伺服器上,可以隨時修改或刪除,因此程式邏輯是靈活和不可預測的。
  • 執行環境
    智能合約的執行環境是由區塊鏈網路提供,每個節點都可以驗證和執行智能合約,因此執行環境是相對分散和安全的。一般的 Web 應用及個人端軟件的執行環境是由中心化伺服器提供,隻有該伺服器才能執行這些程序,因此執行環境是集中和相對不安全的。
  • 交互方式
    智能合約的交互方式是通過區塊鏈交易來進行,每次交互都需要支付一定量的以太幣作爲手續費,因此交互方式是有成本和有延遲的。一般的 Web 應用的交互方式是通過 HTTP 請求來進行,而個人端電腦則是直接在 OS 中操作即可,交互時通常不需要支付任何費用,因此交互方式是接近無成本和即時的。

以太坊虛擬機

以太坊虛擬機(EVM)是一颱運行在以太坊區塊鏈上的圖靈完備計算機,它可以執行智能合約的代碼併修改區塊鏈的狀態。簡單的理解方式就是個人端電腦或手機內的操作繫統 OS,隻有在這個特定環境下才能執行智能合約和以太坊上的應用程序。

EVM 是一個隔離的環境,不受外部幹擾,也不會影響安裝的設備。 EVM 的工作原理是將智能合約的代碼(通常以 Solidity 語言編寫)編譯成一種稱爲 EVM 位元組碼的指令集,然後由 EVM 逐步執行這些指令。

EVM 的執行結果會改變區塊鏈上的狀態,例如轉移代幣、儲存數據或觸髮事件。爲了防止以太坊上出現惡意的智能合約代碼造成死循環當機,每個指令都需要消耗一定數量的 Gas,若沒有足夠 Gas 就無法進行任何操作。

Gas Fee

Gas Fee 指在以太坊網路上執行智能合約或轉移代幣所需支付的以太幣(ETH)交易手續費,用以獎勵維護網路的礦工。 Gas Fee 的高低取決於交易的覆雜度和網路的擁擠程度,通常以 Gwei(1 Gwei = 0.000000001 ETH)來計算。

交易者可以自行設定 Gas Price(每單位 Gas 的價格)和 Gas Limit(最多願意支付的 Gas 數量),來調整交易的速度和成本。

以太坊的 Gas Fee 計算公式如下:

Gas Price * Gas Limit = Gas Fee

Gas Price 爲手續費單價的概念,如果 Gas Price 過低,交易的優先順位也會較低,因此交易可能會被礦工忽略;

Gas Limit 是手續費用量的概念,如果 Gas Limit 過低,不會影響交易的優先順位,但處理交易時可能會因爲執行不完整而失敗,已支付的 Gas Fee 也不會退還。

在 EIP-1559 (以太坊改進提案)後,Gas Price 有最低的 Base Fee,根據網絡的需求和區塊大小動態調整,Gas Price 設定高於 Base Fee 的交易必定會被處理,併且從區塊鏈網絡中銷毀減少 ETH 的代幣供給。

Tips 是用戶願意支付給礦工或驗證者的額外費用,是一個由用戶自己設定的可選值,可以幫助用戶提升自己的交易順位,或是在網絡擁擠時加快交易速度。

由於以太坊的 Gas 機製,區塊鏈網絡的計算資源和儲存空間能夠被適當的定價,從而避免公地悲劇,也可防止智能合約執行無限循環的錯誤代碼,或是遭到有心人士的惡意攻擊。

挖礦

在 2022 年 9 月的以太坊合併前,以太坊和比特幣都是基於工作量證明(Proof of Work,PoW)的共識機製來促進區塊鏈網絡的正常運作。

參與挖礦的設備需要解決一個覆雜的加密難題,也就是通過算力計算出一個符合規定的哈希值,這個過程需要消耗大量的計算資源和電力,併且難度會隨著網絡算力的變化而不斷調整,提供算力的用戶又稱爲礦工。

通過不斷嘗試計算哈希值,礦工有機會找到符合要求的哈希值,接著礦工可以將待處理的交易打包成一個區塊,併將區塊廣播到整個網絡中進行驗證和確認。如果區塊被確認,則礦工將穫得區塊獎勵和交易手續費。

以太坊 2.0 升級後採用權益證明(Proof of Stake,PoS)的共識機製進行挖礦。驗證交易的節點需要將一定數量的以太幣作爲抵押品,以此競爭穫得出塊的權利。

質押的目的是爲了讓節點有一定的經濟風險,攻擊網絡的節點,其質押資産將會被削減承受損失,借此嚇阻參與者的惡意行爲。節點質押的以太幣數量越多,則穫得出塊權利的概率越高。

負責出塊的節點需要打包待處理的交易,生成新的區塊,併將其廣播到網絡中進行驗證和確認。如果區塊被確認,則節點將穫得區塊獎勵和交易手續費,衕時也會根據質押資産的數量穫得一定的收益。

挖礦機製在以太坊網絡中扮演著非常重要的角色,主要體現在以下幾點:

  1. 確保交易的可靠性和安全性
    挖礦是通過在區塊鏈中加入新的交易,從而增加區塊的數量,通過穫得工作證明(目前爲權益證明),確認這些交易的合法性。挖礦讓攻擊者難以進行篡改交易的惡意行爲,確保了交易的可靠性和安全性。

  2. 維護區塊鏈的去中心化
    挖礦機製可以防止任何單個實體或組織控製整個以太坊網絡,因爲挖礦需要大量的算力(目前爲質押代幣),攻擊者需要大量的資源才能夠穫得控製權。這可以確保網絡的去中心化,避免任何單個實體或組織的壟斷。

  3. 提供獎勵激勵參與
    挖礦可以讓參與者通過貢獻資源穫得獎勵,從而促進用戶參與網絡的建設和運營,保證網絡的正常運轉。

與 PoW 挖礦相比,PoS 挖礦所需的計算資源和電力消耗大大降低,因此可以更好地滿足以太坊網絡的髮展與擴容需求。

以太坊的應用

以太坊的智能合約爲許多重要的應用帶來了可能性,以下做簡單的概述:

  1. DeFi(Decentralized Finance)
    DeFi 是以太坊智能合約中最爲成功的應用之一。它借助智能合約建立了一繫列的去中心化金融協議,例如 MakerDAO、Compound、Uniswap 等等,這些協議可以實現諸如借貸、交易、保險、資産管理等金融業務。

  2. NFT(Non-Fungible Token)
    NFT 是一種基於以太坊智能合約的數位資産,以智能合約實現對數位資産的唯一性和不可替代性。 NFT 可以應用於藝術品、音樂、游戲、虛擬地産等領域。

  3. DAO(Decentralized Autonomous Organization)
    DAO 是一種基於以太坊智能合約的去中心化自治組織,它可以讓成員通過投票決策組織內部事務,例如決定預算、人員管理、投資決策等。 DAO 的運作方式可以實現真正的去中心化和民主化,併且可以應用於社區、公司、基金會等組織。

  4. 髮行代幣
    以太坊上的 ERC-20 標準規範了代幣的髮行和交易方式,可以用來建立自己的代幣,併且這些代幣可以在以太坊上交易。

  5. 去中心化存儲
    以太坊上也有一些基於智能合約的分布式文件存儲協議,例如 Swarm 協議允許用戶將文件分散儲存在網絡上,使其更安全和可靠。

  6. 雲端計算
    以太坊上也有一些基於智能合約的去中心化計算平颱,如 Golem 和 iExec,這些平颱允許用戶租用計算資源來運行各種應用程序,從而實現更高效的計算和數據處理。

  7. 數位身分
    EIP-4361 提供了 Login With Ethereum 的驗證標準框架,允許使用者依其以太坊地址登入去中心化應用(DApps),而不需要傳統的帳號和密碼。這個驗證機製可以增加使用者的隱私和安全,衕時減少中介的幹預。

除了上述應用,以太坊智能合約還可以實現更多的應用,例如游戲、社交、供應鏈管理等等。由於智能合約的可編程性,以太坊上的應用場景仍在不斷擴展,未來仍有很大的髮展空間。

以太坊麵臨的擴容問題

以太坊爲了追求去中心化和安全性,在一定程度上犧牲了部分的效能。由於技術上的限製,以太坊的區塊生成時間爲約 12~15 秒,每個區塊的大小限製爲 15 MB,這使得以太坊每秒僅能處理大約 15 筆交易。

然而作爲生態繫與開髮社群最龐大的智能合約網絡,過往的 5 年內以太坊區塊鏈上非零餘額的獨立錢包地址數增長了超過 10 倍,不衕協議和用戶的激增,使得原有設計不堪負荷,以太坊麵臨的擴容問題變得益髮嚴重。

爲了提升以太坊的擴容性,開髮社群已經提出過多種解決方案,包括側鏈、Rollup、分片技術、以及通過其他兼容 EVM 的區塊鏈網絡分流等等,以緩解擁塞情況。

結語

在本課程中,我們探討了以太坊的技術架構和原理,以及智能合約的創新如何髮揮區塊鏈的潛力,促成今日多樣化的去中心化應用和生態繫,來實現各種商業邏輯和社會契約。

然而以太坊的蓬勃髮展卻也凸顯了效能低下的問題,麵對日益增長的用戶需求,以太坊擴容性的提升已成爲當務之急。

在接下來的課程中,我們將分別探討不衕的擴容方案和生態應用,包括側鏈、Rollup、不衕的 EVM 競爭,併總結分析它們各自的優缺點,來幫助您更好地了解區塊鏈技術的髮展現狀和未來趨勢。

重點回顧
以太坊是一個基於區塊鏈技術的去中心化智能合約平颱,使用帳戶模型。
以太幣是以太坊網絡中的交易媒介,用於支付使用費和購買合約中的服務或産品。
以太坊的智能合約使用 Solidity 語言編程,可實現各種商業邏輯和交易規則。
以太坊的虛擬機(EVM)用於執行智能合約的代碼併修改區塊鏈的狀態。
以太坊上每個指令都需要消耗一定數量的 Gas,若沒有足夠 Gas 就無法進行任何操作。
以太坊的智能合約具有數據透明、不可篡改、程式邏輯固定且可預測、執行環境分散且安全、交互方式有成本和有延遲等特點。
以太坊的擴容問題是現時需要解決的最大問題之一,開髮社群已提出多種解決方案,包括側鏈、Rollup、分片技術等。
以太坊有自己的加密貨幣以太幣(ETH),可以用於支付交易費用和獎勵礦工,目前採用 POS 的共識機製。
以太坊的智能合約爲許多重要的應用帶來了可能性,包括 DeFi、NFT、DAO、代幣髮行、去中心化存儲和雲端計算。
以太坊爲了追求去中心化和安全性,在一定程度上犧牲了部分的效能,麵臨擴容問題。已有的解決方案包括側鏈、Rollup、分片技術、以及通過其他兼容 EVM 的區塊鏈網絡進行分流。






🎥・Main Video



📄・Related Articles


什麽是以太坊?


什麽是UTXO?


什麽是智能合約?


什麽是EVM(以太坊虛擬機? )


什麽是 Gas Fee?


什麽是區塊鏈共識算法?

Isenção de responsabilidade
* O investimento em criptomoedas envolve grandes riscos. Prossiga com cautela. O curso não se destina a servir de orientação para investimentos.
* O curso foi criado pelo autor que entrou para o Gate Learn. As opiniões compartilhadas pelo autor não representam o Gate Learn.
Catálogo
Lição 1

以太坊的技術回顧

以太坊是基於區塊鏈技術的去中心化智能合約平颱,使用帳戶模型和以太幣作爲交易媒介。智能合約具有數據透明、不可篡改的特點,執行環境分散且安全。2. 以太坊麵臨擴容問題,開髮社群提出了多種解決方案,如側鏈、Rollup、分片技術等,以實現繫統的可擴展性和性能優化。

前言

以太坊是一個開放的區塊鏈平颱,它可以讓任何人建立和使用去中心化的應用程式。 2013 年以太坊的創始人 Vitalik Buterin 髮錶的以太坊白皮書,闡述了以太坊的設計理念和技術架構,替日後蓬勃髮展的區塊鏈應用與生態繫奠定了基礎。

以太坊的創立初衷是爲了改進比特幣的功能而不僅隻是電子支付繫統,兩者間最主要的區別在於以太坊能夠存儲可以執行程序的代碼,此核心創新又稱爲智能合約,這意味著任何開髮者都能夠在以太坊區塊鏈上編寫可以執行的去中心化應用程序(DApps),實現各種商業邏輯和社會契約。

由於智能合約的出現,使用者可以在無需信任或中介的情況下,進行安全、透明和自動化的交易與協作,區塊鏈網絡有了更多的用途和功能。

然而以太坊的髮展與實際應用也遭遇了一些問題,其中最大的睏境是擴容性問題,當加密貨幣市場出現快速增長和交易量激增時,以太坊區塊鏈的性能不足以應付需求。因此,以太坊需要不斷創新和演進,以滿足不斷增長的用戶群。

本課程旨在回顧以太坊的技術髮展歷程,探討以太坊如何成爲區塊鏈領域的創新者,併了解以太坊麵臨的擴容問題及其改進方曏。

以太坊的架構簡介

先前技術的限製

在以太坊出現前,區塊鏈髮展的重心僅限於數字貨幣和支付繫統,使用去中心化的區塊鏈帳本記録交易。以比特幣爲例,比特幣網絡可視爲一個狀態轉換繫統,使用未花費交易輸出 (Unspent Transactions Output,簡稱 UTXO) 模型,指的是一筆交易後剩餘的可用於另一筆交易的代幣數量,可以理解爲別人給我錢後,剩下還沒花掉的餘額是多少。

每次礦工挖掘出新區塊時,都代錶了比特幣網絡的狀態髮生了變化,因爲新區塊中包含了一些有效的交易,這些交易會消耗一些 UTXO 併産生一些新的 UTXO。這些新的 UTXO 就成爲了比特幣網絡的最新狀態,也就是所有用戶持有的比特幣數量和分布。

上一個狀態 + 新區塊中的有效交易 = 當前狀態

UTXO 的狀態轉換

日常生活中人們比較熟悉像銀行那樣的帳戶模型,一個區塊鏈地址對應到一個帳戶,每筆交易都是從一個帳戶轉移資金或資料到另一個帳戶,您的帳戶餘額就是您擁有的資産。 UTXO 模型進行交易時沒有地址的限製,每一次交易都能使用不衕的地址,您的資産是與您關聯過的所有 UTXO 總和,併非特定地址的餘額。因此 UTXO 有較好的併行性,而帳戶模型更可能是序列執行,因而産生效能上的限製。雖然 UTXO 模型具備更好的隱私性和可擴展性優點,但較不直觀且難以實現覆雜的邏輯運算,例如比特幣的編程語言就存在以下限製:

  1. 缺乏圖靈完備性
    雖然比特幣腳本語言支持非常多樣化的功能,但併沒有支持所有的計算,主要缺少的類別是回圈。理論上任何循環運算都能通過多層的 if 語句多次重覆執行底層代碼來實現,但這會導緻運作效率非常低下。

  2. 價值盲區
    UTXO 腳本無法對可提取金額做精細控製。比如説,某位用戶 A 需要對衝價格風險,另一位用戶 B 作爲對手盤,雙方將價值 $1000 的資産存入合約中,30 天後 A 用戶取回價值 $1000 的比特幣,其餘的部分則髮送給 B,這會需要預言機來確定 1 個比特幣的美元價值,迫使預言機持有許多不衕麵額的 UTXO。

  3. 缺少狀態彈性
    UTXO 隻有兩種狀態,已使用或是未使用。需要多階段狀態(如正在使用中)的期權合約、去中心化交易報價、加密承諾協議等等難以創建。因此 UTXO 隻能用於構建簡單的一次性合約,而不是去中心化協議中更覆雜的“有狀態”合約。

  4. 區塊鏈數據盲區
    UTXO 模型看不到區塊鏈的數據,例如隨機數、時間戳和上一個區塊的哈希值。使得博弈或其他幾類的去中心化應用受到了限製。

以太坊的帳戶模型

爲了解決比特幣在智能合約應用方麵的短闆,以太坊捨棄了 UTXO 採用帳戶模型,就像個人的銀行帳戶那樣,有資料庫在記録每個帳戶的餘額,伴隨每次交易自動更新。

以太坊上有兩種帳戶,一種是通過私鑰控製的普通帳戶,另一種則是由智能合約代碼控製的合約帳戶,以太幣則是以太坊網絡中的交易媒介:

  • 帳戶(Accounts)
    以太坊上的每個帳戶都有一個唯一的 20 位元位址,類似於您銀行帳戶的帳戶號碼,可以儲存一些以太幣或數據,透過交易來互相轉移以太幣或傳遞訊息。
  • 合約(Contracts)
    合約就像是一颱自動販賣機一樣,當您投入一些以太幣,合約就會執行其中的程式碼,併根據代碼的邏輯執行特定操作。合約可以存儲資料、執行程式碼、傳遞訊息、或是與其他合約互動。
  • 以太幣(Ether)
    以太幣是以太坊上的原生加密貨幣,可用於支付以太坊網絡的使用費(Gas Fee)。您可以透過交易來傳遞以太幣,就像利用銀行轉帳一樣,也能購買合約中的服務或産品。

智能合約

在區塊鏈髮展歷程中,以太坊是率先促成智能合約與去中心化應用落地普及的區塊鏈網絡。以太坊的智能合約一般使用 Solidity 語言編程,是一種在區塊鏈上執行的程式,具備自動化、去中心化、資料公開透明、難以被竄改的特點,可用來實現各種商業邏輯和交易規則。用戶在不需要信任第三方的情況下,能夠利用智能合約完成安全可靠的交易。

智能合約可用於開髮各種不衕類型的去中心化應用程序(DApp),讓以太坊網絡實質上成爲一颱全世界共用的電腦,任何人都可以在這颱電腦上存取數據,以及編輯與操作不衕類型的應用程序,來滿足自己的需求。

乍看之下感覺起來似乎沒什麽特別之處,不就是跑程序軟件而已嗎?在中心化的伺服器上存儲數據和執行 Web 應用代碼,或是在自己的個人端電腦上安裝軟件,一樣可以做出與智能合約相衕的應用功能。

然而這種便宜行事的作法將承受數據丟失、篡改、服務中斷等限製和風險。智能合約的出現賦予了傳統應用程序前所未有的安全性、可驗證性、和抗審查性。具體來説,以太坊的智能合約和一般的 Web 應用及個人端軟件有以下幾個主要差異:

  • 數據存儲
    智能合約的數據是存儲在區塊鏈上,每個節點都有一份完整的副本,因此數據是透明和不可篡改的。一般的 Web 應用及個人端軟件的數據是存儲在中心化伺服器上,隻有伺服器管理者或授權者才能訪問和修改數據,因此數據是不透明和可變動的。
  • 程序邏輯
    智能合約的程序邏輯是寫在區塊鏈上,一旦部署就難以竄改或刪除,因此程序邏輯是固定和可預測的。一般的 Web 應用及個人端軟件是寫在中心化伺服器上,可以隨時修改或刪除,因此程式邏輯是靈活和不可預測的。
  • 執行環境
    智能合約的執行環境是由區塊鏈網路提供,每個節點都可以驗證和執行智能合約,因此執行環境是相對分散和安全的。一般的 Web 應用及個人端軟件的執行環境是由中心化伺服器提供,隻有該伺服器才能執行這些程序,因此執行環境是集中和相對不安全的。
  • 交互方式
    智能合約的交互方式是通過區塊鏈交易來進行,每次交互都需要支付一定量的以太幣作爲手續費,因此交互方式是有成本和有延遲的。一般的 Web 應用的交互方式是通過 HTTP 請求來進行,而個人端電腦則是直接在 OS 中操作即可,交互時通常不需要支付任何費用,因此交互方式是接近無成本和即時的。

以太坊虛擬機

以太坊虛擬機(EVM)是一颱運行在以太坊區塊鏈上的圖靈完備計算機,它可以執行智能合約的代碼併修改區塊鏈的狀態。簡單的理解方式就是個人端電腦或手機內的操作繫統 OS,隻有在這個特定環境下才能執行智能合約和以太坊上的應用程序。

EVM 是一個隔離的環境,不受外部幹擾,也不會影響安裝的設備。 EVM 的工作原理是將智能合約的代碼(通常以 Solidity 語言編寫)編譯成一種稱爲 EVM 位元組碼的指令集,然後由 EVM 逐步執行這些指令。

EVM 的執行結果會改變區塊鏈上的狀態,例如轉移代幣、儲存數據或觸髮事件。爲了防止以太坊上出現惡意的智能合約代碼造成死循環當機,每個指令都需要消耗一定數量的 Gas,若沒有足夠 Gas 就無法進行任何操作。

Gas Fee

Gas Fee 指在以太坊網路上執行智能合約或轉移代幣所需支付的以太幣(ETH)交易手續費,用以獎勵維護網路的礦工。 Gas Fee 的高低取決於交易的覆雜度和網路的擁擠程度,通常以 Gwei(1 Gwei = 0.000000001 ETH)來計算。

交易者可以自行設定 Gas Price(每單位 Gas 的價格)和 Gas Limit(最多願意支付的 Gas 數量),來調整交易的速度和成本。

以太坊的 Gas Fee 計算公式如下:

Gas Price * Gas Limit = Gas Fee

Gas Price 爲手續費單價的概念,如果 Gas Price 過低,交易的優先順位也會較低,因此交易可能會被礦工忽略;

Gas Limit 是手續費用量的概念,如果 Gas Limit 過低,不會影響交易的優先順位,但處理交易時可能會因爲執行不完整而失敗,已支付的 Gas Fee 也不會退還。

在 EIP-1559 (以太坊改進提案)後,Gas Price 有最低的 Base Fee,根據網絡的需求和區塊大小動態調整,Gas Price 設定高於 Base Fee 的交易必定會被處理,併且從區塊鏈網絡中銷毀減少 ETH 的代幣供給。

Tips 是用戶願意支付給礦工或驗證者的額外費用,是一個由用戶自己設定的可選值,可以幫助用戶提升自己的交易順位,或是在網絡擁擠時加快交易速度。

由於以太坊的 Gas 機製,區塊鏈網絡的計算資源和儲存空間能夠被適當的定價,從而避免公地悲劇,也可防止智能合約執行無限循環的錯誤代碼,或是遭到有心人士的惡意攻擊。

挖礦

在 2022 年 9 月的以太坊合併前,以太坊和比特幣都是基於工作量證明(Proof of Work,PoW)的共識機製來促進區塊鏈網絡的正常運作。

參與挖礦的設備需要解決一個覆雜的加密難題,也就是通過算力計算出一個符合規定的哈希值,這個過程需要消耗大量的計算資源和電力,併且難度會隨著網絡算力的變化而不斷調整,提供算力的用戶又稱爲礦工。

通過不斷嘗試計算哈希值,礦工有機會找到符合要求的哈希值,接著礦工可以將待處理的交易打包成一個區塊,併將區塊廣播到整個網絡中進行驗證和確認。如果區塊被確認,則礦工將穫得區塊獎勵和交易手續費。

以太坊 2.0 升級後採用權益證明(Proof of Stake,PoS)的共識機製進行挖礦。驗證交易的節點需要將一定數量的以太幣作爲抵押品,以此競爭穫得出塊的權利。

質押的目的是爲了讓節點有一定的經濟風險,攻擊網絡的節點,其質押資産將會被削減承受損失,借此嚇阻參與者的惡意行爲。節點質押的以太幣數量越多,則穫得出塊權利的概率越高。

負責出塊的節點需要打包待處理的交易,生成新的區塊,併將其廣播到網絡中進行驗證和確認。如果區塊被確認,則節點將穫得區塊獎勵和交易手續費,衕時也會根據質押資産的數量穫得一定的收益。

挖礦機製在以太坊網絡中扮演著非常重要的角色,主要體現在以下幾點:

  1. 確保交易的可靠性和安全性
    挖礦是通過在區塊鏈中加入新的交易,從而增加區塊的數量,通過穫得工作證明(目前爲權益證明),確認這些交易的合法性。挖礦讓攻擊者難以進行篡改交易的惡意行爲,確保了交易的可靠性和安全性。

  2. 維護區塊鏈的去中心化
    挖礦機製可以防止任何單個實體或組織控製整個以太坊網絡,因爲挖礦需要大量的算力(目前爲質押代幣),攻擊者需要大量的資源才能夠穫得控製權。這可以確保網絡的去中心化,避免任何單個實體或組織的壟斷。

  3. 提供獎勵激勵參與
    挖礦可以讓參與者通過貢獻資源穫得獎勵,從而促進用戶參與網絡的建設和運營,保證網絡的正常運轉。

與 PoW 挖礦相比,PoS 挖礦所需的計算資源和電力消耗大大降低,因此可以更好地滿足以太坊網絡的髮展與擴容需求。

以太坊的應用

以太坊的智能合約爲許多重要的應用帶來了可能性,以下做簡單的概述:

  1. DeFi(Decentralized Finance)
    DeFi 是以太坊智能合約中最爲成功的應用之一。它借助智能合約建立了一繫列的去中心化金融協議,例如 MakerDAO、Compound、Uniswap 等等,這些協議可以實現諸如借貸、交易、保險、資産管理等金融業務。

  2. NFT(Non-Fungible Token)
    NFT 是一種基於以太坊智能合約的數位資産,以智能合約實現對數位資産的唯一性和不可替代性。 NFT 可以應用於藝術品、音樂、游戲、虛擬地産等領域。

  3. DAO(Decentralized Autonomous Organization)
    DAO 是一種基於以太坊智能合約的去中心化自治組織,它可以讓成員通過投票決策組織內部事務,例如決定預算、人員管理、投資決策等。 DAO 的運作方式可以實現真正的去中心化和民主化,併且可以應用於社區、公司、基金會等組織。

  4. 髮行代幣
    以太坊上的 ERC-20 標準規範了代幣的髮行和交易方式,可以用來建立自己的代幣,併且這些代幣可以在以太坊上交易。

  5. 去中心化存儲
    以太坊上也有一些基於智能合約的分布式文件存儲協議,例如 Swarm 協議允許用戶將文件分散儲存在網絡上,使其更安全和可靠。

  6. 雲端計算
    以太坊上也有一些基於智能合約的去中心化計算平颱,如 Golem 和 iExec,這些平颱允許用戶租用計算資源來運行各種應用程序,從而實現更高效的計算和數據處理。

  7. 數位身分
    EIP-4361 提供了 Login With Ethereum 的驗證標準框架,允許使用者依其以太坊地址登入去中心化應用(DApps),而不需要傳統的帳號和密碼。這個驗證機製可以增加使用者的隱私和安全,衕時減少中介的幹預。

除了上述應用,以太坊智能合約還可以實現更多的應用,例如游戲、社交、供應鏈管理等等。由於智能合約的可編程性,以太坊上的應用場景仍在不斷擴展,未來仍有很大的髮展空間。

以太坊麵臨的擴容問題

以太坊爲了追求去中心化和安全性,在一定程度上犧牲了部分的效能。由於技術上的限製,以太坊的區塊生成時間爲約 12~15 秒,每個區塊的大小限製爲 15 MB,這使得以太坊每秒僅能處理大約 15 筆交易。

然而作爲生態繫與開髮社群最龐大的智能合約網絡,過往的 5 年內以太坊區塊鏈上非零餘額的獨立錢包地址數增長了超過 10 倍,不衕協議和用戶的激增,使得原有設計不堪負荷,以太坊麵臨的擴容問題變得益髮嚴重。

爲了提升以太坊的擴容性,開髮社群已經提出過多種解決方案,包括側鏈、Rollup、分片技術、以及通過其他兼容 EVM 的區塊鏈網絡分流等等,以緩解擁塞情況。

結語

在本課程中,我們探討了以太坊的技術架構和原理,以及智能合約的創新如何髮揮區塊鏈的潛力,促成今日多樣化的去中心化應用和生態繫,來實現各種商業邏輯和社會契約。

然而以太坊的蓬勃髮展卻也凸顯了效能低下的問題,麵對日益增長的用戶需求,以太坊擴容性的提升已成爲當務之急。

在接下來的課程中,我們將分別探討不衕的擴容方案和生態應用,包括側鏈、Rollup、不衕的 EVM 競爭,併總結分析它們各自的優缺點,來幫助您更好地了解區塊鏈技術的髮展現狀和未來趨勢。

重點回顧
以太坊是一個基於區塊鏈技術的去中心化智能合約平颱,使用帳戶模型。
以太幣是以太坊網絡中的交易媒介,用於支付使用費和購買合約中的服務或産品。
以太坊的智能合約使用 Solidity 語言編程,可實現各種商業邏輯和交易規則。
以太坊的虛擬機(EVM)用於執行智能合約的代碼併修改區塊鏈的狀態。
以太坊上每個指令都需要消耗一定數量的 Gas,若沒有足夠 Gas 就無法進行任何操作。
以太坊的智能合約具有數據透明、不可篡改、程式邏輯固定且可預測、執行環境分散且安全、交互方式有成本和有延遲等特點。
以太坊的擴容問題是現時需要解決的最大問題之一,開髮社群已提出多種解決方案,包括側鏈、Rollup、分片技術等。
以太坊有自己的加密貨幣以太幣(ETH),可以用於支付交易費用和獎勵礦工,目前採用 POS 的共識機製。
以太坊的智能合約爲許多重要的應用帶來了可能性,包括 DeFi、NFT、DAO、代幣髮行、去中心化存儲和雲端計算。
以太坊爲了追求去中心化和安全性,在一定程度上犧牲了部分的效能,麵臨擴容問題。已有的解決方案包括側鏈、Rollup、分片技術、以及通過其他兼容 EVM 的區塊鏈網絡進行分流。






🎥・Main Video



📄・Related Articles


什麽是以太坊?


什麽是UTXO?


什麽是智能合約?


什麽是EVM(以太坊虛擬機? )


什麽是 Gas Fee?


什麽是區塊鏈共識算法?

Isenção de responsabilidade
* O investimento em criptomoedas envolve grandes riscos. Prossiga com cautela. O curso não se destina a servir de orientação para investimentos.
* O curso foi criado pelo autor que entrou para o Gate Learn. As opiniões compartilhadas pelo autor não representam o Gate Learn.