要連上 Ethereum 就需要安裝 Ethereum Node,在這邊我們選擇使用 Geth 來安裝 Ethereum Node,接下來就來一步一步的學學怎麼使用 Geth,甚至如何使用 Geth 來架設自己的 Ethereum 私有鏈。
在第一次接觸 Ethereum 應用程式開發時,會發現有各式各樣工具,不知要從何下手,我們用一個圖來說明一下與 Ethereum 互動時的整體脈絡及這之間的工具主要做了什麼事,了解之後自己就可以挑選開發時、甚至使用在產品上時要用什麼適合的工具了。
Bitcoin 的獎勵機制基本上是挖到新區塊的節點獲得記帳權及獎勵,Ethereum 大體也是遵循這樣的概念,但做了一些調整與變化,讓我們整個脈絡了解一下。
我們這邊再次總結一下 Blockchain 中幾點較重要的性質,包含共識機制、不可竄改、經濟激勵三項。
在分散式系統中,我們需要有一套用於協同合作的共識機制來組織行動,但有時候系統中的成員可能會出錯或是故意傳送出錯誤的資訊,而使得網路中不同成員對於全體協作的策略得出不同的結論,進而破壞系統的一致性,這就是所謂的拜占庭將軍問題。
Blockchain 裡應用了一些加密技術來保證及驗證交易訊息的正確性,這也更加強了 Blockchain 資料不可竄改的特性。我們來介紹其中比較重要的「公私鑰加密」以及「Merkle Tree」加密樹。
公私鑰加密算法是目前資訊通訊安全的基石,它保證了加密訊息不可被破解,相關的加解密原理大家可以參考這兩篇文章:
在 Ethereum 開發筆記 1–4 應該已經將 Blockchain 的技術原理說明得很清楚了,不過如果要向一般大眾簡單說明 Blockchain 是什麼,要怎麼說呢?我會說:Blockchain 就是一個分散式帳本,大家都有一樣的帳本,大家都可一起參與記帳,且記完帳大家的帳本就會自動更新到最新版本,而帳裡的紀錄都會分塊並用密碼按順序鏈結起來,用以驗證帳的正確性,如果中間有人改了資料,那後面的鏈結密碼都會發生錯誤,因此沒有人可以亂改帳,這就是 Blockchain。
之前說過,Blockchain 基本上是因為金流帳本這樣的問題而被創造出來的,也就是說區塊鏈非常適合運用在金流的應用上,我們也可以建立自己的 Blockchain…
Mist 跟前回介紹的 MetaMask 一樣是可以與 Ethereum 進行互動的工具,除了可以管理 Ethereum 相關密鑰之外,Mist 還包含了 Ethereum 節點以及網頁瀏覽器,方便大家瀏覽 Dapp 網頁。
前一回稍微對 Blockchain、Bitcoin、Ethereum 做了一個科普的簡介,我們可以知道 Blockchain 就是一個帳本,每一個加入 Blockchain…