以太幣

以太坊區塊鏈上的代幣

以太坊區塊鏈上的代幣稱為以太幣(Ether),代碼為ETH,可在許多加密貨幣的外匯市場上交易,它也是以太坊上用來支付交易手續費和運算服務費的媒介。

以太幣對其他實體貨幣的匯率可能在短時間內大幅變化,例如 The DAO 被駭時,對美元的匯率從 $21.50 跌至 $15。

Buterin 在 2016 年 4 月售出手上持有的四分之一以太幣,引起一些人質疑,而他本人則說這是理財上很合理的分散風險,並引用前比特幣開發員 Gavin Andresen 的話,“這一切都還只是一場實驗,仍有失敗的可能。”

以太坊


以太坊(英語:Ethereum)是一個開源的有智能合約功能的公共區塊鏈平台。通過其專用加密貨幣以太幣(Ether,又稱“以太幣”)提供去中心化的虛擬機(稱為“以太虛擬機”Ethereum Virtual Machine)來處理點對點合約。
以太坊的概念首次在2013至2014年間由程序員Vitalik Buterin,受比特幣啟發后提出,大意為“下一代加密貨幣與去中心化應用平台”,在2014年通過ICO眾籌得以開始發展。
截至2018年2月,以太幣是市值第二高的加密貨幣,僅次於比特幣。

特點


相較於較大多數其他加密貨幣或區塊鏈技術,以太幣的特點包括下列:

編程語言

Gavin Wood寫的《以太坊黃皮書》中定義了以太虛擬機的運作流程。智能合約可以專門為此開發的Solidity編程語言寫成,或是Python的一個變體Serpent,或是LLL。以太虛擬機也可以在Mutan上運行。智能合約之後會編譯成位元組碼,然後發布在以太坊區塊鍵上。
運行效率
將所有合約存在區塊鏈上每個結點的作法有好有壞。主要的缺點是所有的結點都同時要運算所有的合約,因此速度較慢。開發人員正研究將數據切分(Sharding)的技術套用至以太坊。2016年9月 Buterin 發表了改善可擴展性的企畫。截至2016年1月,以太坊每秒可以處理25個交易。

區塊多樣

存在一種區塊—叔塊(uncle block),用於歸納那些因為速度較慢而未及時被收入母鏈的較短區塊鏈。這個區塊的產生是因為以太幣的區塊時間是20秒左右,相對於比特幣,更容易出現臨時分叉。而且較短的區塊時間,也使得區塊在整個網路中更難以充分傳播,尤其是對那些網速慢的礦工,這是一種極大的不公平。為了平衡各方利益,設計了這樣一個叔塊機制。叔塊在全部挖掘出來的區塊中占的比例叫叔塊率。

歷史


起源

以太坊最初由 Vitalik Buterin 在2013年提出。Vitalik 本是一名參與比特幣社區的程序員,曾向比特幣核心開發人員主張比特幣平台應該要有個更完善的編程語言讓人開發程序,但未得到他們的同意,因此決定開發一個新的平台作此用途。Buterin 認為很多程序都可以用類似比特幣的原理來達成進一步的發展。Buterin 在2013年寫下了《以太坊白皮書》,說明了建造去中心化程序的目標。然後2014年通過網路公開募資得到開發的資金,投資人用比特幣向基金會購買以太幣。
最初以太坊程序是由一間位在瑞士的公司 Ethereum Switzerland GmbH 開發,之後轉移至一個非營利機構“以太坊基金會”(Ethereum Foundation)。
在平台開始發展的最初,有人稱讚以太坊的科技創新,但也有人質疑其安全和可擴展性。

激活:邊境

以太坊的公共區塊鏈在2015年7月30日引導。最初的以太坊版本稱為邊境(Frontier,也有“前鋒”的意思),用的是工作量證明(proof-of-work)的演演算法,但未來預期會轉換成權益證明(proof-of-stake)。

硬分叉

