什么是Ethereum:Ethereum是一個Decentralization計算平臺。我們可以將其想象成一臺并不在單一設備中運行的計算機。也就是說,它可以同時在全球各地的數千臺設備中運行,即不存在特定所有者。
與Bitcoin和其他數字貨幣一樣,Ethereum也支持轉移數字資產。但它的功能更多,允許用戶配置專屬代碼并與其他用戶開發(fā)的應用程序交互。Ethereum的靈活性極強,各種復雜程序均可在Ethereum平臺構建。
簡而言之,Ethereum背后的核心思想是:開發(fā)人員可以在分布式網絡中創(chuàng)建并運行代碼,無需使用中央服務器。因此,這些應用程序在理論上不會被關;蚴艿綄彶。
Ethereum和以太幣(ETH)有何區(qū)別?
以下說法可能聽上去有點繞:Ethereum(Ethereum)使用的單位并不叫做Ethereum,也不叫做Ethereums。Ethereum指的是協議本身,而為其賦能的Tokens則稱為以太幣(縮寫為“ETH”)。
Ether coins bouncing
Ethereum的價值源于何處?
之前我們提到,Ethereum的代碼在分布式系統(tǒng)中運行。因此,程序不會遭外部人員篡改。當它們進入Ethereum數據庫(即區(qū)塊鏈)后,可對其進行編程處理,讓其他人無法修改代碼。此外,數據庫對所有人可見,用戶可以在交互前審查代碼。
這些特性決定了,所有人均可隨時隨地推出無法被下線的應用程序。更有趣的是,Ethereum的原生單位以太幣能夠存儲價值,為這些應用程序實施價值轉移創(chuàng)造了條件。我們將構成應用程序的程序稱為智能合約。在多數情況下,它們可以在無需人工介入的情況下運行。
毫無疑問,“可編程貨幣”概念吸引了眾多用戶、開發(fā)者以及企業(yè)。
立即查看以太幣的最新價格。
什么是區(qū)塊鏈?
區(qū)塊鏈不僅是Ethereum的核心,也是存儲協議所用信息的數據庫。如果您閱讀過我們的文章《什么是Bitcoin?》,便會了解有關區(qū)塊鏈運行機制的基礎知識。Ethereum區(qū)塊鏈與Bitcoin區(qū)塊鏈類似,只是數據存儲方式以及所存數據的內容存在差異。
Ethereum區(qū)塊鏈好比一本可以持續(xù)添加新頁面的書。書中的每一頁稱為區(qū)塊)”,其中存儲著交易信息。如果需要添加新頁面時,則應在頁面頂部計入一個特殊值。該值表明,新的一頁是在前一頁之后有序添加的,而不是隨機插入該書本的。
從本質上講,這有點像是頁碼,它引用了前一頁的信息,有助于辨別新頁面(區(qū)塊)是否是按順序添加的。我們使用哈希運算來完成該過程。
哈希運算獲取一份數據(此時為區(qū)塊中的所有數據)并返回唯一的標識符(我們的哈希值)。兩份數據輸出同一哈希值的概率非常低,并且該過程也是單向的。因此,您可以輕松計算出哈希值,但無法逆向推算出創(chuàng)建哈希值的信息。在后續(xù)章節(jié)中,我們將分析為什么這是影響work的關鍵因素。
現在,我們找到了按正確順序連接所有頁面的機制。任何企圖改變順序或移除頁面的操作都會令“我們的書已遭篡改”這一事實無所遁形。
想要深入了解區(qū)塊鏈?敬請閱讀我們的區(qū)塊鏈技術初學者指南。
Ethereum與Bitcoin有何不同?
Bitcoin通過區(qū)塊鏈技術和金融激勵措施來構建全球數字現金體系。它引入了多項關鍵創(chuàng)新,幫助全球用戶在脫離中央機構的情況下協調工作。Bitcoin支持所有參與者在個人計算機中運行程序,讓用戶能夠在去信任化、Decentralization的環(huán)境中就金融數據庫的狀態(tài)達成一致意見。
Bitcoin通常被視為第一代區(qū)塊鏈。開發(fā)者不愿將Bitcoin打造成過于復雜的系統(tǒng),這令其在安全性方面獨具優(yōu)勢。其設計之所以顯得缺乏靈活性,就是為了在基礎層就將安全視為第一要義。Bitcoin智能合約的語言確實極為受限,無法很好地適應交易之外的應用程序。
相比之下,第二代區(qū)塊鏈的功能更加豐富。除金融交易之外,此類平臺還實現了更高程度的可編程性。Ethereum賦予開發(fā)人員更高的自由度,允許其試驗個人代碼,創(chuàng)造出各種Decentralization應用程序(DApp)。
Ethereum是第二代區(qū)塊鏈浪潮的先驅,至今仍占據主導地位。它與Bitcoin有著許多相似之處,可以執(zhí)行諸多相同的功能。然而,二者的核心原理差異極大,各具優(yōu)勢。
Ethereum如何運作?
我們可以將Ethereum定義為狀態(tài)機。也就是說,在任何給定時間點均可獲得顯示帳戶余額和智能合約當前狀態(tài)的快照。某些操作會導致狀態(tài)更新,即所有的Node都會更新快照,以此反映變更。
Transaction sheet displaying erin sending 5 eth to alice.
Ethereum中的狀態(tài)轉換。
Ethereum中運行的智能合約由交易(來自用戶或其他合約)觸發(fā)。當用戶向合約發(fā)送交易時,網絡中的所有Node都會運行合約代碼并記錄輸出。該過程通過Ethereum虛擬機實現,其將智能合約轉換為可供計算機讀取的指令。
為了更新狀態(tài),系統(tǒng)采用一種稱為work的特殊機制。與Bitcoin類似,work也是通過工作量證明完成的。稍后我們將進行深入探討。
什么是智能合約?
智能合約的本質是代碼。但它既不智能,也不屬于傳統(tǒng)意義上的合約。取名“智能合約”的原因在于,它能夠在特定條件下自動執(zhí)行(“智能”)雙方達成的協議(“合約”)。
20世紀90年代末,計算機科學家Nick Szabo首次提出了智能合約。他以自動售貨機為例解釋了這項理念,認為可以將其視為現代智能合約的先驅。自動售貨機執(zhí)行一種簡單的合約。用戶投入硬幣后,機器會按其選擇提供產品。
智能合約則將此類邏輯應用于數字環(huán)境。您可以在代碼中規(guī)定一些簡單內容,例如當合約收到兩枚以太幣時,返回“Hello, World!”。
hello world contract
在Ethereum中,開發(fā)者會對其進行編碼,以便EVM能夠讀取。隨后,開發(fā)者將其發(fā)送至登記合約的特殊地址。屆時,所有人均可使用合約。除非開發(fā)者在編寫合約時設定了條件,否則合約無法刪除。
現在,合約擁有了地址。如需與之交互,用戶只需向該地址發(fā)送2枚以太幣。此舉將觸發(fā)合約代碼——網絡中所有的計算機都會運行這一操作,見證用戶已向合約付款,并將其輸出(“Hello, World!”)記錄下來。
以上可能是最基礎的Ethereum功能示例之一。隨著技術不斷進步,人們能夠創(chuàng)建更多連接大量合約且更為精密復雜的應用程序,并且這樣的程序已經問世。
誰創(chuàng)造了Ethereum?
2008年,化名中本聰的開發(fā)者(或開發(fā)者團體)發(fā)布了BitcoinWhitepaper,徹底改變了數字貨幣的格局。數年后,一位名為Vitalik Buterin的年輕程序員希望將這種理念進一步推廣并應用于各類應用程序。最終,這項概念轉化為Ethereum。
在2013年發(fā)表的一篇名為《Ethereum:終極智能合約與Decentralization應用程序平臺》的博客中,Buterin首次提出了“Ethereum”。在文章中,他介紹了一種“圖靈完備區(qū)塊鏈”的理念——時間和資源充足的Decentralization計算機可以運行任何應用程序。
隨著技術日益進步,市場中將涌現出更多可在區(qū)塊鏈中部署的應用程序類型,只要開發(fā)者想得到,就能做得到。Ethereum希望打破Bitcoin有意施加的設計限制,為區(qū)塊鏈技術找到更多用武之地。
以太幣如何發(fā)放?
Ethereum問世于2015年,最初供應量為7200萬枚以太幣。其中超5000萬枚Tokens通過Tokens銷售活動“首次Tokens發(fā)行(ICO)”公開發(fā)售。參與者可在交易平臺使用法定貨幣或Bitcoin購買以太幣。
什么是“The DAO”與“Ethereum經典”?
借助Ethereum,互聯網中的開放式協作也找到了全新的呈現方式。DAO(Decentralization自治組織)正是典型示例。此類實體與計算機程序類似,完全由計算機代碼控制。
該組織最早實施并且最具雄心的項目是“The DAO”。它由一些在Ethereum中運行的復雜智能合約組成,以獨立風險基金的形式運作。DAOTokens以ICO的形式分發(fā),Tokens持有者同時享有股權和表決權。
然而,該項目在上線后不久便遭到漏洞攻擊,近三分之一的DAO資金慘遭不法分子盜取。雪上加霜的是,當時以太幣供應總量的14%均鎖定在DAO之中。毫無疑問,羽翼未豐的Ethereum網絡因此遭受了災難性打擊。
經過磋商后,整條區(qū)塊鏈通過硬分叉方式分為兩條鏈。其中一條分叉的惡意交易得到逆轉,資金回收成功——這就是如今的“Ethereum區(qū)塊鏈”。相反,原始鏈中的交易沒有逆轉并且保持了不變性,現在被稱為Ethereum經典。
慘痛的教訓警示我們必須認真應對這項技術的風險,也讓我們認識到將大額財富托付于自治代碼可能適得其反。這項特殊的示例也說明了在開放環(huán)境中制定集體決策面臨巨大的挑戰(zhàn)。拋開安全漏洞不談,The DAO的確完美詮釋了智能合約通過互聯網實現大規(guī)模去信任化協作方面的潛力。
第2章 - 以太幣來自何處?
目錄
新以太幣是如何產生?
以太幣的總量是多少?
Ethereumwork如何運作?
什么是Ethereum燃料費?
燃料費與燃料費限額
開采一個Ethereum區(qū)塊耗時多久?
什么是EthereumTokens?
新以太幣是如何產生?
之前我們簡單提到過“work”。如果您熟悉Bitcoin,就一定知道work過程是保護和更新區(qū)塊鏈的關鍵。Ethereum的work原理與之相同,即根據協議為work參與者(費時費力且成本高昂)提供以太幣獎勵。
以太幣的總量是多少?
截止2020年2月,以太幣的總供應量約為1億1千萬枚。
與Bitcoin不同,Ethereum在推出時并未制定專屬Tokens發(fā)行計劃。Bitcoin通過限制供應量并逐步降低新幣產量來維護自身價值。Ethereum則通過Tokens為Decentralization應用程序(DApp)奠定基礎。由于尚未找到最合適的Tokens發(fā)行計劃類型,這個問題仍然沒有定論。
Ethereumwork如何運作?
work對于網絡安全至關重要。它確保區(qū)塊鏈可以公平合理地更新,并支持網絡在無單一決策者的情況下正常運行。在work操作中,Node的子集(名副其實的“礦工”)為解決密碼學難題貢獻算力。
其實際操作是對一組未決交易及其數據進行哈希運算。為了使區(qū)塊有效,哈希值必須低于協議的設定值。如果操作失敗,礦工可以修改某些數據,然后再度嘗試。
由于存在競爭,礦工必須以最快速度完成哈希運算——哈希率因此成為礦工算力的衡量標準。網絡中的哈希率越高,密碼學難題的破解難度越大。只有礦工需要找到有效的答案,該答案在網絡中廣播后,其他參與者可以輕松驗證其有效性。
如您所料,不間斷的高速哈希運算成本高昂。作為保護網絡安全的激勵措施,礦工可以獲得獎勵。獎勵來源于區(qū)塊中的所有交易費用。他們還會收到新鮮出爐的以太幣,撰寫本文時為2枚以太幣。
什么是Ethereum燃料費?
還記得前文提到的“Hello, World!”合約么?這款程序很容易運行,計算費用也不高。然而,您并不只是作為個人在計算機中運行該程序,而是在請求Ethereum生態(tài)系統(tǒng)中的所有人一起運行。
這就引出了以下問題:當數萬人同時運行復雜合約時,會發(fā)生何種情形?如果有人將合約設定為循環(huán)運行同一套代碼,每個Node就都需要無限期運行。這些過程會占用大量資源,可能導致整個系統(tǒng)崩潰。
幸運的是,Ethereum引入燃料費的概念來規(guī)避這種風險。如同汽車無法在燃料耗盡的情況下行駛,合約也不能在沒有燃料費的情況下運行。為了保障合約正常運行,用戶必須支付一定數量的燃料費。如果燃料費不足,合約將會終止。
從本質上講,這就是一種收費機制。我們將概念延伸到交易,即礦工的主要動機是盈利,可能忽略掉費用較低的交易。
請注意,以太幣與燃料費不同。燃料費平均價格的波動很大程度上取決于礦工。開展交易時,需要使用以太幣支付燃料費。收費機制與Bitcoin類似:如果網絡擁擠并且許多用戶都在參與交易,燃料費的均價將會上漲。相反,如果網絡中的活動很少,價格就會下降。
雖然燃料費的價格不斷變化,但每次操作所需的燃料費是固定的。也就是說,執(zhí)行復雜合約消耗的燃料費高于簡單交易。因此,燃料費成為算力的度量標準。它可以確保系統(tǒng)根據用戶的Ethereum資源占用率收取相應的費用。
燃料費通常只消耗一小部分以太幣,我們?yōu)槠湓O定了更小的單位“gwei”。1 gwei相當于以太幣的十億分之一。
簡而言之,您可以運行一種長時間循環(huán)的程序,但這項操作很快會變得非常昂貴。因此,Ethereum網絡中的Node有利于減少垃圾信息。
The average gas price in gwei over time
燃料費平均價格隨時間的變化情況(單位:gwei)。來源:etherscan.io
燃料費與燃料費限額
假設Alice正在進行合約交易。她計算出需要支付的燃料費(例如,通過ETH Gas Station)。也許她會設置一個較高的價格,激勵礦工盡快處理交易。
她還會設置燃料費限額,用于自我保護。合約出現問題后,消耗的燃料費將高于計劃值。燃料費限額的作用是當設置的燃料費x耗盡后,確保操作停止。相應合約隨即失效,Alice最終支付的金額不會超過初始設定值。
乍一看,這個概念似乎令人困惑。其實,這表明燃料費(及其限額)可以手動設定,而大多數錢包將會代替用戶完成設置。簡而言之,燃料費決定了礦工處理交易的速度,而燃料費限額則決定您愿意為此次交易支付的燃料費上限。
開采一個Ethereum區(qū)塊耗時多久?
將新區(qū)塊加入Ethereum區(qū)塊鏈的平均時間為12至19秒。如果網絡轉換為主要旨在縮短出塊時間的權益證明,則這種情況極有可能發(fā)生改變。如需了解詳情,敬請閱讀《EthereumCasper解析》。
什么是EthereumTokens?
Ethereum最大的魅力在于支持用戶在鏈上創(chuàng)建個人資產,并且可以像以太幣一樣存儲和轉移。智能合約中規(guī)定了上述資產的治理規(guī)則,允許開發(fā)者自行設定Tokens參數。其中包括Tokens發(fā)行量、發(fā)行機制、可分割性以及互換性等諸多特性。在Ethereum中創(chuàng)建Tokens時可以遵循多種技術標準,最突出的稱為ERC-20 – 因此,這些Tokens通常稱為“ERC 20Tokens”。
這款Tokens功能優(yōu)異,為創(chuàng)新者提供了廣闊的試驗平臺,支持其在金融和技術等前沿領域展開更多嘗試。從發(fā)行統(tǒng)一Tokens作為應用內貨幣,到生產以實體資產為基礎的獨特Tokens,其設計均極為靈活。很可能還有各種精簡易行的絕佳Tokens創(chuàng)建用例尚不為人知。
第3章 - Ethereum入門
目錄
如何購買以太幣?
如何使用信用卡/借記卡購買以太幣
如何在P2P市場購買以太幣
使用以太幣(ETH)可以購買什么?
Ethereum有哪些用途?
如果不慎丟失以太幣,應該怎么辦?
Ethereum交易能否恢復?
Ethereum交易是私密的嗎?
Ethereum能否創(chuàng)造收益?
如何存儲以太幣?
如何將以太幣存入幣安
如何在幣安存儲以太幣
如何從幣安提取以太幣
如何在Ethereum錢包中存儲以太幣
熱錢包
冷錢包
Ethereum的徽標和符號是什么?
如何購買以太幣?
如何使用信用卡/借記卡購買以太幣
幣安允許用戶通過瀏覽器順暢無阻地購買以太幣。操作步驟:
登錄數字貨幣買賣門戶。
選擇需要購買的數字貨幣(ETH)以及用于付款的貨幣。
登錄幣安賬戶。新用戶請先行注冊。
選擇支付方式。
按照提示輸入卡片詳細信息并完成身份驗證。
搞定!購買的以太幣將存入您的幣安賬戶。
如何在P2P市場購買以太幣
P2P市場也是買賣以太幣的平臺。通過幣安移動App,您可以從其他用戶手中直接購買Tokens。操作步驟:
打開APP,然后登陸或注冊賬戶。
選擇一鍵買賣,然后點擊界面左上角的購買選項卡。
在彈出的交易類型中選擇一種,然后點擊購買。
您可以使用其他數字貨幣(數字貨幣支付選項卡)或法幣支付(法幣支付選項卡)。
接著,系統(tǒng)會要求選擇支付方式。您可以根據需要靈活挑選。
選擇購買以太幣。
此時,需要完成付款。操作完畢后,點擊標記為已付,然后確認。
賣方如期交付Tokens后,交易即告完成。
使用以太幣(ETH)可以購買什么?
與Bitcoin不同的是,Ethereum的應用環(huán)境并不局限于數字貨幣網絡。它能夠為Decentralization應用程序搭建開發(fā)平臺,而以太幣作為可交易Tokens,成為這種生態(tài)系統(tǒng)的“燃料”。因此,以太幣的主要作用是為Ethereum提供效用性。
然而,以太幣也可用于購買商品和服務,扮演與其他傳統(tǒng)貨幣相似的角色。
Heatmap of retailers that accept ether as payment.
接受以太幣付款的零售商熱圖。來源:cryptwerk.com/coinmap
Ethereum有哪些用途?
Ethereum的原生貨幣“以太幣”可用作數字貨幣或抵押品。也有許多人將其視為與Bitcoin類似的價值存儲手段。然而,以太幣與Bitcoin不同,因為Ethereum區(qū)塊鏈的高度可編程性賦予其更多效用。因此,以太幣成為Decentralization金融應用程序、Decentralization市場、交易平臺和游戲等眾多應用的命脈。
如果不慎丟失以太幣,應該怎么辦?
以太幣交易不涉及任何銀行,用戶必須對自己的資金負責。Tokens可以存入交易平臺,抑或存放于個人錢包。請注意,使用個人錢包存儲資金時,務必妥善保管助記詞,以便在無法訪問錢包時恢復資金。
Ethereum交易能否恢復?
數據加入Ethereum區(qū)塊鏈后,幾乎無法更改或刪除。這意味著,在開展交易時,可以將其視為一成不變。因此,必須仔細檢查接收資金的目標地址是否正確。在轉移大額資金時,最好先向接收地址發(fā)送少量資金,核實其真實性。
由于智能合約遭受過一次黑客攻擊,Ethereum被迫在2016年進行了硬分叉,從而有效逆轉了惡意交易。然而,這只是應對異常事件的極端措施,而非常態(tài)。
Ethereum交易是私密的嗎?
所有加入Ethereum區(qū)塊鏈的交易都是公開可見的。即使Ethereum地址并未顯示真實姓名,觀察者也可通過其他方法確定參與者身份。
Ethereum能否創(chuàng)造收益?
以太幣是一種波動性較大的資產,收益機遇與虧損風險并存。一些人選擇長期持有以太幣,并篤定該網絡未來將成為全球性的可編程結算層。另一些人則選擇使用以太幣與其他山寨幣進行交易。當然,這兩種策略也都存在相應的金融風險。
作為Decentralization金融(DeFi)的中流砥柱,以太幣還可用于借貸、貸款抵押金、鑄造合成資產或在未來進行質押。
部分投資者可能選擇長期投資Bitcoin并將其作為投資組合中唯一的數字資產。相反,另一些投資者更加靈活,通過以太幣和其他山寨幣構建多元化投資組合,或者分配一定比例的資金開展短期交易(例如日間交易或波段交易)。市場中根本沒有萬能的盈利方式,每位投資者均應量力而行,根據實際情況選擇最合適的策略。
如何存儲以太幣?
存儲Tokens的方式很多,每種方式各有利弊。正如其他面臨風險的事物一樣,最佳解決方案正是對眾多選項構建多元化組合。
一般來說,存儲解決方案分為托管和非托管兩種。托管解決方案表示資金可以委托給第三方保管(例如交易平臺)。此時,必須登錄托管方平臺才能交易數字貨幣資產。
非托管解決方案則恰好相反,用戶使用數字貨幣錢包自行管控資金。此類錢包不會像物理錢包那樣裝入硬幣,而是存儲區(qū)塊鏈內資產的訪問憑證——加密密鑰。請謹記:在使用非托管錢包時,務必妥善備份助記詞!
如何將以太幣存入幣安
如需將所持以太幣存入幣安,請按以下步驟操作:
登錄幣安賬戶。新用戶請先行注冊。
進入現貨錢包并點擊充值。
勾選Tokens列表中的“ETH”。
選擇網絡并向相應地址中發(fā)送以太幣。
搞定!交易確認后,購買的以太幣將存入您的幣安賬戶。
如何在幣安存儲以太幣
若要積極地參與以太幣交易,則需將其存入幣安賬戶。在幣安存儲以太幣既簡單又安全。借助以太幣,用戶還可以通過貸款、質押、Airdrop促銷以及幸運抽獎等方式享受幣安生態(tài)系統(tǒng)的各種福利。
如何從幣安提取以太幣
如需提取幣安帳戶中存入的以太幣,請按以下步驟操作:
登錄幣安帳戶。
進入現貨錢包并點擊提現。
勾選Tokens列表中的“ETH”。
選擇網絡
輸入接收方地址和金額。
通過電子郵件認證。
搞定!交易確認后,以太幣將存入您提供的地址。
如何在Ethereum錢包中存儲以太幣
如需將以太幣存入個人錢包,可選擇熱錢包或冷錢包。
熱錢包
以某種方式連入互聯網的數字貨幣錢包稱為“熱錢包”。它通常是一種移動或桌面應用程序,用戶可通過其查看余額或發(fā)送/接收Tokens。熱錢包連入網絡,極易遭受攻擊,但日常支付更加青睞這種便捷方式。Trust Wallet正是一種方便快捷的移動錢包,支持多種貨幣。
冷錢包
冷錢包則是一種離線工作的數字貨幣錢包。此類錢包遠離在線攻擊向量,顯著降低遭受攻擊的概率。然而,冷錢包的便捷性一般不如熱錢包。硬件錢包和紙錢包均屬于冷錢包。后者技術過時并且極具風險,逐漸淡出用戶的視野。
敬請閱讀《數字貨幣錢包類型解析》,詳細了解錢包分類。
Ethereum的徽標和符號是什么?
Vitalik Buterin設計了最初的Ethereum徽標。它由兩個旋轉的求和符號“Σ”(希臘字母中的Sigma)組成。最終設計以此圖案為基礎,由稱為“八面體”的菱形組成,周圍環(huán)繞四個三角形。與其他數字貨幣類似,以太幣也有專屬的標準Unicode符號,App和網站可以輕松顯示其價值。正如美元使用“$”符號表示一樣,以太幣使用的符號為“Ξ”。
第4章 - 可擴展性、Ethereum2.0與Ethereum的未來
目錄
什么是可擴展性?
為什么Ethereum需要擴容?
區(qū)塊鏈可擴展性的三元悖論
Ethereum可以處理多少筆交易?
什么是Ethereum2.0?
什么是Ethereum分片?
什么是Ethereum等離子體(Plasma)?
什么是Ethereum匯總?
什么是Ethereum權益證明(PoS)?
什么是Ethereum質押?
在Ethereum中需要質押多少以太幣?
在Ethereum中質押能賺取多少以太幣?
抵押以太幣的鎖倉時間是多久?
質押Ethereum是否有風險?
什么是可擴展性?
簡而言之,可擴展性是衡量系統(tǒng)增長能力的指標。例如,計算中應用的網絡或服務器可通過不同方法擴容,從而處理更多的需求。
加密貨幣中的可擴展性是指區(qū)塊鏈不斷發(fā)展,以吸納更多用戶。用戶增加意味著區(qū)塊鏈將參與更多操作和交易競爭。
為什么Ethereum需要擴容?
Ethereum的擁護者認為,互聯網的下一次迭代將立足于Ethereum平臺。所謂的Web 3.0將帶來一種Decentralization拓撲,能夠直接跳過中間機構、更加注重隱私并轉變?yōu)檎嬲龘碛凶约旱臄祿。這些基礎屬性將通過形式為智能合約的分布式計算與分布式存儲/通信協議進行構建。
為了實現目標,Ethereum必須大規(guī)模提升交易處理能力,同時避免網絡的Decentralization程度下降。目前,Ethereum并未像Bitcoin一樣通過限制區(qū)塊大小來限定交易量,而只是為區(qū)塊設置了燃料費限額,即單一區(qū)塊可容納的燃料費上限。
例如,一個區(qū)塊的燃料費限額為10萬Gwei。您可以向該區(qū)塊提交10筆燃料費限額為1萬Gwei,或者2筆燃料費限額為5萬Gwei的交易。與之同時提交的其他任何交易均須等待下一個區(qū)塊。
對于所有人廣泛使用的系統(tǒng)來說,這種情況并不理想。如果未決交易超過區(qū)塊空間,很快就會出現積壓。此外,燃料費上漲意味著用戶必須支付更高的金額,方可使個人交易得到優(yōu)先處理。也就是說,繁忙的網絡將導致特定用例的處理費用非常昂貴。
當初風靡一時的《謎戀貓》(CryptoKitties)游戲正是Ethereum網絡局限性的典型例證。2017年,基于Ethereum的游戲《謎戀貓》(CryptoKitties)吸引了大量用戶。他們在網絡中進行交易,飼養(yǎng)自己的數字貓咪(代表非同質化Tokens)。這款游戲迅速普及后,待處理交易數量呈火箭式上升,最終導致網絡極度擁堵。
區(qū)塊鏈可擴展性的三元悖論
從表面上看,只要提高區(qū)塊的燃料費限額即可緩解所有可擴展性問題。換言之,上限越高,網絡在固定時間內處理的交易就越多,沒錯吧?
遺憾的是,除非犧牲Ethereum的部分關鍵特性,否則這是不可行的。Vitalik Buterin提出了區(qū)塊鏈三元悖論(如下圖所示),解釋了區(qū)塊鏈必須達到的微妙平衡。
Blockchain Trilemma
區(qū)塊鏈三元悖論:(1)可擴展性、(2)安全性和(3)Decentralization。
三大特性只能優(yōu)化其二,無法面面俱到。Ethereum和Bitcoin等區(qū)塊鏈都將安全性和Decentralization放在首位。它們的共識算法保障網絡安全性。然而,其網絡由數千個Node組成,導致可擴展性欠佳。交易的接收和驗證均由眾多Node完成,速度遠遜于中心化方案。
另一種情況是取消區(qū)塊的燃料費限額,網絡可以同時獲得安全性與可擴展性,但Decentralization程度嚴重下降。
原因在于,單一區(qū)塊中將包括更多交易,最后形成更大的區(qū)塊。而網絡中的Node仍需定期下載和廣播區(qū)塊,對硬件提出了非常嚴苛的要求。區(qū)塊的燃料費限額提升后,Node對區(qū)塊進行驗證、存儲和廣播的難度都會增加。
最終,掉隊的Node將從網絡中退出。如果繼續(xù)按這種方式運行,則只有少數性能強大的Node幸存下來,進一步加深系統(tǒng)的中心化程度。最終,區(qū)塊鏈將兼具安全性與可擴展性,但不再具備Decentralization的特性。
最后一種情況是,區(qū)塊鏈聚焦Decentralization與可擴展性。網絡通過棄用共識算法提升速度和Decentralization程度,代價是安全性顯著降低。
Ethereum可以處理多少筆交易?
近年來,Ethereum的每秒交易量(TPS)很少超過10筆。對于這個有志成為“世界計算機”的平臺而言,這個數字令人失望。
擴容解決方案一直是Ethereum路線圖的重要組成部分。等離子體(Plasma)正是擴容解決方案的典型示例。該方案旨在提升Ethereum的效率,其技術同樣適用于其他區(qū)塊鏈網絡。
什么是Ethereum2.0?
Ethereum雖然極具潛力,但目前的確存在局限性。在上文中,我們已經討論過可擴展性的問題。簡而言之,如果Ethereum希望成為新金融體系的中流砥柱,就必須顯著提升每秒處理的交易總數。鑒于該網絡的分布式特性,這一問題很難解決。多年來,Ethereum的開發(fā)者也一直在尋找解決方案。
一方面,為了保證網絡的Decentralization程度,必須實施一些限制。運行Node的要求越苛刻,參與者就越少,網絡也將趨于中心化。因此,提升Ethereum的交易處理能力會導致Node負擔增加,最終威脅到系統(tǒng)的完整性。
Ethereum(和其他工作量證明加密貨幣)的另一弊端是,資源消耗量極大。為了在區(qū)塊鏈中成功添加區(qū)塊,必須work。然而,這種區(qū)塊創(chuàng)建方式必須快速執(zhí)行運算,耗電量極大。
為了打破上述限制,開發(fā)者提出了一系列升級計劃,統(tǒng)稱為“Ethereum2.0”(或ETH 2.0)。全面實施后,ETH 2.0將有效提升該網絡的性能。
什么是Ethereum分片?
如上文所述,每個Node都會存儲整條區(qū)塊鏈的副本。這些Node也將隨區(qū)塊鏈的變化而更新,占用巨大的寬帶和內存。
如果使用名為分片的方法,則可避免上述過程。顧名思義,該過程將網絡劃分為不同Node子集,也就是所謂的分片。每個分片都會處理自己的交易與合約,同時仍可按要求與其他分片網絡進行通信。每個分片獨立驗證,因此無需存儲其他分片的數據。
network without sharding vs the network with sharding
2020年3月的網絡與實施分片的網絡對比
“分片”是一種復雜的擴容方式,需要開展大量的設計與實施工作。然而,如果應用成功,它將成為最有效的方法之一,讓網絡的吞吐量提升若干數量級。
什么是Ethereum等離子體(Plasma)?
Ethereum等離子體(Plasma)是一種鏈下可擴展性解決方案,其目的是讓交易脫離區(qū)塊鏈,從而提升交易吞吐量。在這方面,它與側鏈和支付渠道存在一定相似之處。
通過等離子體(Plasma),二級鏈即可與Ethereum區(qū)塊鏈的主鏈錨定,同時保持最低限度的通信。雖然用戶依靠主鏈解決爭端,而在二級鏈“完成”個人活動,但二者大體上是獨立運作的。
Ethereum成功擴容的關鍵在于降低Node必須存儲的數據量。等離子體(Plasma)方案允許開發(fā)者在主鏈的智能合約中規(guī)定“子鏈”的一些規(guī)則。之后,信息或進程在主鏈中存儲/運行成本過高的應用程序可以自由轉移到“子鏈”進行創(chuàng)建。
欲了解等離子體(Plasma)的詳細介紹,敬請閱讀《什么是Ethereum等離子體(Plasma)?》。
什么是Ethereum匯總?
與等離子體(Plasma)類似,匯總(Rollup)也是為了將交易從主鏈中脫離,實現Ethereum擴容。那么,后者如何運作呢?
答案是,主鏈中的單一合約持有二級鏈上的所有資金,并存儲該鏈當前狀態(tài)的密碼學證明。二級鏈運營商在主網合約中存入保證金,并且只向其提交有效的狀態(tài)轉換。其背后的理念是該狀態(tài)在鏈下維護,因此無需將數據存儲于區(qū)塊鏈。然而,匯總(Rollup)與等離子體(Plasma)的主要區(qū)別在于其將交易提交給主鏈的方式。通過特殊的交易類型,這種方式可以“匯總”海量交易,將其捆綁在一起成為特殊區(qū)塊,稱為匯總(Rollup)區(qū)塊。
匯總(Rollup)分為兩種不同類型:樂觀匯總(Optimistic Rollup)與零知識匯總(ZK Rollup)。兩者均通過不同方式保證狀態(tài)轉換正確無誤。
零知識匯總(ZK Rollup)使用一種名為零知識證明的密碼學驗證方法提交交易。具體而言,是采用一種稱為zk-SNARK的方法。對于具體運作細節(jié),本文不作介紹,但我們可以這樣描述其在匯總(Rollup)的應用:通過這種方式,不同參與方可以互相證明自己擁有特定信息,但無需透露具體內容。
就零知識匯總(ZK Rollup)而言,該信息是提交至主鏈的狀態(tài)轉換。這個過程的一大優(yōu)勢是幾乎可以在瞬間發(fā)生,同時最大限度降低提交損壞狀態(tài)的概率。
樂觀匯總(Optimistic Rollup)通過犧牲一定的可擴展性來提升靈活性。通過“樂觀虛擬機(OVM)”,智能合約可以在二級鏈中運行。另一方面,沒有任何密碼學證明可以證實提交給主鏈的狀態(tài)轉換是正確的。為了緩解這個問題,過程中設置了短暫的延遲,允許用戶質疑和否定提交到主鏈的無效區(qū)塊。
什么是Ethereum權益證明(PoS)?
權益證明(PoS)是除了工作量證明之外的另一種區(qū)塊驗證方案。在權益證明系統(tǒng)中,獲得新區(qū)塊的方式并不是work,而是鑄造(有時也稱為鍛造)。與礦工通過算力競爭不同,候選區(qū)塊現在由定期隨機選擇的Node(或驗證者)進行驗證。如果操作正確,其將獲得區(qū)塊的所有交易費用,也可能根據協議獲得區(qū)塊獎勵。
權益證明不涉及work,因而被認為更加環(huán)保。驗證者消耗的能量不及礦工,因此可以在消費級硬件中鑄造區(qū)塊。
作為Ethereum2.0的一部分,Ethereum計劃通過名為Casper的升級操作從PoW過渡為PoS。雖然具體日期尚未正式確定,但第一次迭代可能在2020年啟動。
什么是Ethereum質押?
在工作量證明協議中,礦工負責保障網絡安全性。他們不會作弊,因為這種行為空耗電力并會導致其喪失所有潛在獎勵。權益證明中不存在這種博弈理論,而是通過其他加密貨幣經濟學措施保障網絡安全。
不誠實行為之所以能夠得到遏制,并非是因為用戶擔心浪費能源,而是因為擔心損失資金。驗證者必須質押一定數量的Tokens(成為Tokens持有者)方可獲得驗證權。如果Node試圖作弊,其質押的Tokens(一定數量的以太幣)將會丟失;如果Node無響應或脫機,這些Tokens也將逐漸耗盡。然而,如果驗證者運行更多Node,就將獲得更多獎勵。
在Ethereum中需要質押多少以太幣?
每位驗證者在Ethereum中的最低預估質押量為32枚以太幣。數值設置得如此之高,導致實施51%攻擊的代價極大。
在Ethereum中質押能賺取多少以太幣?
這個問題比較復雜。這項指標不僅取決于Tokens抵押數量,還會受到網絡中以太幣質押總量以及通貨膨脹率的影響。粗略估算,該項目當前的年收益率大約為6%。請記住,這個數字只是估計值,未來可能發(fā)生變化。
抵押以太幣的鎖倉時間是多久?
如需從驗證者手中取回以太幣,則須加入取款隊列。如果不排隊,最短取款時間為18小時。具體時間會根據特定時段內取款的驗證者人數動態(tài)調整。
質押Ethereum是否有風險?
作為負責維護網絡安全性的驗證者,您必須將各種風險納入考量范圍。如果驗證者Node長時間離線,則會損失相當一部分存款。此外,如果存款余額低于16枚以太幣,您將被移出驗證者集合。
另一項系統(tǒng)性風險因素也不容忽視。權益證明從未如此大規(guī)模地應用,運行中可能出現故障。軟件難免存在缺陷與漏洞,甚至可能造成毀滅性打擊——當質押價值高達數十億美元時,更是面臨重大風險。
第5章 - Ethereum和Decentralization金融(DeFi)
目錄
什么是Decentralization金融(DeFi)?
Decentralization金融(DeFi)的用途
Decentralization的金融(DeFi)能否邁入主流?
有哪些Decentralization金融(DeFi)應用程序?
Ethereum中的Decentralization交易平臺(DEX)
什么是Decentralization金融(DeFi)?
Decentralization金融(簡稱“DeFi”)是一種對金融應用程序實施Decentralization的活動。DeFi構建于公共的開源區(qū)塊鏈,互聯網中的所有用戶均可免費訪問(即無許可性)。這項關鍵特性有望吸引數十億人融入這個全新的全球金融體系。
在日趨成熟的DeFi生態(tài)系統(tǒng)中,用戶可通過點對點(P2P)網絡和Decentralization應用程序(DApp)與其他用戶和智能合約進行交互。DeFi最大的優(yōu)勢在于,它讓這一切成為現實,但用戶仍能掌握資金所有權。
簡而言之,Decentralization金融(DeFi)活動旨在構建一種全新的金融體系,逐步打破當前體系的限制。DeFi具有相對較高的Decentralization程度和龐大的開發(fā)者基礎,因此大部分DeFi目前都建立在Ethereum之上。
Decentralization金融(DeFi)的用途
您可能已經了解到,Bitcoin最大的優(yōu)勢在于其無需任何中央機構協調網絡運作。如果我們以此為核心理念,開發(fā)可編程應用程序將會如何呢?這就是DeFi應用的潛力:擺脫中央“協調員”或中間機構,不會出現單點故障。
如前文所述,“開放訪問”是DeFi的最大優(yōu)勢。全球有數十億人無法使用任何類型的金融服務。倘若脫離所有金融保障,我們又該如何管理自己的日常生活?這并非憑空想象,而是數十億人真實的生活寫照——DeFi的服務對象正是此類人群。
Decentralization的金融(DeFi)能否邁入主流?
這些優(yōu)勢似乎極具吸引力,但DeFi為何仍未占據主流市場?目前,大多數DeFi應用程序仍處于試驗階段,便捷性與靈活性亟待提高并且經常崩潰。事實證明,這種生態(tài)系統(tǒng)的架構設計非常困難,分布式開發(fā)環(huán)境更是讓難度進一步增加。
對于軟件工程師、博弈理論家、機制設計師等開發(fā)者而言,構建DeFi生態(tài)系統(tǒng)挑戰(zhàn)重重,任重而道遠。因此,DeFi應用程序能否邁入主流仍是未知數。
有哪些Decentralization金融(DeFi)應用程序?
時下最熱門的Decentralization金融(DeFi)用例當屬穩(wěn)定幣。從本質上講,穩(wěn)定幣是一種區(qū)塊鏈Tokens,其價值與現實資產(例如法定貨幣)掛鉤。例如,BUSD的價值與美元(USD)掛鉤。此類Tokens均在區(qū)塊鏈中應用,存儲和轉賬都非常方便。
另一種流行的應用程序是借貸。點對點(P2P)服務有很多,用戶將資金借貸給他人,從中賺取利息。其實,幣安借貸就是最便捷的平臺之一。操作方式非常簡單,只需將資金存入借貸錢包,第二天即可賺取利息!
然而,最令人興奮的是,DeFi幾乎可以應用于任何領域。它可以融入各類點對點(P2P)和Decentralization市場,打造交易獨一無二的數字貨幣收藏品以及其他數字化物品的平臺。此類應用程序還可以創(chuàng)造合成資產,所有人均可為任何蘊含價值的物品創(chuàng)造市場。其他用武之地包括預測市場和衍生品等領域。
Ethereum中的Decentralization交易平臺(DEX)
Decentralization交易所(DEX)允許不同用戶錢包直接進行交易。在幣安等中心化交易平臺交易時,用戶首先需要將資金轉入平臺,然后通過內部系統(tǒng)進行交易。
Decentralization交易平臺則有所不同。通過神奇的智能合約,您可以使用數字貨幣錢包直接完成交易,規(guī)避交易平臺遭受黑客攻擊等風險。
幣安DEX正是Decentralization交易平臺的典型代表。Uniswap、Kyber Network、IDEX則是構建于Ethereum的佼佼者。為了最大限度保障資金安全,部分交易平臺甚至允許通過硬件錢包完成交易。
Centralized vs. decentralized exchanges
中心化與Decentralization交易平臺對比。
我們通過上圖對比了中心化與Decentralization交易平臺的區(qū)別。在左圖中,我們可以看到幣安處于交易雙方之間。因此,當Alice希望以TokensA交換Bob的TokensB時,二人均須將資產存入交易平臺。達成交易后,幣安將按資金比例重新分配二者的帳戶余額。
右邊是Decentralization交易平臺。我們注意到,整個交易沒有第三方參與其中。Alice的Tokens通過智能合約直接轉換為Bob的Tokens。通過這種方式,雙方達成的合約將會自動執(zhí)行,不必依賴任何中間機構。
截止2020年2月,DEX一直是Ethereum區(qū)塊鏈中最常用的應用程序。然而,其成交量與中心化交易平臺相比相差甚遠。盡管如此,如果開發(fā)者和設計者持續(xù)優(yōu)化用戶體驗,DEX將逐漸贏得更多用戶的青睞。有朝一日,它一定能與中心化交易平臺抗衡。
第6章 - 走進Ethereum網絡
目錄
什么是EthereumNode?
EthereumNode如何運作?
Ethereum全Node
Ethereum輕Node
EthereumworkNode
如何運行EthereumNode
如何在Ethereumwork
什么是EthereumProgPoW?
Ethereum軟件的開發(fā)者是誰?
什么是Solidity?
什么是EthereumNode?
術語“EthereumNode”是指以某種方式與Ethereum網絡交互的程序。從簡單的手機錢包應用程序到存儲整個區(qū)塊鏈副本的計算機,任何設備均可扮演EthereumNode。
所有Node都以某種方式充當通信點,但Ethereum網絡中的Node分為多種類型。
EthereumNode如何運作?
與Bitcoin不同,Ethereum找不到任何程序作為參考實施方案。在Bitcoin生態(tài)系統(tǒng)中,Bitcoin核心是主要Node軟件,Ethereum黃皮書則提出了一系列獨立(但兼容)的程序。目前最流行的是Geth和Parity。
Ethereum全Node
若要以允許獨立驗證區(qū)塊鏈數據的方式連接Ethereum網絡,則應使用之前提到的軟件運行全Node。
該軟件將從其他Node下載區(qū)塊,并驗證其所含交易的正確性。軟件還將運行調用的所有智能合約,確保接收的信息與其他Node相同。如果一切按計劃運行,我們可以認為所有Node設備均存儲相同的區(qū)塊鏈副本。
全Node對于Ethereum的運行至關重要。如果沒有遍布全球的眾多Node,網絡將喪失其抗審查性與Decentralization特性。
Ethereum輕Node
通過運行全Node,您可以直接為網絡的健康和安全發(fā)展貢獻一份力量。然而,全Node通常需要使用獨立的機器完成運行和維護。對于無法(或單純不愿)運行全Node的用戶,輕Node是更好的選擇。
顧名思義,輕Node均為輕量級設備,可顯著降低資源和空間占用率。手機或筆記本電腦等便攜式設備均可作為輕Node。然而,降低開銷也要付出代價:輕Node無法完全實現自給自足。它們無法與整條區(qū)塊鏈同步,需要全Node提供相關信息。
輕Node備受商戶、服務供應商和用戶的青睞。在不必使用全Node并且運行成本過高的情況下,它們廣泛應用于支收付款。
EthereumworkNode
workNode既可以是全Node客戶端,也可以是輕Node客戶端!皐orkNode”這個術語的使用方式與Bitcoin生態(tài)系統(tǒng)不同,但依然應用于識別參與者。
如需參與Ethereumwork,必須使用一些附加硬件。最常見的做法是構建礦機。用戶通過礦機將多個GPU(圖形處理器)連接起來,高速計算哈希數據。
礦工可以選擇兩種work方案:單獨work或加入礦池。單獨work表示礦工獨自創(chuàng)建區(qū)塊。如果成功,則獨享work獎勵。如果加入礦池,眾多礦工的哈希算力會結合起來。出塊速度得以提升,但work獎勵將由眾多礦工共享。
如何運行EthereumNode
區(qū)塊鏈最重要的特性之一就是“開放訪問”。這表明任何人均可運行EthereumNode,并通過驗證交易和區(qū)塊強化網絡。
與Bitcoin相似,許多企業(yè)都提供即插即用的EthereumNode。如果只想啟動并運行單一Node,這種設備無疑是最佳選擇,缺點是必須為便捷性額外付費。
如前文所述,Ethereum中存在眾多不同類型的Node軟件實施方案,例如Geth和Parity。若要運行個人Node,必須掌握所選實施方案的安裝流程。
除非運行名為歸檔Node的特殊Node,否則消費級筆記本電腦足以支持Ethereum全Node正常運行。不過,最好不要使用日常工作設備,因為Node會嚴重拖慢運行速度。
運行個人Node時,建議設備始終在線。倘若Node離線,再次聯網時可能耗費大量的時間進行同步。因此,最好選擇造價低廉并且易于維護的設備。您甚至可以通過Raspberry Pi運行輕Node。
如何在Ethereumwork
隨著網絡即將過渡到權益證明機制,Ethereumwork不再是最安全的長期投資方式。過渡成功后,Ethereum礦工只能將work設備轉入其他網絡或直接變賣。
鑒于過渡尚未完成,參與Ethereumwork仍需使用特殊硬件(例如GPU或ASIC)。若要獲得可觀收益,則必須定制礦機并尋找電價低廉的礦場。此外,還需創(chuàng)建Ethereum錢包并配置相應的work軟件。這一切都會耗費大量的時間和資金。在參與work前,請認真考量自己能否應對各種挑戰(zhàn)。
什么是EthereumProgPoW?
ProgPow代表程序化工作量證明。這是Ethereumwork算法Ethash的擴展方案,旨在提升GPU的競爭力,使其超過ASIC。
在Bitcoin和Ethereum社區(qū),抗ASIC多年來一直是飽受爭議的話題。在Bitcoin網絡中,ASIC已經成為主要的work力量。
在Ethereum中,ASIC并不是主流,相當一部分礦工仍然使用GPU。然而,隨著越來越多的公司將EthereumASIC礦機引入市場,這種情況很快就會改變。然而,ASIC到底存在什么問題呢?
一方面,ASIC明顯削弱網絡的Decentralization。如果GPU礦工無法盈利,不得不停止work,哈希率最終就會集中在少數礦工手中。此外,ASIC芯片的開發(fā)成本相當昂貴,坐擁開發(fā)能力與資源的公司屈指可數。這種現狀有可能導致Ethereumwork產業(yè)集中在少數公司手中,形成一定程度的行業(yè)壟斷。
自2018年以來,ProgPow的集成一直飽受爭議。有些人認為,它有益于Ethereum生態(tài)系統(tǒng)的健康發(fā)展。另一些人則持反對態(tài)度,認為它可能導致硬分叉。隨著權益證明機制的到來,ProgPoW能否應用于網絡仍然有待觀察。
Ethereum軟件的開發(fā)者是誰?
Ethereum與Bitcoin是一樣,均為開源平臺。所有人都可以參與協議開發(fā),或基于協議構建應用程序。事實上,Ethereum也是區(qū)塊鏈領域目前最大的開發(fā)者社區(qū)。
Andreas Antonopoulos和Gavin Wood出品的Mastering Ethereum,以及Ethereum.org推出的開發(fā)者資源等都是新晉開發(fā)者理想的入門之選。