了解以太坊前,得先知道什麼是區塊鏈。
區塊鏈採用「分散式帳本」技術,「分散式帳本」中的「帳本」,顧名思義,是拿來紀錄交易的。例如,小明轉給小美 10 元,帳本上就會有這筆轉帳的紀錄,而轉帳者與接收者都分別以一組數字表示,也就是說,帳本上不會出現「小明」或「小美」,所以,只要不告訴別人代表「小明」的數字是多少,因此具備匿名性。
「分散式帳本」中的「分散式」,意指帳本不只屬於小明或小美,而是由大家共享該帳本。因此,若小明轉給小美 10 元後,將帳本上的紀錄改成 5 元的話,很快就會因為和其他人的帳本記錄不同,而被拆穿。所以,區塊鏈具有不可竄改的特性。
以太坊是什麼?
以太坊是一種區塊鏈,是以太幣與許多 APP 的底層技術,而「以太坊 2.0」則是以太坊的升級版。
以太幣是目前價值僅次於比特幣的虛擬貨幣;而在以太坊的基礎上所開發出的 app,稱為「dapps」。虛擬貨幣「以太幣」就是存放在「以太坊」這個錢包中的現金,可以在各種 dapps 中花費使用,與其他區塊鏈一樣,使用者能夠透過以太坊,轉帳虛擬貨幣給其他人,而不 需要銀行等機構的介入。
而以太坊與其他區塊鏈最大的差異就在於,使用者能在以太坊上開發、使用 dapps 和智能合約 (smart contracts)。
根據權威網站 Forbes,大部份的軟體都是建立在 Google, Amazon 的伺服器上,這兩家公司也因此擁有大量的數據。相較之下,建立在以太坊的 dapps,不被任何人所擁有,數據因此掌握在自己手中。
以往,許多交易建立在合約上,有時候甚至需要律師來協助法律相關問題。現在,透過智能合約,就不需要在交易過程尋求律師協助,擬定好智能合約後,只有當合約中的條件達成時,以太幣才會轉移給賣家,十分方便、可靠。
「以太坊 2.0」又是什麼?
以太坊 2.0 (Ethereum 2.0) 是針對現有以太坊 ( 本文稱「以太坊 1.0」) 進行更新,目前 (2021/07) 仍在進行中。當更新完成,以太坊 2.0 準備就緒的時候,會將以太坊 1.0 「合併」進以太坊 2.0,成為唯一的以太坊。因為是「合併」而非「汰換」,所以,以太坊 1.0 不會消失,原有的使用者不需要移轉以太幣到以太坊 2.0 區塊鏈上,以太坊 1.0 的歷史資料也得以持續保存。
其實,以太坊 1.0 一直以來都有在更新,但是,以太坊 2.0 與過往更新不同的是,以太坊 2.0 將替換掉以太坊 1.0 的共識機制 (Consensus Mechanisms),因此是非常重大的改變。
共識機制,就是分散式節點共同建立區塊,所依循的規則。如果說使用者接觸到區塊鏈的部分,如轉帳、使用 dapps,是屬於區塊鏈的身體,那麼共識機制,就屬於區塊鏈的大腦。更多有關 共識機制的內容,會在以下文章中說明。
為什麼以太坊需要進化到 2.0?
以太坊 1.0 的共識機制,是造成以太坊 1.0 不能大規模化的原因。因此以太坊需要進化到 2.0,解決包括可規模性問題、礦工門檻等問題。
以太坊 1.0 的問題 – PoW (Proof-of-Work)
PoW 是一種「共識機制」,如同前面提及,使用者能夠將許多數據存放在以太坊裡,這些數據會存放於各個節點的帳本中。為了保護這些數據,以太坊會透過一道複雜的數學題目,來保護這些資料。可以想成資料是箱子 ( 區塊 ) 中的物品,數學題目則是箱子 ( 區塊 ) 的「鎖」,而這些鎖會需要符合一定的規定,並具備連鎖的特性,會將每個箱子 ( 區塊 ) 串起來,形成「區塊鏈」。
提供運算能力來協助上鎖的節點,稱為「礦工」。眾多礦工中,最先算出符合規定的「鎖」、最快算出答案的礦工,會得到以太幣當作獎勵,並且會讓其他的節點同步該答案,同步完成後,就代表完成上鎖的動作。「礦工算出答案後得到獎勵,並使其他節點同步」的機制,就稱為 PoW。
可規模性問題 (Scalability)
在 PoW 中,每個箱子 ( 區塊 ) 是依照順序被上鎖 ( 建立 ),只有當第一個箱子 ( 區塊 ) 被礦工算出答案以後,礦工才會開始算第二個箱子 ( 區塊 )。當有大量的資料需要被上鎖的時候,就只能排隊,等候前面的箱子 ( 區塊 ) 被上鎖。因此,若想要擴大規模,讓大家都使用以太坊,勢必需要解決 PoW 的可規模性問題。
礦工門檻問題 (Accessibility)
想要擔任提供運算能力的礦工,會需要買許多硬體設備,才具備資格;想要依賴挖礦帶來不錯的收入,還必須搬到電費較低 廉的地區,才能達成。這些條件都可能使礦工不足,進而無法順利運行以太坊。
另一方面,因為組成公司後,可以省下許多電力成本,所以,有一大部分的礦工都是成群結隊,而非分散在世界各地,這種狀況某種程度上違反了分散式帳本技術的初衷。
以太坊 2.0 的解決辦法 – PoS (Proof-of-Stake)
在以太坊 1.0 中,礦工花費電力來建造區塊;在以太坊 2.0 中,所謂的「驗證者 (Validator) 」取代礦工的角色,可以選擇親自驗證資料來獲得獎勵,也可以選擇不自己挖礦,而是付少許手續費請公司代工,來獲得獎勵。
會有這樣的區別是因為在 PoS 中,驗證者需支付至少 32 顆以太幣當抵押金 (stake),存入以太坊基金會所設立的合約中。抵押以太幣後,驗證者就能使用「以太坊 2.0 顧客軟體」(Ethereum 2.0 client software),這套軟體會隨機挑選驗證者,負責驗證資料。成功驗證的驗證者,會得到與抵押金成正比的以太幣,當作獎勵。也就是說,存入越多抵押金,就能在驗證成功時獲得越多獎勵。為了順利使用「以太坊 2.0 顧客軟體」,驗證者也需要具備一定知識。
因為抵押金的制度,當驗證者不想親自驗證時,可以選擇支付一定的抵押金、少許手續費請公司代工,來賺取以太幣,這個道理就像自己不想挑選投資標的時,可以專業人士代替自己操作一樣。
解決可規模性問題 (Scalability)
以太坊 2.0 將原有區塊鏈切割成 64 個不同的小鏈 (shard chains) ,而這些小鏈會同時運作。原有的 PoW 一次只能運作一條鏈,新的 PoS 則可以同時運作 64 條鏈,使得以太坊 2.0 可以擴大規模,也不會嚴重塞車。
解決門檻問題 (Accessibility)
擔任驗證者所 需的至少 32 顆以太幣,相比擔任礦工的門檻,已經降低許多。如果 32 顆以太幣還是門檻太高,使用者也可以加入群組 (staking pool),大家一起湊出 32 顆以太幣,並等比例分配所賺來的以太幣。
除了降低門檻,以太坊 2.0 也為了增加驗證者的驗證資料動機,設計一套機制:當驗證者不在線上提供運算能力的時候,所獲得的獎勵也會被減少。
額外的好處 – 提升安全性
在PoS中,若有驗證者居心不良,故意驗證錯誤資料,就會失去一部分,甚至是全部的抵押金。這樣的代價比在 PoW 中高出許多,畢竟,在 PoW 中,如果礦工犯規,頂多只會失去花費的電力而已。
以太坊進化到 2.0 的階段性規劃
以太坊從 1.0 進化到 2.0 的過程被劃分成階段 0 到階段 2,在以太坊 2.0 完成更新,並合併以太坊 1.0。在過新完成 之前,以太坊 1.0 都會繼續運作。
階段 0
在階段 0 中,以太坊會發起培根鏈 (beacon chain),該區塊鏈的共識機制為 PoS,驗證者在此階段就可以開始驗證區塊,但因為還沒完成更新,所以該階段還不能交易、執行智能合約與 dapps。
創世區塊 (genesis block) 是虛擬貨幣區塊鏈中,第一個被創造出來的區塊。為了創造以太坊 2.0 中的創世區塊,需要至少 524,288 顆以太幣抵押金,即至少 16,384 位驗證者。而早在 2021 年 1 月的時候,就已經累積超過 250 萬顆以太幣抵押金了。
階段 1
階段 1 會開始解決可規模性問題,將區塊鏈分成 64 個小鏈,並同時運行這些小鏈。
階段 1.5
階段 1.5 會將以太坊 1.0 和以太坊 2.0 的區塊鏈結合,如同前面提及,以太坊 1.0 不會消失,而是會變成以太坊 2.0 的 64 條小鏈中的 1 條培根鏈。
以太坊 1.0 的區塊鏈不再需要用 PoW 來維護,而是改用 PoS 來運行。因為只是換掉共識機制,而非汰換區塊鏈,所以,使用者不需要轉移舊有以太幣,或是擔心資料消失。
階段 2
相比階段 0 和階段 1,階段 2 仍未有明確定義,不過可以確定的是,在階段 2 中,使用者就可以開始使用以太坊 2.0 來交易、轉帳、執行智能合約。
未來展望
以太坊的進化是不會停止的,在階段 2 之後,以太坊也會持續進行改善,變得越來越完整。
總結
簡單來說,以太坊從 1.0 進化到 2.0,就是運用 PoS 取代PoW,和把原有區塊鏈分成 64 條小鏈的方式,解決以太坊 1.0 的可規模性問題、安全問題、礦工門檻過高問題。