自最初版本以來,以太坊網路成功進行了數次硬分叉。第一次分叉調整了未來挖礦的難度,確保未來的用戶會有轉換至權益證明的動機。目前第五個分叉正在開發中。
第二次分叉:家園
2016年春季進行了第二次分叉,發布了第一個穩定版本,稱作“家園”(Homestead)。
第三次分叉:DAO和區塊鏈分叉
2016年六月,以太坊上的一個去中心化自治組織The DAO被駭,造成市值五千萬美元的以太幣被移動到只有該黑客可以控制的“分身DAO”。因為程序不允許黑客立即提取這些以太幣,以太坊用戶有時間討論如何處理此事,考慮的方案包括取回以太幣和關閉DAO,而DAO去中心化的本質也表示沒有中央權力可以立即反應,而需要用戶的共識。最後在2016年7月20日,以太坊進行硬分叉,作出一個向後不兼容的改變,讓所有的以太幣(包括被移動的)回歸原處,而不接受此改變的區塊鍵則成為古典以太坊(Ethereum Classic)。這是第一次有主流區塊鍵為了補償投資人,而通過分叉來更動交易記錄。
在這次分叉之後,造成了在兩個區塊鏈之間進行重放攻擊的可能,加上其他網路攻擊,讓以太坊和古典以太坊又各自進行了數次分叉來避免攻擊。
第四次分叉:減重和防DDoS
2016年11月底進行了第四次的分叉。這次分叉為區塊鏈減重(de-bloat),並加入一些避免網路攻擊的設計。因為溝通疏失,這次分叉短暫造成以太坊的兩個主要客戶端程序 Parity 和 Geth 失去共識而產生意外的分叉,但問題在數小時內即被找出並修正。

以太幣簡介


以太坊區塊鏈上的代幣稱為以太幣(Ether),代碼為ETH,可在許多加密貨幣的外匯市場上交易,它也是以太坊上用來支付交易手續費和運算服務的媒介。
以太幣對其他實體貨幣的匯率可能在短時間內大幅變化,例如 The DAO 被駭時,對美元的匯率從 $21.50 跌至 $15。
Buterin 在 2016 年 4 月售出手上持有的四分之一以太幣,造成一些人質疑,而他本人則說這是理財上很合理的分散風險,並引用前比特幣開發員 Gavin Andresen 說這一切都還只是一場實驗,仍有失敗的可能。

智能合約


主條目:智能合約
以太坊最重要的技術貢獻就是智能合約。智能合約是存儲在區塊鍵上的程序,可以協助和驗證合約的談判和運行。以太坊的智能合約可以數種用圖靈完備的編程語言寫成。紐約時報稱以太坊平台是一台由眾多用戶構成的網路來運轉的公用電腦,並用以太幣來分配和支付這台電腦的使用權。經濟學人則說明智能合約可以讓眾多組織的資料庫得以用低廉的成本交互,並且讓用戶寫下精密的合約,功能之一是產生去中心化自治組織,也就是一間只是由以太坊合約構成的虛擬公司。
因為合約內容公開,合約可以證明其宣稱的功能是真實的,例如虛擬賭場可以證明它是公平的。另一方面,合約的公開性也表示如果合約中有漏洞,任何人都可以立刻看到,而修正程序可能會需要一些時間。The DAO 就是一個例子,無法即時阻止。
智能合約的許多細節仍在研究中,包括如何驗證合約的功能。微軟研究院的報告指出要寫出完善的合約可能非常困難,討論了微軟開發的一些可以用來驗證合約的工具,並提到如果大規模分析各個已發布的合約,可能發現找出大量的漏洞。報告也說可以證明Solidity程序和以太虛擬機編碼的等同性。

編程語言

主條目:Solidity
Gavin Wood寫的《以太坊黃皮書》中定義了以太虛擬機的運作流程。智能合約可以專門為此開發的Solidity編程語言寫成,或是Python的一個變體Serpent,或是LLL。以太虛擬機也可以在Mutan上運行。智能合約之後會編譯成位元組碼,然後發布在以太坊區塊鍵上。

運行效率

將所有合約存在區塊鏈上每個結點的作法有好有壞。主要的缺點是所有的結點都同時要運算所有的合約,因此速度較慢。開發人員正研究將數據切分(Sharding)的技術套用至以太坊。2016年9月 Buterin 發表了改善可擴展性的企畫。截至2016年1月,以太坊每秒可以處理25個交易。

實現


智能合約的潛在應用很多。彭博社商業周刊稱它是“所有人共享但無法篡改的軟體”。更高級的軟體有可能用以太坊創建網路商店。

區塊鏈程序

