以太坊

以太坊()是一个开源的有智能合约功能的公共区块链平台。通过其专用加密货币以太币(Ether,又称“以太币”)提供去中心化的虚拟机(称为“以太虚拟机”Ethereum Virtual Machine)来处理点对点合约。 以太坊的概念首次在2013至2014年间由程序员维塔利克·布特林受比特币启发后提出,大意为“下一代加密货币与去中心化应用平台”,在2014年透过ICO众筹得以开始发展。 截至2018年6月,以太币是市值第二高的加密货币,以太坊亦被称为“第二代的区块链平台”,仅次于比特币

特点

相较于较大多数其他加密货币或区块链技术,以太坊的特点包括下列:
  • 智能合约(smart contract):储存在区块链上的程式,由各节点执行,需要执行程式的人支付手续费给节点的矿工或权益人。
  • 代币(tokens):智能合约可以创造代币供分散式应用程式使用。分散式应用程式的代币化让使用者、投资者以及管理者的利益一致。代币也可以用来进行首次代币发行。
  • 叔块(uncle block):将因为速度较慢而未及时被收入母链的较短区块链并入,以提升交易量。使用的是有向无环图的相关技术。
  • 权益证明(proof-of-stake):相较于工作量证明更有效率,可节省大量在挖矿时浪费的电脑资源,并避免特殊应用积体电路造成网路中心化。(测试中)
  • 支链(Plasma):用较小的分支区块链运算,只将最后结果写入主链,可提升供单位时间的工作量。(尚未实作)
  • 状态通道(state channels):原理类似比特币的闪雷网路,可提升交易速度、降低区块链的负担,并提高可扩展性。尚未实作,开发团队包括雷电网路(Raiden Network)和流动性网路(Liquidity Network)。
  • 分片(sharding):减少每个节点所需纪录的资料量,并透过平行运算提升效率(尚未实作)。
  • 分散式应用程式:以太坊上的分散式应用程式不会停机,也不能被关掉。
  • 历史

    起源

    以太坊最初由 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 失去共识而产生意外的分叉,但问题在数小时内即被找出并修正。

    发展与挑战

    2018年9月,比特币核心开发者Jeremy Rubin在美国科技媒体TechCrunch上发表文章《ETH的崩溃无法避免》,称就算以太坊网络继续存续,ETH的价值也会必然归零。以太坊创始人Vitalik在回应中承认了问题的存在:“如果以太坊不改变,Jeremy Rubin的言论可能是对的”。此番言论造成ETH的价钱一度下挫。同时,许多以太坊的项目开始转移到EOS波场等的其他公链上,有人担心以太坊将被取代。在ETH的价格影响下,以太坊的全网算力开始收缩,按etherscan.io的算力统计显示,9月到11月以太坊全网算力下跌了20%,从近300TH/s收缩至240TH/s。 2018年12月10日,Vitalik在推特上宣称,未来采用基于权益证明 (PoS) 的分片技术的区块链“效率将提高数千倍”。  2019年,以太坊计画进行君士坦丁堡硬分叉,这是一个刺激以太坊网络改变其核心共识机制演算法的代码,这一段代码启动之后以太坊便会面临所谓的“冰河时代”,在该网络上的创建新区块的难度将会不断提升,最终减慢到完全停止。在该硬分叉升级之后,以太坊区块链的状态将“永久性”的改变。

    以太币

    以太坊区块链上的代币称为以太币(Ether),代码为ETH,可在许多加密货币的外汇市场上交易,它也是以太坊上用来支付交易手续费和运算服务的媒介 。 以太币对其他实体货币的汇率可能在短时间内大幅变化,例如 The DAO 被骇时,对美元的汇率从 $21.50 跌至 $15。 Buterin 在 2016 年 4 月售出手上持有的四分之一以太币,造成一些人质疑,而他本人则说这是理财上很合理的分散风险,并引用前比特币开发员 Gavin Andresen 说这一切都还只是一场实验,仍有失败的可能。

    智慧合约

    以太坊最重要的技术贡献就是智慧合约。智慧合约是储存在区块链上的程式,可以协助和验证合约的谈判和执行。以太坊的智慧合约可以数种用图灵完备的程式语言写成。纽约时报称以太坊平台是一台由众多使用者构成的网路来运转的公用电脑,并用以太币来分配和支付这台电脑的使用权。经济学人则说明智慧合约可以让众多组织的资料库得以用低廉的成本互动,并且让使用者写下精密的合约,功能之一是产生去中心化自治组织,也就是一间只是由以太坊合约构成的虚拟公司。 因为合约内容公开,合约可以证明其宣称的功能是真实的,例如虚拟赌场可以证明它是公平的。另一方面,合约的公开性也表示如果合约中有漏洞,任何人都可以立刻看到,而修正程式可能会需要一些时间。The DAO 就是一个例子,无法即时阻止。 智慧合约的许多细节仍在研究中,包括如何验证合约的功能。微软研究院的报告指出要写出完善的合约可能非常困难,讨论了微软开发的一些可以用来验证合约的工具,并提到如果大规模分析各个已发布的合约,可能发现找出大量的漏洞。报告也说可以证明Solidity程式和以太虚拟机编码的等同性。

    程式语言

    Gavin Wood写的《以太坊黄皮书》中定义了以太虚拟机的运作流程。智慧合约可以专门为此开发的Solidity程式语言写成,或是Python的一个变体Serpent,或是LLL。以太虚拟机也可以在Mutan上运行。智慧合约之后会编译成位元组码,然后发布在以太坊区块链上。

    运行效率

    将所有合约存在区块链上每个结点的作法有好有坏。主要的缺点是所有的结点都同时要运算所有的合约,因此速度较慢。开发人员正研究将资料切分(Sharding)的技术套用至以太坊。2016年9月 Buterin 发表了改善可扩展性的企画。截至2016年1月,以太坊每秒可以处理25个交易。

    实作

    智慧合约的潜在应用很多。彭博社商业周刊称它是“所有人共享但无法篡改的软体”。更高阶的软体有可能用以太坊建立网路商店。

    区块链程式

    以太坊可以用来建立去中心化的程式、自治组织和智慧合约,据纽约时报的报导,在2016年5月已经有数十个可用的程式。预期的应用目标涵盖金融、物联网、农田到餐桌(farm-to-table)、智慧电网、体育赌博等。去中心化自治组织有潜力让许多原本无法执行或成本过高的营运模型成为可能。目前较知名的应用有:
    • 游戏:CryptoKitties让玩家繁殖及交易虚拟猫。
    • 类庞氏骗局的赌局游戏:Fomo 3D,不同于传统的庞氏骗局,最后一位加入赌局中的人可获得总资金盘中的48%
    • 虚拟宝物交易平台:FreeMyVunk。
    • 去中心化创业投资:The DAO用以太币资金创立,目标是为商企业和非营利机构建立新的去中心化营业模式、The Rudimental让独立艺术家在区块链上进行群众募资。
    • 社会经济平台:Backfeed。
    • 去中心化预测市场:Augur。
    • 物联网:Ethcore(一间以太坊公司)研发的客户端、Chronicled(一间区块链公司)发表了以太坊区块链的实物资产验证平台;晶片公司、物理IP创建者和生产者可以用植入的蓝牙或近场通讯进行验证。Slock.It开发的智慧锁可以在付费后自动开启,让使用者在付费后可以帮电动车充电、或是打开租屋的房门。
    • 版权授权:Ujo Music平台让创作人用智慧合约发布音乐,消费者可以直接付费给创作人。伊莫珍·希普用此平台发布了一首单曲。
    • 智慧电网:TransActive Grid让使用者可以和邻居买卖能源。
    • 去中心化期权市场:Etheropt。
    • 钉住汇率的代币:DigixDAO提供与黄金挂钩的代币,在2016年四月正式营运。Decentralized Capital提供和各种货币挂钩的代币。
    • 行动支付:Everex让外劳汇款回家乡。
    • 客户端软体

      以太坊的2个主要的客户端软体是Geth和Parity,以及PC端交易所Bitrue。

      企业软体

      企业软体公司也正测试用以太坊作为各种用途。已知有兴趣的公司包括微软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月开始提供用以太坊产生的数位签章来证明文件的真实性。 新加坡金融管理局使用以太坊将新加坡元数位化。

          古典以太坊

          2016年6月,在第三次硬分叉时,拒绝修改交易纪录的区块链分支成了“古典以太坊”(Ethereum Classic)。在分叉以前就持有以太币的人会同时持有以太币和古典以太币(Classic Ether, ETC),存在交易所或线上钱包中的以太币也不例外。这些线上服务大多选择只支持其中一种以太币,并让使用者领回另一种以太币。截至2016年8月,两种以太币都可以在汇市上交易。 之后古典以太坊在2016年10月进行了硬分叉,调整以太虚拟机的一些操作码(op code),以提高滥发垃圾讯息或进行阻断服务攻击的成本。当时以太坊和古典以太坊都已遭受了一个月的阻断服务攻击。

          交易用外的用途

          因区块链技术难以删改资料的特质,部分人会运用加密货币上传资料以免被他人删改。 2018年4月,在北大岳昕事件中,有用户把岳昕的公开信上载到以太坊的交易记录,以免被校方删除。 2019年6月,部分香港警察的个人资料被示威者上载到以太坊的交易记录,令有关当局难以追查上载者身分及删除资料。。

          汇率

          参考资料

          参见