2017 / 文章

給非技術者的入門課:以太坊如何運作(下)

 嗨,早安!

連續兩篇說以太坊,是因為之前說過以太坊就像是手機作業系統(例如 iOS、Android)的概念,讓開發者基於以太坊開發分散式應用(DApp),而不需要每個人都從輪胎造起。因此,我認為值得花多一點時間理解。

不過,每週其實還有很多重要事件是我很有興趣但來不及分析的,例如 MIT Media Lab 負責人對 ICO 的看法、中國數位貨幣交易所死灰復燃和比特幣 SegWit2X 硬分叉。我認為你不該錯過這些大事,所以從上一篇開始我就在信的最下方放上這些新聞。

今天把以太坊說完。


電話總機

區塊鏈最大的特色是讓原本需要中間人的服務(例如轉帳需要銀行),變成只需要區塊鏈(公開的帳本)而不需要中間人,因為信任中間人是有風險的。

你可以想像成撥電話到公司,以前是總機小姐(中間人)接聽電話後再轉接,但現在都是撥到總機系統(區塊鏈)直接按分機即可,而不需要仰賴總機小姐的服務,而且系統完全不會出錯。

當然這也犧牲了原本總機小姐才可以提供的彈性服務,例如她可以告訴你董事長今天出差,明天下午再撥。在功能上,區塊鏈之於中間人就像是總機系統之於總機小姐一樣,把原本中間人的一部分工作用分機號碼(事實)取代。

而以太坊區塊鏈的創新,就是讓總機系統有轉接電話的功能之外,還可以提供其他服務。

中立的區塊鏈平台

比特幣是比特幣區塊鏈的唯一用途,就像是總機系統只能用來轉接分機,或是像計算機只能用來做加減乘除運算一樣。

以太坊把總機(區塊鏈)、電話轉接服務(應用)拆開來看,以通用化(generalization)且不偏頗特定領域應用(no features)的原則來設計總機系統,讓不同領域開發者都可以基於以太坊開發新應用。

例如開發者可以基於以太坊這套通用總機系統去中間人的特性,做出去中間人的地產登記服務、租屋合約,而不需要再自己重寫單一功能的總機系統。

這個概念現在看起來很直覺,但以太坊的背後運作方式其實很有趣。

販賣機的邏輯

以太坊區塊鏈在運作的時候就像一台自動販賣機,只是這台販賣機的功能是幫你在區塊鏈上執行智慧合約,而不是賣飲料。

智慧合約是用程式碼寫成的,以太坊上有專屬用來寫智慧合約的程式語言(例如 Solidity),並由以太坊虛擬機(ethereum virtual machine, EVM)來執行智慧合約。

所有基於以太坊開發的智慧合約,都是販賣機貨架上的商品,每一項商品都會有不同的價格。價格是依據這個應用內的智慧合約,所需要執行的運算數量多寡(gas)和單價(GWei)決定。運算量越大或單價越高的智慧合約,所需要付的錢(以太幣)也越多。

使用者(或另一份智慧合約)必須投足夠的錢進去,才能讓智慧合約開始動作。如果投的金額不夠,錢就會被販賣機吃掉,你要的商品也不會掉下來。也就是你要執行的智慧合約就不會產生結果,所以就無法完成資產轉移或是合約執行。

因此,以太幣除了可以當純粹的數位貨幣用來交易之外,還有可以驅動智慧合約運作的特殊功能。到此為止,你就已經全部了解以太坊是什麼以及如何運作了。後天見。