首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

以太坊是什么?全面介绍区块链技术

以太坊是一个全新开放的区块链平台,它允许任何人在平台中建立和使用区块链技术运行的去中心化应用。就像比特币一样,以太坊不受任何人控制,也不归任何人所有——他是一个开源代码项目,由全球范围内的很多人共同创建。和比特币协议有所不同的是,以太坊的设计十分灵活,随着Homestead的发布,任何人都可以安全的使用该平台上的应用。

下一代区块链

区块链技术是比特币的底层技术,这一技术第一次被描述是中本聪2008年发布的白皮书“比特币:点对点电子现金系统”中。区块链技术更多的一般性用途已经有所讨论,但知道几年后,区块链技术才作为通用术语出现。一个区块链是一个分布式计算区块。一次只能增加一个区块,每个区块有一个数字证明来保证新的区块与之前的区块保持先后顺序。这样一来,区块链的“分布式数据库”就能和整个网络保持一致。个体用户与总账的互动(交易)受到安全的密码保护。有数学执行并编码到协议中的经济激励因素刺激着维持和验证网络的节点。

在比特币中,分布式数据库被设想成一个账户余额表,一个总账,交易就是通过比特币的转移以实现个体之间无需信任基础的金融活动。但是随着比特币吸引了越来越多开发者和技术专家的注意,新的项目开始将比特币网络用语有代价币转移的其他用途。其中很多都采用了“代币”的形式一一以原始比特币协议为基础,增加了新的特征或功能,采用各自加密货币的独立区块链。在2013年末,以太坊的发明者Vitalik Buterin建议能够通过程序重组来运行任意复杂运算的单个区块链应该包含其他的程序。

2014年,以太坊的创始人Vitalik Buterin,Gavin wood和Jeffrey Wilcke开始研究新一代区块链,试图实现一个总体上完全无需信任基础的智能合约平台。

以太坊虚拟机

以太坊是可编程的区块链。它并不是给用户一系列预先设定好的操作(例如比特币交易),而是允许用户按照自己的医院创建复杂的操作。这样一来,它就可以作为多种类型去中心化区块链应用的平台,包括加密货币在内但并不仅限于此。

以太坊狭义上是指一系列定义去中心化应用平台的协议,它的核心是以太坊虚拟机(“EVM”),可以执行任意复杂算法的编码。在计算机科学术语中,以太坊是“图灵完备的”。开发者能够使用现有的JavaScript的Python等语言为模型的其他友好的编程语言,创建出以太坊模拟机上运行的应用。

和其他区块链一样,以太坊也有一个点对点网络协议。以太坊区块链数据库由众多连接到网络的节点来维护和更新。每个网络节点都运行着以太坊模拟机并执行相同的指令。因此,人们有时形象的成以太坊为“世界电脑”。

这个贯穿整个以太坊网络的大规模并行运算并不是未来使运算更高效。实际上,这个过程使得在以太坊的运算比在传统“电脑”上更慢更昂贵。然而,每个以太坊节点都运行着以太坊虚拟机是为了保持整个区块链的一致性。去中心化的一致是以太坊有极高的故障容错性,保证零停机,并且可以使存储在区块链上的数据保持永远不变且抗审查。

以太坊平台本身没有特点,没有价值性。和编程语言相似,它由企业家和开发者决定其用途。不过很明显,某些应用类型较之其他更能从以太坊的功能中获益。以太坊尤其适合那些点对点之间自动进行直接交互或跨网络促进小组协调活动的应用。例如,协调点对点市场的应用,或者复杂财务合约的自动化。比特币使个体能够不借助金融机构、银行或政府等其他中介来进行货币交易。以太坊的影响可能更为深远。理论上,任何复杂的金融活动或交易都能在以太坊上用编码自动且可靠地运行。除金融类应用外,任何对信任、安全和持久性要求较高的应用场景——比如资产注册、投票、管理和物联网——都会大规模受到以太坊平台影响。

以太坊如何工作?

以太坊合并了很多对比特币用户来说十分熟悉的特征和技术,同事自己也进行了很多修正和创新。比特币区块链纯粹是一个关于交易的列表,而以太坊的基础单元是账户。以太坊区块链跟踪每个账户的状态,所有以太坊区块链上的状态转换都是账户之间的价值和信息的转移。账户分两类:

外部账户(EOA),有私人密码控制合约账户,由它们的合约编码控制,只能由外部账户“激活”对于大部分用户来书,两者基本的区别是在于外部账户是由人类用户掌控——因为他们能够控制私钥,进而控制外部账户。而合约账户则是由内部编码管控。如果他们是被人类用户“控制”的,那也是因为程序设定他们被具有特定地址的外部账户控制。进而被持有私钥控制外部账户的人控制着。“智能合约”这个流行的术语值得是在合约账户中的编码——交易被发送给该账户是所运行的程序。用户可以通过在区块链中部署编码来创建新的合约。

只有当外部账户发出指令时,合约账户才会执行相应的操作。所以合约账户不可能自发执行诸如任意数码生成或应用程序界面调用等操作——只有收到外部账户提示时,它才会做这些事。这是因为以太坊要求节点能够与运算结果保持一致,这就是保证严格确定执行。

和比特币一样,以太坊用户必须向网络支付小量交易费用。这可以使以太坊区块链免受无关紧要或恶意的运算任务干扰,比如分布式拒绝服务(DDos)攻击或者无限循环。交易的发送者必须在激活“程序”每一步付款,包括运算和记忆储存。费用通过以太坊自由的有价代币,以太币的形式支付。

交易费用由节点手机,节点使网络生效。这些“矿工”就是以太坊网络中手机、传播、确认和执行交易的节点。矿工们将交易分组——包括许多以太坊区块链中账户“状态”的更新——分成的组被称为“区块”,矿工们相互竞争,以使他们的区块添加到下一个区块链上。矿工们每挖到一个成功的区块就会得到以太币奖励。这就为人们带来了经济激励,促使人们为以太坊网络贡献硬件和电力。

和比特币网络一样,矿工们有解决复杂数学问题的任务已便成功地“挖”到区块。这被称为“工作量证明”。一个运算的资源,那么他就是工作证明的极佳选择。为防止比特币网络中已经发生的,专门硬件(例如特定用途集成电路)造成的中心化现象,以太坊选择了难以存储的运算问题。如果问题需要存储器和cpu,事实上理想的硬件是普通的电脑。这就是以太坊的工作量证明具有抗特定用途集成电路性,和比特币这种由专门硬件控制挖矿的区块链相比,能够带来更加去中心化的安全分布。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180320A0ZCNU00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券