首页 > 代码库 > 以太坊
以太坊
以太坊是什么?
以太坊(英语:Ethereum)是一个开源的有智能合约功能的公共区块链平台[1][2]。通过其专用加密货币以太币(Ether,又称“乙太币”)提供去中心化的虚拟机(称为“以太虚拟机”Ethereum Virtual Machine)来处理点对点合约。
相较于较大多数其他加密货币或区块链技术,以太坊的特点包括下列:
智能合约(smart contract):存储在区块链上的程序,由各节点运行,需要运行程序的人支付手续费给结点的矿工或权益人。
叔块(uncle block):将因为速度较慢而未及时被收入母链的较短区块链并入。使用的是有向无环图的相关技术。
权益证明(proof-of-stake):相较于工作量证明,可节省大量在挖矿时浪费的电脑资源,并避免特殊应用集成电路造成网络中心化。(尚未实现)
闪电网络(lightning network):可提升交易速度、降低区块链的负担,提高可扩展性。(尚未实现)
开发社区稳固,不断成长,勇于使用硬分叉(hard fork)。
以太坊最初由 Vitalik Buterin 在2013年提出。Vitalik 本是一名参与比特币社区的程序员,曾向比特币核心开发人员主张比特币平台应该要有个更完善的编程语言让人开发程序,但未得到他们的同意,因此决定开发一个新的平台作此用途。Buterin 认为很多程序都可以用类似比特币的原理来达成进一步的发展[9]。Buterin 在2013年写下了《以太坊白皮书》,说明了建造去中心化程序的目标。然后2014年通过网络公开募资得到开发的资金,投资人用比特币向基金会购买以太币。
最初以太坊程序是由一间位在瑞士的公司 Ethereum Switzerland GmbH 开发[,之后转移至一个非营利机构“以太坊基金会”(Ethereum Foundation)。
在平台开始发展的最初,有人称赞以太坊的科技创新,但也有人质疑其安全和可扩展性。
以太坊区块链上的代币称为以太币(Ether),代码为ETH,可在许多加密货币的外汇市场上交易,它也是以太坊上用来支付交易手续费和运算服务的媒介。
以太币对其他实体货币的汇率可能在短时间内大幅变化,例如 The DAO 被骇时,对美元的汇率从 $21.50 跌至 $15。
Buterin 在 2016 年 4 月售出手上持有的四分之一以太币,造成一些人质疑,而他本人则说这是理财上很合理的分散风险,并引用前比特币开发员 Gavin Andresen 说这一切都还只是一场实验,仍有失败的可能。
以太坊如何工作?
以太坊合并了很多对比特币用户来说十分熟悉的特征和技术,同时自己也进行了很多修正和创新。比特币区块链纯粹是一个关于交易的列表,而以太坊的基础单元是账户。以太坊区块链跟踪每个账户的状态,所有以太坊区块链上的状态转换都是账户之间价值和信息的转移。账户分为两类:
外部账户(EOA),由私人密码控制 合约账户,由它们的合约编码控制,只能由外部账户“激活” 对于大部分用户来说,两者基本的区别在于外部账户是由人类用户掌控——因为他们能够控制私钥,进而控制外部账户。而合约账户则是由内部编码管控。如果他们是被人类用户“控制”的,那也是因为程序设定它们被具有特定地址的外部账户控制,进而被持有私钥控制外部账户的人控制着。“智能合约”这个流行的术语指的是在合约账户中编码——交易被发送给该账户时所运行的程序。用户可以通过在区块链中部署编码来创建新的合约。
只有当外部账户发出指令时,合约账户才会执行相应的操作。所以合约账户不可能自发地执行诸如任意数码生成或应用程序界面调用等操作—只有受外部账户提示时,它才会做这些事。这是因为以太坊要求节点能够与运算结果保持一致,这就要求保证严格确定执行。
和比特币一样,以太坊用户必须向网络支付少量交易费用。这可以使以太坊区块链免受无关紧要或恶意的运算任务干扰,比如分布式拒绝服务(DDoS)攻击或无限循环 。交易的发送者必须在激活的“程序”每一步付款,包括运算和记忆储存。费用通过以太坊自有的有价代币,以太币的形式支付。
交易费用由节点收集,节点使网络生效。这些“矿工”就是以太坊网络中收集、传播、确认和执行交易的节点。矿工们将交易分组——包括许多以太坊区块链中账户“状态”的更新——分成的组被称为“区块”,矿工们会互相竞争,以使他们的区块可以添加到下一个区块链上。矿工们每挖到一个成功的区块就会得到以太币奖励。这就为人们带来了经济激励,促使人们为以太坊网络贡献硬件和电力。
和比特币网络一样,矿工们有解决复杂数学问题的任务以便成功地“挖”到区块。这被称为“工作量证明”。一个运算问题,如果在算法上解决,比验证解决方法需要更多数量级的资源,那么它就是工作证明的极佳选择。为防止比特币网络中已经发生的,专门硬件(例如特定用途集成电路)造成的中心化现象,以太坊选择了难以存储的运算问题。如果问题需要存储器和CPU,事实上理想的硬件是普通的电脑。这就使以太坊的工作量证明具有抗特定用途集成电路性,和比特币这种由专门硬件控制挖矿的区块链相比,能够带来更加去中心化的安全分布。
以太坊