以太坊可以用來創建去中心化的程序、自治組織和智能合約,據紐約時報的報導,在2016年5月已經有數十個可用的程序。預期的應用目標涵蓋金融、物聯網、農田到餐桌(farm-to-table)、智能電網、體育賭博等。去中心化自治組織有潛力讓許多原本無法運行或成本過高的營運模型成為可能。目前較知名的應用有:
● 去中心化創業投資:The DAO用以太幣資金創立,目標是為商企業和非營利機構創建新的去中心化營業模式、The Rudimental讓獨立藝術家在區塊鏈上進行群眾募資。
● 社會經濟平台:Backfeed。
● 去中心化預測市場:Augur。
● 物聯網:Ethcore(一間以太坊公司)研發的客戶端、Chronicled(一間區塊鏈公司)發表了以太坊區塊鏈的實物資產驗證平台;晶元公司、物理IP創建者和生產者可以用植入的藍牙或近場通信進行驗證。Slock.It開發的智能鎖可以在付費后自動打開,讓用戶在付費后可以幫電動車充電、或是打開租屋的房門。
● 虛擬寶物交易平台:FreeMyVunk。
● 版權授權:Ujo Music平台讓創作人用智能合約發布音樂,消費者可以直接付費給創作人。伊莫珍·希普用此平台發布了一首單曲。
● 智能電網:TransActive Grid讓用戶可以和鄰居買賣能源。
● 去中心化期權市場:Etheropt。
● 釘住匯率的代幣:DigixDAO提供與黃金掛鉤的代幣,在2016年四月正式營運。Decentralized Capital提供和各種貨幣掛鉤的代幣。
● 移動支付:Everex讓外勞匯款回家鄉。

客戶端軟體

以太坊的兩個主要的客戶端軟體是Geth和Parity。
企業軟體
企業軟體公司也正測試用以太坊作為各種用途。已知有興趣的公司包括微軟、IBM、摩根大通。
德勤和ConsenSys在2016年宣布成立數字銀行Project ConsenSys。
● R3公司在Microsoft Azure上運行私人以太坊區塊鏈,將11間銀行連接至一本分散式帳薄(distributed ledger)。
● Microsoft Visual Studio提供程序開發者使用Solidity編程語言。
● 英國政府中負責推動創新的機構Innovate UK提供了近25萬英鎊給Tramonex用以太坊發展跨國支付系統。

認許制記賬

目前有許多方案正在研究使用以太坊創建認許制的區塊鏈。
● 摩根大通打算用以太坊上創建一個私人區塊鏈“Quorum”。其功能是洗亂派生性金融產品及其交易紀錄來保護交易者的隱私,但同時匹配金融管制單位在信息公開上的要求,以期在保障隱私和信息公開之間找到平衡。
蘇格蘭皇家銀行用以太坊的分散式記賬和智能合約平台創建了一個結算交割機制(Clearing and Settlement Mechanism, CSM),可以達成每秒100筆交易、模擬六間銀行,平均每個trip在3到8秒間完成,這些數值用在於全國的支付系統是可接受的。

採用


2016年五月,紐約時報指出以太坊的採用仍在初期階段,並可能遇到讓成長率減緩的技術或法律問題。許多比特幣支持者認為以太坊比比特幣複雜,所以可能需要面對更多的安全問題。報導也指出這個系統複雜到熟知這個系統的人也很難用普通人的語言來描述它。
微軟和 ConsenSys(一間以太坊公司)合作,在Microsoft Azure(一個雲服務平台)上提供第三方開發的區塊鏈工具,包括交易股票和跨境支付等用途。
盧森堡交易所在2016年10月開始提供用以太坊產生的數字簽名來證明文件的真實性。
新加坡金融管理局使用以太坊將新加坡元數字化。

技術架構


智能合約層
智能合約賦予賬本可編程的特性,區塊鏈 2.0 通過虛擬機的方式運行代碼實現智能合約的功能,比如以太幣的以太坊虛擬機(EVM)。同時,這一層通過在智能合約上添加能夠與用戶交互的前台界面,形成去中心化的應用(DAPP)。當然,在某些技術文檔中認為DAPP 應該在智能合約層之上單獨為應用層,也是有一定道理,只要不影響理解即可。
激勵層
激勵層主要實現以太幣的發行和分配機制,以太幣不是數字貨幣,而是定位於平台運行的燃料,運行智能合約和發送交易都需要向礦工支付一定的以太幣。以太幣可以通過挖礦獲得,礦工每挖到一個區塊固定獎勵 5 個以太幣。
共識層
共識層主要實現全網所有節點對交易和數據達成一致,以太坊採用兩種共識機制,初期採用工作量證明機制(POW),待網路中的以太幣充分流通和分散后,改為採用交易速度更快、無資源消耗的權益證明機制(POS),從而有效地避免了純 POS 機制導致的初期權益分配不公平的情況。
網路層主要實現網路節點的連接和通信,又稱“點對點技術”,是沒有中心伺服器、依靠用戶群交換信息的網際網路體系。與有中心伺服器的中央網路系統不同,對等網路的每個用戶端既是一個節點,也有伺服器的功能,其具有去中心化與健壯性等特點。
數據層
數據層最底層的技術,是一切的基礎,主要實現了兩個功能,一個是相關數據的存儲,另一個是賬戶和交易的實現與安全。數據存儲主要基於 Merkle 樹,通過區塊的方式和鏈式結構實現,大多以 KV 資料庫的方式實現持久化,比如以太坊採用 LevelDB。賬號和交易的實現基於數字簽名、哈希函數和非對稱加密技術等多種密碼學演演算法和技術,保證了交易在去中心化的情況下能夠安全地進行。

應用


區塊鏈程序
以太幣可以用來創建去中心化的程序、自治組織和智能合約,據紐約時報的報導,在2016年5月已經有數十個可用的程序。預期的應用目標涵蓋金融、物聯網、農田到餐桌(farm-to-table)、智能電網、體育賭博等。去中心化自治組織有潛力讓許多原本無法運行或成本過高的營運模型成為可能。較知名的應用有:
● 去中心化創業投資:The DAO用以太幣資金創立,目標是為商企業和非營利機構創建新的去中心化營業模式、The Rudimental讓獨立藝術家在區塊鏈上進行群眾募資。
● 社會經濟平台:Backfeed。
● 去中心化預測市場:Augur。
● 物聯網:Ethcore(一間以太坊公司)研發的客戶端、Chronicled(一間區塊鏈公司)發表了以太坊區塊鏈的實物資產驗證平台;晶元公司、物理IP創建者和生產者可以用植入的藍牙或近場通信進行驗證。Slock.It開發的智能鎖可以在付費后自動打開,讓用戶在付費后可以幫電動車充電、或是打開租屋的房門。
● 虛擬寶物交易平台:FreeMyVunk。
● 版權授權:Ujo Music平台讓創作人用智能合約發布音樂,消費者可以直接付費給創作人。伊莫珍·希普用此平台發布了一首單曲。
● 智能電網:TransActive Grid讓用戶可以和鄰居買賣能源。
● 去中心化期權市場:Etheropt。
● 釘住匯率的代幣:DigixDAO提供與黃金掛鉤的代幣,在2016年四月正式營運。Decentralized Capital提供和各種貨幣掛鉤的代幣。
● 移動支付:Everex讓外勞匯款回家鄉。
除此之外,聯合國也積極利用以太坊區塊鏈進行難民援助。2017年5月底,聯合國世界糧食計劃署宣布利用以太幣技術對在約旦的1萬名敘利亞難民提供食物分發。世界糧食計劃署表示,利用區塊鏈技術有利於降低支付成本,可以更好地保護受益人信息,控制金融風險,並在緊急情況下更快地做出回應。利用區塊鏈也有利於改善傳統的難民援助方式所存在的漏洞,確保食物都能夠到達難民手中。

古典以太坊


2016年6月,在第三次硬分叉時,拒絕修改交易紀錄的區塊鏈分支成了“古典以太坊”(Ethereum Classic)。在分叉以前就持有以太幣的人會同時持有以太幣和古典以太幣(Classic Ether, ETC),存在交易所或在線錢包中的以太幣也不例外。這些在線服務大多選擇只支持其中一種以太幣,並讓用戶領回另一種以太幣。截至2016年8月,兩種以太幣都可以在匯市上交易。
之後古典以太坊在2016年10月進行了硬分叉,調整以太虛擬機的一些操作碼(op code),以提高濫發垃圾消息或進行阻斷服務攻擊的成本。當時以太坊和古典以太坊都已遭受了一個月的阻斷服務攻擊。