乙太坊網路是一個公有鏈,在上面部署智能合約與調用都需要消耗乙太幣,因此可以先自行搭建一個本地端的乙太坊私有鏈,去測試與開發智能合約。
Ethereum Go語言的客戶端為geth,下載網址https://geth.ethereum.org/downloads/,根據你的作業系統下載相應的檔案解壓縮/安裝。當然,也可以自行去go-Ethereum Github網站下載原始碼自行編譯。安裝完成後會有一個geth執行檔,那就是Ethereum的客戶端。
現今比較主流的區塊鏈開發平台是乙太坊(Ethereum)跟超級帳本(Hyperledger),分別是兩家大廠所支持的區塊鏈平台。微軟雲端Azure用Ethereum作區塊鏈背後的技術支持,而IBM是用Hyperledger當作他們雲端BlueMix區塊鏈背後的技術。
依照如何加入區塊鏈網路,區分成公有鏈與私有鏈(或稱聯盟鏈)。公有鏈就是一個開放的區塊鏈,任何人都可以加入公有區塊鏈網路查看帳本與驗證。而私有鏈則相反,只有獲允許的人可以進入私有區塊鏈網路。一般的區塊鏈加密貨幣都是公有鏈,像是比特幣、乙太坊,而開發企業型區塊鏈網路則傾向用私有鏈,如超級帳本、G-COIN。
前幾天看到一篇文章史上最困難的電腦遊戲:我花了 13 年通關,也因為它成為了工程師,裡面介紹了一款已經很久的電腦遊戲-「Robot Odyssey」,但我上網下載並嘗試了幾次遊戲後,因為他是很久以前開發的,它的操作實在不是很人性化,所以在搜尋網路上有沒有其他優化版本時,發現了這款基於Robot Odyssey機制所開發的遊戲「GATE」。
簡單的說,就是要如何讓區塊鏈網路中成員的帳本一致所要遵守的方法。共識演算法代表著區塊鏈網路的安全性,可能包含著競爭與獎勵機制,促使加入成員去維護整個區塊鏈網路。在研究區塊鏈中,拜占庭將軍問題很常被提到,其問題大致上是說,當一群將軍彼此相距遙遠,要如何達成是否攻打的共識?誰說了算?你到底有沒有收到我的訊息?這就類似要如何讓帳本一致,而解決方法有很多種,以下簡單介紹目前主流的三種解法所代表的演算法
工作量證明演算法是消耗電腦的CPU/GPU去暴力計算題目的演算法,其預先付出成本,也就是電腦算力,再在區塊鏈中擁有生成區塊與拿取獎勵的權利。用拜占庭將軍中回答,就像是先奉獻資產證明自己,讓其他將軍聽從自己,如果所下的決定都沒背叛,則每次下決定後都回饋固定金額。
Hash並不是可解密的演算法,因為他是單向不可逆,可以確保加密前資料沒有被竄改。他可以將任一訊息轉成一段固定長度的字串,且有以下兩個特點: